飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
% v  V! J8 o# {: E1 |5 S, J4 r* A" S/ O! \6 _; [
Mover.h3 E2 H! S7 M0 ~$ ]9 k( |
代码:8 C  @8 ]4 L3 X9 \5 b; G! X
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü7 V: V) ~- B) N& C! w

1 s3 e4 w5 f! v: O下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  8 u" C1 J, K  i- k
6 H! a$ K$ X; G; @$ r6 }, o) J
然后你去mover.cpp添加  M* `: R- ^$ K! R& W7 e
  Z* `, z+ q. e. q- \. S
代码:
: E% U- ^$ r; \, g* cvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )/ k/ }: Z' P! s( w! r1 p1 w
{
: B1 _! }% |% O3 M#ifdef __WORLDSERVER& t7 }% ]) o; i5 |; z9 q
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó( `  j: |3 c$ N6 I
    MoverProp* pProp = GetProp();
3 I9 i1 ^2 x! V, ^0 b    if( pProp )# U) A1 w1 n* z2 o4 Z
    {
+ ?( @$ K  k2 |        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
* f) Z3 n' O% n* c% k  _; @6 }        {
/ [7 J. y1 X+ Q$ {8 ?2 Q            AddChangeJob( nJob );
* O8 h5 L% o5 X  e/ W& {1 [* _        }else{
+ h3 o# q. ^, y2 \+ f7 r            return;1 R4 _* m- P% x& C5 Y
        }0 N  }& K# b+ p3 u( P/ F" b
        int nPoint = 0;
4 a; d& I, }: I/ p        if( m_nJob == JOB_MERCENARY ): G/ S; ~( _. k: x8 S% ?. i
            nPoint += 40;. b: v& v3 R4 _: A2 V
        else if( m_nJob == JOB_ACROBAT )/ @, e7 Y8 Z5 U$ O- t& R
            nPoint += 50;: ?, }  ]0 C* E6 r1 B; S+ G
        else if( m_nJob == JOB_ASSIST )1 e& R6 {3 @5 u* k$ B
            nPoint += 60;$ p7 X- }* x5 b; H  h! e
        else if( m_nJob == JOB_MAGICIAN )- k- l$ j+ z3 o. c7 G  z3 u
            nPoint += 90;* {+ Z1 a2 y! @. T% H, l4 s
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )" l& q8 }' N( X! n. B4 N: Q7 ^4 N
            nPoint += 120;
6 @; x& L/ P/ B! T; U! X        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
5 n8 C4 V( G4 I+ j) f' M            nPoint += 150;+ X) J2 b& X. k! g
        else if( m_nJob ==  JOB_RINGMASTER )
( ^2 T' v/ e- w& \  P8 }8 H            nPoint += 160;
6 z2 l% M$ b6 J3 b        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
9 z  P: D  P$ z7 S' W0 k- }8 i) J3 W            nPoint += 180;  O( Q. _& h7 {# d' ~
        else if( m_nJob ==  JOB_ELEMENTOR )
7 W6 l2 p0 {. A& O( {+ w) [            nPoint += 390;( x3 w( h+ I) K' r/ }7 P
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
6 Q" _/ f; ?& ~" {            nPoint += 120;8 h& v. t- q7 j9 b( g
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )# X" T) h# |# j/ C7 g, }3 x
            nPoint += 150;
, p: H, Z1 \; g9 B! ~# M        else if( nJob ==  JOB_FLORIST_HERO )
" G$ N- k1 Y# c6 G0 G: s3 F& p0 `            nPoint += 160;
9 W# S3 f* F% W        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )+ F* A: s$ @) S# \9 \" U0 x
            nPoint += 180;
1 k6 l3 V+ U- T3 M3 d2 X        else if( nJob ==  JOB_ELEMENTORLORD_HERO )5 y  [' ]( A$ X0 s' K0 K( }
            nPoint += 390;) M% Z4 j7 m8 v& w  y' x

- n5 W7 d* N3 d        AddSkillPoint( nPoint );5 c8 M4 k0 E& K4 [0 D/ K
        m_nLevel = nLevel;' i* U* _! V- O; ^! @

: K/ t* e: e  k3 M        SetJobLevel( nLevel, nJob );
* X, O/ F5 O  p( h        m_nDeathLevel = nLevel;6 j* \8 K2 R# K3 @* l# _  M
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans5 \) g2 j, n  u
        if(IsMaster())
" u0 j8 O/ Z* K( @# {; i* Y  l, |        {
: [8 s1 `  g7 W' k# }' |            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1085 {4 Q% ^! Z" t, Q: e% V
            if( nLevel > 59 && nLevel < 72 )% K: X7 A2 m5 n8 Q/ \
                dwTmpSkLevel = 1;5 ^& D0 t% }  W: ~& K! q
            else if( nLevel > 71 && nLevel < 84 )* X% s: ?. X# o& F2 a1 u8 z; E% |
                dwTmpSkLevel = 2;
- J1 q- L1 I6 a5 O            else if( nLevel > 83 && nLevel < 96 )
6 p+ s( H1 S. g$ T0 j                dwTmpSkLevel = 3;+ }( N5 i- z. g+ ?% g3 p0 ^
            else if( nLevel > 95 && nLevel < 108 )' u7 @3 m# G) g  ~7 U
                dwTmpSkLevel = 4;$ J  a" |) E$ }; H  U
            else if( nLevel > 107 && nLevel < 120 ), M9 R3 {) |) I$ J1 ~
                dwTmpSkLevel = 5;
7 i# e' ]# P% D* d2 t! y# J            for( int i = 0; i < MAX_SKILL_JOB; i++ )
! n. G( r- {) o1 G( T            {               
! }( `! k3 \4 ~6 t* f$ I3 v                LPSKILL lpSkill = &(m_aJobSkill);
) \: K/ P3 N) Z% F" I1 U                if( lpSkill && lpSkill->dwSkill != NULL_ID )" P8 Q6 [' z* [
                {
/ E8 {( q! g. n# \" b# ~. \9 g! ]                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            - N' k* |& x0 [' Z5 E
                    if( pSkillProp == NULL )$ w5 b9 [! h% a0 g# F
                        continue;
! U7 J: i6 [( a1 q                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" \. _" ?- p; Q$ K& }+ m% t                        continue;8 N; G6 s6 S6 a# Y' @2 S& s
                    lpSkill->dwLevel = dwTmpSkLevel;
5 z0 ]8 k  X/ D: Q# S                }
) ^2 u2 d$ w% r0 T0 j- D            }1 k5 b$ ]# T' s, N* L
        }
/ h6 `. I3 u) T$ h. p9 N( ^& l        else if(IsHero())" D7 Q  P  @! X
        {
* V2 E7 U" K9 R8 j2 b. d/ {7 s            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 2 P# x4 h2 ]! b4 J' ?( L( H* s; P
            {               
' ]  v5 [3 ?8 }" g4 l/ k                LPSKILL lpSkill = &(m_aJobSkill);
# @( E" h! G! E                if( lpSkill && lpSkill->dwSkill != NULL_ID )1 |) q' F' T* D
                {  i4 f+ r6 y, ^8 R* @, ]
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
% k& c+ B' e, P4 Q8 b; _                    if( pSkillProp == NULL )
2 _" Z1 z3 `3 J  x" f                        continue;
% k( @1 ~2 h8 r0 ]2 ~& ~                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)# k, d% o. y1 A$ w' P/ S+ P
                        continue;( s- B6 C  z8 S5 Q3 B
                    lpSkill->dwLevel = 5;
& F! o4 N  e6 j$ `                }0 Z) z' S( Q. v9 `2 w
            }- L  M  I* B& ~8 a( m: e/ P% O
        }/ n, |7 c- P& k0 u
        else if(IsLegendHero())
8 H! [0 X! E/ H8 _        {/ `& ]3 [) |  J4 j5 c$ M0 d
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) % I. g4 B5 w/ w  ]
            {                  f. Q* f( N4 l0 e
                LPSKILL lpSkill = &(m_aJobSkill);5 v7 m1 u) {5 u5 h* e
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
7 z: f+ g6 c! R0 u: i                {1 ^. z9 ~& U4 l/ q( T" k
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ! Y2 T5 {. F, e1 Z
                    if( pSkillProp == NULL )
9 @1 j' j1 I$ O, }8 T+ Q                        continue;
  s2 B: R: c& w                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! u5 U, }. U- o! c6 x                        continue;1 s0 M# f" i% j6 T& k
                    lpSkill->dwLevel = 5;
6 |1 `6 b7 \7 Z4 Q) P7 [0 @8 H  U                }
) q& Z( e5 p, |; w+ L! J            }+ n5 e7 }. F8 }- r
        }
