飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
! O3 y% N' [0 z7 Q$ W4 m
" ]) S/ x: N  o& f/ a& gMover.h
& F( L# x9 p1 F2 o代码:0 U" H$ g& J$ F* T: w$ O/ D
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü8 [: A! [/ @2 p( M) n: I1 @
7 n% @' k# L% r0 t. c/ ?( m
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
# U- ^/ Q1 c# P; t) K" C: `2 z4 ]+ f9 c$ h/ E
然后你去mover.cpp添加, D  L1 h9 W: Z

; T0 D. h+ X5 g' A* K代码:
8 a9 W; \- `) Z: J( G7 P  @void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
- Q& a' c5 }  @) D  ]1 h# ^) a{0 i, Q* f; r+ f% K0 T
#ifdef __WORLDSERVER
4 D9 R& T. y( K0 h- V    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 x& V0 g  d! L" a/ R! u9 Q    MoverProp* pProp = GetProp();
8 [4 H: j8 ~4 [* C    if( pProp ): X" z3 m3 P2 x: P  \2 T3 k
    {) x6 ]6 c& c" T7 S# Q, ~
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
' E& M3 p  V. R1 R: ~; w- O        {
' M/ g" |+ d3 J% T" J& I4 f" f            AddChangeJob( nJob );
$ A" s4 v. G7 k$ m5 E5 M9 e2 m        }else{
) K% t: }/ i2 r/ A% a            return;+ ^* j4 \5 ?' g; J
        }
! c  F2 S; e5 H  F; ^; N! G        int nPoint = 0;
/ a& ~' C2 _  H        if( m_nJob == JOB_MERCENARY )
$ v( w( a6 y/ |8 J/ z) S            nPoint += 40;/ |/ s1 r2 j) @; B( y: o1 a
        else if( m_nJob == JOB_ACROBAT )
: z2 J; ?6 o& F3 E9 t8 k            nPoint += 50;. h% G6 G( v8 @1 i5 e
        else if( m_nJob == JOB_ASSIST )1 e2 @& `& w- u, V/ v* q$ }& U- c2 n
            nPoint += 60;
: ]& f$ A2 x1 ^; V        else if( m_nJob == JOB_MAGICIAN )/ u1 O" l: g# @% l8 |; I
            nPoint += 90;- }0 a9 T. G% F1 @% p, ^; Z/ i
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )( [5 W4 s+ G) M' m' c
            nPoint += 120;
& h$ K2 c7 K/ H3 j- X$ g9 S        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
' [3 f& V9 q! }  P8 [4 ], P1 r            nPoint += 150;
9 p  n: J  K, d1 w+ }        else if( m_nJob ==  JOB_RINGMASTER )+ H' r# u, B, {, N9 s
            nPoint += 160;4 A7 A" G  I& J* P: D' C
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
) M+ |0 m0 c! ]            nPoint += 180;* o: n& g9 Y7 S
        else if( m_nJob ==  JOB_ELEMENTOR )* w" h3 [, d( s0 n) k5 o
            nPoint += 390;4 E( Y/ H& d3 k! \+ \" |
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )4 D! v+ M# v: }# f; o
            nPoint += 120;
( P# Z/ m3 e7 B% r        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
; W7 i$ v* W$ S            nPoint += 150;; S' P' l; _# u6 r: P
        else if( nJob ==  JOB_FLORIST_HERO )
) s9 f  x  [: A4 N9 |- v+ W            nPoint += 160;
4 T! F- u, Z4 {+ @        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
1 r: c% C  o* J* v/ H1 {" L) t            nPoint += 180;) h/ Q+ t1 C- I. c: X
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )8 D% z7 ]4 |+ R3 a0 P
            nPoint += 390;8 }1 H& @1 W) D* o
; V9 B' @0 X# F" F1 l* }) B; ?
        AddSkillPoint( nPoint );
. X1 L: I1 s' b% j/ o% b1 u( x        m_nLevel = nLevel;
$ }" c  l4 u( x; q: x7 N, f! p# o5 X, o( c6 g- d; V
        SetJobLevel( nLevel, nJob );
