飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
" F& Q; G3 J9 W+ \0 G% n  U1 `
% V. J8 |, P; Z1 w- l" _Mover.h
# ~% \$ W8 ~, c3 a, l代码:
8 [0 f7 _- U5 `  }! J9 q找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
* V9 X* X: r8 v6 d. q  j9 g# \& O
+ n. T. e% S, |- f下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
5 A: i0 x( b/ A
0 H) C. F: _9 H4 Z( |9 r然后你去mover.cpp添加! q) p- Z0 g+ s9 D
' t0 @8 V9 s% a. m5 E5 n
代码:
2 E* a/ ^. }5 }  b! n% }- ovoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
+ v( `3 k; i# d3 |1 h1 [* I{
# j& s' ~/ h8 |; C  i5 k6 V8 c#ifdef __WORLDSERVER
# a6 X( }! r$ z7 T" w! g, K    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 d( q4 B4 |1 u/ c% z7 D& c8 t: Z    MoverProp* pProp = GetProp();
  ^7 K" w8 V$ }- B. s    if( pProp )
; R$ n' ]9 N; l  U# O9 b/ o    {
/ a& r/ R+ n- T# N" a. B        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
. E# y2 p) R$ x6 O! ^4 T9 n) w        {
& _& a+ h  R: l; b, z3 I            AddChangeJob( nJob );) m5 e2 O: A! D; R. [2 o8 a
        }else{
$ E' y( E4 J9 V, q0 T  @9 Z/ R            return;5 G, s7 g. B6 y* a. x4 q
        }* v! d6 Q' o. B7 p' o
        int nPoint = 0;4 g( }; Q& R9 j. [8 Y, Q
        if( m_nJob == JOB_MERCENARY ): W9 r$ T8 T1 S5 R3 K) Y
            nPoint += 40;$ D0 e& @9 j/ V, @: g) C4 O) T
        else if( m_nJob == JOB_ACROBAT )& m1 O9 N. A1 t
            nPoint += 50;
" e- Z. D# c) R6 }2 T, r        else if( m_nJob == JOB_ASSIST )
; z# p& X, t- x            nPoint += 60;
5 I3 x  j" q! G9 E, A" B7 L; ~        else if( m_nJob == JOB_MAGICIAN )
- D9 [4 S8 K3 t            nPoint += 90;
, V& N- k! @% L: e! w' ]8 H5 O        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
1 q$ @; O) A; i5 `2 k. j9 u: g( N            nPoint += 120;
! o3 A# w1 F2 |! r5 d0 I# [        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )* N; B2 K5 C$ b5 @& }; J+ u
            nPoint += 150;
6 I$ s$ _4 ]6 v" M& Z2 x        else if( m_nJob ==  JOB_RINGMASTER )
# s4 g+ e: g/ A            nPoint += 160;
( Z' t9 ~) t/ f: V        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
8 J1 m' P1 E& t! s% H: j+ m            nPoint += 180;" C" o" ^. m, V( H; H
        else if( m_nJob ==  JOB_ELEMENTOR )
  l$ e9 m. S% Z: l0 a7 r            nPoint += 390;
2 z3 W+ T. o* n4 g6 l        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
' Q# u. H5 ?6 v' z5 c# Q( g            nPoint += 120;
: y! T* a3 _  x  I        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )" m% J: Y5 y8 P- H
            nPoint += 150;) k, W. [, B: }5 V
        else if( nJob ==  JOB_FLORIST_HERO )8 t2 a8 [* N" J2 m8 p8 k
            nPoint += 160;
9 m" U, _7 O+ O! ~0 u- [  B        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO ); R5 z2 V2 C6 A2 y! T! N
            nPoint += 180;
" F$ J( X% J  c0 L% U/ A2 |        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
  Z+ A0 P( U* a1 t( B* l            nPoint += 390;  w' S9 w0 r( O$ \

3 t, N: R( \- _6 \0 O2 s        AddSkillPoint( nPoint );
# p/ j5 H  P9 ~1 a  x& ]        m_nLevel = nLevel;; Q( `2 Q6 x0 u, x: n& k: q

