飞飞世界论坛

标题: 通过命令重生 [打印本页]

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
! R9 l0 o, O& l0 m5 M/ c6 X% S1 J2 f* Y. K% r+ t
Mover.h
- b& y. c  ]8 {代码:
" m6 z- [5 c( ~6 V找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü. ~) C" j" b6 P1 J

+ A. V, S' r! o8 f, Z下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
: f: [3 I  S* G' E
8 a/ i- |8 U* u4 N9 M然后你去mover.cpp添加
; _9 t  X  M4 C8 b3 k
6 v$ L5 P) |  k" n- Y; N2 t代码:
: \# ^- h$ ?) z8 P* Fvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
9 R7 Z- I( H0 V- B" d! q3 @{( P6 G0 S3 |. K, H' T1 {
#ifdef __WORLDSERVER
9 y0 r4 c  t- Q. n    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó' I% N1 k0 J# c$ N: y( k% h
    MoverProp* pProp = GetProp();
4 g# y1 ^  R% w    if( pProp )( q! Z8 j5 [, L: L% r
    {8 u" j/ N1 ]; e7 }
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
6 h; ^% Y# P/ C% d        {
, x/ _& E$ ?- H' E1 C            AddChangeJob( nJob );
: B: V* s9 k/ Q! c        }else{
+ f/ k7 D. t& C2 B; h            return;
& ?8 k* `# r' r4 h) W. a8 ?2 @        }
8 S9 y9 G# E- D2 }, ?- q        int nPoint = 0;
, c$ U) \5 ~% R9 W0 d# z' c3 k        if( m_nJob == JOB_MERCENARY )
3 z4 r& c$ @9 W& e7 B            nPoint += 40;# H) `/ b2 }! ?9 A
        else if( m_nJob == JOB_ACROBAT )7 X5 X# J; `6 J: t! w
            nPoint += 50;
+ b5 R( I& ~5 E3 i4 h# B, N        else if( m_nJob == JOB_ASSIST ); t- A+ {$ w" F/ N9 @
            nPoint += 60;* N+ Z, ]4 t" R
        else if( m_nJob == JOB_MAGICIAN )
  y* ]) `: w' |; u! G' A            nPoint += 90;1 q) y3 q8 S+ u* _
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
, Q9 R- l  s% _; y5 g) ~9 a. I            nPoint += 120;2 }$ P: {/ y- Z- i
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )8 Q# v  q! f' N
            nPoint += 150;
8 k% k! B6 c1 v+ q, F1 }+ q/ |        else if( m_nJob ==  JOB_RINGMASTER )" l  d! K, N6 J  D) o% W
            nPoint += 160;/ g) }. d- c- ^) c& U7 X9 j, E% m
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )( u4 S& W' M4 K% t0 O. Y
            nPoint += 180;
4 ^& p7 b/ @" Q/ k1 L        else if( m_nJob ==  JOB_ELEMENTOR )
; ^' T7 m" I( P- D8 ]            nPoint += 390;
6 O9 ~. Q- b( W- P        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO ). R8 s: G, S( j5 W5 s
            nPoint += 120;2 x% \4 N3 ]) R1 ?
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )( l2 [/ X- @  P1 h% \4 X' [# I
            nPoint += 150;
5 r* s+ \% O' x1 o9 `% U" c        else if( nJob ==  JOB_FLORIST_HERO )
; a. E3 p/ G8 Q4 ]: Y            nPoint += 160;
# Z' f) H% m/ [, T- |' S        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
  s- F6 R) W5 {- z* A2 B            nPoint += 180;
1 u8 ^" O  d, V# c        else if( nJob ==  JOB_ELEMENTORLORD_HERO ): E/ A0 \, [+ ]
            nPoint += 390;
# D6 K% x; w" y; m7 Y
8 i2 u& c- B5 d& L$ [3 i) Y/ [        AddSkillPoint( nPoint );
) L, H6 K, ~* g, `& d0 u        m_nLevel = nLevel;8 _: [. ]0 \" G5 K& s

$ M- Q& `4 y; _3 T1 Z( S        SetJobLevel( nLevel, nJob );1 q$ N& D' g. T( Y* w9 M, E
        m_nDeathLevel = nLevel;
9 S; S) b" e; u$ u7 x& [#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
) x2 z3 m2 D4 z8 i0 i  r        if(IsMaster())# y4 K1 d1 E! y& Z$ P) C6 S( J" k  f
        {1 H- Y* e1 D1 n$ v, [. W
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
0 }. G3 F+ U& v* w, A            if( nLevel > 59 && nLevel < 72 ): l  I6 a; q; d3 h% ^
                dwTmpSkLevel = 1;1 [0 M# P3 k! V
            else if( nLevel > 71 && nLevel < 84 )% `- t/ W0 ^) M) _; |
                dwTmpSkLevel = 2;3 i' B* g  y' L, q
            else if( nLevel > 83 && nLevel < 96 )
  F3 [% S5 W; X" `                dwTmpSkLevel = 3;" Z2 O! N; u  o. i; \9 M9 V
            else if( nLevel > 95 && nLevel < 108 )1 L8 X3 ~1 w6 A
                dwTmpSkLevel = 4;( {1 W3 Q2 d8 a/ j
            else if( nLevel > 107 && nLevel < 120 ). s, g* Y: {9 ]7 ]9 ^
                dwTmpSkLevel = 5;
5 i& U0 v  \" _: J2 |            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 9 y. d0 e- q/ J  g. ~
            {                $ E/ |" C* Y' u' ~% O
                LPSKILL lpSkill = &(m_aJobSkill);
4 x' H2 K' b% y1 R) J                if( lpSkill && lpSkill->dwSkill != NULL_ID )! c7 M3 ?0 g- {; p  Q
                {. y$ M- q6 e, J! b; o# b* p
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            6 _" h5 ]( x+ G) Z0 j; r
                    if( pSkillProp == NULL ), w+ ]7 H( Q4 p9 w& J8 M
                        continue;
4 e  e/ j5 M% J! O# Z; W0 }                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)  A; Z) ^. G1 y( _
                        continue;
1 @8 }) M. j. b2 F0 N$ E                    lpSkill->dwLevel = dwTmpSkLevel;
) @2 V. ~! S; V* W6 j7 N# E! A- {                }
* }- J) X+ X8 _& V  A            }
- F+ h. t: G. U7 b2 H$ {$ w+ S        }
8 F* g& F3 g( B) `        else if(IsHero())& q. \' Z; {: N1 \+ Q
        {
+ r, c$ V' j  Z7 u3 E            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + G8 H+ l% w. H( h
            {                + b4 d: q% W. ~
                LPSKILL lpSkill = &(m_aJobSkill);
# b, A) g/ v7 G* ?. E) I                if( lpSkill && lpSkill->dwSkill != NULL_ID )
6 m: V+ [6 \# f3 `                {6 B# p5 g! v' K: c- ]; V7 [& c
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
6 ?/ M; n+ p3 B5 o6 S* L9 d& t                    if( pSkillProp == NULL )9 N, ?  p' b- b& Y+ _, Z
                        continue;
: @; h2 L; B& S; q) t                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)3 m( x! r( r' L
                        continue;' F* h) C* W0 y
                    lpSkill->dwLevel = 5;
- E1 `2 d# Y, w; m5 u! e1 d8 N                }
& H  w3 u: f$ D7 H            }6 w( `6 ~# E5 T9 y3 C8 T
        }
6 D" U! I6 S; `. h& j; v        else if(IsLegendHero())8 r4 Y+ ?: B, M  a) T: V& y
        {
, Q* R) L' x2 G! R/ f( g            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ U$ F* R4 u; ?( \# I            {               
* P* P/ \* \5 Y$ A- ~. i' O                LPSKILL lpSkill = &(m_aJobSkill);; j( S* r/ ]& m( ?
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ y$ \3 }* a4 ^) d# |                {3 i* G, b4 G; I, q
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  w+ g* A! d6 C                    if( pSkillProp == NULL )0 t2 R* e  ?3 h9 z3 y' U
                        continue;+ F3 A3 [9 S, V9 f' P
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- ~" x, i+ m3 L# B8 _/ E" m                        continue;% k+ |& L2 w6 ?$ d  q1 n0 j
                    lpSkill->dwLevel = 5;
# k/ @. U  R( F! e. r                }
6 H5 a7 |; w( B5 k8 Q* f; @: t  V6 ]  Y# S            }4 i5 C( C' ]* B* w7 `) @4 [8 s
        }: T& f4 j4 n; _5 N0 t9 d
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans: j# A2 ?7 G5 D; X5 o- w
        if( bGamma )/ y. u, b& Y/ {% r
        {
8 F5 w( ?5 j/ U8 r' a; O            m_nExp1 = 0;
% ^, A, {6 O1 q        }! k) p  F5 V5 u) }
- e' e6 ]6 _0 Z& Y2 F
        ( (CUser*)this )->AddSetChangeJob( nJob );, ~/ I9 a& A- f) b
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
! J0 J2 `$ l! {: Q
5 L* |% ~2 Y, O6 W! |: v" [( U8 L
+ Y9 n7 e: k: Q. K# T0 H#if __VER >= 11 // __SYS_PLAYER_DATA1 l. z5 i" n1 `) l* \2 ^* |
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );& c! w5 ]0 `) L$ Y" |$ W/ m7 G
#else    // __SYS_PLAYER_DATA5 S/ A+ C& w3 R8 R8 w; ^  ]
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
2 I1 N1 n9 J3 w* Q        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );- `) S; m5 w0 F
        if( m_idGuild != 0 )+ H; L) D" Q; N1 s9 G5 D
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
/ z' s6 s  B+ L#endif    // __SYS_PLAYER_DATA9 ~. g: ]% i4 F
        SetHitPoint( GetMaxHitPoint() );+ n7 g, |1 I: x
        SetManaPoint( GetMaxManaPoint() );) \$ U8 G! Y2 }& r3 n
        SetFatiguePoint( GetMaxFatiguePoint() );