: C) R2 m0 P. X* A- f6 o7 h        m_nDeathLevel = nLevel;
* P! l/ X8 F1 U5 z- J  W#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
; d% t. l4 R& G4 Y5 s! L4 W3 J  P        if(IsMaster())0 t* z2 W  D6 x' R2 g& Y
        {
: P8 V7 P& N( _! C4 d* c' P! A4 K! k            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108) Z. a; n* `( T2 k3 d
            if( nLevel > 59 && nLevel < 72 )
1 Y% f; t- Y: S* `2 u! [                dwTmpSkLevel = 1;
( n% w& P0 ?. S% u" y            else if( nLevel > 71 && nLevel < 84 ): U- `2 s7 i5 ?
                dwTmpSkLevel = 2;
" {; g" H( T% \% j            else if( nLevel > 83 && nLevel < 96 )
! n  F7 K1 {' g" S) b5 D' H4 |                dwTmpSkLevel = 3;
2 K% u; H/ b% O# A0 q            else if( nLevel > 95 && nLevel < 108 )5 F' t( o3 \: ^  Z, s8 l  T  f
                dwTmpSkLevel = 4;
1 Y* Y3 W5 a! g& N            else if( nLevel > 107 && nLevel < 120 )+ o7 `9 D. E4 C  ?0 P8 n, ]
                dwTmpSkLevel = 5;
8 {( K5 u; g$ M# k8 d9 z- D            for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 x  M  ?7 Q8 u  B- v2 p            {               
% W) y0 L$ b6 C                LPSKILL lpSkill = &(m_aJobSkill);
! V7 q! B: R7 P" B# w( @* @6 |                if( lpSkill && lpSkill->dwSkill != NULL_ID )
% Q: X, e6 D3 y3 Z2 g. S                {8 j' v8 |- D. H4 C) {$ U* j
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
5 J8 V* ^0 U9 U( ~$ M2 Y; q8 r+ e6 c& V                    if( pSkillProp == NULL )- `3 T, E- h/ x& k+ \8 k2 j' K
                        continue;" J8 O; J: n' F- l/ T( W
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER). Z$ b( J- u% ~7 E, q
                        continue;( w, n+ k) z# W6 S' {7 B% E" B0 G
                    lpSkill->dwLevel = dwTmpSkLevel;7 Z1 A2 u5 ~$ u- f
                }
9 r# W# q/ @/ w% L+ i  f0 R            }% m/ S6 b* u6 C( [3 b
        }
* N! E3 s/ L  z# `/ Z        else if(IsHero())4 b1 y+ X" P- M$ [6 w
        {
0 o4 U* `1 ^  M* t. L            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + T; N+ x) x% N- ?9 X+ [7 \4 m
            {                0 U& ~& ]$ c. ]8 B: z9 j
                LPSKILL lpSkill = &(m_aJobSkill);+ s6 b& o6 o, V- H% K' N
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
' O: \- R+ G) w  [, L. b6 P- U                {1 f( n+ i8 U1 {5 L9 l' L
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            3 }3 N: S/ g1 b0 n2 l7 p2 P  ]: X: H
                    if( pSkillProp == NULL )
% d0 S4 r4 a- N- U2 h, s0 J4 v                        continue;2 Y7 E- R8 S, G3 Z
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER), O; B) J1 e3 o. [
                        continue;/ Z5 w4 \( S* l( u, E1 K; t3 k4 B& b
                    lpSkill->dwLevel = 5;
1 q$ P' l- }' F+ c                }
5 o* C# N  [8 z" f* N2 K* d1 ]            }
' d0 g# E2 m. P5 y& l/ I+ U        }
1 S# B4 e4 |: c3 P  S        else if(IsLegendHero())2 y- \% m- K! T
        {9 z! j/ a# V1 f
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 1 `- B  L  B  I+ `! }4 L
            {                ' C$ }2 B5 y' }, c7 A( j& l" j
                LPSKILL lpSkill = &(m_aJobSkill);: G, n$ D* i, X6 L" a
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 c+ K  r+ o# x; {2 y( j4 t                {, g! v' F$ H+ i/ j# B2 J
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            2 h% O" m: U2 ~
                    if( pSkillProp == NULL )
5 q9 c3 s8 i( _                        continue;
8 G6 X  f. x. m9 V5 J! x. R, @                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)4 l5 j$ D; {; K* t* {" H
                        continue;
+ M& r" ^* _8 R                    lpSkill->dwLevel = 5;
8 O, V5 Y' p9 z6 E/ M, N                }2 g% h. ?/ h, A6 F4 L" {& B* k
            }
5 \! @* d. G' T2 Y: i        }
0 }/ @  ~% v9 K+ f#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans$ V& K; P* t' z4 i
        if( bGamma )+ F: U4 V% w& @5 ?! g! c. _/ b
        {/ Q4 r9 K  E5 r3 E. m7 s) Q
            m_nExp1 = 0;# S. [; ?7 ^8 q- B  a2 o
        }
9 w7 ~% H$ M5 D  X( r, O" d$ i+ u) r; |! j1 i
        ( (CUser*)this )->AddSetChangeJob( nJob );$ r, t' c% j: H* v; o0 t( h
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
# w  x: x, k, ~5 u
/ `# T" l1 o9 f. N3 D8 H* v( A$ |9 ]# P* H" P# R1 Z3 [+ o! v; ^
#if __VER >= 11 // __SYS_PLAYER_DATA! H8 [6 u8 o3 G3 ?2 ~8 Z# [6 L/ g, D, d1 L
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );& Q+ D. U8 [5 p- ^# a( K, h4 P+ G
#else    // __SYS_PLAYER_DATA4 ~0 Q' f+ j' S' [( l
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );: R, f0 K( P1 x% ~1 d6 g
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );+ U0 J% w* @  V$ M3 W; h4 P1 o
        if( m_idGuild != 0 )6 i8 E' b3 N1 [" i2 i8 q
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
  W% Y( A- V7 L+ [#endif    // __SYS_PLAYER_DATA# P; y' S/ f- l1 b1 `! ?
        SetHitPoint( GetMaxHitPoint() );
5 {: D. U4 H% z0 a0 c        SetManaPoint( GetMaxManaPoint() );
5 }2 T( Q' E6 `" t2 t5 N1 g" m' J        SetFatiguePoint( GetMaxFatiguePoint() );
5 K2 \) f$ z& X        if( nJob >= 1 && nJob <= 4 )
# A2 ?0 s; g/ d- y2 C$ D$ Q        {
3 n' F' p9 B; f9 l( C9 o1 V. h            m_nStr = m_nSta = m_nDex = m_nInt = 15;
! [4 v6 M; p- l* q& b* L            m_nRemainGP = 28;
1 D! L' M4 ], c' s* s# ~+ o" |        }
  x# D( x6 }8 W8 ^2 y( M; T        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
/ v* S) _) {- f6 w8 T! H/ A        {
- m9 R2 E5 v" z) Y- o            m_nRemainGP = 118;- }& }: a& W' Q$ x9 S. _9 j
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
- E- @; R/ h0 F) l            m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 K3 s. f2 w0 }8 d2 _/ O2 `        }6 R" u) x/ D7 \8 E3 b" y1 N+ ]4 _
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )* S7 v4 C8 V' C: U  {5 z
        {
* z: s% `9 b" M( t: q) h' l            CItemElem itemelem;6 r# `% Z* X$ k
            itemelem.m_nItemNum = 1;' M2 h" c5 w; g2 [4 s+ Q- Z, p
            itemelem.m_bCharged = TRUE;
3 Y  u0 n% ^$ t) {0 {8 I- ?            BYTE nID;
; _- u3 j5 w6 d3 Q/ P* Y; ~# l' V( L& E" E
            if( nJob == JOB_MENTALIST_HERO )8 |/ |# m4 ~: Q) ~; D  j+ E3 ^& h
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
% Y4 M/ [' \" ~+ o( y/ f            if( nJob == JOB_FORCEMASTER_HERO )1 A7 S+ o* d/ R# t5 d% y; [& [
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
# C7 Q$ X3 l* o: ]% }; N: o' U: r$ w$ O1 Y! Y  m9 R1 G0 V; O" r7 b
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );- x9 [( y- s% X/ S7 L, x# y3 b
        }& T1 e+ x* b  n( N# G2 K0 C& Y9 A
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
, [; S: n0 B& H' p6 {" A5 }# N        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );- f& r9 e2 e) b- K
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );8 p, \" u9 ?3 A; Q2 r0 r
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );7 ?: k! {( c8 ]6 G: P/ o, _
        ( (CUser*)this )->AddTaskBar();*/! a' S! |1 b5 y+ t) l- Z
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
( Z4 |( K: X  G6 B" }/ q#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
' R( C+ M* V# u+ O        ((CUser*)this)->CheckHonorStat();) \7 {6 v% m0 R
        ((CUser*)this)->AddHonorListAck();
4 e: w1 R" G  E9 F3 y! L        g_UserMng.AddHonorTitleChange( this, m_nHonor);
% j& I4 U4 C, @#endif    // __HONORABLE_TITLE            // ′Tà?
! _6 |8 u4 b0 }2 A8 u; y( G    }2 C8 i% T  ~: W' k; }% Y# \# i
#endif // __WORLDSERVER: S7 x) W9 ~( K1 ]8 O6 k' [' H4 F
}  
4 E; ]3 W% T  @. Z0 f* a: Z6 l0 y9 b' N0 ~# A- _. V4 I" g
然后你进入functextcmd.cpp并添加以下3 w; H) Y3 V9 h- K
2 b& f1 m) l; j' k- A
代码:+ o  L" B% {( t' _
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )* y' j+ n0 I, e: M' a5 z3 R
下面插入
$ [# o* L4 z; B3 k; z: {+ TON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ( {% u( {) @- l3 [) G
7 K  \3 w/ v/ d, \, f0 q: {
然后你去
8 `1 i2 e! A3 U( ^, O# k& o" m) X. ?8 ]
代码:. P* s- D" |  y/ i# b  G
代码
9 J/ n1 Q# |& P  ?  \) `/ W9 U6 dBOOL TextCmd_ClearPropose( CScanner & s )
  e; L, a& Q+ X5 O* g% I' |8 e7 A{
# j: Q( a6 P6 g- N# V#ifdef __WORLDSERVER) T7 C* @/ ~3 E$ v
    CUser* pUser    = (CUser*)s.dwValue;
5 [4 R& a* U( U    g_dpDBClient.SendClearPropose();% H$ w. o1 ~( o% X6 u& u
#endif    // __WORLDSERVER
; ^( S4 y# v8 ^4 ]8 \# `0 I) O6 f    return TRUE;- G: H) V7 W" m7 x+ E( C, z
}
5 U+ A1 O. a4 I. \! n( A6 K下面插入
/ W7 ]) o/ O, _: G6 O( ?  P" NBOOL TextCmd_rebirth( CScanner& scanner )
$ K. p& P8 U/ L; K2 X{
6 S0 y2 p7 g$ s) K#ifdef __WORLDSERVER
! A3 Q) l# I# d. G8 ZCUser *pUser;9 e4 z) t) E* u+ Q, r" d
pUser = (CUser*)scanner.dwValue;% L2 ?0 F6 x6 O
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
' g+ o: h: f+ ?2 WpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
# z# U+ n& v* _else- L! v: W1 v: H
pUser->AddText("你还未达到重生条件!");
% o. |" a  T) ?' U- p#endif
. b2 I4 ?$ B7 S! J/ B- W( \3 K0 xreturn TRUE;% m2 T% ~  K9 S
}  6 m- D: Z+ m. I$ p* l
2 r9 Q1 c  B. v9 T& U
4 |" q( g0 e1 h1 d' k; ~1 f

* ?) L+ f6 j* n6 W$ |; H4 B& a; p
& U6 S) r9 ^1 s* s7 ^6 x




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