飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
1 v2 E% ]: u6 @8 C1 C5 }: U9 K1 p* C5 e
Mover.h& X$ \) r$ M: K: r+ {
代码:3 u$ ~& M# H) z5 e9 w! @
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü# G9 d3 B* D1 ?% i! n( W3 D
+ M. V/ L7 Y/ g4 `# v8 b
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  6 ~) i4 m( ~6 ?) `

$ W" k- }% A# m然后你去mover.cpp添加' Q( v' O5 C. @4 J7 z9 N

2 Q3 b- F% e, e代码:
, r/ d  O" r4 H# S4 N: K8 Z( m- ]! E9 Ovoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
0 c) a3 c2 B) H) N! n4 q{
0 f* ], P0 @1 f' h' ]. Q8 [#ifdef __WORLDSERVER
3 L" d+ B0 K# E* h) O    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó6 F( C# _8 E2 J7 ^# U
    MoverProp* pProp = GetProp();# N1 b. K7 p& O& n) S
    if( pProp )
( l& N) N$ W9 t, n- {    {3 b& ^( R9 |$ W. _
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )0 k- x3 P) {0 f/ g/ }6 I) s( ]2 f
        {
5 E* T; I& @3 ]# ?3 f8 D% O9 n& ]; R            AddChangeJob( nJob );8 U2 f3 y0 G; x6 W( X
        }else{. |, F6 C. |# o  v+ w+ E
            return;/ Z% b& d5 P: l4 ]
        }
0 ]: D" v8 D$ z; {2 v        int nPoint = 0;
8 }2 M' G. @% s% y5 c) x        if( m_nJob == JOB_MERCENARY )
' ~+ H' ?. ^* T4 U: D            nPoint += 40;
) |/ \  n- |  {6 A6 S* o3 J        else if( m_nJob == JOB_ACROBAT )( k0 {* D7 f  }! ~' D9 p+ o; V4 {
            nPoint += 50;
- c2 `! y  h6 x        else if( m_nJob == JOB_ASSIST )
  S, N+ l) a9 _/ m% G" t            nPoint += 60;( G1 t! e- r$ b9 w! l* }" T  J7 Z
        else if( m_nJob == JOB_MAGICIAN )
: V; A- c3 r/ ?6 q& [            nPoint += 90;$ A( v2 j+ ^- K' ^% J
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )" `% g( ]( n& F' d$ g/ t+ K1 K
            nPoint += 120;6 ]9 t  ?2 ]/ U
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
- a7 ~# E( W. z( S) T# i% G            nPoint += 150;
2 x5 B- v( j' m# J        else if( m_nJob ==  JOB_RINGMASTER )
$ n  }% i0 @, K2 K. Y            nPoint += 160;3 p0 s- t0 i% C& S9 g! \3 H
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
- g/ N' C, ^9 Q            nPoint += 180;& n- M+ o1 A; \+ W& L- j
        else if( m_nJob ==  JOB_ELEMENTOR )6 ?% B) x1 A/ M+ |; ?
            nPoint += 390;
' k; f% H2 n( F- {0 r  V9 ]  @        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
' ?! R& E; A0 g8 {! k            nPoint += 120;+ S+ \( {1 M  @* B1 D0 j' D+ [  y
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )1 ~- S3 t' j+ K: ?5 m% @: l9 Q& P& E
            nPoint += 150;: v7 X) L; D1 `' _! [
        else if( nJob ==  JOB_FLORIST_HERO )
# v  g1 _' `5 E$ J5 M            nPoint += 160;3 C8 V* T% ^6 Q
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
6 k0 x- Z& d0 |$ M! f1 ~            nPoint += 180;+ ?+ i/ H% O6 V, ]  ~
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )* v, T0 u& _# X( y" H3 d6 A
            nPoint += 390;
