飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel4 \- K  e+ c) I, L# h, m
! h9 V3 i( m5 ?7 f7 Z+ b
Mover.h
+ n" j9 ~" {# T) H( O! g! j代码:
6 F5 y6 [, Q9 O/ _' p找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
( e1 ~2 a4 d3 _6 I( v
# L3 M4 A6 |* z* ]  ?下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  ) s8 o$ k. |$ Y$ H' y5 D

1 W( [* U3 S' i8 B' w然后你去mover.cpp添加
, f! O; ^) G0 c+ X2 \7 a
5 h( _' w+ I1 g# n7 n& i) G4 M代码:" H; u; H* ]5 K: m
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )8 P9 Z) Z+ `# ~9 D5 @# n/ |
{
5 f* K# r# \* d0 L& w  y#ifdef __WORLDSERVER
5 j+ A, v- c4 m9 j    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
* W' b  ~3 B1 G6 x' F+ m    MoverProp* pProp = GetProp();( F# I5 b/ `( C  G: o) Y
    if( pProp )/ J4 P. G8 ^5 V, u+ a5 ~, q6 |
    {
% Y0 \$ ?7 m! c* s, H' t# X* S        if( nJob > 0 && nJob < MAX_LEGEND_HERO )0 J( K; f; j6 R8 Y7 L. h' R' O8 i# v
        {5 W( {5 x+ M) r! v8 X4 s" Y
            AddChangeJob( nJob );
  ^" Q6 z# g$ }( h% t        }else{
) B" [+ k2 P0 D' [! @0 [7 B1 A            return;/ O' h4 W* u& O; F  a" c
        }
! J& Q2 @6 n' p0 f, A. D9 n/ _! V        int nPoint = 0;
- x$ p; d6 r3 ?: Y6 `. w$ x9 ?        if( m_nJob == JOB_MERCENARY )" x  m- U3 i7 |8 v
            nPoint += 40;) R2 ^. p  k5 N, R  k* ?- t
        else if( m_nJob == JOB_ACROBAT )( G9 v2 e. m! D2 E" U6 R: T8 k8 w& }, b
            nPoint += 50;' e+ o/ R! h/ d1 t! Q/ s) n% ~; f
        else if( m_nJob == JOB_ASSIST )
0 _; e5 ~7 r4 b7 ]5 E2 B! y/ L            nPoint += 60;
* q2 c, C2 X$ n) @# r' k        else if( m_nJob == JOB_MAGICIAN )4 r- z) X: c4 k* Q! Q. r
            nPoint += 90;# f: n2 ]: J* ^, B; x- `: r
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
/ b  m% u  J& n            nPoint += 120;
9 U2 a8 S! M3 P8 v: k/ ^# t        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )7 h5 Z+ O$ k  P3 p7 p( S
            nPoint += 150;
* j, `4 O# e8 o& U; {        else if( m_nJob ==  JOB_RINGMASTER )1 }* {0 ~3 y; A- B- l" a
            nPoint += 160;# p" H! J4 i5 E1 ^; K+ X
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )1 }4 m- R3 l8 m4 ~
            nPoint += 180;
# |" n, ?. T* k* ~: K. v, x        else if( m_nJob ==  JOB_ELEMENTOR )
6 I9 V& w. u- J' i/ F% ?            nPoint += 390;
2 `& V! Z: f* @; b) {        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
# g2 a- Q% K8 x            nPoint += 120;
  q* ]4 ^4 a7 K: ^        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )3 d! c+ B! F) w& n# p; M( v
            nPoint += 150;4 {0 d7 i  t1 e3 o' e* G+ y' h2 U
        else if( nJob ==  JOB_FLORIST_HERO )1 G7 A6 s" c. a' B0 f% B3 ?) U. k
            nPoint += 160;
4 ^" C1 o  p" L2 N3 c        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
, P5 O+ O; ^: }4 T4 y            nPoint += 180;
3 \) u, T" U. C/ d" g' x1 y) G8 X        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
9 w) n- J  Q7 G6 \, w6 m8 s            nPoint += 390;9 y2 @" ]9 A# ^% n4 j: R
: c$ u6 }# _5 w1 P
        AddSkillPoint( nPoint );
