飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
5 D7 N0 N5 D" Y1 [
. u! R3 K9 @2 ]! \* Q  PMover.h
# T% {9 g2 y& e4 N& U7 F3 \+ p代码:
  ~* u$ ?: w. ^  v! W找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü2 w# O' M  t' ]( \) q
- R! L9 u) Q4 ?5 ?  Q' y
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  & v1 P. e/ F" f: M
% C+ o; J" L- O
然后你去mover.cpp添加
' ~( G* y9 V+ _; L- a( d( q; ^; {9 F, g) c; G. l# v/ w: q
代码:
2 ^9 @5 a! D* k" a  c% F+ yvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
5 p, U5 j/ V* B3 N0 z, |% Z{  ?  N4 [: S* L3 J% X- p
#ifdef __WORLDSERVER
4 a9 X$ T6 C2 K0 Z( U/ Q# z    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó3 e1 I0 I6 n# ?7 [3 E
    MoverProp* pProp = GetProp();; j. ~( _3 [& z( ]
    if( pProp )# I" a) N  _2 ]0 R! g, g* s
    {/ G4 E" V6 y* G! j; \6 x
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
8 _; r/ Z" {. y- q8 u        {
. w2 o+ B0 F5 y7 a1 z            AddChangeJob( nJob );
5 b5 J! C% f3 \7 q: [; M: l        }else{7 w/ N5 j8 w& ^1 |% m
            return;
1 ]/ ?5 q8 ]- U& z9 I        }
- A( g4 k4 ]% C1 U/ P        int nPoint = 0;
3 [  t) d, s6 n& i8 H& R        if( m_nJob == JOB_MERCENARY )
1 N/ R. E5 b# P& `* j            nPoint += 40;
6 f% b1 U2 b; G# v3 x1 s% u        else if( m_nJob == JOB_ACROBAT )! O0 Z6 N9 |# n4 o0 {+ t8 i% c
            nPoint += 50;( S" P4 ^3 \9 o# V6 i. ]: |. J
        else if( m_nJob == JOB_ASSIST )
' ~% l$ c- ~# W            nPoint += 60;; I. d' R& a4 C, Q8 f& y7 r8 P
        else if( m_nJob == JOB_MAGICIAN )
; t8 Z( c$ [8 \$ }4 @1 l            nPoint += 90;
* m. q' |( C! I/ \. J, G! y        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
8 n, c, m5 ]& u/ p5 h            nPoint += 120;5 |# g0 t" D; _$ l0 F: |
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )% P/ e4 }- y1 I" \% @6 x
            nPoint += 150;/ G1 M- f% L) x* s& v& J- q
        else if( m_nJob ==  JOB_RINGMASTER )
: r. z8 I' q, c, J# \            nPoint += 160;
0 ?+ F: l& s7 x. W" b        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )/ z* Y+ P0 y& r5 R8 Y; N+ h
            nPoint += 180;
6 ?6 ?6 n* n) O) O; x9 m        else if( m_nJob ==  JOB_ELEMENTOR )$ z1 r5 `% S# B. J" Y. U4 D
            nPoint += 390;' u0 p; r* P6 c8 z6 D3 L! ]" D
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
8 u7 y9 \/ X7 w" I: z0 E0 Y/ u) ^) z4 I/ C            nPoint += 120;) C8 m$ o" i* ]& r
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )" A4 V4 m8 b9 F4 O" i7 E* Q" v
            nPoint += 150;* P4 Q* H4 d+ K% ~  p* n
        else if( nJob ==  JOB_FLORIST_HERO )
8 n5 e$ M$ p' x: B" @" }1 b            nPoint += 160;
3 t2 Q7 `7 ?* L; t        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )3 |* D* Z6 P/ X
            nPoint += 180;# w! H( N6 Z* |) a* _0 i: u
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
- v6 r- O3 I6 a! o3 g- C5 b8 B" a            nPoint += 390;
. W" H! o  ]& z" G2 F9 l; Y+ z) ^3 G5 B
        AddSkillPoint( nPoint );
