飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
5 \4 B. x! K* o9 V+ i' w, M! p: l: i" N7 [' d9 v
Mover.h
) K$ M4 ?- |/ _5 L' p代码:
2 A. w" E5 J1 \! u. G6 g  I找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
6 Z+ ?( A* N" d+ F& C/ G( P2 U- ?+ k& K4 s" M/ V
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
9 s" ?# t- O2 u' J% Y9 C: J% _3 X  a+ Z/ w
然后你去mover.cpp添加, y5 W; x* i- z1 ^" ]- S. f
/ q6 t% c/ p% n5 e
代码:
$ p+ v" _2 B6 E  Avoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma ): w( L8 E$ \. i1 o# q1 c
{
0 S! p6 Z- G% ?" E$ z" }#ifdef __WORLDSERVER
* B& }& R) [2 g8 x9 ~! T% A% r    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
% U" E0 u, x5 @0 X+ N1 _    MoverProp* pProp = GetProp();
) a6 H) i2 x2 X+ V  j1 Y# J    if( pProp )
" b3 g8 a" a6 ?+ O8 ?  C/ H    {' Q) p& t% [  ]
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )+ G, P8 Y8 g8 B- f7 m3 L
        {7 R$ P# j$ x3 p! `+ e7 n" S
            AddChangeJob( nJob );, \7 g- C0 i0 X1 g' m
        }else{
! k. i7 r6 M  l            return;
' }  d) |8 p; S- z, P1 l2 y+ s        }4 O. J; r, G  M' T( t; b; e
        int nPoint = 0;. I  L8 ^& f* E& x' Q( G) B+ ]7 ]
        if( m_nJob == JOB_MERCENARY )
( I) X. }- I- L2 R7 j- I' ?            nPoint += 40;. Q( }# J+ e0 r3 i
        else if( m_nJob == JOB_ACROBAT )3 e8 q* ^" u$ p( u! v6 y
            nPoint += 50;
- G8 d; J: P7 {) r: \0 b: P        else if( m_nJob == JOB_ASSIST )
! W0 v' c3 u0 ^/ A" \* v* |& m" U* e9 I            nPoint += 60;
. B9 Z' d/ h6 w. q3 b        else if( m_nJob == JOB_MAGICIAN )
; O2 C2 s( a' e% M" f0 L8 m4 }            nPoint += 90;
* N1 F$ s  p9 k1 ^* S. ^1 `* f        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
" |- Z0 y! o, V            nPoint += 120;5 V% m- }) e8 N0 R
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
' y8 }. {* l( V5 v            nPoint += 150;& K  w- r. K+ y. r
        else if( m_nJob ==  JOB_RINGMASTER )
/ Z8 y1 F1 {; ^, O            nPoint += 160;% o2 n& `7 g, J) H# [
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )6 t% l8 {/ S2 z8 X' o
            nPoint += 180;. Q: `+ [. @& [# F' ]
        else if( m_nJob ==  JOB_ELEMENTOR )
$ Z7 B' n2 g8 @/ x" Z            nPoint += 390;
) x/ l( P) F* B8 F        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )6 L- j6 T+ N$ I% C: e5 R1 j
            nPoint += 120;9 w$ ]5 s1 |, e" E- L9 s5 X
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
$ X6 y8 ^4 \) E( q: F( }            nPoint += 150;
( `+ y% a; W( X4 y        else if( nJob ==  JOB_FLORIST_HERO )
: K8 b. ~* v. ~+ t            nPoint += 160;
3 c6 k  B- {( d8 g! W        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )4 M" z& d9 p1 d
            nPoint += 180;
: k/ H' V) @4 f# o        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
7 x/ x9 K- d  {' t6 _8 B            nPoint += 390;
" [( J  `5 Y9 R
5 L( H0 n; R- w/ U# E        AddSkillPoint( nPoint );
0 K: O% K8 |. t8 x        m_nLevel = nLevel;
3 @4 D6 Z& H* E
6 A( L, G" f! Y7 i' r6 q; F: T        SetJobLevel( nLevel, nJob );2 R$ o/ E- R! }0 x: p
        m_nDeathLevel = nLevel;
" v, _6 b" z  W7 f' [7 ?#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans9 J5 k/ p9 F7 Y8 j3 R# V5 @
        if(IsMaster())
  l+ d% C. N1 i7 |+ Z3 V        {6 k' R7 Y. X; d( {, E! V
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1080 j3 B7 I% Q% @# z" X# f, U: ^
            if( nLevel > 59 && nLevel < 72 )3 F. {8 ]' v5 C% J* o0 k9 D  `5 s
                dwTmpSkLevel = 1;. V$ C9 x7 q" j) Y
            else if( nLevel > 71 && nLevel < 84 )
# \& o9 O1 n3 p2 m                dwTmpSkLevel = 2;
5 _( h6 M7 Z3 u: `5 U# j            else if( nLevel > 83 && nLevel < 96 )
( Z, t0 v0 P. Y                dwTmpSkLevel = 3;
' A# [& m7 m! N* i3 C            else if( nLevel > 95 && nLevel < 108 )
% M1 G" r) a$ a4 z7 C1 Q& z* ~                dwTmpSkLevel = 4;& n( u0 P- {( Y, }" k+ R; Z' W4 W
            else if( nLevel > 107 && nLevel < 120 )/ T2 V. W8 [0 B* a, I5 ]4 f
                dwTmpSkLevel = 5;. b4 f) c! x; S5 C9 o; A! l/ p
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) # ~( n' w8 H" {7 B# z
            {               
. y$ q2 }# G( S7 t' ?' N- f                LPSKILL lpSkill = &(m_aJobSkill);6 \* R+ L, b( L- J
                if( lpSkill && lpSkill->dwSkill != NULL_ID )8 g! p% o: s, n" A
                {
. m! @6 S' E' v: R                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
& A1 x" p3 X& q7 y2 i                    if( pSkillProp == NULL )* G2 N( \& C2 s% C3 I# M
                        continue;
1 x' B, D7 v) E( F0 K! Q( r                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 P( ~3 r* ]( N  H( `  [$ i
                        continue;
: q5 T% I4 J5 l- |/ e  u                    lpSkill->dwLevel = dwTmpSkLevel;# H9 Z! x/ O" E' Q# a
                }
/ W0 j4 A% j  O# g! t: r            }; q+ o. g1 h$ _' y% l- ^
        }
  o& a. G, f5 t        else if(IsHero())
- b" ?$ u" o: j        {9 i5 L7 v9 X1 q$ s
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* G4 P1 X* l& ^            {               
$ t% U" ?: \7 H                LPSKILL lpSkill = &(m_aJobSkill);
! k; U; |: B8 m6 _3 V0 `4 A7 o                if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ E1 A$ K7 D6 X1 s" K+ ~' Z0 f8 v0 J                {
: ^0 K; k  _- {2 v% E4 t+ w                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            * u+ j- o0 e# w  ^  J1 j
                    if( pSkillProp == NULL )' Y; b, B3 n+ \# \0 c
                        continue;
, J3 g! e1 k- K9 ], k( C! \                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)1 Y$ D# h" z) e* J# V
                        continue;
' M: l: |* @; _0 ]                    lpSkill->dwLevel = 5;9 E. c1 P% S+ B
                }
, C& f0 R- C) N" z            }
2 g. l. _6 K& |+ A( w        }
- a% f9 h, E' f# ~9 y4 o, m        else if(IsLegendHero())# J& O9 _& x3 u' K( R
        {
* n: f6 w; C5 k* W+ \  V% r            for( int i = 0; i < MAX_SKILL_JOB; i++ )
( j$ p9 k3 L; v! }- a            {                ( S1 B" ]; l) y- A  W* V- T0 N( O
                LPSKILL lpSkill = &(m_aJobSkill);
/ Y, s: ^2 c9 \7 X% h4 g                if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 ^8 e# F2 x- S! v0 C2 h% w6 D                {
. F+ d, h5 B) n3 L# D# ^                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ; p0 x& _+ G. L! `$ F
                    if( pSkillProp == NULL )+ m, v* s! |; E1 |2 G) r* W
                        continue;( m# e1 T+ c2 g; x, \
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)3 A5 I/ ~  X  ^2 p
                        continue;- k4 I2 f2 G7 H% b' h: r% P
                    lpSkill->dwLevel = 5;
; E+ u9 u7 B& b2 X$ U% m                }
! B% q# O: a) [$ }1 R5 M            }: V: b% n( x( V4 r
        }
4 c9 k0 R0 t5 K7 z+ }0 S$ d; J#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
; ^& I. r- n& ^" W  G1 ^( R        if( bGamma )
$ G7 _4 K6 G8 b: g( _8 R  c. R* p1 a        {7 M+ q3 j9 x  G9 j0 N
            m_nExp1 = 0;
$ ?) O8 m& D4 {  r$ `        }
0 O4 b! l/ Z; Y! }, s, F* ^' W" _$ q0 \% h. N
        ( (CUser*)this )->AddSetChangeJob( nJob );# f$ U1 j5 U* \5 ~
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
  W; q" t" C7 [8 |+ o) A; _9 f* U7 V; q# w1 N. \! ?/ h

" P# V2 I& \2 q0 w7 f, w, K#if __VER >= 11 // __SYS_PLAYER_DATA
3 C* M" z/ @0 {        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
. y3 z& b0 I' M3 O0 A#else    // __SYS_PLAYER_DATA0 Q% G" I7 @/ b1 N
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
+ j4 e5 k: v9 Z! U0 z! @        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
: m5 s9 z6 Y( V. q        if( m_idGuild != 0 ); e" |% z, A: P+ h
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );1 C( H1 p# I1 \) o" ?1 R0 @7 P
#endif    // __SYS_PLAYER_DATA
# a2 i  {. \, A, |- n: `        SetHitPoint( GetMaxHitPoint() );  d* @0 r) W  m4 Q: ^+ B
        SetManaPoint( GetMaxManaPoint() );% f$ Q4 i  c3 y5 Q
        SetFatiguePoint( GetMaxFatiguePoint() );
$ P: d5 x/ t) U% |        if( nJob >= 1 && nJob <= 4 )
# Q$ z9 N% e* O# t5 Q) {7 n        {9 i  |/ {: i; t  J9 f% i. H" R
            m_nStr = m_nSta = m_nDex = m_nInt = 15;, x7 @8 R+ V0 K6 X
            m_nRemainGP = 28;
- S% G7 N5 x% q) n        }9 Q$ H  h/ e3 y7 D
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! Z5 @4 V2 q/ o9 X+ U
        {4 a0 \# _6 a2 s; o$ c6 T& l% E
            m_nRemainGP = 118;
: J1 N- n7 u1 r3 Z            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;" H' J4 O6 [; V2 D7 T
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 I9 x$ {  C6 V" y1 Q! B) Y1 O        }
( }7 m3 h1 J/ e" y! k7 L6 k        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
* A) N( [% G7 V# n6 s2 H        {' e7 r* o: F, s/ q5 E  }
            CItemElem itemelem;
- _4 D0 h. S! M6 M5 g  {1 }            itemelem.m_nItemNum = 1;
) k7 p  D. e3 ?: p- X6 d$ w- p            itemelem.m_bCharged = TRUE;
1 S% H4 {. k5 I% F            BYTE nID;
- ~2 O2 w' h8 h% f+ O' W0 q9 N6 u0 {" ^
            if( nJob == JOB_MENTALIST_HERO )4 e) J0 l  y  G7 t
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;) L1 R0 w. e( E+ m
            if( nJob == JOB_FORCEMASTER_HERO )
' p+ F5 L' a! x6 e4 b+ h* F! |                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
: N9 e% m- b2 q) G+ D! C5 I$ t/ x3 Y  k; p/ X0 d3 Z, j( {
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
7 ]  S5 c% [, O9 M5 R        }
8 n7 k( z% r8 s1 _: Q3 \. Q        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );. e- f& U2 I1 e2 z
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
& @$ C' `1 v6 N        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );! N1 M" O$ \, U# k: y' a
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );1 p/ }& }4 P, Z2 `3 X" b1 Y7 w5 G
        ( (CUser*)this )->AddTaskBar();*/, o# X3 R4 a0 T8 x
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
  Q" Z8 a4 x8 O3 B; ^; ]) g+ l#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
( I' z3 v3 S, ~3 A        ((CUser*)this)->CheckHonorStat();
9 d' s& s. k$ N, A" {. F; F$ B        ((CUser*)this)->AddHonorListAck();
& S. c0 d, f5 K: x- @  w+ S        g_UserMng.AddHonorTitleChange( this, m_nHonor);
9 o0 a/ W. ^9 g6 H4 C#endif    // __HONORABLE_TITLE            // ′Tà?
5 b6 U! h+ v- \: x% f    }
# {- w+ j5 a9 @" X#endif // __WORLDSERVER3 w* i; a" Z9 c' g1 Z
}  
5 @% W" u# m) X! ?7 a% K
& T* v1 i- Z0 @1 a然后你进入functextcmd.cpp并添加以下$ \1 ^+ P2 }+ w$ O

5 J1 P4 Z" f+ v2 c代码:4 V, g, k  @, U+ c
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
8 N5 g* t; ^3 o下面插入
2 n& p5 J" a# M  l, y" \% K9 WON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
$ ], ~& g4 f, Y+ I* N- O! V. L* }7 I+ ~- p1 I, J
然后你去& s/ `: r6 J: \5 T3 A2 e- b- h+ e
9 f1 ]. a* ?' U) Y9 E
代码:4 W  l$ |+ F. _0 s) P3 R
代码  M  K3 I& r. c& D0 Y3 z
BOOL TextCmd_ClearPropose( CScanner & s )
7 I) N2 ~. h4 D3 Z{; h& Q# Q7 Z  _' L5 L( J8 S: n
#ifdef __WORLDSERVER
1 v& R! m$ i7 L; g& M1 W. {    CUser* pUser    = (CUser*)s.dwValue;
1 i) h! J& c) W/ P% v    g_dpDBClient.SendClearPropose();7 l2 Q% Y- L# j. I" I9 e
#endif    // __WORLDSERVER
6 `. F3 b5 X, f+ f    return TRUE;
! O# X: p. L9 A  Z$ f2 u, f" N}
1 u0 s+ [2 b, Z7 O( r; N% ?7 C下面插入
  I$ E2 H! i, I( X/ EBOOL TextCmd_rebirth( CScanner& scanner )
3 `; _1 w0 A* E, c, l, F5 A{2 c7 u& V2 s1 x2 I7 X8 H
#ifdef __WORLDSERVER! e9 R- W! X1 T
CUser *pUser;" N$ H8 \3 v8 G2 l2 ]  z9 A+ L
pUser = (CUser*)scanner.dwValue;! {6 g- m" I2 z" G) i+ m# B. k
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())/ A, ]. k, ~( Y) }1 Y$ x( m) p8 k
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);- j. F( y/ g. {2 U& y
else' y( p, F( D- ]6 [$ `
pUser->AddText("你还未达到重生条件!");, i6 U3 j4 c! \8 w: Q
#endif2 u# |- q5 O5 h% e- e. x9 a, Q
return TRUE;* @4 v. d) [, k+ ^4 `! M- w2 i
}  
4 E4 e+ C( U/ U& @  g5 K3 N: ], \( K  S
5 l$ c' S. o2 t6 a/ I; Y5 P2 i6 q

5 V& z- n' W, y3 R
6 Y! g0 d% N" Y; R




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