飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
6 y1 b# c& B4 X" d2 q: b" o" _/ ~( ~: z. |- K. {
Mover.h- ^& B' V4 N, E. l& n
代码:
7 f8 p# R- W! \找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
2 c: i9 M' ?7 O$ x" P" S# T$ s: V) c/ B  C
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  ! V7 h' m2 |2 {" e

3 z$ p. y( b- p" ?0 k! J8 a然后你去mover.cpp添加
4 A; W8 q) a5 N3 M: h6 d7 p; M5 y. g8 N* g- f. g
代码:
+ |( T- {( I4 ]% mvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
: V3 p5 [/ ^2 N9 p$ _4 @{
; E, d0 g! A/ z0 p' L. J7 |#ifdef __WORLDSERVER
& R) }$ T7 p3 C# ^5 w3 k7 E( z, S. J    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó& }9 Q) p+ _  |0 E- y2 U2 r
    MoverProp* pProp = GetProp();, _# o: D9 {& R: ^
    if( pProp )9 O2 h  ?- K0 ^( ~$ w2 U- g
    {
8 i6 `5 p" |5 J; Q1 [        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( N, P9 ]+ y0 {9 J        {
; r/ o  S, l$ [  n* m! i; T& w  V            AddChangeJob( nJob );+ H' M- _0 G0 y2 g& S
        }else{, n+ u7 s1 c( U
            return;' j$ j2 i; j- D$ J
        }
5 ]+ \; ~7 J4 I; \' i; _        int nPoint = 0;6 O$ J6 X1 c* ?0 x. d
        if( m_nJob == JOB_MERCENARY )
! G" w: v, D- X            nPoint += 40;" d. B, E5 G  d8 ?4 p
        else if( m_nJob == JOB_ACROBAT )
. @2 Z) c8 U# b. t! T- V0 j            nPoint += 50;! Z2 u/ L- t: V' D. _4 D! B6 d
        else if( m_nJob == JOB_ASSIST )
$ K& @/ U3 ^6 L2 r6 X            nPoint += 60;0 [) j" T- T% E5 _) `% `1 @# o
        else if( m_nJob == JOB_MAGICIAN )7 Y' `6 H% p) h  e. u
            nPoint += 90;9 t8 ]6 V% M* w7 @1 j/ I6 i5 U0 x5 {
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )% Q6 ?  K- [* m& m% i- m# F  A9 \* L% J2 k
            nPoint += 120;) X" I) D5 c! k% U1 ^- ]# s
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )$ w+ i6 j' ~: C7 t) [- w+ U7 j7 g
            nPoint += 150;
. V, f8 Y1 r" A" a8 w, }        else if( m_nJob ==  JOB_RINGMASTER )4 V: L6 H+ A- n+ ]6 G1 w% x: T. M
            nPoint += 160;. H: b; C0 ]$ b) Z
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )5 x+ l- z, F' _# B# `) P& g
            nPoint += 180;
( T) A) N' x4 n) k4 N7 g        else if( m_nJob ==  JOB_ELEMENTOR )7 J/ }6 Q# W: a
            nPoint += 390;