9 m* u2 u9 @1 Y) D        m_nLevel = nLevel;
+ q7 d) ]% o# ~: l) a4 _- R% u% @' |1 f# E7 b( P3 O
        SetJobLevel( nLevel, nJob );. W6 j! q% o; k1 v- M/ @! n
        m_nDeathLevel = nLevel;
' K: L# P3 J% J) ?2 O' [% P#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans! Z7 W+ K9 i/ V9 `9 y
        if(IsMaster())- H  o% _  V1 m  e
        {
: _$ }! |' g5 p* X9 K+ D" v            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
6 Q* J5 w7 h: L9 A, c3 V            if( nLevel > 59 && nLevel < 72 )
! }* s* _3 {5 `  f4 Y                dwTmpSkLevel = 1;) ^2 E: ~# v# u9 ~0 w
            else if( nLevel > 71 && nLevel < 84 )
* c# X7 c4 W! y* z1 L                dwTmpSkLevel = 2;+ Z9 E% y7 a8 W2 s2 Y9 ^
            else if( nLevel > 83 && nLevel < 96 )
$ G: {. O8 m0 z                dwTmpSkLevel = 3;' b5 A! c. a+ ?! k
            else if( nLevel > 95 && nLevel < 108 )5 v) `5 _0 T. p
                dwTmpSkLevel = 4;
4 ?' d3 x( F# x, m            else if( nLevel > 107 && nLevel < 120 )
7 e8 m5 @) ^1 S$ f                dwTmpSkLevel = 5;
3 ]6 h- c0 I8 O( N            for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 ^: a# l% u- B! z3 A1 J            {                ( ^* V' e  W" z
                LPSKILL lpSkill = &(m_aJobSkill);
* @& ^- L/ k2 L! m; W9 X                if( lpSkill && lpSkill->dwSkill != NULL_ID )6 f& {+ v9 U9 V5 V; w
                {
& P1 O( T& L( L                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
4 v( c  v9 p0 b# @8 X. d                    if( pSkillProp == NULL )
/ J0 ]& o. z' N* H6 }                        continue;: r; q4 O5 L3 h5 R! k2 \; i, Z
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)! w1 p1 e6 J! B' n
                        continue;
3 [7 ~0 v' q1 }! g& U                    lpSkill->dwLevel = dwTmpSkLevel;
* i$ T% v* v8 T/ A  Z9 z  j                }
8 S/ |- N$ C1 N8 c( d- j            }
8 @4 p! Q' r. U( B        }- O% P3 v& h" a
        else if(IsHero())" Y7 H4 X0 S5 X) m6 q4 Z
        {; m' V7 S3 T5 j4 H2 d- B
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) & `5 @" J/ |8 T
            {               
- T7 n  `8 O& r  z                LPSKILL lpSkill = &(m_aJobSkill);  G* |& a; L! S6 Z, q) t
                if( lpSkill && lpSkill->dwSkill != NULL_ID )/ Y1 i* j9 X4 q6 u- m4 t8 X
                {
* z) c8 c. q  _  M                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
6 f  v, F* Q2 C- C. ]5 w2 h* H; J! w                    if( pSkillProp == NULL )  _; m$ M* W- z: O) S4 g& W
                        continue;
2 j( p3 y: G8 F" v/ s                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' n: ?8 a4 \. m1 d6 o$ F                        continue;. v3 D3 D) U3 R2 I9 M8 h! t
                    lpSkill->dwLevel = 5;
6 l  H: B) w" }* t( K0 ^5 q                }$ n5 [3 V% V, J: R
            }
1 d6 s4 a& H' K6 z7 j% Q        }8 S" k- L8 f2 i2 L
        else if(IsLegendHero())
