飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
% Q! R, s; v) v* O9 K, H; r6 l" U- [+ [: G; [" }- c& p. _
Mover.h
1 Y* @5 A; p) s代码:4 n" J( C/ q3 `
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü) z  K; R, C; M1 I% e
) J3 r5 j% F( C7 i! K+ R% F2 v. Y
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  + C7 k- d. |) X! L; s* U

) S8 z' y, U1 i/ m然后你去mover.cpp添加2 T- w. Z  f& D" V9 [9 b  r

% h/ }% o' g* E/ B4 W& {1 R, J代码:
# B" Z2 s. Y" gvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )9 j% }+ g, F6 {0 J. S
{
$ j$ Z0 ?* y9 y6 f, Y+ p) w9 C#ifdef __WORLDSERVER4 C9 r9 d2 F" a  D
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó8 C  E& b! ^0 W1 h7 C( N$ m9 s  @& `+ u
    MoverProp* pProp = GetProp();) s7 @# h; U( @/ o6 a
    if( pProp )! p8 {4 V& a% G; R" A
    {+ O! V+ j/ c& K. L9 `( D
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
  Q9 s4 c+ W6 Y9 A" S5 }4 |" p5 ]* m        {6 I7 Z  S9 l# l9 F4 u& p( N
            AddChangeJob( nJob );
' B( f6 Z5 U+ A6 `6 B        }else{
& h% {+ ~0 i* _$ ]% x; z9 r            return;  G1 _* k  D3 ?" P2 p" ~3 }
        }
) M+ J( r& x0 m+ h        int nPoint = 0;& s, k  e, K- `( b0 r
        if( m_nJob == JOB_MERCENARY )3 X/ J* a0 `- _; z* O/ [
            nPoint += 40;$ e1 I5 |  a  A9 @2 S3 V
        else if( m_nJob == JOB_ACROBAT )
; x, R7 e( P" c- F2 R1 i1 L2 v0 q! k            nPoint += 50;
) J. @4 k0 ^7 }+ Y0 |        else if( m_nJob == JOB_ASSIST )# B" A6 J* G) r* U
            nPoint += 60;, {2 J9 K6 T6 c+ i& W
        else if( m_nJob == JOB_MAGICIAN )
3 E4 C3 n: B+ W( q( o. j2 v( K/ j            nPoint += 90;
& B. S7 I2 y' z2 R6 E- |        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
: s. C: }! G" {; g            nPoint += 120;
( _/ Y+ ^: z: S; }8 R) c        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
4 @. b5 o! i, C% ^) o2 [; P# d            nPoint += 150;
: H# ^. v2 d6 t0 \1 R        else if( m_nJob ==  JOB_RINGMASTER )
7 P: f7 ^1 s5 X+ X* E* N5 n  U            nPoint += 160;
. Q3 d4 e) `6 T; x        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
+ b. [/ r: o& I/ X, W& |            nPoint += 180;7 t* M# s3 R  J" c
        else if( m_nJob ==  JOB_ELEMENTOR )1 b8 L  Y9 |7 Z7 P
            nPoint += 390;
& l* y; q4 Q( \  P        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
3 A: M4 B! F2 J- g$ r* O9 g: P            nPoint += 120;
- V1 E" S! h$ s8 V' D        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
" h( E9 c$ R8 o: G            nPoint += 150;9 C8 Z% U2 q  d/ ^* e
        else if( nJob ==  JOB_FLORIST_HERO )* U, j' s% n7 |% u
            nPoint += 160;
! c/ @2 @0 T, l" m# s# L        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
" z( H0 M3 j% N2 h: u            nPoint += 180;
5 k; V* J0 F  J# M3 c        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
8 p$ C" e2 B0 y1 k% U+ p            nPoint += 390;
0 m. u, U( X7 {! x3 m
* L) w- [6 c- d# D2 Z0 t        AddSkillPoint( nPoint );- u" O- [0 N7 w1 {: \% S
        m_nLevel = nLevel;' x' w! N: w5 l5 E6 l

" K" T* U  g) l; e        SetJobLevel( nLevel, nJob );
3 X; N( L$ |, m# B! y5 e7 @        m_nDeathLevel = nLevel;
, k) z$ |# R+ U#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
" B) h+ w; v8 E* x        if(IsMaster())
+ r& x' z$ N0 E$ y5 }1 t        {" `1 f/ i. Y0 }: u- y8 x/ q7 c: Y
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
$ {* a4 _6 y* \, n            if( nLevel > 59 && nLevel < 72 )
) @- D, `8 g& O' C% S                dwTmpSkLevel = 1;5 g' @7 j, Y$ t2 d3 j) m- ?
            else if( nLevel > 71 && nLevel < 84 )
- h- k. M* {" t% N                dwTmpSkLevel = 2;
5 P( a- Y) O& z* Q) @! g            else if( nLevel > 83 && nLevel < 96 ): u- j# B: n0 r5 Q' ?. R
                dwTmpSkLevel = 3;, V! L; h0 _6 K! V; U! I' H& q
            else if( nLevel > 95 && nLevel < 108 )5 p- {) j% A* u$ i5 m. w
                dwTmpSkLevel = 4;$ P0 w- n' S  p3 n) G
            else if( nLevel > 107 && nLevel < 120 )
+ y3 |  Q- G3 F5 ]" o                dwTmpSkLevel = 5;5 G& f# t1 B8 _' l; I- b
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 i; t2 W# m$ W  F% o            {               
$ r/ S5 }2 M+ B- Q5 n6 r) b; t% h0 t                LPSKILL lpSkill = &(m_aJobSkill);1 L3 r& A/ |, w5 j# v
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ U' S$ q( W5 P0 J                {
- {0 b7 R2 Q/ o5 ?3 K                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ' }1 o, m" ~4 T# O- j2 `/ {! ?% H
                    if( pSkillProp == NULL ), M3 G# E; b8 ?& Q, b( |. ~/ l
                        continue;: c* ?5 m' s+ _. e
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)# Q9 b7 j6 I9 C2 y7 c( k8 q& Q7 e
                        continue;' V0 J% M" E7 {5 _
                    lpSkill->dwLevel = dwTmpSkLevel;
/ c) ]" j' [+ v( y                }; g- I$ u- l' [$ ]
            }