. U7 v! ?- u3 G+ u2 J# d5 r        SetJobLevel( nLevel, nJob );  s" ~3 k  r: p) R! g3 y! M
        m_nDeathLevel = nLevel;
+ c: B1 o8 N+ [; [- D$ a$ p#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
; U- u7 J3 h% Z- [* _' n1 @* j        if(IsMaster())* l+ X7 F% l5 L
        {1 e5 J+ ^' h( s  y
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
8 K4 c4 O: f0 L# p3 E" r8 t& L9 o7 E' N            if( nLevel > 59 && nLevel < 72 )
+ O/ x) g' u5 d" A                dwTmpSkLevel = 1;
% x6 V! o' j  Z            else if( nLevel > 71 && nLevel < 84 )
- ^4 P  j: n2 P) c  z% Z                dwTmpSkLevel = 2;
+ _% c3 J- A5 `            else if( nLevel > 83 && nLevel < 96 )
. ?: [4 D9 x. B* B- Y: _                dwTmpSkLevel = 3;
  |9 m7 B6 d# @1 @            else if( nLevel > 95 && nLevel < 108 )2 M0 f2 Q- c, E3 D7 l' l
                dwTmpSkLevel = 4;
8 A3 T+ q, X8 e; K0 b& k            else if( nLevel > 107 && nLevel < 120 )
! }* D; h$ \3 S, h; T/ E                dwTmpSkLevel = 5;
& m) B/ e  _: T% H! L' h2 l5 \& |            for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 O+ M. F9 c8 V3 J; \            {               
" Z6 N* V$ S& e& H: V) d. o8 E                LPSKILL lpSkill = &(m_aJobSkill);! N2 N) w+ D$ B
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
* y0 w& V( E8 D                {
! W% q( v3 h( d8 E- e, w; V6 G                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            " N) X1 P. E7 F% m
                    if( pSkillProp == NULL )4 c. u! g$ [; c+ `
                        continue;# \9 n" w9 R0 v; V" g1 A- t; t" r
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)) h. C9 O7 a. _8 V4 V5 W
                        continue;; j6 t! R- ]: p; j
                    lpSkill->dwLevel = dwTmpSkLevel;
  F2 q& @* Q9 e- Y% @2 a                }# z9 |3 A8 v+ h8 Q  l" X. U
            }
1 d) z( Q6 H- g* J8 R+ X        }2 P. g  v3 l0 C# d" [
        else if(IsHero())
" j/ s4 i& W) @: {9 W        {; f" k, M+ W" E/ s' r1 }: J( N4 [
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
" I/ B: M3 i5 k( m7 `7 n0 p            {                2 h. q, ?4 Q: U1 Y) e% [9 O: C" Q$ E
                LPSKILL lpSkill = &(m_aJobSkill);