2 ?" o( ?- k  {( p& o5 V5 G1 D& p/ m#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
+ q8 k# {: _, N- l  `- o* o2 ^2 Q        if( bGamma )
* \4 w) S# R5 H2 d        {& D' \3 Q* S) @) @  H) v% i
            m_nExp1 = 0;8 a% K: s; P  K- ^, e; X/ s8 Y/ b# U
        }
$ ?) R8 r3 g0 b; C1 y2 x2 f5 H1 r5 T8 j- E$ S: f# }
        ( (CUser*)this )->AddSetChangeJob( nJob );$ I# U* S/ R7 y4 i  @0 e3 k1 w$ ~
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );4 O+ d. b2 d& I  {

/ \- k: O% n( t! E
# e1 H# Z2 U0 W4 o- S#if __VER >= 11 // __SYS_PLAYER_DATA
/ N' ~# l1 I* c( Y" G0 I        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 {6 E: `- q$ W9 j#else    // __SYS_PLAYER_DATA
4 Q1 y5 |  f- j7 K1 L        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
# ^8 ~+ x5 ~. F        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );, S4 V2 J& u$ }  @5 E" W+ t
        if( m_idGuild != 0 )  e  T$ z/ t* [  b# r- u
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );* K: N' B  T% c. s7 r% E
#endif    // __SYS_PLAYER_DATA
6 h% I5 M" d0 Q( F. \        SetHitPoint( GetMaxHitPoint() );
- k) y# P9 ~: b" K        SetManaPoint( GetMaxManaPoint() );6 [/ A3 ^& I0 c8 V
        SetFatiguePoint( GetMaxFatiguePoint() );$ d: u6 V5 e- R& u7 s& U/ @0 ]4 X: B
        if( nJob >= 1 && nJob <= 4 )) x6 |3 l8 A* L2 a% }0 L5 V: Y
        {
" ^! Z- y5 E6 l' ~" q            m_nStr = m_nSta = m_nDex = m_nInt = 15;
; @8 P1 f) z' {            m_nRemainGP = 28;5 j9 m5 d2 R7 _1 e# J/ m  y
        }* i7 i! b- d# ?! B' U; Y: Y1 _
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
: Y: i6 b) f7 e: k# \% s9 p1 h, _6 A7 {        {
8 U; X2 U+ c) n            m_nRemainGP = 118;6 V, s* b( h9 H) N
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( G) o1 i* s+ w7 Y, Y* A            m_nStr = m_nSta = m_nDex = m_nInt = 15;
7 X; \- Z1 k+ r6 A. b8 |        }( v1 H8 F& ~$ d% X/ ~5 }# d. H, e: f
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )5 h# W' S" m5 L
        {
6 {& ?# h1 ]) \2 c9 K# Q            CItemElem itemelem;, R5 z2 ~+ \6 ~, G* L4 ?
            itemelem.m_nItemNum = 1;
* O: f, \& E9 F( Q            itemelem.m_bCharged = TRUE;" h- L& f7 M6 b9 O) G% Y9 _0 p
            BYTE nID;# Y' x) d. _' T2 p

" j5 j) B+ ^" F! X9 W            if( nJob == JOB_MENTALIST_HERO )
/ J( `; z2 B0 ?. p                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
; X) H5 ~6 V: C' _  T            if( nJob == JOB_FORCEMASTER_HERO )- z, `3 J) c$ ?; x5 {  X2 J6 N
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
" s' ]7 y& \1 j1 v; X% d2 e, G* m+ j. y7 J- Z) Y: c' c
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );5 R* j) I+ b. a" w  b! A
        }
4 e5 ?- e6 y+ O        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );4 b  v7 E) h  P4 C7 c) v
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: R* a4 Q! N0 _; L3 n6 o        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
: z8 J( f& @6 E2 U; m        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
4 f- {5 |) N5 Q4 E. E; g9 ]% R/ K        ( (CUser*)this )->AddTaskBar();*/8 G5 W8 ^, w7 t( q
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
7 c7 _) W3 h5 v) h#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
" [9 F: F# \3 r" x; z        ((CUser*)this)->CheckHonorStat();6 Q, I8 D+ w) |# W, X  l
        ((CUser*)this)->AddHonorListAck();