9 k7 I" t5 ~" ]. _( T3 A        }+ y  J1 H. O4 M
        else if(IsHero())
5 {2 K5 ^! t4 p6 v* y7 p        {
+ L/ X" I/ x; S" f, H9 w) Y* ]            for( int i = 0; i < MAX_SKILL_JOB; i++ ) . f5 Y$ }/ y7 S) ~" K6 h' Z( u
            {               
. A& \4 Y9 V5 _$ H! X5 @                LPSKILL lpSkill = &(m_aJobSkill);
# `+ j! v  b- L# d2 q4 w                if( lpSkill && lpSkill->dwSkill != NULL_ID )/ b5 E8 ]# j9 ?5 r
                {7 H' T& ?. ?# R! k; _( l# `
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            " C3 M  x; ^) T6 e" o% `1 @
                    if( pSkillProp == NULL )
- J3 d4 r$ v5 f4 {7 P                        continue;
2 F8 k5 j" I1 z! z, l                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! M% N# ^5 i9 O5 N/ r( [                        continue;
3 B/ h8 z+ h1 ]3 ^. N# R                    lpSkill->dwLevel = 5;" j. `% p' A, j. B3 I
                }. y# [7 f& c  \
            }
9 ]) |' s! `5 @4 P$ ]6 M. O        }. g( ~2 V  ~# m2 h# h+ j, F' }8 g
        else if(IsLegendHero())