; [1 O( o" v' q1 D        {( o2 E& [$ ~( g
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) " t* r5 Z/ l$ ~# i
            {                * x% j) B1 H, B  a
                LPSKILL lpSkill = &(m_aJobSkill);
7 Q! [' [/ ?! x) U% X                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ ?& Y; k7 k& G0 `6 ]                {4 ?0 V5 v1 P' X$ _  q# f5 P2 y
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
+ G- v  J* e+ a* O/ B9 {                    if( pSkillProp == NULL )' ^# T0 W6 Z2 k. J, i# J
                        continue;
" P# K1 b4 o% M                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 z+ }: n  _* R6 u: [) h& G                        continue;
4 u# c5 ]. x  c* M4 j) T                    lpSkill->dwLevel = 5;
5 n0 `3 [$ d$ R0 T' g% J; U% T$ {                }. T* r( U. v: z: Q/ R4 F
            }
1 M: Q. r% W% T  Z  R        }$ ~& G4 P6 l3 e' w& S+ M
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans7 O$ A; `; a3 t& X
        if( bGamma )$ D7 z- y+ Q2 p2 y# |) m# t
        {. R0 c! O1 e- o1 n
            m_nExp1 = 0;* H$ F' [. S  h' w7 N
        }
' a1 N2 ?8 G+ ]4 v! x
4 \+ [" k, @- p- L: r        ( (CUser*)this )->AddSetChangeJob( nJob );
7 t, h' y4 {' S4 z3 \) z3 K0 k9 j        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
* P$ H5 k! }) J! U4 ^" o8 e: M6 r$ p# h) X  ]8 E' C6 Z- p0 p" t
  Q: Q: W. u- x) Z, j! R% @  k
#if __VER >= 11 // __SYS_PLAYER_DATA8 `0 ~' X# e+ J4 q7 t- D& G
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
3 K' n" e& ?! @5 J- M/ R% \#else    // __SYS_PLAYER_DATA1 a0 ?3 m5 ^$ M( `
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );& K) Y$ \: Z  ^: I0 d
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
/ E5 j2 A6 R6 J        if( m_idGuild != 0 )
& ?/ w. S" T5 W5 ?3 ~            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
9 f* l; b* i7 n* z#endif    // __SYS_PLAYER_DATA
8 t- B5 X; @2 r% Q- Y/ p        SetHitPoint( GetMaxHitPoint() );/ q; S) s& B4 e. M. d' s/ B5 G/ a
        SetManaPoint( GetMaxManaPoint() );% q# _  ^4 h: i+ T9 l
        SetFatiguePoint( GetMaxFatiguePoint() );
& Z9 r5 L6 u7 K) L/ o        if( nJob >= 1 && nJob <= 4 ): j& ~+ D; n: y' c
        {
+ @2 ^4 C/ J* f9 Z& J- l  k# o            m_nStr = m_nSta = m_nDex = m_nInt = 15;0 c% q5 N1 T5 t  C& i2 `
            m_nRemainGP = 28;
+ E. W' i2 H9 L0 H. ?        }
2 L' L, n! m- T% ]! Y4 Q        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )7 y; p% G' D0 l# m. l7 o
        {
7 p' J- G1 r9 j& F/ ?& g  T            m_nRemainGP = 118;+ x! Q" D5 r/ A7 Y, I( W
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( ^3 B* p) D/ ^9 s            m_nStr = m_nSta = m_nDex = m_nInt = 15;
' S. y9 R$ f- H9 P# z1 ?        }1 Y  T5 E/ R8 K4 c6 ?# z
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )5 r% K" m& K4 s/ H4 T
        {
' Q( V$ h0 ?2 Y9 x/ P, X            CItemElem itemelem;
0 R2 q$ [, S9 q/ U5 L            itemelem.m_nItemNum = 1;
- [# x# \6 Y+ n3 |  j2 v            itemelem.m_bCharged = TRUE;
6 o0 }5 d1 ?+ G: y  i/ F            BYTE nID;% _# k' @0 R# Y
6 x0 {& S- d9 \9 |: T4 D
            if( nJob == JOB_MENTALIST_HERO ); M! H, j7 t8 _( u- u3 H
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;  h) `% S& }1 s% ?% z* p: a! v
            if( nJob == JOB_FORCEMASTER_HERO )
. \- ^, t+ s7 s                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;( d6 q. I# _+ {' v, V% \, B- J
2 U  X6 Y8 b9 `; h: Y
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );7 P0 ]4 O3 v$ f
        }
  R9 S: G9 F% J+ I, O3 Z/ N! t        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );: }7 S/ J% ^7 |6 f% A
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );6 H$ ]* q8 c" ^  p
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
+ R( S- e3 ?1 q) x. y8 \( V/ s        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );5 C' l! ?# D* ?- t; ?! E* \% D
        ( (CUser*)this )->AddTaskBar();*/$ }7 o9 ?/ d! W& C. J% }7 u
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
' H! f7 C7 J! M% B  J' R/ k, @#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?: B+ [0 u8 r+ @( [- x% r
        ((CUser*)this)->CheckHonorStat();
