飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
/ |; D" h6 j+ P4 m) N* Q# h8 M1 g. f3 x/ K2 z6 w
Mover.h4 }, k; O& G5 J7 e8 K- l& r
代码:8 ^; `" `: F, t# p
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
3 `$ [' w! [' Q6 p# y; d! a/ j# C1 z. S% T
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
. m; |( b$ ]$ o) ~% z; N1 [, k
4 |1 ?: J) m2 K5 y( z* l然后你去mover.cpp添加- u+ l6 k* z5 w0 P/ y0 u

$ e1 F$ x' J* o* b代码:' Z: o0 R, Q+ R! ^2 Z# s
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
2 o; b+ f, @1 f1 Q( k{2 n# x) ]7 J$ q4 e! `7 W0 n$ @3 i
#ifdef __WORLDSERVER
. N! }* m! E% Y- Y, c' M+ e    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
8 A& J) M7 D) b9 v' ^2 @% T) P    MoverProp* pProp = GetProp();4 @0 U' C& R& Y
    if( pProp )
& @! W, p( p! A% ?  q    {
8 d7 v& x! F7 a: R# I        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
9 u7 u! O  D! j  c        {
2 l# k1 Z0 Q6 M, m& }" W            AddChangeJob( nJob );4 I5 R3 ]6 H' D6 X1 g/ E2 Q
        }else{1 h4 y. E' Y0 f6 A. S3 Q, x7 X
            return;4 [& a, l% _) u1 r2 a' H& h
        }
' G. r2 E6 A9 J/ u; r$ d5 |$ E        int nPoint = 0;+ y, y  j/ O7 t8 q" N
        if( m_nJob == JOB_MERCENARY )2 `5 V4 k. b9 U! P
            nPoint += 40;' J( m9 ^" z/ w+ [2 v( o* J* q
        else if( m_nJob == JOB_ACROBAT )
  R/ S8 t9 V. C# f3 B, i/ k            nPoint += 50;
1 ]0 \3 L0 u" [! j        else if( m_nJob == JOB_ASSIST )
# n, V: a" D' J' d5 C5 T; A            nPoint += 60;
; E  s  c% O" T4 J- F# n9 T% @1 o        else if( m_nJob == JOB_MAGICIAN )" X2 h7 x5 ?5 H4 s( [
            nPoint += 90;+ D* Y# u/ {  E
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
. t! M& M( E1 A0 Z4 T: |            nPoint += 120;
1 `1 O2 l9 `8 H! y7 D! P5 m6 L        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )# T: @( g7 S$ f$ A& a; q0 F" S& N& O
            nPoint += 150;
5 l8 g2 S; x6 B4 \( F; x$ Y! C        else if( m_nJob ==  JOB_RINGMASTER )
( o3 X" G, n( b- _; ?; Z$ e' z2 h- k            nPoint += 160;+ _- j- B2 M' O
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )+ C. B6 }, s; S' ^
            nPoint += 180;
( R7 ~" f( c/ m  V- G        else if( m_nJob ==  JOB_ELEMENTOR )
, {9 m) @8 e) @: ]/ ?, N: Y# @" {            nPoint += 390;
7 t! C. I+ S! A) x  d        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )$ u# B$ p+ _% N" ]0 x
            nPoint += 120;
' O1 P6 H( p; x/ \/ t6 [        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )& v9 g8 j8 @& j$ c2 P2 o' ?$ D
            nPoint += 150;
- ^8 N7 g8 O* X, A$ }9 D- z        else if( nJob ==  JOB_FLORIST_HERO )
  }7 B1 }* y# M6 w2 B+ J            nPoint += 160;" g$ W% P) f5 W/ P
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
1 R2 i% A3 _9 @6 ?5 f2 F            nPoint += 180;
  g3 Y4 r3 p3 O2 k        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
' A; K2 u& O7 D; p            nPoint += 390;
5 l5 Y, S9 r! ^% v+ E" g( M
  K2 E+ u+ r. W: q5 x% m        AddSkillPoint( nPoint );: l" r% g2 j: M. N* |: L8 z* I
        m_nLevel = nLevel;* q0 ?& T8 A9 H. R: f/ g
' m% r3 r9 m9 W8 a
        SetJobLevel( nLevel, nJob );0 I+ N6 S4 h" _% f/ f' L
        m_nDeathLevel = nLevel;
) L0 Z5 o2 l. H#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
$ U) ]; L! P  V' ]        if(IsMaster())
# q+ z1 N/ h3 B, ?# _        {. `4 |: Z/ O$ e% S
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
3 H6 I2 K7 T. g. {4 [            if( nLevel > 59 && nLevel < 72 )
/ d, }' t& ?5 c) T# @" a                dwTmpSkLevel = 1;
. h! |6 R# C. ?# @7 i$ @: v            else if( nLevel > 71 && nLevel < 84 )" F! o/ _; G: B$ q  J" s4 e. l( P7 E
                dwTmpSkLevel = 2;
- y# ^# E, }2 O9 P1 n3 ~$ T            else if( nLevel > 83 && nLevel < 96 )% z" m2 C5 |0 M# [: L' x
                dwTmpSkLevel = 3;
0 a/ J  Z5 a) h1 k% |' I, G            else if( nLevel > 95 && nLevel < 108 )& K# m: _$ g: ^7 D$ e: Z. i6 H
                dwTmpSkLevel = 4;
4 U5 x( J# Y! b  c" j6 @            else if( nLevel > 107 && nLevel < 120 )
( G2 E: T( W: C' f- N                dwTmpSkLevel = 5;
6 `* u+ P, S1 V& d: ~0 X  ]            for( int i = 0; i < MAX_SKILL_JOB; i++ )
- E# W- D2 R/ y1 V! f4 Z; p            {               
% Z% E+ K/ A. o                LPSKILL lpSkill = &(m_aJobSkill);
1 }# u/ A, R, c; M8 k3 J                if( lpSkill && lpSkill->dwSkill != NULL_ID )
! X! s* E1 \. ]% b                {
+ G" o- q& Z2 \5 U5 L0 ]                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            % E8 a: ]' B- R  e; m' Q
                    if( pSkillProp == NULL )/ w. I! f9 M/ u+ O4 w
                        continue;
4 l- R6 \4 \/ G9 ~) _: {                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 c4 |+ @0 ]  Y5 k. N/ V                        continue;
$ N' d8 G5 R# a0 R+ n                    lpSkill->dwLevel = dwTmpSkLevel;
/ ~) v7 X0 }) K$ g+ q- T6 O                }
# U5 t! x! Z3 P  N8 X; V" }% S; l            }5 ?9 o* Z# G1 b* z
        }. b! _% l$ U# D* o1 r
        else if(IsHero())
9 T+ N+ w1 i' G# w8 `1 V        {3 U0 B9 S5 K/ Z" u" C$ j+ |. M! e* `
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 Z, |5 v9 W- d: O
            {                3 ?! h$ @# z% k% y
                LPSKILL lpSkill = &(m_aJobSkill);
. e) p" e! }8 q* a0 e3 j                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( n) i# t7 h" ?$ {& m                {
0 j" {0 r3 H* O" l( G1 G4 p. v* H                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
, L8 i! K; N( x$ a                    if( pSkillProp == NULL )
: s) [( ^8 v; u  I                        continue;
* e0 G  S8 y  m& G# e1 r                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 x! ?" p* L0 M: k4 Q) ?4 b" H                        continue;3 a; Z8 I1 @) r$ j; `
                    lpSkill->dwLevel = 5;
3 l$ N* i, W, a4 |3 Q                }# x  w4 W$ D7 ^* M7 G- _
            }2 n* c$ y0 L" p; `0 C
        }, O% _, t2 C& U( t0 p
        else if(IsLegendHero())0 e, _3 s. |0 e4 e  p) C4 z6 Z
        {
9 e( p, ?- m8 M4 Q4 q! V            for( int i = 0; i < MAX_SKILL_JOB; i++ ) % X6 \) B( n) z' L
            {                $ y1 g( d: V: [7 a8 L" ]
                LPSKILL lpSkill = &(m_aJobSkill);0 n$ |& |! Z( U0 H
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
1 f  l; a4 n$ j1 _; c( K; i2 |                {
9 c6 l+ y' F- x4 }2 |                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );              q9 z- z( U: [6 U* I' @/ I
                    if( pSkillProp == NULL )
2 C+ J! D) e9 f  d                        continue;# q: R; n+ E7 N
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& @- q: d! L$ Y9 u
                        continue;
/ h& g$ @4 J0 J! D* ]9 y                    lpSkill->dwLevel = 5;& n( M- ?  i& {, J4 x& O4 j
                }  a4 G+ e1 w" R+ f; b
            }/ s; g, z4 X+ \4 E( o
        }* q' m: b# C/ o2 z- S( a. j
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
9 G4 R* y7 I5 Z( `3 v( p        if( bGamma )
+ o% G2 ?& [  |- J4 J  p        {* a9 T) @" m9 J* y2 v( }
            m_nExp1 = 0;
9 |/ l8 _) ]% F; q1 }9 h        }
/ x. S* {: C# f8 n  f4 `! p9 S) D' q; u* M) w7 m( f
        ( (CUser*)this )->AddSetChangeJob( nJob );* h/ M& _1 {5 S' ]' S  ?
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
; D& p3 X* ?* ?* O1 C" k% Z1 j; z8 Z5 l# W6 Q

5 n& y: r+ J! r, Y" v' r#if __VER >= 11 // __SYS_PLAYER_DATA
$ u4 e' g6 d; [3 h; H; s0 s8 C$ t        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
2 N9 r4 g( A) T9 j" m#else    // __SYS_PLAYER_DATA
" L% K$ Z3 u5 x; t4 J        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
; h) @. E5 I! t+ X        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
6 @  {5 ~$ w: h8 T2 m1 y        if( m_idGuild != 0 )8 o; a& h+ E* J
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );- S& ?( D& z/ `$ p- b: F
#endif    // __SYS_PLAYER_DATA- k+ K# E; e; a0 [( Q* y' J
        SetHitPoint( GetMaxHitPoint() );  o; _% m4 n( n* o; {- g' J5 z2 g
        SetManaPoint( GetMaxManaPoint() );
3 G. b2 k7 [7 E, ]9 h2 f1 P, a        SetFatiguePoint( GetMaxFatiguePoint() );
- w% q$ e6 ]& M+ c7 R4 u        if( nJob >= 1 && nJob <= 4 )  G+ l- ]9 ^4 k( y# |
        {: H8 x* T2 K: t6 y% e/ X( f' t
            m_nStr = m_nSta = m_nDex = m_nInt = 15;6 g: `  _7 x3 G& K. x# n! K
            m_nRemainGP = 28;
6 h5 i- }9 i  J0 w) s! ~$ _  d        }
6 {* v, d) S. C        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
3 }) L) b9 R7 Q* Y* K        {
+ R$ E% z. M/ W, N6 Z' g1 i- k5 a            m_nRemainGP = 118;
4 k3 ^; h. Q' R3 s            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;7 p5 ^5 P% g. A5 M% Q  N
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
" U1 H$ [! ?3 e; C        }
" q& e8 E, t6 W* c8 G! X        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
, v1 f+ i8 E/ u; |- ?) X0 k        {: w( O% G/ U% g5 M3 ~, C) H* `; c
            CItemElem itemelem;$ z, J. i4 Z! O! X( R
            itemelem.m_nItemNum = 1;& j! s5 F: _) C2 u$ K
            itemelem.m_bCharged = TRUE;  r: t( e+ t& u
            BYTE nID;
( @3 S: `$ J1 X
& h9 Y7 U% @$ i* H3 a/ J            if( nJob == JOB_MENTALIST_HERO )
* u4 X/ b7 ?1 N) y                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
/ A- {5 X& \  a( f& T+ I            if( nJob == JOB_FORCEMASTER_HERO )& ], `/ r2 @+ r' h
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;! f3 U' q9 ^1 ?6 J% h! ]/ k
# _, [3 T* O8 B1 b8 h' H% i
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );1 W: T# E" W: X
        }
! D% m2 \4 W8 ~        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
5 k6 j) [- g- B) y$ w8 A/ R        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
& q2 w5 }* @% p& {        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
% j! M! t" t' ?. |3 b/ @2 d3 [6 c        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );1 {8 a& g% k* ?& M0 ~; j
        ( (CUser*)this )->AddTaskBar();*/9 Z6 v" F  ]: t9 V6 t; f2 r0 n9 |
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );/ H& v1 M8 E5 t* R8 t6 c, @5 o
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?: Z  Z  p) c! }) M9 }4 _4 u, u) G
        ((CUser*)this)->CheckHonorStat();6 A) E1 L. n/ i. d
        ((CUser*)this)->AddHonorListAck();
& v+ t$ i2 V3 Z0 u/ @7 @! ^( |        g_UserMng.AddHonorTitleChange( this, m_nHonor);+ K- {0 K7 H/ L( i
#endif    // __HONORABLE_TITLE            // ′Tà?- j4 `, H3 ]! I, S
    }
0 x6 C: E9 `5 B4 O, Z; [#endif // __WORLDSERVER5 `0 d. R8 P' X1 i
}  
) ^" f$ L' D/ I7 g1 W( n3 A
7 K, D- }9 i: N6 p9 M+ a然后你进入functextcmd.cpp并添加以下4 M: s: w2 Q3 \% h- `! y
/ O* `5 t5 Y* U1 h$ K
代码:! @% m9 Z( F& Z- [) f5 v
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
3 K8 `/ ^+ z% K4 D! C下面插入
/ d7 g) ^/ ?/ z: G4 c0 eON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  5 e/ n) V/ ~" c$ p4 d
! Z, D( }3 ^  p% [7 F) x
然后你去
" r, @. |1 ~5 O, y# A8 P4 a6 o
代码:; v' D' M- ~$ S
代码: k; t, w! a$ k3 l8 k& X
BOOL TextCmd_ClearPropose( CScanner & s )
: V1 n6 k/ h% ]- k7 o7 v{% E5 v4 T3 l& g& q5 s' ?, y
#ifdef __WORLDSERVER+ O( w. c6 [, z9 E
    CUser* pUser    = (CUser*)s.dwValue;" }# z7 q0 z) B& j5 w
    g_dpDBClient.SendClearPropose();
3 A  U) x0 t4 e! U, @+ [#endif    // __WORLDSERVER  [0 n. s! r" E9 v3 @
    return TRUE;
) @! ?8 Z' c9 d" e8 z# o}
7 C$ s- r+ f$ @下面插入* y2 P0 N6 Q+ D  W( b# f  h
BOOL TextCmd_rebirth( CScanner& scanner )
. e: b7 }  K" Y9 ]) S: K{+ {7 f( f: O" ?# o$ ]1 Y8 @0 g
#ifdef __WORLDSERVER& D4 }2 S0 ~: q
CUser *pUser;- a: l: q; T4 ~9 B  l
pUser = (CUser*)scanner.dwValue;
% |* L* e; c1 n% m7 A4 P8 H/ ^) Xif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
1 q/ h% p+ O! bpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);- ^0 ?5 u* ]& D! L
else
, i: X; V- L7 w* _: A" Q8 NpUser->AddText("你还未达到重生条件!");
7 I1 {! O, z$ h% h" `+ R% n#endif5 o0 E  u- [; `5 B2 i1 u+ h
return TRUE;
; K# _, @: x' p4 }* ~}  0 s, }7 Z  T0 _. Q$ b, I9 t$ y( |
" }* M3 G* f& h6 K+ X/ H* V. u+ }5 J" x1 \
/ o; }4 U% A; C' ^/ t8 f1 ~

! C- r6 H0 D4 A3 F( r% Z, i- `5 l2 H7 A: t3 [$ ?" ?; d





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