飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel9 a* M/ t+ S, j7 |0 [
" d( ?* W) l; B  M! i7 N7 A3 C- l
Mover.h
2 t9 a0 R9 K3 b3 F, k4 P6 m代码:
  w9 j3 }: C% V- ~: ^2 n找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü% w8 z3 W2 }* b9 b- D
; b# [2 H& {! E! r2 l
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
: P  |6 z* \9 q( u! x, f0 o
: H4 h* b+ `+ \6 C然后你去mover.cpp添加
# o0 r( G* `" _
3 r8 H* O* o/ `3 c代码:
+ S% I+ M$ O5 N$ r7 C$ m" g: S3 x( V5 Yvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
' I' Z, L' I+ c+ Q; Z% Z- r& D{# f/ p, m' ?$ M' n  L5 C5 o8 E
#ifdef __WORLDSERVER
; a5 y. W+ d: I& ~1 G    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó% H3 c* ^* o; L" R* {! r
    MoverProp* pProp = GetProp();
( P& f; I, Y2 y  z/ |    if( pProp ), I& A9 T  b8 ?% |1 q
    {
* o' R. d+ `% g        if( nJob > 0 && nJob < MAX_LEGEND_HERO )# `& c% `- B+ }) `( E$ w
        {
) j( [' ?1 `, x+ o% X' [            AddChangeJob( nJob );
) j  ~: X( U& J( g6 \* r1 l' {        }else{
7 _9 Z7 G9 e- [1 Z8 b$ \5 z            return;! L1 V0 v0 f6 D& {1 u
        }
+ J( M9 F% i& c5 q# ~        int nPoint = 0;& n7 }) X/ C  H1 L  t' a3 G% m
        if( m_nJob == JOB_MERCENARY )! W5 G9 I' H) |* [  r& t6 e# _5 }/ q
            nPoint += 40;
7 y/ V& g: c7 v) S& I2 L8 I; C        else if( m_nJob == JOB_ACROBAT )0 B+ y- R8 h3 x% v( l6 y* a* v6 S" X
            nPoint += 50;
8 ~% ~4 z1 R5 j* ?/ P        else if( m_nJob == JOB_ASSIST )
1 T* y+ d+ c* y1 k& I( F            nPoint += 60;
% L! \( i5 l( [        else if( m_nJob == JOB_MAGICIAN )
6 M9 v" P6 k$ g! z% w            nPoint += 90;, Q/ P7 t- @# a" v2 P# y/ y
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
6 h  m3 _# b6 e1 [: F& |' l: b            nPoint += 120;
# `' ^& r) k. s( [6 f        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )- m; R% q/ i' K2 m( t
            nPoint += 150;
3 o& K  Y1 C1 k/ c5 c        else if( m_nJob ==  JOB_RINGMASTER )% \9 }  n( c" y+ j" O
            nPoint += 160;% w8 f' H) v+ m" m4 ^4 G" B
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
+ L) W2 n9 w9 b: x* g            nPoint += 180;$ G& N& K! j  }* Y, u  m) B; Z
        else if( m_nJob ==  JOB_ELEMENTOR )
. Y3 O2 v6 h  `5 B8 x            nPoint += 390;+ ?7 N0 }/ k+ L& h8 h* T+ Z1 p
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )4 z" e* m) \3 W  M2 u3 X3 P
            nPoint += 120;
# m4 o& ^& Z; \- _7 |# \6 e        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )# t/ X7 Y: L  A
            nPoint += 150;
5 |: A! K$ {8 v  [$ I2 ~3 J        else if( nJob ==  JOB_FLORIST_HERO )
' j: j3 a) c4 J6 n            nPoint += 160;% m! ]0 U/ k; r* x8 ?; x
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )$ {" M7 K* A  W6 f
            nPoint += 180;$ p' I' z" d/ ^+ o! A- h& p
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
, G* r- S% ~; V" }' j" l            nPoint += 390;1 N" }5 F/ d2 D% ]; I- Y7 m6 H
, `+ h# j2 a; [
        AddSkillPoint( nPoint );2 z5 J4 v: [; R6 Y) l
        m_nLevel = nLevel;
  \  \  L: W/ W0 K: s$ t
% i4 Z  S! K4 @0 y# {; v        SetJobLevel( nLevel, nJob );0 i( L- h. L6 @! R5 `. d
        m_nDeathLevel = nLevel;
, U. `: q: V- @- A2 c$ r$ U#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans1 i! ^0 Q7 ~$ w: E
        if(IsMaster())- H8 v. h5 G8 ]+ \
        {3 T2 c, ~9 E3 i0 @) ~+ T
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
2 a! A4 M  ~2 a4 n) g) q! G8 ?! t            if( nLevel > 59 && nLevel < 72 )% k$ V/ s' K* z* ~) z! A/ A
                dwTmpSkLevel = 1;
6 k) v: Q& }) [9 K/ a- K  r5 v4 ^            else if( nLevel > 71 && nLevel < 84 )
4 L/ a1 g. W2 z  a. q8 [                dwTmpSkLevel = 2;+ W" L; B  `5 ]9 i* A
            else if( nLevel > 83 && nLevel < 96 )
. X8 N; l1 o$ V+ E" q2 B                dwTmpSkLevel = 3;( S& L9 p3 t. ]& E
            else if( nLevel > 95 && nLevel < 108 )& L% X! V2 e( a  H" L
                dwTmpSkLevel = 4;
) z* J& [7 m5 Z% V% |2 R- |            else if( nLevel > 107 && nLevel < 120 )
. E1 m5 d+ w: D4 Z, U* M( l4 G+ ?9 @                dwTmpSkLevel = 5;
( B% n; E) _; M( |; S, [) i            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / t3 C5 Z& O8 \
            {               
. L7 H5 ^0 l5 T1 |7 D                LPSKILL lpSkill = &(m_aJobSkill);
* J3 v0 U( z' H1 O0 a                if( lpSkill && lpSkill->dwSkill != NULL_ID )3 d" P' {1 c/ N
                {5 P# m4 s- w) i1 y  X
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
3 c+ h( ~$ P) z, d4 f; I7 Y4 O                    if( pSkillProp == NULL )
8 b; O( ^0 m$ Q- g                        continue;: d8 d  c* N) F. J, o! g+ x
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)" a& F2 K8 S7 B; B! `, c; X- V- d
                        continue;
' u" x/ c% @9 o5 c7 {                    lpSkill->dwLevel = dwTmpSkLevel;# C% Q. l+ [0 D! e: U/ u
                }. E: e4 X4 B0 f2 k: R/ N3 r
            }2 m6 ~. y8 K6 p3 @/ r% O
        }9 r9 f0 @& f' w3 f
        else if(IsHero())
  r+ ^* a: D$ N9 V0 T1 B, M0 X+ n        {
9 f" S+ o% m& q) m1 v% a( [            for( int i = 0; i < MAX_SKILL_JOB; i++ )
; g5 Q" j4 d. U: y            {               
) @, {" j; V& y* b% p; k  b                LPSKILL lpSkill = &(m_aJobSkill);
; q% Z& x' \& q% f9 t% B) B                if( lpSkill && lpSkill->dwSkill != NULL_ID )
- ?+ f# R& D8 A/ p                {; j1 Z$ L2 u, N) ^7 x5 T9 Y9 m( F
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
/ U( P1 N2 d; I  m                    if( pSkillProp == NULL )
1 Q' j( P. e* u! w                        continue;
+ x% B( l' v, e1 M0 T! t                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 w+ c6 ]2 H8 p) n0 s                        continue;0 t6 _# e/ E, ~9 a3 C) q5 U
                    lpSkill->dwLevel = 5;
) z" C4 G) x& s                }
3 F/ B# b' v0 k            }" C1 o/ ~3 k6 ]$ _
        }8 I' U! k/ S2 S2 s2 Q% [7 f/ n, ]
        else if(IsLegendHero())1 D0 q1 q' `& ]  q9 L
        {7 f7 |5 o/ i6 l% p
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) # C8 K* B& h* w( q2 w
            {               
# x- w4 b2 A1 {0 e                LPSKILL lpSkill = &(m_aJobSkill);
7 |, u! t. y0 Q9 E" F* q                if( lpSkill && lpSkill->dwSkill != NULL_ID )" ~/ [  B9 {4 M9 M! }. o
                {
9 R2 y* v2 c5 D/ b3 w                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            % p! u5 ~; H! ?; y  Y
                    if( pSkillProp == NULL )
8 `) M& ?. N  o) O2 o                        continue;; h$ n! U  ]) N+ u! b, l0 G3 Y1 q
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)* M; t  s5 g- x; e$ i
                        continue;" _) {, L8 u$ ~! O' S
                    lpSkill->dwLevel = 5;
9 H, x9 U) g  B  B0 n/ c$ V0 `" @                }
/ z: b! _" O" L0 M, ~6 [            }
: N  ~. r6 w2 a2 x* B% \6 F        }* @( x4 |4 Q8 ^2 z$ N) H7 {' S
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
. E3 ?9 g8 f. R1 x" }5 f6 \' _! U! ?        if( bGamma )
1 s  T' C, _* h6 a- |        {  N9 d- M* k1 v( K4 `) F5 m  B9 a
            m_nExp1 = 0;
( k# D" ?; x% _( p; ?0 V& m        }
& y- O. l7 v0 R
. u+ K1 j1 y+ t" }3 g% Z1 N        ( (CUser*)this )->AddSetChangeJob( nJob );
, u6 i3 p& [; m, i. W* e        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
4 a. }+ X- v: m  n! m8 Q* ^& d" _. g; B. B
' Y& C% P7 y; c  X) ^+ \2 F! A: c
#if __VER >= 11 // __SYS_PLAYER_DATA$ K" j6 u! W* J. p# N
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );2 K0 b9 @" J) g* q: ]7 N% ^
#else    // __SYS_PLAYER_DATA) f/ R5 N3 q# P2 P) p
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
- g5 i4 L2 z  ]1 O4 I) N        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
. S. @3 x6 G# a        if( m_idGuild != 0 )  T) g) X, \1 o9 E. t
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
- Y: T' ]& B- k; v# f: e#endif    // __SYS_PLAYER_DATA
' U( Y; ?+ f& P, B7 f( Q" Z        SetHitPoint( GetMaxHitPoint() );0 w8 ^( E& m; l0 b
        SetManaPoint( GetMaxManaPoint() );4 q9 H0 s+ K5 d3 A4 p  v& @
        SetFatiguePoint( GetMaxFatiguePoint() );
/ l) `# g1 N8 _& q        if( nJob >= 1 && nJob <= 4 )
1 R) M( e0 o' A4 Z& m        {1 h1 J! o; s( j9 R& \" W7 F/ ~( ]
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
" f% n. }5 ~  u/ ?6 i            m_nRemainGP = 28;
$ U- o# B  Z/ Y( }        }8 I& v3 j: J- p& i
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! t! o1 E- M8 ^- N0 s
        {
; v2 b8 Y( z3 e. e            m_nRemainGP = 118;2 k2 r* P; y6 J0 A( P. G2 J
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;: O& P- L( R* j! @$ v
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
& U) q. C' ~6 D( b- y        }
6 M' S! J" l6 \        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
4 O, g4 D  ~4 b, ?2 P+ \        {
+ s- P% Z; T+ N: I" \5 A1 i            CItemElem itemelem;
3 [" O' u6 J) V" Y+ I1 r- X            itemelem.m_nItemNum = 1;
; f7 s7 B" E& H            itemelem.m_bCharged = TRUE;6 t4 j% [% c9 K
            BYTE nID;
1 s% D( y+ d* F! u+ g( p5 D1 I& o% ?8 R% G. h) q3 G( m
            if( nJob == JOB_MENTALIST_HERO )
- o, H; c9 ]3 X/ k4 |) E                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
0 r) h7 E$ E: [* L            if( nJob == JOB_FORCEMASTER_HERO )
/ i9 `4 V4 m; A8 e2 Y                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
7 {% H( A" K' }5 F) h7 P3 i- F" G' ?5 _+ s- D3 ^- l
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
1 C2 f* X6 b. c4 @: @1 ?& I        }
! i+ q% ~$ X% q, T: I6 c% W" r5 w        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );9 x1 h/ i$ U9 G' A4 o$ b
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );  `  U' Z5 k- s. _4 ]3 G
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
: H0 ?9 u% F! a0 ~) L        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
/ V1 j4 Z* Y6 F. d! D        ( (CUser*)this )->AddTaskBar();*/
& E8 i2 t4 s) \+ ], R        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );3 R$ ]- R5 x" K0 O, z
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
2 [, o9 E7 ~8 ?' P2 I+ W1 @        ((CUser*)this)->CheckHonorStat();  v/ a! _* d9 a; [9 X& d9 p
        ((CUser*)this)->AddHonorListAck();( A3 k3 a' S/ q+ ~
        g_UserMng.AddHonorTitleChange( this, m_nHonor);, e% N2 T4 x7 |- }% b  O. P. P
#endif    // __HONORABLE_TITLE            // ′Tà?: J* ], U$ _# w. ^' e( s
    }
+ |6 P* J% i: ~& f% x#endif // __WORLDSERVER
) k  q6 ]. A0 t}  2 U# i1 E1 H$ f! O0 L. \

3 i) E5 t; c6 n6 E1 T% r然后你进入functextcmd.cpp并添加以下! ~; @+ P0 y1 r

' e- t+ a! C! V7 Q. d代码:/ w9 u/ U5 ?9 k, v% I# _
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )- r- Y+ `  ~8 n, _- G6 E7 y! E
下面插入
/ J! P8 G) X# W8 }% D) cON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  : G  j+ B6 X; }0 z4 y

; H0 I  L# Q) F6 d7 Q" G然后你去
8 ]( S# `, m* s5 L1 @+ W4 [: R* h7 l1 O; A
代码:! d3 a: n$ d$ W! x. w$ w
代码
6 _2 Y7 X  _" |3 q" t# jBOOL TextCmd_ClearPropose( CScanner & s )
; Z- @# y, m( U{
  K, P& u2 w$ p5 g. x( b#ifdef __WORLDSERVER3 E  B8 p6 i- p
    CUser* pUser    = (CUser*)s.dwValue;
) W( ~' I  M0 Z& @  R  h8 P    g_dpDBClient.SendClearPropose();5 P, Q  w! u5 s5 Z, }; n0 h# t
#endif    // __WORLDSERVER  l! J$ V3 ?1 ~& q2 y
    return TRUE;
' s) h/ j$ J& I- t}7 ~6 }: ?6 v- N
下面插入
' w6 E( \1 u& H8 ?3 j4 s1 GBOOL TextCmd_rebirth( CScanner& scanner )2 m* k& |$ L  Z! V$ Z4 P
{
7 W& r0 m; j7 d3 f& b. F5 G: i5 @#ifdef __WORLDSERVER6 ]; B" f  h( b
CUser *pUser;
0 }, ?8 v4 I0 \( X1 i+ N1 kpUser = (CUser*)scanner.dwValue;
0 _2 a( M5 d' t. M9 \% s% Rif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())- Q. i1 z6 ?8 o& \1 f$ Z' Y
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
9 p- m+ l6 Q7 ?else
) L2 y2 r& d) f- a3 W+ e( g, wpUser->AddText("你还未达到重生条件!");2 n: \: W- C( I8 O% \' l
#endif
" }7 P. \' y/ m  N3 _return TRUE;* }- Y% v9 W) c/ _5 ~5 M
}  5 F3 X2 T  p- j5 F* M, X+ F9 o4 n8 r
8 L) b" a8 y$ R0 h* I* Q9 f
% l' C+ j* u8 d
; y% P) d; S! y' O1 F

) @! o% t3 H7 ^8 A# O




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