6 i3 ^5 [/ O3 {6 M( q        m_nLevel = nLevel;8 @$ {1 L! D: X$ T2 N" D

- ^: H2 o$ T* ]; e# {* n3 B        SetJobLevel( nLevel, nJob );
# R, }0 \# \, C+ ~8 H- }        m_nDeathLevel = nLevel;
9 @3 C+ l8 H- y7 Z! x0 U6 M#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans- Q8 k" v% [( h( c+ ]
        if(IsMaster())
5 e% m; q. w/ H& }; h        {
% d) n4 J, \0 N+ ~, B/ D7 q            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
# a2 M' K/ G6 ]0 B            if( nLevel > 59 && nLevel < 72 )0 Y6 y9 K! M0 N* R# `' R
                dwTmpSkLevel = 1;- m. H+ u) K0 M6 D# s/ N2 D" X7 D
            else if( nLevel > 71 && nLevel < 84 )
* d# S$ I$ V8 \                dwTmpSkLevel = 2;
3 G/ I) r; \8 c6 a5 M            else if( nLevel > 83 && nLevel < 96 )
; n$ d7 O# u+ T* J0 d                dwTmpSkLevel = 3;# c8 @" e7 V/ B! }" ~  E" g
            else if( nLevel > 95 && nLevel < 108 )
! I/ n" Y0 r5 m- L( U- [/ H1 u  j7 r2 P                dwTmpSkLevel = 4;& U' O! ]. q- s, K& C
            else if( nLevel > 107 && nLevel < 120 )
; {: n8 g4 G- S7 `) }                dwTmpSkLevel = 5;
4 w" B5 v# b& l- `) h! P            for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 t& N6 y7 K/ h5 ^6 a            {                , ~* O7 K) n8 @
                LPSKILL lpSkill = &(m_aJobSkill);
# d1 Z% C. Q* g6 G' d# H                if( lpSkill && lpSkill->dwSkill != NULL_ID )8 k6 R4 f/ Z% U1 ]: J
                {
; W# Y2 A1 Y, T7 E% o) Z0 D& L                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 N4 i$ F8 B% O1 @! h- K                    if( pSkillProp == NULL )
, O: ?. I- Z4 v                        continue;; |0 S7 a' A3 k- F0 E
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ ^5 Z  I2 i% U/ q$ V                        continue;
  f7 N: ?  A3 u  U( a0 B                    lpSkill->dwLevel = dwTmpSkLevel;
/ B, E; _- g6 _, g7 n( K                }7 \! d  c1 D& ?9 {7 v% Y6 x/ s
            }% ^- J- v) a! g' `' s
        }