- M: w& `2 G% r) H# n2 b$ C                if( lpSkill && lpSkill->dwSkill != NULL_ID )
0 m; E8 u8 h8 V, j+ z                {
- O+ l% S5 _5 N/ h                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( X( k% l1 B( [$ X$ Z' I                    if( pSkillProp == NULL )
( f: }* a* _+ {7 L- v                        continue;
( L4 Y' c5 o0 Y9 U7 J6 }' z                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)/ g- O7 {( q/ o4 j' a
                        continue;
, @+ m4 Z1 Z9 k& C0 n1 ]- U                    lpSkill->dwLevel = 5;5 b  L7 c5 Z; o0 {+ C7 q5 O
                }6 p, ~( c0 X% M% G) s
            }' J: g$ ~" a$ B
        }
; V% a1 F7 ^1 ^$ ]; I7 w2 L        else if(IsLegendHero())6 U. D4 v+ y. R% l6 k( H
        {' f) c+ M. A5 b- Y# t
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 W, ]4 S  z8 s0 q
            {                9 ]+ g2 @0 l5 j. _
                LPSKILL lpSkill = &(m_aJobSkill);. _# v- k' j4 s5 V- u% D! d' [
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ X3 I" D! x; y6 ^( q2 \& ~0 |3 U                {4 {$ J' f; z5 a8 H+ M
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
: x: t2 F) u5 A: p! Q                    if( pSkillProp == NULL )# m5 K9 r, [: o1 |1 e; F9 U" f- a' |
                        continue;
# G1 W) t5 N, y                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ S( x. [7 |: ?                        continue;+ x9 [8 ^# [, S
                    lpSkill->dwLevel = 5;
3 E% C( x7 D* J6 b# C8 ?/ n; P                }
% i% L  N( R7 {. C; g1 ?( U            }5 J- c1 O6 p. M: C$ `
        }6 ?  e# y7 E0 \" J0 I( L2 z' n; P
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans9 `/ u; C# Y/ a- N
        if( bGamma )2 _0 G3 o9 i2 K; J  p7 r3 Q
        {$ m% D  f: A" B. b9 g1 x) z7 v" ]
            m_nExp1 = 0;/ Q7 A1 t2 B  a. o: W7 Q$ Y
        }) `$ u& E, X% V: ?) e, c