* x* p: _9 Q; l+ \, [- Y5 \. l        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
$ e1 C- T# Q5 Y8 r- U7 W4 G            nPoint += 120;
- U" \7 h, a% x  X9 L        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
6 S, @2 R: E/ h6 x            nPoint += 150;
8 T5 s2 A+ J" B" S& W: `6 g! S        else if( nJob ==  JOB_FLORIST_HERO )8 B& Z% J  N/ c2 B  a% \- i: R
            nPoint += 160;  C1 i4 n# M; Q) v
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )' l) `8 X- L0 g' n
            nPoint += 180;
( P7 F1 B: q4 m        else if( nJob ==  JOB_ELEMENTORLORD_HERO )% A! u1 X. m% Q3 p) b. ?& c9 w
            nPoint += 390;/ a; @& e& l* B% b( C
3 C2 L* M: C9 ?0 d( U
        AddSkillPoint( nPoint );
4 \2 x- m) r2 i, X+ w1 Y        m_nLevel = nLevel;$ ^# d& t! j( T- t& C. ~
& w2 y. W1 X4 m; x
        SetJobLevel( nLevel, nJob );
! F) h( y  }) T3 F        m_nDeathLevel = nLevel;4 [, s2 P: V/ }, K' p5 |
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans: [- H& D/ t1 U# X
        if(IsMaster())- G; Q/ q; g! Z! x2 I$ m" `9 m0 S
        {
- j" ]2 \  q1 {            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108# `( G; W  t! \  Q
            if( nLevel > 59 && nLevel < 72 )0 z8 C3 O9 V, R# B- ]
                dwTmpSkLevel = 1;. o1 o+ W" K6 l) v0 H& S
            else if( nLevel > 71 && nLevel < 84 )3 ?* W7 P1 l8 n6 F
                dwTmpSkLevel = 2;. A, I7 s' y, [( H
            else if( nLevel > 83 && nLevel < 96 )( v3 p) S- M4 [: Z
                dwTmpSkLevel = 3;
$ T/ `/ n& B* u1 ^! R            else if( nLevel > 95 && nLevel < 108 )
( |/ K- k: k7 j8 p4 K; c2 S                dwTmpSkLevel = 4;
( f+ w! R' z% o  D/ c            else if( nLevel > 107 && nLevel < 120 )
  ^' p, B8 Q8 ^! r                dwTmpSkLevel = 5;! ?3 S) Z+ y9 d* @, l5 p- [3 f  ?& B
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / v' A0 j4 }& c3 q( E- T* }8 D4 ^
            {                5 y3 M. K1 z# M1 ]4 u
                LPSKILL lpSkill = &(m_aJobSkill);/ i! y8 R' ?) L9 R0 S
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
) n" t/ |' B7 }* _7 u. ]+ U: y                {/ e& U; C, l! V; o2 H  _
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            % [, `3 J& I+ p6 m; U. A
                    if( pSkillProp == NULL )
2 y$ J! Q3 L3 D. `" G" `                        continue;& g9 K* l! {! v/ v
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)! ^) |( p1 {. a: M; a% h. g
                        continue;
0 i5 |1 u% N8 ^7 r                    lpSkill->dwLevel = dwTmpSkLevel;
2 I  I, D1 l8 r, i% G9 g% J                }4 @# k* Y  E) [- Q7 K
            }
; i, \  Y9 s0 F% c& r8 ~+ |2 o        }
& o  A3 t8 Z% K        else if(IsHero())
( P" b! M% y. a9 S        {( G/ g  w8 o* p, b* E9 D, T
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) : }6 q" K9 i$ O+ e
            {               
  @8 F; l2 H3 x5 T: @                LPSKILL lpSkill = &(m_aJobSkill);, W8 w. R/ D, [9 U8 F( P2 C) X3 b* T
                if( lpSkill && lpSkill->dwSkill != NULL_ID )0 J+ z9 \7 a/ X, @1 b
                {
" _4 Q" j+ E( o- q: ]" h                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
4 L- T# C& X# q; l: ^8 t                    if( pSkillProp == NULL )
8 }$ }! s! u: _% E                        continue;
" g; e3 e( m. v1 d# O9 b" n5 M" m                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 i. j6 w6 A* r& s4 f                        continue;
5 l- R3 b1 e# v; M                    lpSkill->dwLevel = 5;: m/ Z* d: A8 R2 h4 v+ d4 G9 F9 r
                }/ d+ ^5 S% e+ G. E1 Q. W" d% ^$ i! |
            }: B1 Q/ ~4 d, n# `3 O3 J5 f: m5 l% x
        }/ O  j( s5 S9 ~
        else if(IsLegendHero())
5 [! g2 R# R' v' B        {
. F4 T& C9 n( K1 J5 r$ ]            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* s# Z8 _  j, X            {                7 f  {, @( q1 E4 {# x% f8 D% t
                LPSKILL lpSkill = &(m_aJobSkill);# ^  U7 R" l/ p  d
                if( lpSkill && lpSkill->dwSkill != NULL_ID )) l+ j% g( B& X
                {- W/ R* ^) N+ s& w  C) x8 m1 T& \$ G
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ' k' ]# `; Q0 N/ ^
                    if( pSkillProp == NULL ): G& D- X! _$ _. d* P
                        continue;