1 G" d' P3 D0 x7 R' D: N4 r        else if(IsHero())
1 c8 }. t* |1 s( @* f        {/ a4 B3 p# ]$ T+ A  r9 Y8 H
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 y$ G' `! ?: V            {                / ?8 h" j% Y# a( O
                LPSKILL lpSkill = &(m_aJobSkill);
- G4 f3 M% a$ u0 c, Z1 Q4 R                if( lpSkill && lpSkill->dwSkill != NULL_ID )$ v' O/ y' h, B6 V/ @- O# T
                {
' m6 l( C  G/ r6 @% y; R4 f                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
* q7 z3 e8 Y2 y/ E, v4 x                    if( pSkillProp == NULL )
9 s7 h8 v0 z* ^; L$ l% W+ Z                        continue;  L% j. {  x2 D
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)0 f% ^' [- Y# H  `$ O9 c
                        continue;* `  Y- r2 Y4 r2 t0 j) F2 \
                    lpSkill->dwLevel = 5;
) s) B3 H/ k! H; F                }
+ P/ \: z* @- D: C' i1 ?            }
0 G7 R0 `4 [9 c4 a3 ~  S        }
& |" \: |4 q; b5 u        else if(IsLegendHero())
- l9 Y( h7 c: E3 e8 [        {" l, k" w4 g& H5 F
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 q% x7 K# c6 d+ v1 c& g            {                / r% a! w! F! ?8 m  s- _
                LPSKILL lpSkill = &(m_aJobSkill);& j/ {$ Y8 t# Q5 P+ x
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
) l0 P" Y# T' M2 S$ T- F; \6 _                {
0 h' O3 N+ Q2 l' M                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ( ?4 B# [9 W  i: f. l" I2 S7 |
                    if( pSkillProp == NULL )$ \& r; Q% J  U) w- a, Y& |
                        continue;
, ^' J8 N' N1 u4 ]0 V; O8 O2 N. b                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& |7 u6 t5 n. E8 N
                        continue;+ C/ z+ ], O. E
                    lpSkill->dwLevel = 5;# f3 X" j5 f, z/ m2 X% U
                }
* d4 C: l8 N! f8 c; ^/ E            }
& w. c/ d/ g3 K' n        }- x9 N: H; L/ p& h# `
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
  Q0 u4 l% R6 [        if( bGamma )
, h' l- B2 \& H/ y' n" @        {
' H7 F. x+ T  v! R/ n9 ?! C. E$ z            m_nExp1 = 0;6 S: H6 b, T) {3 K% [' y" B' t) S
        }
$ F. O* g. k2 W) a1 G% V1 N, O( \* [! T& |, M1 [# |1 ?( d, d. Y
        ( (CUser*)this )->AddSetChangeJob( nJob );
; I3 B: m% K% T4 l" c+ h        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );3 Y+ u# X6 E: g  P- y

$ t4 K3 N6 _! p1 {1 g3 M& l
* i) }! u. U" S0 s#if __VER >= 11 // __SYS_PLAYER_DATA
$ X: V/ `, F2 M$ i% h! c        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );' R) f9 `: |, s$ V6 s3 y
#else    // __SYS_PLAYER_DATA
) K+ m& l/ n' X, }: _* K        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );3 m1 P3 u2 N  {/ v1 q' p
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
( |) q5 ~( D: i4 g        if( m_idGuild != 0 )& v; I! \. E7 c/ h, ~
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );& t9 e6 j* C# a, y
#endif    // __SYS_PLAYER_DATA
+ y2 H: X! m) B        SetHitPoint( GetMaxHitPoint() );
: N$ y& t( O# K5 j8 l        SetManaPoint( GetMaxManaPoint() );: L% u( J% e4 G+ l3 ]' o; J. r
        SetFatiguePoint( GetMaxFatiguePoint() );% f* [, s9 `$ V; _
        if( nJob >= 1 && nJob <= 4 )
. D( Z( G  w$ S) Z        {
* H9 w5 p; o( S" B' o4 H            m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 j6 e  D0 d7 w) x' W            m_nRemainGP = 28;
" W$ _4 ]  q! b) g! R% `8 H        }
1 R+ A& K+ ~. E        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )0 `# n( M! y& N; [3 ~2 z
        {8 z+ Q. A) r$ P
            m_nRemainGP = 118;  p/ y  p" v8 N/ Q$ d
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;% u! y9 y" q1 j9 E- m
            m_nStr = m_nSta = m_nDex = m_nInt = 15;7 O* S& e. D; P1 N- j1 [1 G$ e
        }& j4 E$ [! k7 ~/ T
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )* g* @4 a& {! @) F; m; f
        {$ {- W- k8 E) ~5 a+ u: U( K7 A+ X2 R
            CItemElem itemelem;5 |7 E" I% b$ d6 i2 x# ~7 i
            itemelem.m_nItemNum = 1;& r, i# N5 A7 t9 y$ A
            itemelem.m_bCharged = TRUE;
$ [: h5 v( Y# V( J, q) ~% @            BYTE nID;
7 p9 b( P6 |" L$ H9 d' B9 d- ~) P0 I7 M, S2 v' C; Q6 ^3 s& b
            if( nJob == JOB_MENTALIST_HERO )
8 d1 Q6 @4 {& {# f* e9 Q' a' E                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
4 f# {" U  \5 g& o5 ~6 t' u9 D            if( nJob == JOB_FORCEMASTER_HERO )
" N; F. |# x: @7 S# Y4 s: ~                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;/ E( k) D7 ?/ G" k
8 L; `7 a0 R6 T( ?% h1 [  V) T8 s/ u
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );0 J& g; `0 T: d: e8 O! s# P
        }$ u! a! h& h0 h
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! X6 `: H5 C2 N7 z) H        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: ]  q/ t5 ~5 o/ g        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );3 g! W$ a* M) u, c4 |
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
2 ?; E; a4 L5 m/ h) l        ( (CUser*)this )->AddTaskBar();*/
+ ]/ w; O% h0 ^# d- n$ H        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
6 p' K, ?7 a8 f/ p* M#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?  {  L1 k/ `) E6 `. q
        ((CUser*)this)->CheckHonorStat();
