飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel8 X5 z' ]( ~  S" [9 ]

4 r7 v/ Y5 q  OMover.h" H6 N* G( G" m& {+ P# j
代码:
( _' e+ e5 `4 M, v8 e8 o找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
7 J) u3 K6 f! ^* a- `  v
! f: E3 g* K7 i2 q下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
& C: ^6 ~. z1 a9 u2 u2 m+ i2 m. Q! ~2 _) G$ z, i
然后你去mover.cpp添加
$ A8 U; `8 p+ _- I
- C7 b3 Q" H6 c% B8 l3 S: Y$ |代码:
$ S5 A( f3 y6 U+ r# ^void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
; f% u7 y1 _& [. K( l2 R* ~{
) b5 M# X, h7 v, Z; h. f#ifdef __WORLDSERVER1 \3 ~# P3 K$ g. v5 R) l( R
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
+ @4 w6 l" x5 _6 S# [2 e    MoverProp* pProp = GetProp();
. {- @  u" S5 R# M    if( pProp )
2 Z8 N5 B4 z. R4 F( O    {* j; F9 N, }2 f8 E! u9 [9 x; L
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
" I6 Z* d) g9 j, S) n' u2 z        {
8 z- @! d" w0 P. I            AddChangeJob( nJob );
6 m, c+ o7 I7 }& q        }else{
4 d0 b: V# i+ I1 a3 f            return;
5 N# P' u5 n7 A) b$ m        }
% {/ d" I) `' J. [        int nPoint = 0;
" O# i% d0 L' ^7 F5 i) j. R& z$ a        if( m_nJob == JOB_MERCENARY )& v9 h  x0 I( ^5 ^2 A2 K
            nPoint += 40;
- R$ O1 \) v: q        else if( m_nJob == JOB_ACROBAT )- }: R$ j2 r0 ?  J! S
            nPoint += 50;; Y6 W+ l/ n4 m/ F
        else if( m_nJob == JOB_ASSIST )1 c7 O9 i5 T$ F3 B
            nPoint += 60;
/ m3 P, I& @8 O/ p3 x        else if( m_nJob == JOB_MAGICIAN )
7 A7 l* |& P6 b" I            nPoint += 90;
  m# T* x- D9 r# {+ }# j" k9 i3 B% K        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
' t. q( [. C( p5 c6 h$ k" e            nPoint += 120;
5 k& n/ M+ V" q, E- Z1 Q6 u        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
0 g' [% V3 Y: d# I" k7 a            nPoint += 150;
7 w7 ^* g5 H1 y. [1 W) v( ?        else if( m_nJob ==  JOB_RINGMASTER )
4 d. ~! ?2 u: C$ d9 v( n1 p            nPoint += 160;
. f2 Q- A& J9 I! H8 s, O, r$ N        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )' z* S  f( s# _5 F2 ^
            nPoint += 180;& o0 s+ L, G! E
        else if( m_nJob ==  JOB_ELEMENTOR )
4 q7 U  \9 b+ J# }1 c            nPoint += 390;
4 X) s: \+ y% e& {( Y* t, i6 m: _: o        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
' r; B9 j/ U( v- P; `& f: H            nPoint += 120;
7 S- ^; X5 J: x. B' m& _& g3 t) O        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
# O0 l$ T) r* ~: m            nPoint += 150;
9 e% W& [, I2 I3 X4 U        else if( nJob ==  JOB_FLORIST_HERO )
  {7 i% V' D  V. f# f! X            nPoint += 160;
) N3 G, r) l6 {0 D1 F7 t; V# b        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
, c/ V1 L  R7 m4 a# D* I$ j            nPoint += 180;
" T/ p) f: r0 c. F        else if( nJob ==  JOB_ELEMENTORLORD_HERO )) e1 R8 g1 x/ Q6 K6 B
            nPoint += 390;* U0 q# r# p- U

( }: s. [! M: I. y+ P        AddSkillPoint( nPoint );
* t$ a1 G  ^% C+ t: p" M* W        m_nLevel = nLevel;* b8 f4 W& G% Y+ x7 `, V. P/ E
2 d& }# {+ ?1 H, \
        SetJobLevel( nLevel, nJob );) ?4 B! R$ [8 l
        m_nDeathLevel = nLevel;
* H5 C  B9 ~( Y#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
2 A' y0 J' @5 T+ s9 ~        if(IsMaster())  Z1 l1 I) g4 y( T
        {
* A: L7 R# ^- e            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
8 c7 u$ V' m2 c  |5 {) w9 a            if( nLevel > 59 && nLevel < 72 )
( f- h3 k9 ]3 D- C$ w4 k& V                dwTmpSkLevel = 1;
5 Q9 z  `) b/ Z; F" i5 i$ {            else if( nLevel > 71 && nLevel < 84 )
$ C, ^# G5 j4 a8 ~' C: S6 Z                dwTmpSkLevel = 2;3 j* M, P% v7 L4 C+ w8 i
            else if( nLevel > 83 && nLevel < 96 )
' r" L6 q% r- E                dwTmpSkLevel = 3;
. Z0 ?# e8 y( ?& j            else if( nLevel > 95 && nLevel < 108 )1 L( B& A" T' ?( u( e  {' X' `
                dwTmpSkLevel = 4;6 S" g4 ^5 y( e5 @2 M
            else if( nLevel > 107 && nLevel < 120 )2 q2 Q0 u) k/ z6 M) @  G
                dwTmpSkLevel = 5;# S6 ~6 _! W2 C- {2 Q! \) l9 I
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% w' e- j  L% O1 @            {                : ~& h! w2 R& O* N
                LPSKILL lpSkill = &(m_aJobSkill);
2 ~4 d- l# M, n( k& p7 T& ?. \" A                if( lpSkill && lpSkill->dwSkill != NULL_ID )
. o& t3 x0 S6 j                {+ M$ Q8 W; P5 |9 w" [
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            " }& o* r9 Q4 r& p$ F/ \2 a
                    if( pSkillProp == NULL )/ g' z3 b- A8 N9 V/ g9 X
                        continue;0 r) L! E& C7 Y' w; R
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 K2 H4 |! ?8 e& t. o& ]8 W
                        continue;
, t$ W+ U+ W- \2 O. [                    lpSkill->dwLevel = dwTmpSkLevel;
! O. `& q! k8 b$ y& \. J' w+ c                }
* Y# Y9 Q1 p; `, d9 t            }  P. W( ^# V' h1 i
        }" w2 l+ \' X% Q, j8 O6 b# @
        else if(IsHero())
/ f/ l1 f- _5 T; |5 R. g- g        {& `6 Y( j! v+ M2 |4 ^
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 9 \; i- c/ B& B7 ?5 e) q
            {               
; o8 S% ?+ l5 z8 r" k! A                LPSKILL lpSkill = &(m_aJobSkill);
2 ^: o5 j6 W$ F) Y* w+ H* T: {                if( lpSkill && lpSkill->dwSkill != NULL_ID )
- r+ q9 ]1 v0 H                {) l& G" J, v) G  ]) ~
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            , m- A7 O! N: Y7 v3 H5 h- P5 e8 E
                    if( pSkillProp == NULL )1 j; u4 F& [5 N0 I, M
                        continue;! [1 p: ^* N/ I! W' }
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)8 c, d4 [* u2 Y+ z$ b+ M' O1 d
                        continue;
) C" R' D+ M: Y$ @% w                    lpSkill->dwLevel = 5;
% l0 Y4 [; u$ v9 \, f: H                }2 ^* t9 X. Y9 j* v+ U' ?
            }
" }' @( J' F' p5 l4 d        }! }4 u  O% L7 G+ f
        else if(IsLegendHero())
/ Q2 Z2 K; x4 `* A( d        {
; h! W1 W+ ^! e            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / W- F+ q( X$ V# ~( J9 l9 q
            {               
& Z: P' R- O( M7 n) x: H                LPSKILL lpSkill = &(m_aJobSkill);- ?; n4 j! n3 J) H9 e
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
! W. N2 n1 I( C& R: a                {
$ ~5 Y+ s* B3 W. m                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
5 C, c) W5 h5 q- d7 d( ?                    if( pSkillProp == NULL )
& M) \# i" A: Q, m                        continue;0 j% |% B2 Q  `# g1 B8 {
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( m$ L1 W, o1 V( [4 k                        continue;
* R& |2 w0 J' R8 `* _3 x, s9 F/ H/ I                    lpSkill->dwLevel = 5;
- J4 Y9 j* T) P- o; i                }1 M1 ^. w. r2 h2 B7 F$ d
            }
2 k% p+ T7 [/ Z        }
) [4 w- T7 d/ J5 T. |#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans5 B- S$ J  ]( H- k% |. i0 J# m
        if( bGamma )" T2 t5 Y9 ~3 m! Y7 J+ p, G; ~; G
        {
8 E' Z0 U4 k, x4 v            m_nExp1 = 0;
0 ^& g  M* X* J0 ~) o1 `% E5 G        }
/ D3 g- J  n0 R7 W3 m! I  i
. x' G) t& J8 E8 z9 j        ( (CUser*)this )->AddSetChangeJob( nJob );
' E$ _7 G1 p3 w* p" ^        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
; @8 [9 _/ Y6 R+ ^8 n, C8 a4 A; ]( S$ }
( Z; _" C% ^, ]- K% x5 y0 ?
#if __VER >= 11 // __SYS_PLAYER_DATA
* d9 ^9 I1 A5 L        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );: t2 b: i7 F* y
#else    // __SYS_PLAYER_DATA3 y9 ~( j& d1 X5 l; q
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );; N6 I; A$ C$ [) A+ C1 M  z
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );" z: X3 w/ c$ Y
        if( m_idGuild != 0 )
$ ?- x( P5 n! P1 z1 Q+ A            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
( h& Y" q/ C( A3 T" y#endif    // __SYS_PLAYER_DATA
) m8 K0 |4 `$ _: c: Z+ ?1 j( h        SetHitPoint( GetMaxHitPoint() );2 S% I- r, a% w! X4 a
        SetManaPoint( GetMaxManaPoint() );
" L5 t2 `! Q% Y, a* W! l        SetFatiguePoint( GetMaxFatiguePoint() );( u& V2 x4 e- u! o' \2 ?8 S6 @
        if( nJob >= 1 && nJob <= 4 )
0 d& l3 L( t1 L% t3 Y        {
  c* }5 W6 h8 O            m_nStr = m_nSta = m_nDex = m_nInt = 15;& V5 y: ]3 F2 }6 F% t* I) m
            m_nRemainGP = 28;* e0 Q2 O( ~. v( }' i
        }
0 Z% ^1 L6 j  i4 v  ^        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
! Z% ~7 _" H8 C$ r. l2 K) J7 V        {" H* ?+ ~0 S- a' X- S0 K
            m_nRemainGP = 118;# i. @) M9 ^- |9 @7 s
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;5 `& T( ?) Y) j) X
            m_nStr = m_nSta = m_nDex = m_nInt = 15;2 W9 y' B8 r  v, a: l
        }
2 n# c+ q9 R9 s        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
& F4 ^3 s) n6 O: F2 h0 L        {
1 D/ b' Y3 e& U5 U) @/ `9 F            CItemElem itemelem;$ e! o' `4 x# T
            itemelem.m_nItemNum = 1;4 o: h1 Q/ |" z" l8 j- K3 P# H
            itemelem.m_bCharged = TRUE;
7 j% E* G1 K9 ^            BYTE nID;
% l( ^7 r  z3 \# O# Q: a: ~% {& c+ O1 E) k
            if( nJob == JOB_MENTALIST_HERO )
) T0 P2 [3 p7 H9 K; ~                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
) j- B  z: B; f            if( nJob == JOB_FORCEMASTER_HERO )
& M0 O, H0 t& |% ?1 r5 a$ \                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;- l0 D1 `$ T# l6 Z) F

" S3 ?1 p" h, B            ( ( CUser*)this)->CreateItem( &itemelem, &nID );* H; G( s5 B& L3 K
        }
8 ?% l- I5 |# P1 c* r9 m& O        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
' D6 I( F0 u; Z# `; }% P        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );9 f$ G6 l* ~4 z) r. x0 Z1 w
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );* C$ s  C# s1 t" e* i
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );3 [% l& ?6 m6 z& ?1 j
        ( (CUser*)this )->AddTaskBar();*/% L' [, x2 P/ Z6 k" j. e
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );* A% Y2 ]% e) v9 J  E
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?2 i/ k/ }+ @$ h3 v3 l( Z
        ((CUser*)this)->CheckHonorStat();6 T2 J0 m3 x+ k8 G& z4 k
        ((CUser*)this)->AddHonorListAck();) k9 ]  ?1 c2 F% ^% P$ w1 s+ a* h
        g_UserMng.AddHonorTitleChange( this, m_nHonor);# a& C' B: }) G* s: ]3 t
#endif    // __HONORABLE_TITLE            // ′Tà?
) Y! f3 l  x+ U6 M) `    }! D9 h# @/ {; t, Q8 V" L, ~; k( i
#endif // __WORLDSERVER3 F/ H" t6 F6 u+ R
}  
5 d, F2 a$ D9 L( b3 D& \7 @* _5 k0 O" L. b: q+ ?1 V9 L
然后你进入functextcmd.cpp并添加以下
. U+ @: @' O; Q$ X
: s( O7 q: n$ N& {! _; Y% L* @; P代码:
4 H. i$ M7 S  a/ J$ WON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
* Y/ p. s, A' M! w  }9 S% `下面插入
# O( L5 a9 ?  e; D! P( M. ?  Q# uON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
0 U# r: e, T, v, X2 n' R
, q7 U8 ?1 c- e+ t然后你去
4 H% R7 j1 p/ D, u$ y( N
7 z9 ~) j( y! {% R代码:
3 E+ F, \$ a8 T; F9 w, _' W代码+ L" o, p5 r( Y' m+ \1 h
BOOL TextCmd_ClearPropose( CScanner & s )4 S3 Q. T, T, l& w  R
{
' @1 n- r0 W( v9 V, u#ifdef __WORLDSERVER
% z# [0 X# d4 g8 {8 q8 t    CUser* pUser    = (CUser*)s.dwValue;  {/ A! ^7 k" Y% M3 C
    g_dpDBClient.SendClearPropose();6 O4 t2 F: O4 I% ]1 k" F! l9 a
#endif    // __WORLDSERVER6 E+ N0 y* I6 ^: p( k8 E0 V
    return TRUE;
9 W4 A1 z. Y3 }1 Q# ?  g}
6 |" n' o0 @9 J下面插入
4 t' J: V, Y( f; i( v* l/ OBOOL TextCmd_rebirth( CScanner& scanner )
- d) R$ {/ ^: _: T' v{8 G% ?4 i+ A& s# U' ^
#ifdef __WORLDSERVER
+ _- `- L5 _9 w" M, jCUser *pUser;
- a3 I, H5 I( ApUser = (CUser*)scanner.dwValue;
3 b8 o! m& L5 h: G; P+ E+ L; S& wif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
/ [( D8 ~" |! XpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
9 ]: D5 ?9 K0 F5 O* y+ pelse
) X8 x! a( A7 i' M3 ]pUser->AddText("你还未达到重生条件!");8 x. a3 C2 P' I1 s$ r4 G
#endif  |7 Y: _$ o4 A, r" X9 ^
return TRUE;. t$ w3 t- I# d8 t* V
}  & g; [% ^! j/ A9 g1 l
' O. O8 j0 b* d
9 f/ ?* H8 _5 }1 v& K, T
. Y3 n+ T" C+ |

" {' X$ U' i: p, I6 I




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