飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
- s8 g1 d7 _1 |  x
9 e! b% i' L8 H$ P0 L6 k) nMover.h0 ^! S9 W  ~5 A9 n/ X/ V7 T
代码:
! U, p; g0 m; A7 n* b# D找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü7 C0 ?; K" b. [: Z* F0 ]  s

+ }1 \) h; X6 u* o4 ~% F7 D下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
5 Q1 o; F. z4 y" Z% z
. a) }* U* u2 `- z, Y7 g然后你去mover.cpp添加
' E8 J* A6 |* Q) ]* I; x6 D' d: a' g: m
代码:
0 n2 B, ~! E2 z* ?0 y/ H/ Avoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )5 @; R; W. g  p$ N9 ^$ l$ ?" b
{
7 Q9 U' Q+ A$ B, t% o4 v( V; Y& y" t1 ~) N#ifdef __WORLDSERVER
) e0 g' g. l% W, X" ~    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
* O, o" S8 |) c' W, G0 {# m0 C/ F    MoverProp* pProp = GetProp();
4 E/ u/ g- Y# Q    if( pProp )
1 i6 ?. \9 j# j% h' d, `    {
, u+ d8 ~: J8 l* M        if( nJob > 0 && nJob < MAX_LEGEND_HERO )# g, C" A2 g* z2 ^& \& T4 q
        {  k" p6 w/ S/ T
            AddChangeJob( nJob );2 f& s# }; j; V& }" e/ `
        }else{
: X5 ?; z/ i- x& j# K/ d            return;
! }" Q" e* z" a- _7 f. y        }  z9 Q; w2 |  C4 m; l3 \
        int nPoint = 0;
* }+ _: n* r/ t8 b) Z; S4 `. C        if( m_nJob == JOB_MERCENARY )" _) u; }4 U8 R
            nPoint += 40;
( }, }" s3 Z- z% S        else if( m_nJob == JOB_ACROBAT )
$ X- W$ m8 v1 x# o) l; G6 d            nPoint += 50;, Q6 n8 s" r6 _/ T$ G
        else if( m_nJob == JOB_ASSIST )3 |" A6 y/ s# |0 m. b7 J. N
            nPoint += 60;
% T6 {$ c# t% N2 \' @1 b- m        else if( m_nJob == JOB_MAGICIAN )
2 E" O$ D4 o" m( d5 t# B; D            nPoint += 90;3 J3 l3 U; `: S6 Q2 r
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )6 R4 X0 f' f% _3 t6 F0 e. @5 q
            nPoint += 120;
) C$ c$ L( Z4 u; A! [% L        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )5 n! n8 o) J& o0 O
            nPoint += 150;# }1 f$ y4 o% i0 y
        else if( m_nJob ==  JOB_RINGMASTER )
  y+ ?) }3 l0 l# j            nPoint += 160;4 Q' |7 j) Y2 l. m( p
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
7 D5 P2 G: c+ t0 ]: m# J            nPoint += 180;# `. s) h0 x6 d9 O  T+ ^2 A
        else if( m_nJob ==  JOB_ELEMENTOR )