4 H* b. X5 c3 g" F. B0 v0 L        ((CUser*)this)->AddHonorListAck();" u3 K$ x. X4 V
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
4 P! L5 s9 \! W2 y+ L" ~& T#endif    // __HONORABLE_TITLE            // ′Tà?5 U6 h; h4 W2 J4 S7 H8 {
    }* J5 x: @  m3 P5 Q+ d
#endif // __WORLDSERVER
5 U+ j8 _  G3 h$ ^% n* i, }}  
% o& I; d7 X2 W9 e5 r! s8 {" k0 T. K, y+ c% G
然后你进入functextcmd.cpp并添加以下4 a* [* Q3 M! W6 Q! K
1 h0 u6 U* a& N% k' X
代码:
, j: G+ W% J3 L0 H- `! VON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
+ i0 L  H  v% T3 g) D  B2 `1 j下面插入
/ t/ N6 Q, }. @8 {- ]: q  QON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
; A/ b$ F9 p* T, Y6 P9 G  Y: Y) Z5 J4 R: `+ [
然后你去
4 y% d  j2 Q) y
  y$ _7 M" {0 f' C代码:1 G+ S4 c0 v2 r* N; |
代码" F* m. K0 K$ n3 {6 Z) k
BOOL TextCmd_ClearPropose( CScanner & s )7 U9 i, q8 t0 C2 E: q. C
{
  n. H; ~1 w0 S  X0 W#ifdef __WORLDSERVER, @  y- {! |1 e" W. c0 q& N3 a
    CUser* pUser    = (CUser*)s.dwValue;5 k8 j! K) a3 E& d5 C
    g_dpDBClient.SendClearPropose();
9 d0 u* ^+ M0 i# n#endif    // __WORLDSERVER5 p9 |4 B2 ?, C6 M
    return TRUE;9 P9 k& r, q) H+ S# k6 f7 h7 j/ `
}
/ v0 W: F' ~9 q& _0 n' Y- G# I下面插入
# V) U+ c2 z* i" |& tBOOL TextCmd_rebirth( CScanner& scanner )" ^2 z4 o3 x% D0 c) M$ u# a
{* `/ ^2 ?8 y5 a* F! [& c
#ifdef __WORLDSERVER
( P- n2 b+ V: A% j  S! F; @CUser *pUser;; l1 ]; S: C" N3 P9 u
pUser = (CUser*)scanner.dwValue;
( ?' w4 p& C$ Oif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())  a& n& c' @2 |& u5 J9 g2 k9 q
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);2 T0 _: T4 [+ J+ H
else7 H: e8 v, {+ I/ V
pUser->AddText("你还未达到重生条件!");
+ y( ]3 ]- R; b0 L  f; L#endif( T* K, T" E& G% m' ]
return TRUE;
3 B- ~% n5 ~$ y' h* Y! Y}  & F3 w: c+ ^7 u7 ~* H3 T
4 t2 u5 F+ k' w' J( j

9 u: ^+ G; r( l9 S6 ?  Z, C/ M4 e' Z2 _- A3 A; P3 d

' |- P$ W! _* {8 ~, O  u, v




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