9 ]2 l0 }) }: B        {
% H7 p' t( j" y; K# p+ j# S            for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 i$ O1 O; m5 g- O            {               
/ J# G  s6 G* x0 d6 [  H- z                LPSKILL lpSkill = &(m_aJobSkill);* S) B2 d) v1 l
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
% [. K" \" R, @1 F0 u                {. z+ _( Z9 T9 E; K  u4 p8 v9 b
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
+ W* K* X5 i$ j' m3 t                    if( pSkillProp == NULL )
- q! V# D1 c+ E" X8 l8 ]                        continue;
) g* J- O3 y* j0 i' L                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)% N' l0 U; ]* }& ?8 u6 W
                        continue;! ]$ p1 g/ _& i, g& m
                    lpSkill->dwLevel = 5;
1 \9 h0 ^; h7 P1 J3 i                }+ S  o1 Q9 i! I% ~: ~
            }
- U' W3 X+ s. x; \- e, n        }
% Q; M) S, K) a6 f2 y; `#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
4 }( ?! W8 D) [5 O! U; S; K        if( bGamma )" S4 i, V1 z* [9 \. ~4 w; `! ^
        {
) L7 L9 Q& U/ z. |7 l. N            m_nExp1 = 0;
0 u9 C$ U  J' ^# c" T8 ?- K        }9 @- h5 N; L2 w
9 K. `4 F" ?  C
        ( (CUser*)this )->AddSetChangeJob( nJob );
( e* x. S4 l- V; G, _        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
' F6 @- X9 N) @, w5 x/ t, E0 o( Z( W5 x8 V( _3 J9 Z' H
& B) [$ Z! R! N# {! X8 y# i( e% _
#if __VER >= 11 // __SYS_PLAYER_DATA
3 n* H* J# N9 N7 G        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 y, p, q( E, q  Z. }" O3 O4 y#else    // __SYS_PLAYER_DATA* J, O6 |" q! W8 z( T( @
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );! z7 ~' F  E! @
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );' z5 _$ P+ s- `3 N
        if( m_idGuild != 0 )8 O/ B# A0 v+ j4 B" u4 U
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );/ `# f$ B' s" b0 G2 k( T
#endif    // __SYS_PLAYER_DATA6 r1 F% _6 F% _, V
        SetHitPoint( GetMaxHitPoint() );" K5 V4 R: `; i1 Q
        SetManaPoint( GetMaxManaPoint() );
7 k$ F0 i3 w$ G7 p: H! s( N# T        SetFatiguePoint( GetMaxFatiguePoint() );( |/ }6 [# L3 ~/ @: {, e
        if( nJob >= 1 && nJob <= 4 )1 z! I+ f- r/ |: B9 K$ ]. S
        {
6 C: s* c4 h7 v" n& z4 @  [3 o            m_nStr = m_nSta = m_nDex = m_nInt = 15;- \0 S. W9 ^/ O! v. L, y9 N
            m_nRemainGP = 28;# H5 R0 D0 N  T2 U. U5 J
        }
: P1 Z; H4 I% h" r& b- e: W        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
0 {% o8 `# N! ?7 x4 f        {
; V" p" h# X% G8 O* L- j            m_nRemainGP = 118;+ a6 M- F; Y4 m: m: C# {9 S; k) b1 c
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;' R" t# Y) B1 e  ]) J% i
            m_nStr = m_nSta = m_nDex = m_nInt = 15;$ n6 p) L: B; @. J% n5 H& T
        }' B8 k2 R+ ^, C0 X! @
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
# u6 X$ h1 d( D  f; g( S" \8 r' q        {
7 p1 F: A) |8 y5 {            CItemElem itemelem;
1 @3 G5 {( m$ C& h6 l            itemelem.m_nItemNum = 1;. G# Q/ K2 g  m& o. P" L% o: V
            itemelem.m_bCharged = TRUE;
, I) k3 Z  u1 ^/ b8 m+ p            BYTE nID;
8 @5 i$ W+ E# O/ b! f: V/ x; y5 g: S$ T# q7 w+ y
            if( nJob == JOB_MENTALIST_HERO )
6 R, x; S% `) A/ S. u4 u( v8 o  L4 g* J                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;% r: w& L2 l1 b; ?% C" o
            if( nJob == JOB_FORCEMASTER_HERO )
6 m4 A& w8 S4 x                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
, S: }# A6 y# E1 e: c- m) c% _2 S
5 e0 d1 _  K/ Q' Z, K( M+ ?5 d, c            ( ( CUser*)this)->CreateItem( &itemelem, &nID );8 N) G, O& h  L& B2 q9 {' Y
        }/ p' U1 r8 T( N% e4 a
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );4 k$ X: P9 m  \
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
+ ]& W; t" X' z/ d5 D# p- e1 h) f        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );) c: E1 h& ?4 f8 ]  H
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
# K, ]' y9 w1 |. V6 z        ( (CUser*)this )->AddTaskBar();*/6 ~/ Z+ q; p* e& x
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
( x3 A7 p. A: M: ~; ^5 ~. q5 W#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?' w: Q' x/ I; v3 t  f  P" c" W8 V  W
        ((CUser*)this)->CheckHonorStat();
% H1 E9 h4 U; ]3 A4 ~& k        ((CUser*)this)->AddHonorListAck();
6 i& [; ]6 ]8 @        g_UserMng.AddHonorTitleChange( this, m_nHonor);6 J2 L% g; T6 K) j/ r* r/ W% d
#endif    // __HONORABLE_TITLE            // ′Tà?# p) P" p3 G( S- y; }' y$ I1 K
    }* j% G/ h# d) L% J# Y, x9 _7 c
