飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 14747|回复: 0
打印 上一主题 下一主题

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
- h/ F  l7 Y4 ^0 O5 d# O; Q
% h$ E, R, J' a# x& ZMover.h' V3 ^/ H5 a& M  P9 l
代码:
# y" e! t8 O5 z7 ?找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü0 K+ Y  Z# S7 P5 e( E9 h) z: |

% n& ^  n3 t7 J, d7 r下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  * e) w3 E9 l! W. e1 Z1 q- N
/ P7 N2 F7 N, s* _; D: f
然后你去mover.cpp添加0 V$ j3 Z( R# Z, ~" P1 ~

: {* e" Q% w4 I代码:" r$ `/ e3 g$ i
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
( ^; }3 H  u/ u  n, S# e. p{6 K( u! M8 j+ \- Z; a9 Y
#ifdef __WORLDSERVER
& j5 C# J1 S( H9 c; C    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
2 K- P# O% c$ V, S3 l: q    MoverProp* pProp = GetProp();3 P) \3 N) {1 Q# z
    if( pProp )2 g  F/ v+ E& w- z$ ]" V- z) B
    {+ x9 [! R. K& r" y% T' k
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
6 i" T! z  x6 {, F! ]% l        {/ S" R0 z' P, w. S" P! Z, S
            AddChangeJob( nJob );
7 j/ R8 X6 l% x2 F- @        }else{; w" n5 C- y% N
            return;
0 ~( m# R2 @, d( W" M( c1 {$ r        }
, K3 K+ b/ D* H7 |        int nPoint = 0;
$ M, ^; e* v- B* V: q, ]        if( m_nJob == JOB_MERCENARY )
! T3 \( ~+ B2 s, B" i* `            nPoint += 40;+ f( H' i/ D; c. {2 \. y$ V, h
        else if( m_nJob == JOB_ACROBAT )2 s5 N, V3 _, m( U" u+ m
            nPoint += 50;
+ W2 l0 N0 f: i        else if( m_nJob == JOB_ASSIST ); T0 O: u( w) O3 P- X
            nPoint += 60;: Y' u( F7 Q7 b( G3 \1 i: C  p
        else if( m_nJob == JOB_MAGICIAN )
3 O; o) F. x2 w5 y            nPoint += 90;+ l# r! J& |2 ?/ a- f6 R8 Y$ {: m$ g
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )1 G, ~& }9 A* z$ j( M
            nPoint += 120;" [. L- O0 T3 Z8 D
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER ). r* e- T/ D( A3 e6 a7 ^9 }
            nPoint += 150;( t& F8 x/ s) ~# O4 n) _& V
        else if( m_nJob ==  JOB_RINGMASTER )
. w% O* j* c" P  f, `            nPoint += 160;& s5 B, u. a7 F0 S' f# N. Y/ ?! o
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )+ |7 ~2 w+ w( y- @5 ?. N* ~
            nPoint += 180;3 M. S+ y" `. R# d8 E" p3 ^
        else if( m_nJob ==  JOB_ELEMENTOR )" t* U  ]5 H' t7 p  Y: J$ ^2 }6 m
            nPoint += 390;4 \0 B% J* n% O# `
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
9 R* E/ f5 Q5 q2 t# k            nPoint += 120;0 `7 `0 \& n4 M& e; Q
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
5 ]4 @) t* m' [- W* B( a2 d& Q# d            nPoint += 150;
! ~5 t+ M* U  l1 _) D+ b( l4 t        else if( nJob ==  JOB_FLORIST_HERO )
) j) D5 N; x0 ^) b/ B            nPoint += 160;
7 K" d( C6 ^% G  m) D8 Q8 V" l        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )! a  m+ B% l8 }9 Q3 G
            nPoint += 180;0 z& r/ E% [5 V
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )& T% `! {$ O! d! y
            nPoint += 390;
( Q, j" H' I' h8 M& h' ~( j
1 o) K9 X; }1 |. F5 e# \5 q$ ~        AddSkillPoint( nPoint );
3 l4 `% o7 F8 I        m_nLevel = nLevel;7 i( X: [' N: Y2 I, ~0 [

6 ]  c: @4 i0 E" w5 ]& r9 A% b        SetJobLevel( nLevel, nJob );
1 R8 K3 {+ C! X/ }7 ~7 D        m_nDeathLevel = nLevel;
$ N2 O" }! q% k7 N; ^$ j$ r. l#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
9 m  `5 N1 x; p7 Q        if(IsMaster())) {6 w7 h0 M# j6 D2 o8 q4 G+ H
        {
5 v) ?+ w0 x0 ?+ b5 V) Z- U- m            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
2 a, r3 L5 o' Z            if( nLevel > 59 && nLevel < 72 )
! o, \* D( A. W1 J8 O: |: Y                dwTmpSkLevel = 1;( g. _  `) ^9 c8 f2 H
            else if( nLevel > 71 && nLevel < 84 )
) q% m6 X' H3 e$ r6 v7 A                dwTmpSkLevel = 2;
9 J* ?8 K8 o- D& K& W8 F$ t            else if( nLevel > 83 && nLevel < 96 )
9 ?8 I  ]/ ^: ?& T* V7 t                dwTmpSkLevel = 3;
# a, ]& G# N5 V9 s+ O" Q            else if( nLevel > 95 && nLevel < 108 )
4 {1 |. b# K3 v  f; y                dwTmpSkLevel = 4;
6 f" y4 a5 c6 _) O' c            else if( nLevel > 107 && nLevel < 120 )6 z( P% A2 Y8 v  Z+ q
                dwTmpSkLevel = 5;+ T2 B1 `! _+ ~6 B/ n! Q/ o  G
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) - L5 \; ?& Q( `. l! l
            {                ( J! d2 E# z/ T1 |* a6 P
                LPSKILL lpSkill = &(m_aJobSkill);- r; Q5 {/ ~7 A" |* ~# z3 }- M8 d
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
' l- b/ U2 e( I                {1 G3 B4 @) E: q" Q* ?$ P7 Y; k
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ' i, n3 l5 z6 J( \8 y% c% l
                    if( pSkillProp == NULL )' k0 o# a; ~! l) f
                        continue;
: [5 M; {8 l2 D" K                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)7 w' k: W3 R. t, i9 D8 f  f5 i
                        continue;& V4 M8 q( J( J% F& S0 y4 U
                    lpSkill->dwLevel = dwTmpSkLevel;7 H3 J+ J+ h$ u5 v
                }
9 ?5 S# S  [1 q7 l" s! y0 ~) W  [            }/ q5 t. F" e7 L! i6 Y! W0 c: J! C
        }
' T0 H* j% u; P2 W- J4 e        else if(IsHero())4 H$ a3 }" V7 n# k) \
        {7 Q& ?" G: M- [8 q5 |
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ) N$ T' p9 r: P/ V. Q
            {               
6 B  k' c9 v  a; U9 a9 \5 T                LPSKILL lpSkill = &(m_aJobSkill);
7 _* K, z- q  o( x8 M% n4 d                if( lpSkill && lpSkill->dwSkill != NULL_ID )( o$ _' p+ @, \* K4 q' c/ Q7 F
                {" y/ U9 ^: W- b
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  x2 p$ U. R" c0 O                    if( pSkillProp == NULL )
, u8 c4 J  O4 R                        continue;: h7 V+ {3 _% ^% o/ A
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ G8 R  {2 k0 {2 k4 b2 \; k                        continue;
. B* g* w5 o! f8 }                    lpSkill->dwLevel = 5;! J: l! o( v, z) z5 X
                }# r7 v0 M4 W9 L9 H
            }0 ^: \' i! z8 {& M* V" n
        }
6 d+ Y1 g0 g* m        else if(IsLegendHero())0 _$ X# Z8 Z) C3 P1 F5 Z2 B
        {
- j: T" k% k& L- u            for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 E3 C) D+ N- ^7 q' X: l            {                # I! B  @! ?9 N' m4 a; R( ^& I5 Z
                LPSKILL lpSkill = &(m_aJobSkill);. ]/ v3 x/ J& v
                if( lpSkill && lpSkill->dwSkill != NULL_ID )# S% `$ P# V  U* @1 G
                {0 A, _( e0 U+ d5 ?. c. r4 _
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
0 E6 z4 L6 U! J; l                    if( pSkillProp == NULL )! i6 f0 i9 k- t/ U4 W6 |
                        continue;- D$ w1 X; w$ S
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 s" p' \$ h0 Q; {& I9 T
                        continue;" A# C* Z5 ^* y' I
                    lpSkill->dwLevel = 5;4 l4 z, h: U4 N9 ^3 A1 L! u
                }
; s$ [  u( G& f2 S            }$ L* T8 `& R( l" s3 y
        }: x$ @9 ?  l4 ]
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans$ g% {. D3 K# o9 P
        if( bGamma )
7 r) y) ^) E1 \5 K  b" |        {
7 D7 v- D  s) l, `            m_nExp1 = 0;& C9 `" `$ u* ?
        }" ^! {# f7 ?# e  k

- W6 t, H* x" V4 W0 {" s5 l7 n6 u7 J        ( (CUser*)this )->AddSetChangeJob( nJob );
4 S# `: a% E, S) w2 P        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
1 w  S3 h% H* j* i3 \" x
. f/ j! q9 q  D* r; e6 S
  A* @5 g9 T$ H! M#if __VER >= 11 // __SYS_PLAYER_DATA: C5 |/ E* r1 {; l  B$ e
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );3 ]  H: r' q9 [& Q' p. j
#else    // __SYS_PLAYER_DATA
2 d# h/ t7 Q/ l7 {! I: Z0 {' i: D0 ^        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );* p9 ?- A5 g$ {. c( U. i4 \/ l
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
( S7 a& {0 W$ a( G; A        if( m_idGuild != 0 )6 Y1 m( D. M0 x- P* y3 ^
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
  x" H$ ^% u: Z' P) I, x#endif    // __SYS_PLAYER_DATA' U; R% {3 e: w0 _& q
        SetHitPoint( GetMaxHitPoint() );
% o! @# u- ^9 @0 {4 b2 I& i        SetManaPoint( GetMaxManaPoint() );4 [& k7 Q6 ]; k) [
        SetFatiguePoint( GetMaxFatiguePoint() );5 K: t4 M6 V6 ~( I: g+ b6 o
        if( nJob >= 1 && nJob <= 4 )1 c: l5 t" \- ~, ~& @9 T! k
        {
- N7 y" V* m7 w9 Z, B; ~2 @8 m% o- X            m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ E( O/ {& D4 s# N            m_nRemainGP = 28;
9 b! b, @2 @9 K% ?0 U        }2 \3 `- ~" G; |. o7 Y/ b
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
: m9 s# T( i/ o+ M" Q% q        {* Y4 l. e2 ?: ?& G& m) }! W
            m_nRemainGP = 118;7 G( u8 e) E* u
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;% J: p- u8 U; R4 t. @6 s2 c, u' f
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
) \) x/ w9 O) d) k5 Q9 g6 E& r8 O        }  b- ~, V6 p" R
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )4 A7 J  {5 G% {/ ]
        {& s2 g/ |* t1 X3 D0 B
            CItemElem itemelem;
' }8 A( ?! b! E: F            itemelem.m_nItemNum = 1;! ^& O  ~% i. q9 B5 _$ _! n0 K
            itemelem.m_bCharged = TRUE;
& V$ q2 d  A! S            BYTE nID;
$ S5 G4 J$ s) Q1 h3 M% n, j! N5 O. V4 \6 D
            if( nJob == JOB_MENTALIST_HERO )5 E* l! P3 {" t+ u# U; z
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;6 d+ s  ^( G# E) H* U8 H2 h% r
            if( nJob == JOB_FORCEMASTER_HERO )
+ W7 ]4 k. w  j% m0 i6 H3 T- T: e                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;- h  u/ k% T, Z6 _8 H9 s! H
' o# O* _) s5 A9 P
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
* }, G' }- G3 O. `2 ?, P        }
. ?7 x& }* o0 M3 d6 n        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );2 I) |, g4 O0 i) G0 O1 p5 z' V
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );. |5 t% H7 j# G2 y1 ?# O
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );4 V. m6 `- `& t7 N- `) C/ `$ M
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );3 v% ]; W. D: |5 f% n2 |: C  V
        ( (CUser*)this )->AddTaskBar();*/
0 L! [8 X* z- J/ V; y        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );8 t  U( K6 i3 m9 w, i4 ^, C' ~
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
) [. e9 l' k8 `1 v& @        ((CUser*)this)->CheckHonorStat();  b% w! x" G0 w) }; y5 a8 @
        ((CUser*)this)->AddHonorListAck();5 h- \7 m) H# ]0 k
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
5 k; H! g9 r8 H% I# C& ^2 h#endif    // __HONORABLE_TITLE            // ′Tà?2 ~' a) A1 F! A+ b5 O- f8 ~/ A
    }
" ^7 R# U, b+ ?7 q1 l#endif // __WORLDSERVER( \$ w# ]; M3 n: I- F
}  ( m8 m# u5 f8 X* ?5 ^! }/ j: B8 V

% m/ B# A. ]1 w/ [5 ]3 ^然后你进入functextcmd.cpp并添加以下& l6 B  S+ g* U6 W  V; {
& m+ X, [% F% j* I+ C6 ]
代码:3 W- m" m/ m. E
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 s3 m# ~( E3 o6 q# i下面插入
' G. A8 T7 t; D5 I& sON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
3 g0 [- H- X7 `% a1 O6 h" X- _" \: s4 v1 N4 R6 y; D
然后你去
' L. t. @% q! y) |4 b* @1 v
  B7 S. i: ^+ i: L  G/ r3 [代码:; m7 i- A. K9 [1 Q3 F2 @; `
代码" M; o: i9 ~5 \+ T3 Z
BOOL TextCmd_ClearPropose( CScanner & s )
4 L6 G5 |1 [$ H{, T9 F* a  F7 P& X+ c  [
#ifdef __WORLDSERVER
. w" P6 @6 T3 I8 P3 I* m2 f% ~5 y7 j    CUser* pUser    = (CUser*)s.dwValue;
/ U4 N' F# p, ?    g_dpDBClient.SendClearPropose();
# ~% @' S' g( y0 i2 A3 d. K6 X#endif    // __WORLDSERVER: G5 ]& M" A* A! Q2 ?# x$ d, v
    return TRUE;8 i* |7 [# A7 @7 s8 C
}  _" c% ?  I: |( O6 h! N3 g6 U7 T
下面插入
' m0 j- I$ a$ P& C6 Y/ bBOOL TextCmd_rebirth( CScanner& scanner )* y0 H7 d7 q5 }- _; V+ C& {4 v+ u
{. `/ @. J+ s: J7 J7 }! |% W1 ~
#ifdef __WORLDSERVER& y: b4 f" m2 {1 ^; f
CUser *pUser;
5 X! Q, s5 K, ypUser = (CUser*)scanner.dwValue;
3 I: ~" z! _2 P" p) d& T4 Fif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())- L8 G- w1 p* ^5 q' x1 j, ^
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);( @8 z. k7 C9 Y. m! L5 Y6 ~
else+ F  f2 L( Z1 c) G4 m, C- n
pUser->AddText("你还未达到重生条件!");" A) j, `+ D9 c$ a" d8 m
#endif: ^% c# C3 E. Q, k& K& t  f
return TRUE;* F7 z# a( @' I
}  
2 v! e2 [0 l, Z& Y& Q! `2 U
8 J  @: j7 z5 ~; V
* ~# d4 z5 Y7 ^9 r2 z  _
. Z( M. K7 J% b" m/ l1 n/ \& E' N% I2 S' z. H8 e
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2025-12-23 20:08 , Processed in 0.064656 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表