% E* i4 G# U- c8 ~6 `; v        ( (CUser*)this )->AddSetChangeJob( nJob );
& y' A. u4 y' R( e: U3 M1 r        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );! k, |: g6 C% {; K! R

( r7 n0 N: E% U! ~6 X; C2 M! B* l7 C3 E5 g7 X: M/ p. b! \  w& u& T; q
#if __VER >= 11 // __SYS_PLAYER_DATA
2 q1 q  |/ _- Q, l$ Z        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );8 U! N' \/ G, F* c7 M2 `. t
#else    // __SYS_PLAYER_DATA% j  J; L1 e# x  M$ [. A9 E4 n
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );2 A1 `4 X% s  v
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
( K9 z3 `# T- k. u        if( m_idGuild != 0 )/ ^3 a8 U. Q6 l9 v7 T
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );( k7 Z+ l5 s1 E% O! {  x' N
#endif    // __SYS_PLAYER_DATA
* g+ K$ l8 ^" r% F% A        SetHitPoint( GetMaxHitPoint() );
! X; I; _/ X) Y4 `( ^. }        SetManaPoint( GetMaxManaPoint() );, t& P! x* i* p' t
        SetFatiguePoint( GetMaxFatiguePoint() );
4 ^: `% f# k! S1 S  q9 A# `9 A5 n        if( nJob >= 1 && nJob <= 4 )
- L* \, e$ ~1 s% v6 Y2 C" T        {
  `: N: f" b- Y            m_nStr = m_nSta = m_nDex = m_nInt = 15;5 s# U+ A' X) T* i1 E8 j0 C
            m_nRemainGP = 28;
7 U% e* j+ R" u- ?- U7 B- Y        }2 Z2 B* S2 n% E! u+ e
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
+ B' Y: R$ z' j        {
+ _% v& b0 `- K7 w; T$ x  V            m_nRemainGP = 118;
% w9 K9 |- g& H            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
) o4 G( o( i5 c3 |9 @% a            m_nStr = m_nSta = m_nDex = m_nInt = 15;! g5 l! k, W/ ?( t2 |' f
        }: _/ C( w: l4 v- W
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
# f. s% e4 U0 Q% a- ~! d! v$ P        {* H8 C% x% W: F. P
            CItemElem itemelem;0 h1 X* J5 g& O  K/ g  N" w
            itemelem.m_nItemNum = 1;& {' ]5 d5 }% [( J4 l
            itemelem.m_bCharged = TRUE;" U8 Z* i$ K& T5 U- I. k
            BYTE nID;& M. V  H: k6 w% t( r" g
: c, k0 V- I, L( L! l8 X7 M
            if( nJob == JOB_MENTALIST_HERO )3 _. m9 H4 Y. W# c0 \( ~5 Z6 B' l! L. S
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;5 g4 O$ Z9 h* e
            if( nJob == JOB_FORCEMASTER_HERO )
2 d$ Q. ^2 h5 \) _                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
, d$ Z- ^# }6 L& v( ?: ^" G2 L" z8 {1 Q' G  m1 C4 e
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );4 m. G, j, W! t$ X, w( l  Y
        }
, Q0 b# p. k9 V5 Y  Z7 ]8 [        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
  B' i* g( K. M- [9 k& T6 P% Z        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
4 J1 {1 {9 d) l: O7 m+ B) r  Z        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );% S' k7 \1 U. J" ?5 N3 S$ T
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );- ^. A* }2 C. `7 P: S
        ( (CUser*)this )->AddTaskBar();*/
2 B2 v  O' P/ y5 t        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
9 v8 x7 ~9 ?$ b- f#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
- {& E# ]- [$ r% m. P        ((CUser*)this)->CheckHonorStat();
1 o/ B& M1 h% {$ k1 Y3 ?# f$ k        ((CUser*)this)->AddHonorListAck();( E% r$ z& r/ R6 k1 N
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
3 v! O. a% \+ K- ]#endif    // __HONORABLE_TITLE            // ′Tà?
$ M5 z7 C6 j6 ^* c    }
0 K0 W4 e% B9 Q. Y#endif // __WORLDSERVER+ O5 c1 P( X  Y# H8 t
}    `6 n2 M! ^1 x* D3 o5 h6 X& F
% m* H  X; q2 A( Y
然后你进入functextcmd.cpp并添加以下
, ]" X% h; |8 \& H
/ m. J  \0 I+ q( Q6 ]代码:
, X' D3 h, W/ k, O: @9 nON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )9 f" Y: t- M+ h9 J2 @! m; }
下面插入
% v2 Y* `6 m1 CON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  - d7 m# _2 A8 Z# z4 c3 W0 Y% V( T

* A- x9 B. n% W然后你去: T# w( \2 Z8 K3 c; }; Z( w, Q9 {3 w

$ e0 k) x  S! T代码:! a7 U9 H% h/ {( x' B1 _
代码
+ y1 C0 W2 I9 j$ M- }4 cBOOL TextCmd_ClearPropose( CScanner & s )
# @2 Q+ x: A  a. [( `) Y# t{# h2 L$ l6 B4 [9 a
#ifdef __WORLDSERVER
7 H% [* S! E7 q7 u" D# O    CUser* pUser    = (CUser*)s.dwValue;7 w; q# V. y/ w, ?3 d
    g_dpDBClient.SendClearPropose();
' g9 r1 w  e; A; y, L' ?#endif    // __WORLDSERVER
8 w9 y  B, N1 M& n& R    return TRUE;
" _4 [& X7 T3 f% i6 \}
5 k3 ]- t: [# J! ]1 D9 Q5 p下面插入/ Q# ?/ o( n) ~) w) }6 v, R, x( q! }
BOOL TextCmd_rebirth( CScanner& scanner )% `5 ~7 o4 T1 D; p+ H3 Z& w) z
{
6 j! Q$ f- k+ n7 X/ X#ifdef __WORLDSERVER
3 A/ i, M& {$ i* cCUser *pUser;1 k; ]2 E2 K! s
pUser = (CUser*)scanner.dwValue;6 e9 N+ I. Z8 h+ e
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())' A) S8 c  m& r0 h# ?
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);2 h3 v4 d6 |& `% t
else
6 u) i7 u1 X7 z: tpUser->AddText("你还未达到重生条件!");- K5 W+ y: P7 b, j  [
#endif
  v) E& N( k4 _2 E$ p5 @& C2 J  Breturn TRUE;
1 H. f2 t. a4 j! i% c4 m2 U}  2 @4 ^" N1 M% y/ ~; A

. g0 j  K+ B5 U3 Y5 f4 c; J/ R  n9 [1 l. |

( Q2 H, M" z! J( p3 c7 [$ |9 U% x5 w8 U2 q' x





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