+ I7 x! R2 g7 s9 c- B* {5 X& u4 t) i8 D! F( z" P2 a- _( G$ ?" \
        AddSkillPoint( nPoint );
& D: D3 r6 [- Z2 E. p/ k        m_nLevel = nLevel;' c- O0 ]9 w& p

  h# c/ f9 o" ?) E- L        SetJobLevel( nLevel, nJob );
  q1 C1 U' i0 s9 D        m_nDeathLevel = nLevel;* @  Y# h. W3 ]
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
, J0 @2 ^# P" U- k/ p        if(IsMaster())4 l0 c, x7 R6 q( r* o9 @8 {3 k
        {
! L- A: e: P, C  l; y            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
; u5 y8 K2 @8 C; E            if( nLevel > 59 && nLevel < 72 )7 R. p& a, {% b% h1 n
                dwTmpSkLevel = 1;
& \" K- w2 k" a1 h  c) K  C            else if( nLevel > 71 && nLevel < 84 )
/ I) \6 c8 L+ n                dwTmpSkLevel = 2;
! {! v: H1 B9 {" d* H            else if( nLevel > 83 && nLevel < 96 )3 g, Y" h. X0 G& [) ]
                dwTmpSkLevel = 3;
% k: C7 Z" t7 C* ^) `+ s0 |; }: k            else if( nLevel > 95 && nLevel < 108 )7 M; Q! j* A6 t% r
                dwTmpSkLevel = 4;  [8 b9 X: `9 n* u: z
            else if( nLevel > 107 && nLevel < 120 )
1 b0 d5 v7 D' h+ q4 e( k1 G8 H                dwTmpSkLevel = 5;( o3 E, x! O! S2 @
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) * q0 r3 M, i# D- Y% d0 ~
            {                ' e# V" K. ]- R3 n+ N' w
                LPSKILL lpSkill = &(m_aJobSkill);7 d+ i. q; U  q; T7 f
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
% }; r8 r9 n" p- i                {
% u2 S5 I4 _" E                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  V5 ^- i. F( _0 V" B8 s. |                    if( pSkillProp == NULL )7 ?) \4 l( S! ?1 H1 e1 _+ e8 n. t
                        continue;, x( t& [5 W5 M7 `' b4 x. L. @
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
) e: C* n; c4 D' p                        continue;- P. ?8 R/ b* n& O6 Z
                    lpSkill->dwLevel = dwTmpSkLevel;2 |+ B2 Z& u& y$ ~( k- m0 k
                }8 I# v! E( m. n! O4 Y& \+ M' L
            }
* _# Q) _: ~1 l        }
& J- h" Q% U1 w! c        else if(IsHero())
1 d% Z) g; |9 q/ q% ]  g        {/ T* ~; ^: U9 L" s
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! u) t+ s; g8 o
            {               
$ P# s7 Y" S1 n8 \+ _- b                LPSKILL lpSkill = &(m_aJobSkill);: y- u) l; P1 |) x2 o0 r2 x+ [: a
                if( lpSkill && lpSkill->dwSkill != NULL_ID )8 C5 I4 \# i3 U0 x0 B
                {+ s3 z6 a: D: M! P5 {
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ; h2 }* y% u9 D2 w) _6 o  ^
                    if( pSkillProp == NULL )
: |+ U7 w! i, K6 g                        continue;
5 u; q7 h1 L8 F6 P: v                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)) W1 @1 c4 ]* R, y/ W% _+ Y
                        continue;