' ]( F' {9 u# _( @                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 M( i; R" v( U' R2 r' E7 X) C                        continue;9 P1 O" z( C9 N6 J
                    lpSkill->dwLevel = 5;( j' K0 K$ A% @; U5 w. |
                }
4 D7 t: d1 b4 P9 u8 j$ x            }
1 C" m2 @$ C, s* ~# M        }6 E6 p7 K" X0 t1 L0 J% `
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans1 Q5 q$ ~( ^7 O/ _9 W
        if( bGamma )
5 u/ X" U1 h8 [        {+ |3 h0 j: \, Q0 m# E/ \0 A( y( w
            m_nExp1 = 0;
! a% H0 X0 L: s; p% y' ~        }
* p: n6 \0 C: y3 O0 ~4 q9 q% k" w, [! Q0 x6 s( X
        ( (CUser*)this )->AddSetChangeJob( nJob );
$ C/ G# U6 L  d1 O8 {, x& @, P3 z        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );3 S/ w) T* M; y3 i; i# K7 A/ B- I  u

  s) n$ h( z$ s- E" E. J6 `  G) N4 x- F
#if __VER >= 11 // __SYS_PLAYER_DATA- w* F. H' x8 ~2 v7 N3 \
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
( V& ^1 ~. q& ?. R0 n( M6 M* ]2 W#else    // __SYS_PLAYER_DATA
7 j' Y2 l- g. q7 u  \* y        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );0 }' C9 j* B& H* ]$ w
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
8 b2 m% S# v9 m        if( m_idGuild != 0 )
7 w9 L& C2 T7 H1 o+ z  T3 {( x            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );& j* i# ]8 k/ J' S6 E& `
#endif    // __SYS_PLAYER_DATA4 b8 l) |) ?) K! q: o* }  D
        SetHitPoint( GetMaxHitPoint() );
9 ], F  l4 d* v1 t& E        SetManaPoint( GetMaxManaPoint() );
  k. f" t1 T* A- \        SetFatiguePoint( GetMaxFatiguePoint() );
& R6 q" A7 N% k2 P7 c        if( nJob >= 1 && nJob <= 4 )
+ t( u5 r# ?1 C) f- F# m        {
# d) J# N* G& I8 h            m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 P( Q' B1 L8 E6 |( i            m_nRemainGP = 28;( v3 j  h" {/ j" T
        }; k/ c. g. e3 s1 h/ k  @
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
1 t0 n6 z2 ]3 U& Q8 S- f        {% L4 n% S0 |" a; Z  v
            m_nRemainGP = 118;( _! R( v& A9 V
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;: \  n) H" N& w+ ?8 I' y
            m_nStr = m_nSta = m_nDex = m_nInt = 15;3 E0 H; X1 c) C; ^, A/ P/ Y
        }