: p  B9 g% }- C; L0 O        g_UserMng.AddHonorTitleChange( this, m_nHonor);# z- R5 L( N) T5 x& U! a# M
#endif    // __HONORABLE_TITLE            // ′Tà?: `2 G* F+ P2 X# n, A. Q
    }" Z+ B  t$ M# X% ]6 t, \! n
#endif // __WORLDSERVER! ?0 J1 o9 o' J8 b& a
}  & J' X& I! R! K3 `8 |: C
, y- B# `! X$ h# a. u3 K' ~' c5 c
然后你进入functextcmd.cpp并添加以下
+ O, n4 P6 y$ u) v- @8 _- O9 N. T. B. p! R  v) Q3 e" F
代码:1 `1 _* y$ ]0 k* C; O  H) g: H# W
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )& B% @$ R  c6 b, S8 L% x4 Y+ \7 [  W
下面插入
' j( z+ B5 i- G; n& {ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
, _6 S2 b1 [! f( S, s; [' i$ E+ Z* J2 N" Z9 t
然后你去$ I- U& m) Z8 J2 V; E9 A/ E/ e
; R2 T7 W1 m0 ^$ R& p" e
代码:
: @  N$ ?2 b1 S" C, \% Z- N代码
+ y; ~; Y! F6 M- \; s. ]6 C4 m& RBOOL TextCmd_ClearPropose( CScanner & s )
0 |# \, g; E& _% Y0 X{& f1 z. y* J, a: E  q. u
#ifdef __WORLDSERVER1 C6 j) Z2 A# _3 O( T
    CUser* pUser    = (CUser*)s.dwValue;5 d# i3 o/ ^! m! L4 c) ~, O
    g_dpDBClient.SendClearPropose();+ x) A6 _5 g* p, V, M4 A2 q
#endif    // __WORLDSERVER& ~' K3 `  R: S1 a; N5 q% S
    return TRUE;