8 v, {2 [7 O7 p( C( W- q+ q, |1 p            nPoint += 390;  m9 ~: ^% }5 B9 y1 L0 i9 @
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )0 a/ y% M% H9 C* u
            nPoint += 120;
6 _3 T7 P, M! _- o, R        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )4 a6 w8 Z  R( ~& b! L7 S
            nPoint += 150;& n7 _8 A& E2 Z# |4 }& \
        else if( nJob ==  JOB_FLORIST_HERO )" ~. X! j+ Y8 y6 J& E$ b
            nPoint += 160;
* k! o7 `* u1 X+ |3 c9 n        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
/ E  h2 p/ Y1 p3 ?, y" n            nPoint += 180;
( p. N$ n$ Q: T4 X        else if( nJob ==  JOB_ELEMENTORLORD_HERO )# \5 l9 ^  ^) g
            nPoint += 390;
7 }: V' D; i( d, F) N+ p. ^8 {& V  M" ]5 [
        AddSkillPoint( nPoint );( g  b/ U: b/ l( s; R
        m_nLevel = nLevel;
3 ?0 g- \* b7 V& J1 \
5 T% I, a) x- J' c3 [: G  ^  M4 z        SetJobLevel( nLevel, nJob );4 |. e8 x9 e. E# E* t2 ^0 g+ D4 V
        m_nDeathLevel = nLevel;) F% ?4 o) v) z/ T0 n2 Y# m# T( }
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
, ^. }' x: P7 U+ [! n/ p" s( w        if(IsMaster()): w3 H( ?+ I* W5 _: c* E
        {0 v) m8 ~# E" y: ?" X
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
& j: J7 L, |& ^            if( nLevel > 59 && nLevel < 72 ): ]5 R/ C. g  i7 @! D$ e
                dwTmpSkLevel = 1;
- J( @$ x" s% a" W( z/ N; s0 N# A) [$ }            else if( nLevel > 71 && nLevel < 84 )
$ I- f" l& G+ B1 O                dwTmpSkLevel = 2;
: Q% V1 s, R5 j5 G( k0 i& ]9 ~( e/ A            else if( nLevel > 83 && nLevel < 96 ): Y; _0 d0 Q8 m% P) C
                dwTmpSkLevel = 3;' f# T/ {. g/ m9 k2 p
            else if( nLevel > 95 && nLevel < 108 )6 d- q6 _+ L2 u8 L9 b1 ]) m7 U: G
                dwTmpSkLevel = 4;
/ S% f2 Q, y( r" B            else if( nLevel > 107 && nLevel < 120 )- u# F/ t% l4 N/ g" D" {' Z
                dwTmpSkLevel = 5;/ I6 h9 D! i6 x
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 3 Y9 s4 X0 Z& i( T" @2 e
            {               
1 a" p5 Z- s& Q3 w                LPSKILL lpSkill = &(m_aJobSkill);& j1 O/ F8 e6 D7 r1 W* V
                if( lpSkill && lpSkill->dwSkill != NULL_ID )5 X& r" S( {9 V7 b8 n3 P
                {' M& N! `# T$ @: j. `" P- K8 a
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
* N& z: \. _6 X: M8 p; v                    if( pSkillProp == NULL )1 U, E6 G% f' ]- r# r: g! u
                        continue;
8 d$ H; j/ @- {8 n                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! a1 J+ b  x8 [4 N! B4 s                        continue;6 _: e: y1 c; S& P
                    lpSkill->dwLevel = dwTmpSkLevel;+ S, \7 J* t1 w2 G6 q1 r
                }
( `' f4 g. |" j8 }0 ~            }. h7 l5 H3 }9 w% c0 ~3 X) X
        }
. k: F  m4 W7 z; `        else if(IsHero())' n- D9 h; x" @! Q
        {
2 p, d. F( `# }9 g            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 7 O. l$ W7 K5 p
            {               
/ j9 Z4 c4 W$ z; |- L( U                LPSKILL lpSkill = &(m_aJobSkill);
/ H/ W/ V" n6 c% ]4 g/ p/ Y& _; {                if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 A3 D* `8 v9 y, N2 b% G                {
/ K# d7 ]; X' @' d* E5 e: x& @( ~- B                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
* D6 t# X  w4 ^1 K; ?$ G                    if( pSkillProp == NULL )
) \' l% r  f) W: K6 L# ^                        continue;$ W- h5 b% T+ c7 l( A( P
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 }' C: A; p' h4 w1 w                        continue;
/ b/ h9 P6 H, R6 I                    lpSkill->dwLevel = 5;: I8 F1 P1 `! \2 }) C+ ~
                }9 N) ]* p7 i/ @( ?, t
            }
, k! P* S) R" x0 Z4 W; l7 y        }# T' S% j& q* U5 m
        else if(IsLegendHero())! i1 K8 Q2 E% F8 [2 F
        {8 U  |4 H7 I1 F9 i4 o
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 1 B2 ~6 M# O, ^2 y
            {                5 B- Z$ l! K4 g2 K
                LPSKILL lpSkill = &(m_aJobSkill);8 Z% i! W; ~8 |8 W5 R) _, @
                if( lpSkill && lpSkill->dwSkill != NULL_ID )4 Q1 b% x$ [% b+ V$ ^8 t
                {  V* s2 h) W. {$ M
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ' K" W% D# `3 w. e
                    if( pSkillProp == NULL )0 D4 c" s3 Z- @- V( B0 B& z4 t
                        continue;# {1 ~% k5 f4 C5 H1 I' p
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)* H9 Z& b2 @. n$ K+ {9 b" K" J
                        continue;
$ o, X0 d5 c0 w" j% |5 o* {                    lpSkill->dwLevel = 5;1 V- O3 v. _2 l" m4 Y" b( u; z3 c: ~
                }3 M% ^" k' V8 e& C9 D
            }
% X( ^6 Q/ |- U+ _; f; S$ p' p  V        }
  N) y3 T2 }# i1 M% ?+ |; k7 V#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans  d: t  R5 j8 W- C& `: b
        if( bGamma )& _; {. Q. e. e& k! r# H4 y# |
        {2 `( _3 [# V3 F! r- I: m# F
            m_nExp1 = 0;
5 K# W4 z8 y$ C  X& V! S% z        }& f) Y6 }, C7 q. l& c* z5 q' I( E

% C' u6 H3 o7 j6 \1 a        ( (CUser*)this )->AddSetChangeJob( nJob );
  d9 }2 O% p0 c' b' K- W4 O1 N  g        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );/ `# O) T2 j4 K  Q! b/ `
8 D9 ?  z! J: D: }

+ Q7 A: {$ {1 C2 n- m  J#if __VER >= 11 // __SYS_PLAYER_DATA
" {! V1 Q4 e% _# l" v8 o        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
) @0 e1 v& }: _) c% [% g; x#else    // __SYS_PLAYER_DATA
2 J+ ^+ A: D% h: B* h1 T        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );3 f, k7 h( _1 }6 V
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
2 o* _# z4 F1 u+ u        if( m_idGuild != 0 ); Y' G) z/ L4 j
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );) n1 }. L( S/ U/ L
#endif    // __SYS_PLAYER_DATA
8 x5 d" _; h# f% F8 e6 n9 {3 R        SetHitPoint( GetMaxHitPoint() );1 K- J8 c: `+ z% W' I
        SetManaPoint( GetMaxManaPoint() );+ t3 `7 b* q* V. n& x, A: G
        SetFatiguePoint( GetMaxFatiguePoint() );
* Z) w2 w/ U7 l# A: f- k$ _0 j        if( nJob >= 1 && nJob <= 4 )! S8 \( D9 N0 T( v, o1 b
        {
+ T8 y, r( p3 Q# K            m_nStr = m_nSta = m_nDex = m_nInt = 15;
- i7 o$ T' A5 f- d  ?            m_nRemainGP = 28;
' L$ M+ v2 {% X6 g$ Z- o        }5 k  y  r3 q+ M& q4 y' ?+ z1 A
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
2 l( q. R& n2 R) y! L. m# |3 u$ h! r, n/ K        {
/ a/ M5 ]0 h) e; j            m_nRemainGP = 118;* _3 Z5 O/ p8 F$ U: v* G& C4 f7 M
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
9 V" M# Y3 O- ?( H' O            m_nStr = m_nSta = m_nDex = m_nInt = 15;6 d2 X5 S2 [& C0 K
        }3 t& h4 g4 P2 ~  b! s
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
7 f' \, l9 c+ X: j- c; `2 P        {
9 u! v' a" b# I9 v9 n; P            CItemElem itemelem;
3 A0 G+ p+ s- A) M" E: E# C( N. y            itemelem.m_nItemNum = 1;/ R( x) K/ h& L+ Y7 x
            itemelem.m_bCharged = TRUE;
3 V2 H, Z1 O1 |! }  {/ s/ U- e            BYTE nID;
) \! v+ E; J" T& z7 f: E6 `; U2 o: V+ V3 f
            if( nJob == JOB_MENTALIST_HERO )