9 [; O' O8 \' y9 m0 n                    lpSkill->dwLevel = 5;. s3 m2 k$ J/ C) W8 T. U
                }
  }& I: v; H# Y# s! F4 s            }4 E5 e% ~# x, |. [, w+ j
        }7 s$ Q% P2 Q$ G" c; c3 w: l- ~
        else if(IsLegendHero())( G$ Y. x# b1 z: v+ K& Y
        {
0 g* I' i8 X# X; O0 L) c. q            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 1 G+ M: T1 l" @. S+ X
            {               
6 t$ a( ~& Q0 N+ r, A                LPSKILL lpSkill = &(m_aJobSkill);7 f* [( s1 L3 v$ s0 p, I
                if( lpSkill && lpSkill->dwSkill != NULL_ID )* `6 G: v: j3 q& S
                {: e9 z2 \/ q8 x" b/ j# W" o
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 H  U$ V9 y9 n7 X                    if( pSkillProp == NULL )+ h/ Q6 Y/ J" z" s& d7 F. O
                        continue;
1 W. h* U( ^& U+ J! ?                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)0 ~' T" [. R3 y5 x) f: |7 ]% J; e) G
                        continue;  ?1 v+ i5 c# o: ~$ {8 H! U
                    lpSkill->dwLevel = 5;
7 _4 d1 h5 [0 e* x# z                }* z& g7 F4 H% o+ H
            }
3 s5 [* {/ C6 v( I% F  @! m* X        }5 A, i6 K  Q3 M* F# c  Q% x
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
; [  @' u' H9 s& o! g        if( bGamma )
. F0 a( E9 [" a) [8 l        {
  Y" M- h' I# V( y$ h( l) o            m_nExp1 = 0;4 e. g& d* U1 E3 Q1 L
        }
4 E9 P) X$ h/ b: s0 W# @% m
+ f* C4 `0 `- x8 M! j        ( (CUser*)this )->AddSetChangeJob( nJob );
# Q8 R# ^) @/ @, X( g0 z4 B        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );/ ?5 K5 A. S* L0 `
- t1 G/ n7 H6 [) g- S7 f" a# ?

7 d' m5 C8 \9 @- h' _: w" z5 Z#if __VER >= 11 // __SYS_PLAYER_DATA
$ Q' ~5 h5 T6 Y! c. f        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );. E: r1 \+ F5 P! q( J  `. v
#else    // __SYS_PLAYER_DATA
% E' l: F4 q2 E9 T7 _; ^% _        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );, i, |  U4 R6 c; `8 \* s7 r, i, V0 ]
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
6 N% @2 ?. O/ M# o( k8 {+ Z! \        if( m_idGuild != 0 )( k3 Z& b) b6 H3 R. n% e
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
" F+ o8 s( H% ~0 {( A#endif    // __SYS_PLAYER_DATA
) A& k9 B; j* R) `7 F! \        SetHitPoint( GetMaxHitPoint() );
7 I2 _9 S1 O1 y+ D/ Y        SetManaPoint( GetMaxManaPoint() );
' U* L9 Y3 V4 K        SetFatiguePoint( GetMaxFatiguePoint() );1 t  b1 |" z' S& P: q" A8 j( _
        if( nJob >= 1 && nJob <= 4 )
* E1 X( \! E4 {. m  U* u        {8 ^0 [: w5 O* X% N6 o9 t
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
% |. q9 k3 U' O7 u5 [            m_nRemainGP = 28;
# j7 U) @, \9 @8 Q  n; `        }/ K1 `. ?$ G3 ^" i
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )3 w% O% Z2 E8 o* C- \3 K3 Q
        {
8 V/ k, U( l4 F$ V) r  a' m            m_nRemainGP = 118;: r' O& ?  T' E, W8 R
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( [6 @5 `+ u  ^; _* R# a% X; N% T            m_nStr = m_nSta = m_nDex = m_nInt = 15;9 c$ D. ?- Q, s# q( J& ^
        }* L# v; q! r' p
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
/ G" @; r: ]  R  z7 T; f$ c) C        {' ]2 Q; K3 d0 [) _
            CItemElem itemelem;
/ ]$ i. N4 J- x            itemelem.m_nItemNum = 1;
- N. o1 [4 D7 }( i            itemelem.m_bCharged = TRUE;$ u7 {) |5 x4 h, g- W0 r
            BYTE nID;
, V" a* f, D# P  @  t3 C( j8 ?* \5 u
            if( nJob == JOB_MENTALIST_HERO )
$ E, F! M) P2 z* T+ }( j                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;, H. S4 g) c, n  H
            if( nJob == JOB_FORCEMASTER_HERO ); a6 s+ k5 O: H3 n4 a5 R  U; r4 Z0 H; h
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
5 f$ C5 u4 q: Z5 c
+ u/ O9 @  U  ~' `4 _            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
+ f3 l8 g  R! S. l/ z        }3 O- M7 [+ O" h+ J5 V' h$ Q
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );$ Q# Y5 V+ M0 Y  d  X6 s5 q( N
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
/ |  P4 x0 m) u3 i: a1 C5 G        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
% k0 T5 x& e! @' H5 E1 o: ~3 ^        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
) a, N0 _( I# F        ( (CUser*)this )->AddTaskBar();*/
! I$ \( e) m5 \" K: o1 p# d! S( k        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );% m' R6 }- J" e+ c3 R
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
. G4 s* j1 w& D7 E6 o6 `        ((CUser*)this)->CheckHonorStat();# y9 r5 ]  E0 B  f& A5 {; k
        ((CUser*)this)->AddHonorListAck();& m1 I4 P4 v; J  ^  {$ g5 v1 y
        g_UserMng.AddHonorTitleChange( this, m_nHonor);: w+ m7 m2 \2 B8 ^; N, h/ b" G  {
#endif    // __HONORABLE_TITLE            // ′Tà?4 Z: z+ z7 k. R3 N- M
    }& F! m' B1 p# S! |6 U6 q% \
#endif // __WORLDSERVER
7 t$ `* x# b4 \4 x  F, ~}  + H% L. G2 I) Z! Y

6 N/ y+ j" ~5 N, i( C然后你进入functextcmd.cpp并添加以下
! f0 N+ \8 |9 k6 [4 X' E; ^& ~$ t6 @; }) k! o: `+ G
代码:; E0 `  W  U+ h6 D. W
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )% ^* L; z) Y  Y0 R  e: u2 H1 I
下面插入
, k1 {2 B, \  b" _) T9 |ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
/ P" _+ I/ n( a0 H
3 ^6 ?/ @( }4 S% W% B, T/ o然后你去2 `+ P/ i- B! n1 a8 s. j9 v! O
; d! d; S& f' d* B
代码:
+ Z8 O' S8 w  W7 B3 x$ _' F代码- y/ D; @: t( Z  U- J/ y1 W
BOOL TextCmd_ClearPropose( CScanner & s )6 s7 P9 K8 \: W$ a! i# L& P6 d% w
{
8 e& P' a  y1 h# W  z#ifdef __WORLDSERVER$ e; L& o. i+ }$ N9 r3 H0 D
    CUser* pUser    = (CUser*)s.dwValue;  K4 m4 p* \7 k" W7 T1 c. S- [$ `* b
    g_dpDBClient.SendClearPropose();
, ?$ g5 P2 y- U: {7 [#endif    // __WORLDSERVER" t# z4 y- ?$ P5 Y3 p
    return TRUE;5 |4 Z/ Q* h+ K2 x, y7 k% I
}& a1 O& B* d: m0 z( I( O
下面插入% r# M( n, F: V9 E: W( j
BOOL TextCmd_rebirth( CScanner& scanner )
5 n1 `- |8 m5 u{
' F7 y1 V3 Q; E" o" s#ifdef __WORLDSERVER
  i9 m3 Q! o* b$ _CUser *pUser;/ ~( w* u" d6 F( s" G
pUser = (CUser*)scanner.dwValue;1 u8 H- I9 n! X
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())2 S7 v/ N8 }" k0 t6 K, K  C+ [" S
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
" a0 ?2 s  n- u& I- v. j+ [1 c' delse4 X4 u: M6 U* w5 r) a
pUser->AddText("你还未达到重生条件!");# I# [2 R* J; r: \
#endif) S2 P1 |8 @7 I" p; u* X
return TRUE;
3 h% E+ z/ y0 E8 _7 _/ L. E}  
4 E4 M3 f! J1 _( Q8 `- J
' ?$ n* R+ H- P1 r0 {: ]4 d8 y! T; Z/ @1 J* y0 y
. f+ b- ]3 a# B8 f

( u2 A0 X7 W; H: L5 o0 Z




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