4 y# b" S/ G" `4 o6 L- {}3 q1 {6 ]% G7 b2 m. t; j# @3 P
下面插入( w. u! l, C1 _; a. ~
BOOL TextCmd_rebirth( CScanner& scanner )
! v- F- k( m, D5 a3 s0 }{
5 p! }- Y0 h5 o4 o1 A#ifdef __WORLDSERVER' j1 K# X  r9 |, `, o9 V
CUser *pUser;
' x  k. E4 e9 X6 X1 v) i5 {pUser = (CUser*)scanner.dwValue;
/ s% e4 Z: }7 ^! x5 Y# [! k$ jif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())* k1 D9 K% [7 K, |8 D2 _
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);# f: d* T0 |& K9 D1 p
else- q* t2 x# G8 M  U3 }$ u* [
pUser->AddText("你还未达到重生条件!");. z- Z" R& t3 q+ _+ Y: K" f; H
#endif+ ?7 R* m* }+ D2 U1 |/ V  @+ E" R
return TRUE;2 k: P7 Q% T6 g) E& h0 B. `
}  
; ?2 s/ L& p" Z0 j( E( I5 ]# ?$ |: l+ c, R& X! m

9 V1 J5 r/ B" z# r. |& O* D+ L% i4 F, b" |# i6 S/ ~8 ]
- `4 }2 c, C, S9 J





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