* [8 z* e7 @4 i, h        ((CUser*)this)->AddHonorListAck();
1 v1 x) c% x" O6 k9 |+ A% n        g_UserMng.AddHonorTitleChange( this, m_nHonor);
* v* s4 k8 z$ C4 d4 j7 C2 P#endif    // __HONORABLE_TITLE            // ′Tà?% X% t/ _! L* [
    }
5 S% f( E) D) F' ?. P% t7 F#endif // __WORLDSERVER
9 f$ \: u9 Y9 [5 l; a}  
4 k! U- _  V  m2 u
6 _; g( T, t, m% O然后你进入functextcmd.cpp并添加以下
3 {/ x6 S% K+ E
/ Z- d, j- F& `代码:' \7 |3 C4 R, {0 F0 Q
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )  d# e( t5 T# h+ p, F  J
下面插入
, y3 Z! K( ^7 a) ], tON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  * W, z$ K4 O  r: H$ J: G
( e0 \$ W! i  ]6 A  j* @5 G4 b$ S+ J
然后你去2 Q$ q4 i1 a5 H9 V% ^+ K
8 ?7 D) p7 d, m0 v' l* H
代码:
- o( D* g  V  F( `7 P/ Y代码
9 h, R6 Y& M2 K! S# FBOOL TextCmd_ClearPropose( CScanner & s )$ Q0 n# q: O/ `
{8 r( `& M1 z: J# S$ _- o. b5 z
#ifdef __WORLDSERVER) @% K3 f6 _# b/ X- e& t1 k
    CUser* pUser    = (CUser*)s.dwValue;+ i. Z% a- {( k% z: {/ v
    g_dpDBClient.SendClearPropose();5 [3 R# p, V7 p4 ?5 \5 V" |
#endif    // __WORLDSERVER
1 Y6 n# H  }) i4 Q$ I+ D    return TRUE;
% T) E3 A1 g4 t6 r7 q) a2 a( U& i}
! W0 P/ e( s" G7 u# s& K下面插入+ _4 a+ }7 Q) V3 a
BOOL TextCmd_rebirth( CScanner& scanner )" ?8 a5 \  j' q6 {* n9 {  v
{0 _0 J9 s+ S( h" W% l
#ifdef __WORLDSERVER7 _. C8 @# p8 b5 C6 x
CUser *pUser;
! P$ a9 Y$ u  {pUser = (CUser*)scanner.dwValue;
; u( B4 _# r$ O3 i# Y, @* yif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())( ^4 K4 K  r+ L* z
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);) b6 ~# C4 O4 e% k' a
else
; p7 ^- x9 r1 P3 g- j4 UpUser->AddText("你还未达到重生条件!");
4 A8 I8 c6 Q& p' D#endif
0 b+ r2 b" g& G( ]return TRUE;: N1 r8 B% H: P6 ^4 c' N5 J7 {
}  
( l; H* ?, r' a, S2 P0 _; n& }" u) S' t) e  M1 D* D" @

2 K2 D  a# X* N" Z0 X% o3 {' {  v+ A5 b" e4 m5 q+ x
4 f! w: u; P, U





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