8 j! f5 ~9 P- Z( F, V; C6 M2 C- m) C        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
3 _( p- p+ J$ }$ X4 b; r) |) g1 x        {# T# ?. C% H: n
            CItemElem itemelem;
/ B, y' I$ B0 \            itemelem.m_nItemNum = 1;
! x" {- y8 B( A# V            itemelem.m_bCharged = TRUE;: Z% J) X1 I0 B* o
            BYTE nID;# g+ h% n. ?0 m5 T, b  i

# {0 X, A$ N! ?! h3 z$ U            if( nJob == JOB_MENTALIST_HERO )/ U2 W7 p: D& i' l9 I6 {
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;# t3 U+ J. a$ Z! T( o8 K9 I3 f
            if( nJob == JOB_FORCEMASTER_HERO )) I4 Y4 z" m1 P
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
. _0 @% e4 z  L4 p4 @
) D$ a) P9 r- S7 v4 U: p            ( ( CUser*)this)->CreateItem( &itemelem, &nID );% P, F+ T6 M& Y8 k1 d) ^& \6 w+ d: S) `
        }5 d6 p3 B6 X% u, \$ \$ H
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
8 m: o. {. C( i6 d5 I  E$ p6 @        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );, P1 x0 x& p8 M+ C9 D8 ?
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );6 g' j$ ]7 j* ^
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );& v" O* k8 p2 n2 A' s
        ( (CUser*)this )->AddTaskBar();*/
. X9 J/ \6 p( g9 G5 U# F        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );  {- O  a% T1 n4 n. U
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?2 |3 V; l6 t2 }/ q. Q  B+ g/ B
        ((CUser*)this)->CheckHonorStat();
# t/ }" g, X- Y; a/ r+ q. ^        ((CUser*)this)->AddHonorListAck();
& ?* _( Z0 H& N! z2 @/ O, r9 T' k5 F        g_UserMng.AddHonorTitleChange( this, m_nHonor);2 D6 P! S+ Q% N7 b, Y
#endif    // __HONORABLE_TITLE            // ′Tà?& P  K" S- f% k) I
    }- u% _, Z6 X2 _
#endif // __WORLDSERVER1 q6 G* w! K( Y; X1 w$ `8 \
}  " I1 o* N/ T. M
1 z" u) w2 V. b3 U9 b
然后你进入functextcmd.cpp并添加以下/ n9 r# S/ T5 E( a4 b6 f% I9 `5 j

4 x0 v& Z5 u! u: K+ O" b" g代码:
( K+ C& v3 `, l- ?  qON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ). V8 C' D5 l7 d0 b  x
下面插入
9 B- A3 C# Y# X: j' ^8 P; R* z, v5 pON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  $ P2 d0 I1 q. M: Z8 g/ k0 A/ {

& n. B9 f; _9 e( [. L2 h: [/ k$ c然后你去
; M" e; o' ]; f# d9 N7 k
* D& J$ l: a+ d. L: \5 M1 y$ F代码:
, s' z! O* P* Q9 b+ m7 P代码. }' w& H" t% k" |8 K* \
BOOL TextCmd_ClearPropose( CScanner & s )
0 o4 j0 u, q  o# ~{
, [1 A, k  P% G1 N% z#ifdef __WORLDSERVER
6 W7 ?1 r5 S: N; e  h    CUser* pUser    = (CUser*)s.dwValue;! n5 s2 d0 K1 {7 `9 _0 K( e/ A/ N; o
    g_dpDBClient.SendClearPropose();
3 Y3 f# i) N$ L/ R0 K" G#endif    // __WORLDSERVER
1 H. Q3 m- e; K. k" a    return TRUE;; A$ `1 o  r' t5 Q
}$ d: W- [$ `: @) m% H$ K
下面插入) Y/ {# T7 n# {, @1 ?
BOOL TextCmd_rebirth( CScanner& scanner )- D% g2 R# H+ @0 V+ i
{
2 t- k( A' {, C4 V5 U#ifdef __WORLDSERVER( d  p0 z. a# i1 p# m- P8 ~
CUser *pUser;
& P+ |5 z2 K& @% z% u/ g, C6 ypUser = (CUser*)scanner.dwValue;6 B6 f% S3 M3 s3 _- k' i8 z+ E: E
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())7 Y1 C8 o! n; S0 O1 L" Z! U7 V+ b
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
5 i, o4 i) X! W) w- Gelse- R' k& U( c) y# @8 T9 X
pUser->AddText("你还未达到重生条件!");
5 O( p: n7 ~$ D* M$ `& P% u#endif
; B, l; x, B7 V6 i1 g1 Breturn TRUE;$ ?) k! t# K1 B
}  8 T! s- o8 u1 y& T

- _# j& I3 P+ v. P- Y3 ^, |1 q$ J6 l+ @! T% [# m2 A; @

; z3 E$ z! D% Y* p4 Z; B5 `# n  Q( F8 }





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