#endif // __WORLDSERVER1 a0 L/ s6 C1 Z  {, b
}  
4 L) X/ K) M" \7 k  |# O6 P( `; l2 z2 ~% n- L4 S$ L4 `3 v: \
然后你进入functextcmd.cpp并添加以下1 Q- L; y& t1 o3 J1 t

( d& I+ i% z2 p% y; Y2 g代码:; T3 b  G" Q+ r; m2 j
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )& n6 {6 n3 y) R& P* d9 Y
下面插入' P& R7 Z9 e3 [' V; `
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
4 j# R* z* Q2 R  E  @# s& l9 }3 Z; T6 h8 d/ O* ]7 v9 o3 m1 y
然后你去; g1 P2 g, B# B: F; n3 s# S
( h1 C. O! ^( v, |
代码:7 u- K, \' M  X+ a* t
代码/ P$ w  M! Z0 z. u) o
BOOL TextCmd_ClearPropose( CScanner & s )
0 v/ }/ B3 N" y9 b8 d{
) V) M4 P; t) I4 T; n5 E#ifdef __WORLDSERVER! c+ I/ C* E' j$ @6 I
    CUser* pUser    = (CUser*)s.dwValue;& e: z' }: Z$ ?8 y8 z1 B0 z' ^& X) j9 d
    g_dpDBClient.SendClearPropose();
7 p! h% p" S* b8 {, L" A: H#endif    // __WORLDSERVER
0 u" l5 q8 S# P' r! D/ |    return TRUE;3 F/ s& a* g' q& A
}
. c$ Z) e) n3 |! C; o4 _下面插入' W9 m( D* V4 t0 w, s
BOOL TextCmd_rebirth( CScanner& scanner )( N+ @; o+ ]0 J4 D# A0 Y
{
4 ]! ?! r7 O8 _6 C#ifdef __WORLDSERVER* S( ^. \9 H0 Z
CUser *pUser;
, U* Y6 w; I. T/ O% K$ U8 OpUser = (CUser*)scanner.dwValue;
% |) u3 s+ U7 g0 a! tif(pUser->m_nLevel >= 150 && pUser->IsLegendHero()). S/ k# G* A0 z! O- q& A# z
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
1 i9 J: l5 n9 o! _7 W( ]' A. W0 ~! ?else2 Y* |3 y- N9 L5 E
pUser->AddText("你还未达到重生条件!");
5 E- `% y% t5 T#endif
2 I9 G0 Q. V, o3 `8 Lreturn TRUE;
9 L7 W! _: p" I/ _8 t}  
) e) v/ E0 b7 t' X( f7 k( b5 \) P& J, C" x& `
( u4 f! {4 ]9 r* v" T6 a' u
( v+ g) e- ~( G; z. S) S
0 j: F; Z# d7 L





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