5 D5 P! a2 \2 J! X8 Q        if( nJob >= 1 && nJob <= 4 )
7 ^1 X8 A0 j; M3 Q7 v6 w6 i        {7 y" G: _- d6 |  F2 m4 @
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 e# Z; `$ i' ]. b8 x) ?- n            m_nRemainGP = 28;
5 i5 t2 p" A' P: n; X2 o        }
, V" P# ]1 `4 r8 `( r5 L        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
1 N! \: x. Q* e% g        {
) F+ @' E2 q& T7 W7 R3 o8 H            m_nRemainGP = 118;
0 z# F1 P  h& U            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
5 \& h3 D2 C  V7 ~4 O, ~* D            m_nStr = m_nSta = m_nDex = m_nInt = 15;! R; d9 l) o7 ?( c$ D
        }$ u; a& ?# D/ ?7 ~  k
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )) _5 n( Z% N! _5 ~5 {( N
        {
9 _& ^( C. ]$ J+ [! S/ h            CItemElem itemelem;: h+ t, b) c# e' M. _- s
            itemelem.m_nItemNum = 1;
# `' n/ [* Z4 D& o$ C' q6 Z7 T            itemelem.m_bCharged = TRUE;- x! N. F. k+ d9 I: W* R
            BYTE nID;
7 C5 D# i& s7 z0 p; q1 z
7 b" ?" k- ?1 L3 U6 X  q            if( nJob == JOB_MENTALIST_HERO )
* B0 U8 O) Y4 l8 N( X                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
" ?4 T4 k* y  p; L- p            if( nJob == JOB_FORCEMASTER_HERO )
# S4 W  Y# `4 y                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
! D/ y6 _/ Z. j0 j/ `
" M: d3 {' e) _& x            ( ( CUser*)this)->CreateItem( &itemelem, &nID );3 ?" f, O6 j- L1 H# P) M9 O
        }
* u) m0 x$ R! O! |3 B        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );, w" R9 J8 K. i0 q
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );' U& F; h* k3 d# A; Z+ A1 @/ ?% |
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
* C' f. G/ Z3 N4 y. L        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );. r  ^& ?2 e, e5 S, q  x6 U
        ( (CUser*)this )->AddTaskBar();*/
- m4 t0 p. ?  ?7 f% V, ~9 T        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );$ o: i9 k( A" D4 E( H9 ]! r5 Q3 M
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?7 C7 p" ~1 I6 }* _5 R/ }
        ((CUser*)this)->CheckHonorStat();: K, ~1 ]# V( S0 m2 m& x: X
        ((CUser*)this)->AddHonorListAck();
! E4 S% X: N* j: v2 X* a, G        g_UserMng.AddHonorTitleChange( this, m_nHonor);* R. q! t6 B3 U3 G$ }6 g" P
#endif    // __HONORABLE_TITLE            // ′Tà?# f6 R$ D2 j0 t/ w
    }- u1 g" L& w' T0 U$ N2 F4 s4 z
#endif // __WORLDSERVER8 W3 a9 k' f* a, [
}  * W! w0 n' w1 _8 E: [1 p% s

0 {" x5 |; E) b9 q0 h然后你进入functextcmd.cpp并添加以下3 H/ P( \& G1 g7 l. b1 `9 H

6 P8 J9 C+ Y/ _- n9 B代码:/ q! a' C' b3 f; B
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )1 [- e6 w1 C5 g! V8 F' o5 p
下面插入2 E5 p7 V& B$ L, u+ w8 ]% W
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  " \# w$ |$ z0 X/ h. C

" g9 X: o& Z- J. J8 q然后你去1 f0 a! P6 o. B- n* }
. ~& x, Y3 J1 Q, q. p. {
代码:: I% r2 R! J/ I. [8 F
代码# I- i2 y, o! w8 K' f, [  L  f* u
BOOL TextCmd_ClearPropose( CScanner & s )4 k$ u+ n; \- ]4 t% t# S
{
$ m7 j2 z: U* G$ h$ U- |9 ?#ifdef __WORLDSERVER
, P5 `! P5 v( H/ q3 Z) T- K    CUser* pUser    = (CUser*)s.dwValue;
: u* S" c  l) i' ^4 D    g_dpDBClient.SendClearPropose();
. u& y5 x& f  L  E#endif    // __WORLDSERVER
, Q4 P6 K# t" R8 ]* q    return TRUE;! p$ w0 a8 K. f8 h; P' b5 Y0 X
}
4 @1 ~0 l  w' }; y3 [下面插入5 L9 y' G2 s6 Q, p; A4 L: K
BOOL TextCmd_rebirth( CScanner& scanner )
' _* v/ A6 [) U/ \3 N% o/ ~{
4 S$ Q' u0 S, ]& ~# i#ifdef __WORLDSERVER
, N: e- g# m! d% `/ KCUser *pUser;
( s5 O: ^' s& ~( ypUser = (CUser*)scanner.dwValue;
9 K6 Z5 H2 Z' A1 o, ~; _8 c5 pif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())5 i4 v/ k6 M) k; @, A
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
" e/ E7 r; M' n$ p) Gelse
$ R8 m0 x& N& ^: E/ g7 h$ qpUser->AddText("你还未达到重生条件!");4 Z8 p) H$ P- D3 q  G
#endif$ x9 [7 V; a3 m- N* ?: W6 u5 x7 e
return TRUE;
# t) z7 P7 V/ |}  $ E. d' r5 u/ N, B* B; m6 D+ z
7 z9 r1 C2 n  \! `, w

$ a1 C+ [( u, ?) B; N) v" K7 l
- w: `* P8 \1 B/ B9 \. h  K* ?
9 H7 o/ U5 C" `




欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) Powered by Discuz! X3.2