飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
! z% n. M8 L- o, Z% R% K: x1 y2 p! J6 e( @/ R: r
Mover.h
$ {. F: S' D" z" ]" D4 I$ K代码:
! y) T; T& f# O找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü' k. c- @6 o' G! I; w2 s

: d3 M/ S4 s/ R" Z下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  % p+ F! G& r( x
' Z5 l* \, W+ b/ p# o- O
然后你去mover.cpp添加
" C+ ?! b, G! Z
7 x! F5 s8 z3 _! A/ M! n代码:
3 v7 I/ J7 R/ i8 e/ x  E6 O+ [void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )  O4 d4 }8 }) \* t. t) O
{
1 @# h3 K* ]/ B& _4 v8 Z#ifdef __WORLDSERVER4 ^5 G2 q9 ?, m" R, s4 t/ e! V3 S. C
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó5 ~+ R" ^+ v4 l. E5 T0 R; S
    MoverProp* pProp = GetProp();
6 o: G. P/ a9 r/ z2 b7 L5 ^    if( pProp )9 q5 N+ y) M  G' j
    {
" x3 Z1 R( S6 p% W% U' N# z8 A        if( nJob > 0 && nJob < MAX_LEGEND_HERO )5 E9 o& \+ C; P0 g' c. }% ~) R
        {/ Z7 w$ k' P( P: E0 c9 m
            AddChangeJob( nJob );
. I, I. j8 ^4 P, e        }else{# F8 U* H8 I* v" r# t$ ?
            return;0 a1 k9 R" B+ ?2 {4 _- ^
        }8 X. e3 G0 H& @# r1 R' h9 C
        int nPoint = 0;
: M, b8 ?9 Q2 u2 v        if( m_nJob == JOB_MERCENARY )
  d, ~6 [, t8 j( Z            nPoint += 40;
" {; ?0 k3 M8 W( O1 X* ~: a        else if( m_nJob == JOB_ACROBAT )
1 ^8 ]5 K1 {/ |            nPoint += 50;$ q3 o% g3 |& a1 @' I
        else if( m_nJob == JOB_ASSIST )
5 W* i- i5 |0 U6 v4 |            nPoint += 60;& s, z2 u1 D8 J9 l4 C+ v
        else if( m_nJob == JOB_MAGICIAN )
3 O" ~3 J4 y) d( n5 ^( S            nPoint += 90;
. X9 I$ B# a6 ^3 {3 ?1 F& T        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
# ]  [- B6 h2 x* R3 g1 l            nPoint += 120;
# ?' ?0 h5 u  ^' g$ n        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )$ Y6 y; H$ K' ?* J9 C/ @( P7 r
            nPoint += 150;
9 X$ R/ I0 V% ~( H        else if( m_nJob ==  JOB_RINGMASTER )
# T( i2 ~$ ~' s" {) O; s9 `& G/ v            nPoint += 160;
: X# K$ n' z' |1 |7 x+ h+ J        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )) o6 b2 f# ]# p  X& D
            nPoint += 180;: Y! p7 A3 m+ s# p
        else if( m_nJob ==  JOB_ELEMENTOR )& S4 ]+ K: G$ {0 D$ K
            nPoint += 390;: K( i5 b( e9 r9 @( `( Q: g# E
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )  K! m5 W' w9 u. V
            nPoint += 120;$ \. E" a, j& }) S" N3 W6 |5 X
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )8 p2 R$ \( m' z2 _% C: s
            nPoint += 150;3 p& H8 d  f+ f- }5 v, K' X) U
        else if( nJob ==  JOB_FLORIST_HERO )
9 y7 d& ~* a& ~8 B+ V            nPoint += 160;; j$ |+ C$ p% w9 G
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
2 f# f+ e4 ?' S+ s            nPoint += 180;
( ~9 L* |9 O3 I' ^9 P        else if( nJob ==  JOB_ELEMENTORLORD_HERO )0 p. [) ?  X% V6 C1 p3 `; E! \
            nPoint += 390;
  T: e5 z' J6 f2 H: T2 u) g5 C7 v$ W+ H
        AddSkillPoint( nPoint );
) j" G0 r9 i0 i/ D0 `0 ]: ?        m_nLevel = nLevel;
* D+ Y  N3 v( {4 n# t
$ c9 H  W. t+ I        SetJobLevel( nLevel, nJob );, I" F5 e, L0 o, l$ _& V9 c
        m_nDeathLevel = nLevel;7 M" G3 e* A4 f; p( V
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
% p9 Z% U1 ~% Y% o. R5 W5 C        if(IsMaster())
& M3 L; N. D, @) g        {
/ c! c5 _1 ]" ^. g            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
5 k0 d1 e3 ]1 M* M+ ]- y# T            if( nLevel > 59 && nLevel < 72 )
0 H; u, ]' x, b! L/ z3 `                dwTmpSkLevel = 1;- A" m( _5 Z2 I% M
            else if( nLevel > 71 && nLevel < 84 )
( S/ s, y( i' x  [" t$ j5 o                dwTmpSkLevel = 2;/ o- B9 L, S/ T% p/ A
            else if( nLevel > 83 && nLevel < 96 )
0 K6 l& J' h$ @: ^! ]  R2 P                dwTmpSkLevel = 3;
7 {% X0 g4 l, y9 a$ |& |. ?1 p            else if( nLevel > 95 && nLevel < 108 )/ A3 S3 X- ?3 Q9 E- [
                dwTmpSkLevel = 4;
% i; r6 ]! j3 R( t. Z            else if( nLevel > 107 && nLevel < 120 )0 B/ L  Y2 Z6 C# c
                dwTmpSkLevel = 5;
% p& y2 j; Y) D% P! \            for( int i = 0; i < MAX_SKILL_JOB; i++ )
: _" |! A% Y# U4 O5 [- {3 V            {                ; f$ [! {' c6 E+ Q2 A2 r
                LPSKILL lpSkill = &(m_aJobSkill);
3 F. J2 d* t4 k+ p( M" I0 a                if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 @$ c1 }+ D* [1 r, B; |                {
" ~1 k& a. {1 a' _5 Q1 {9 I                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
. t# W# B9 o# P0 N& I. O                    if( pSkillProp == NULL )
1 E  I, M( T& k3 `1 E                        continue;4 |5 B5 S2 f+ O9 a. Q
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)+ S6 F2 k- g9 F, u
                        continue;; o4 E( ~3 W* l
                    lpSkill->dwLevel = dwTmpSkLevel;
. p% ?1 X" e4 y9 t8 h; s0 o5 A8 _. ]                }: x) N% Q7 S  W2 O( i1 B4 G
            }
( q! x& }4 |" G; R" v* N0 O        }. h3 H7 l' X* t: L
        else if(IsHero())
9 a# J! M( V$ D        {! O& V6 ^( Y; G
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! e3 G4 x9 \* b, p4 j; L
            {               
4 H9 I* c( o3 X' g' T- h3 q- p                LPSKILL lpSkill = &(m_aJobSkill);4 W3 l1 ]; N& ]' D! c* X
                if( lpSkill && lpSkill->dwSkill != NULL_ID )$ S; Y! Z# \9 r- @& N# d1 q$ k$ t- _
                {  ^0 x+ ?( c) w
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            4 K: P, `# L' ?+ X) y
                    if( pSkillProp == NULL )
5 e( K; |) k7 g$ H( e+ Y                        continue;5 \: G$ W3 l( }, L) H: Q- N
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 K, o) W. I( _, V0 `                        continue;
) U5 F0 ~; Z* f5 `                    lpSkill->dwLevel = 5;4 x/ w$ j: y' b  S6 {" I+ q
                }
+ R# D- X1 q  ^% f" E; Y: @            }
1 I9 x- C: `7 T6 j: |        }
* N7 ~6 o' M# T% H; o- {  F        else if(IsLegendHero())6 [1 }% G) t# [4 @! ]7 l% _$ L
        {
6 K* u* b  {% [$ @3 b7 v+ x, f1 ?            for( int i = 0; i < MAX_SKILL_JOB; i++ )
" D0 D" A9 o. C) v3 _9 F            {                6 ?7 r1 `' v' p) l) C
                LPSKILL lpSkill = &(m_aJobSkill);
6 K+ U8 G2 t8 U# {! u! _$ g                if( lpSkill && lpSkill->dwSkill != NULL_ID )5 x& L, q. C7 p4 v! L9 Z
                {
4 ?( U4 l! Q( D8 Z# o- M                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
% i5 E! J" Z) ]6 c                    if( pSkillProp == NULL )( y: ~" y, B3 W, ?$ e6 l
                        continue;( \1 N& |% a) X$ j/ J; s# b
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ L$ A3 M/ `) `' p, z6 g8 Z# q                        continue;, c* x0 l6 d  u8 @1 {
                    lpSkill->dwLevel = 5;
2 V" n; ~7 J3 b, v' j" J0 ^2 ^9 N. z                }
+ F2 ~9 [: a8 L, i! Q0 b; P/ ?            }
( t4 ]. W8 I( y$ I$ S1 L6 Y        }
1 q" Q% W! I, x& G. M8 Z5 P3 o#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
. Z9 K# }$ ?" t1 H        if( bGamma )
$ v1 w# d3 m2 e$ U6 h+ {        {
# c6 K# D- j% R" x# I4 U0 j            m_nExp1 = 0;
  t4 [* z5 @3 H& `6 B9 i  {9 S        }" i2 |6 i$ L1 P  ?; |

2 J! T1 H: S3 q, S1 o' w8 C        ( (CUser*)this )->AddSetChangeJob( nJob );
0 h2 [" n2 _! M, a7 @- ?2 v+ b- `        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );3 _9 X' [! O8 y

* w/ b5 ]/ \! ?3 x. `& K4 U: v1 B  {# T$ @8 }/ T
#if __VER >= 11 // __SYS_PLAYER_DATA5 T$ m5 @/ r, t
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );3 }% E- x( p+ `" L% H9 l. m% L& l
#else    // __SYS_PLAYER_DATA
5 s9 ?+ s5 W4 Z; C        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );+ {  D- [3 N! V7 |6 u! Z1 e
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );5 c: o( Y2 S- i) H! ^7 O+ T
        if( m_idGuild != 0 )% j1 [# f" |% E; v9 \+ Q6 I) a
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );* R: D% ^! S1 E1 f- X$ N
#endif    // __SYS_PLAYER_DATA
' Z8 ^& N6 Y+ R2 G2 Z        SetHitPoint( GetMaxHitPoint() );
4 A$ o# v, E7 G8 h        SetManaPoint( GetMaxManaPoint() );
) \  a$ A4 ]  k; q) m1 y3 l6 N5 Z        SetFatiguePoint( GetMaxFatiguePoint() );
" t9 L. d2 H4 V2 [9 Q        if( nJob >= 1 && nJob <= 4 )9 E0 O5 U! l% v  T
        {
* i  @8 ~( B5 {$ g' S; Y            m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ u( u: ~* b7 H            m_nRemainGP = 28;7 [! \/ ]# m5 H& p
        }. \; @- B9 Z$ \# o" T
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )" x" Y0 i; c) l  J' s$ {, Z
        {
$ v( s- }1 j6 T( f/ K  X, c5 c            m_nRemainGP = 118;
7 r9 A# U8 a3 K  @9 I' p% ^            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;6 L7 R1 G; k& L0 x1 M6 H
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
, D+ q3 W+ ^9 s( }. `        }: m- X9 b/ y6 g
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )3 G) o, P0 K  B' A* [. Q/ K: ^
        {
/ p0 }7 u& y" F! l. h8 ^            CItemElem itemelem;
6 C( W' v% I! k1 c            itemelem.m_nItemNum = 1;
/ q/ l; T, R$ u0 n9 l5 w1 l            itemelem.m_bCharged = TRUE;& h7 w- L3 J6 M5 u- M7 }
            BYTE nID;
/ i5 i5 V* w5 H/ Y1 Y  R( @5 [0 @, @- f
            if( nJob == JOB_MENTALIST_HERO )
  Q  q7 t+ e" z$ P* ?2 F                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;* u1 B9 U0 ^4 B- u8 G) R
            if( nJob == JOB_FORCEMASTER_HERO ); V& C6 Y. ^8 r
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
. n: Z2 a' ?1 k1 [  o3 w8 H7 ~- ]$ R; A% \8 n- R1 j
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
! W7 K& r. f$ I/ Z) f7 v        }
3 K) |$ w- q6 e3 m. @( k        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );3 n7 t$ }6 l  x5 D' b
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
+ @* q+ l) @1 V8 h        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );( t9 ^5 T, B8 @1 i9 o
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
* G% j% R, Y3 [2 Y/ S        ( (CUser*)this )->AddTaskBar();*/% \0 V+ K3 V& e6 o8 y  o* A
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );, I* @' w  B  v7 p/ @, h4 p/ l
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
, T5 c4 \2 Q* a+ Q8 d% z0 b        ((CUser*)this)->CheckHonorStat();: g- b: \* n$ @/ A9 r
        ((CUser*)this)->AddHonorListAck();
: A; _8 ?/ w# {( N' |9 L- V        g_UserMng.AddHonorTitleChange( this, m_nHonor);0 c& H$ I$ j. p- F' U) u# g
#endif    // __HONORABLE_TITLE            // ′Tà?8 M# v$ w  Y) d! [) z
    }/ \$ x* @5 H( @, U5 b5 T6 e  V
#endif // __WORLDSERVER
+ F* J. n7 D$ [$ `6 B}  
: ?$ B7 S$ A/ H: H& U/ c5 A& F' {
3 z+ d  \" Z- i1 Y2 q0 H  M然后你进入functextcmd.cpp并添加以下
: u& }( ]! X. z/ u
4 ~) M5 _( H9 I: V: t代码:1 O& H2 S/ I2 a1 V8 b
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )# P8 v# f! q- t
下面插入
: {  [* |4 x5 a: g+ ^  D; OON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
; e* i  G6 f- V' O  J6 o, H1 @9 d! _" [+ f
然后你去- |+ O0 A8 d' I# F
# p7 t7 s- r" m, |" F8 h
代码:8 x% w+ j5 T7 p) d8 \
代码4 w7 W" \# A- p! U& z/ J
BOOL TextCmd_ClearPropose( CScanner & s )% I, w/ w2 d7 E3 l* r
{+ f8 i) z+ s/ B, d) Z+ z& x$ ^8 ?
#ifdef __WORLDSERVER2 G% N( o/ a- U& p- C6 O* b- e8 R
    CUser* pUser    = (CUser*)s.dwValue;! g. L0 Q( x/ `) H) W) |" s4 X
    g_dpDBClient.SendClearPropose();
4 ]) G# M0 M% J' _( w5 D#endif    // __WORLDSERVER
+ M0 E! e2 \* Q% |    return TRUE;  P. |/ ~0 L( s. Q2 z
}2 K  n$ y- y4 K6 q. s
下面插入
0 C! A. X! ~4 G3 GBOOL TextCmd_rebirth( CScanner& scanner )
7 ]# G" R* Y: x4 }1 O" q1 D{3 }% n) \9 {6 l0 T7 s2 ~0 W
#ifdef __WORLDSERVER
5 H! `  }7 W/ ~: W# T! k& O- WCUser *pUser;
+ U: Q/ W$ |5 Q" R: F( P/ NpUser = (CUser*)scanner.dwValue;
6 y1 v% g) S2 f1 B8 H, g1 Hif(pUser->m_nLevel >= 150 && pUser->IsLegendHero()). J  t' A4 L: J7 Z; \, d6 O
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);0 w3 ^& h/ u) g; L3 w0 e7 S1 C. F
else& n6 n- h  j; s' g
pUser->AddText("你还未达到重生条件!");
/ R# m  I* V8 `$ H$ v; |#endif
( N) k8 o8 d7 ]5 r0 ^7 Freturn TRUE;
0 p9 M( ~/ F% _% O7 |}  
8 x$ d. R+ M; Z" `# g" Z9 c# H% ~/ a$ F6 J( H
8 P* W0 B8 d$ W3 _

( e4 K' p( T, n, d- H5 g: R( k$ T1 n1 i0 H3 |





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