/ p/ M: S- ^1 u1 |" E  w  {                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;5 y- D# ]- c) F
            if( nJob == JOB_FORCEMASTER_HERO )
: a" \; n) j: M( u# Z' B                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;/ \# ]: O+ h" F) s. P5 G' t$ O

  a; L2 r) b3 P) i$ x# M            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
7 w1 F* d; j& X2 m. h% t        }
  p6 n5 I* Z' k8 G        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
9 Z4 I! p: ?# }+ r        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
( T' [: q1 V1 q, l1 m        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
: b# k# p2 d- {+ ]2 w3 e7 v% O        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
4 q" _1 F. K' G        ( (CUser*)this )->AddTaskBar();*/- @4 J, z% ^! N
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
8 o, ~# W' A: u/ U, |0 f#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
' J- c" H$ Y* v; g        ((CUser*)this)->CheckHonorStat();
9 h) r; g  j( @* i        ((CUser*)this)->AddHonorListAck();
+ L. j9 I; G" f6 r( d3 t/ P        g_UserMng.AddHonorTitleChange( this, m_nHonor);
+ n: q+ c0 ^7 Q' ]6 N  n#endif    // __HONORABLE_TITLE            // ′Tà?
/ U  m- R/ X" a+ I) C% ?* n2 Z* |0 `    }0 W$ `; g4 M" e- G0 e
#endif // __WORLDSERVER
( B7 N% B% M6 W& \' I/ O) ]}  3 A0 Q6 [% p. p) Q

2 U) k' h& k& u5 K( K然后你进入functextcmd.cpp并添加以下
& e7 Y; {" E+ i0 w/ D6 x0 K1 o6 |6 O* K
代码:
5 o6 ?1 {8 l  a  R+ O/ q$ uON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ). n: P+ l. ?1 s/ `6 @* T/ a
下面插入& C( L, s( d; Z
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
- k6 {5 |! Z/ q$ f: P) y" P- L8 x
' g1 x' i3 H% }然后你去
3 s$ [- i* @8 H8 ?2 M: n! Y  p+ w; B& w0 q4 P1 M: @
代码:
* V0 R- c' P  e! M8 }代码% }/ q0 X: p- V$ r
BOOL TextCmd_ClearPropose( CScanner & s ). ^4 x$ {. {2 Y: X5 R4 n' m+ ~
{! V, p% A7 O3 v( w/ P. z0 ]  I: v
#ifdef __WORLDSERVER
' g6 J# @6 K( Z3 k# K/ l6 T    CUser* pUser    = (CUser*)s.dwValue;) ?5 w* G2 F1 L3 b& Q% i( {3 [& g
    g_dpDBClient.SendClearPropose();
, B; i5 \0 Y+ [2 y, }" p#endif    // __WORLDSERVER* I1 ~, Q# Q9 R, L. m7 `
    return TRUE;
0 w. K: X8 N% v# a}
. r  U# g1 i; n8 g下面插入
5 J# u& [3 g& t. k* X: o8 r( j; LBOOL TextCmd_rebirth( CScanner& scanner )
# ~9 N8 y) V6 ?3 z2 C{
0 R  F/ \; @5 H) X* [9 _% D- u& Q6 r#ifdef __WORLDSERVER2 K9 ~/ m5 Q6 q7 l6 e
CUser *pUser;
1 K6 b: T7 n3 X! E* fpUser = (CUser*)scanner.dwValue;
. \. a9 X/ K6 E% `9 o4 W2 Q# b9 eif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
  e2 c. y8 `0 I- IpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
5 q% V8 x: R' b, q2 S+ Eelse7 ^+ n( P( M: Q. h% Y
pUser->AddText("你还未达到重生条件!");
: [3 G3 |8 s. }' p/ u7 u1 ^#endif
9 l% }& D% C0 C' f) t/ d% Kreturn TRUE;
1 s! e* D4 N2 Q, i. z4 ]6 E7 v}  
! N+ a. U# h7 C  v
! c3 o, L# v6 \& R2 B) x
4 U0 _; x) {4 [( }% {, |6 t0 Q" w, G+ X+ D9 ^

8 `* o" }& [3 M- c% V* t& T




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