飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
: V! p! H; o3 k( f0 O# Q
) N# t" r  u5 p3 i8 r$ PMover.h" \* x- a) N: I. D* [0 z+ K# V
代码:" B- G- x- i" I5 E
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
9 @' y6 B$ p6 E
5 Q( L2 |7 _# P' ~下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
: ^  R9 x2 `) [2 J9 }& b. E  l! j% J# R  [
然后你去mover.cpp添加# V; @. W4 u; c9 {: N  v
$ t) `' t3 W2 A7 _4 n
代码:! e- \% ^. L& X/ ~. L* l
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
' L6 D( ]. D9 Q4 i{! ~; |$ y$ n  N% ^' ?! T4 u
#ifdef __WORLDSERVER% ^) A) [# |4 z/ F9 j: R
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
' G& {" G+ z5 {: N! f0 V& y! ~$ y    MoverProp* pProp = GetProp();4 V  }2 p5 |# ~. \0 s
    if( pProp )' f+ c2 `- t$ i" [
    {
) N1 z' g( R8 O        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
: i1 \0 d4 C( K, a        {
$ r, M# @, O. g7 i3 t            AddChangeJob( nJob );
. l* A1 q2 M1 a& p; i9 J        }else{
% F+ T+ t- ?; r! W! a            return;
6 \& I1 F8 G8 ~2 K5 b        }
: c& ^: J) U8 }        int nPoint = 0;" z$ R7 z; W* v6 `( p
        if( m_nJob == JOB_MERCENARY )
3 [8 Z8 r. y7 D% h5 m, E) p            nPoint += 40;
. |! P* z, u6 e# Y        else if( m_nJob == JOB_ACROBAT )* [/ P! B* N3 s. Q0 O* G; ]: D0 h
            nPoint += 50;
4 C0 A' ~3 v' A3 V/ B5 G1 H( O        else if( m_nJob == JOB_ASSIST )) l  x; t" h. O3 q! W) n' g
            nPoint += 60;8 I' T& d$ k6 V
        else if( m_nJob == JOB_MAGICIAN )
5 G2 S# q! q0 Y* d1 d1 ]            nPoint += 90;
2 G6 h5 C/ I) M$ O/ j7 R3 i; R        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
# x3 I+ y: S* g; h& b# c            nPoint += 120;
% a6 @2 n0 L! G5 v        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
, r& X# L; U! m$ P6 m, U. T            nPoint += 150;
7 ]9 u; D' l: ?& v        else if( m_nJob ==  JOB_RINGMASTER )+ P4 S' G4 w, l( E
            nPoint += 160;& c% w4 u0 p  m: C& `5 S7 I
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER ); I! q3 s# ^- f: L+ Z
            nPoint += 180;
0 v. a1 M" i( e/ l        else if( m_nJob ==  JOB_ELEMENTOR )! G% K* N/ [6 p/ M& I" h+ H
            nPoint += 390;
. |! a% {5 V4 u8 [" I& t        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )! @  W7 k# j7 c7 x& ^) a" C
            nPoint += 120;
6 {: q; }2 O4 z  g4 k        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
( P! M  [) w- Q1 A( u$ l6 C( W- t+ L            nPoint += 150;& S0 R4 p3 ~1 U6 A0 {
        else if( nJob ==  JOB_FLORIST_HERO )
# ~7 l$ b( Z; d! d) S: A            nPoint += 160;
: X( U3 P  F4 f4 t4 H8 D* ~- _        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
$ X0 u$ _  `; C( Y/ ^            nPoint += 180;
: S, w# Z1 K  M        else if( nJob ==  JOB_ELEMENTORLORD_HERO )# _6 L+ c! w3 \; b7 W. [0 ^2 n7 D
            nPoint += 390;
0 l4 p" U" C; Q1 _) I% z3 r6 ]! o8 I- m+ O: @
        AddSkillPoint( nPoint );: }% S* W+ g% e2 p- p
        m_nLevel = nLevel;& ]4 ^# [* B& p7 V: D' d
! I* a9 |7 z+ k3 g3 F' o
        SetJobLevel( nLevel, nJob );
8 n# `  k+ W8 q' S# n$ M        m_nDeathLevel = nLevel;; S( G& Q* F. \: C5 Y$ W
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans$ p5 ?! E" Q+ V: R( X9 v' O
        if(IsMaster()): m( v9 V" D: C/ t# p
        {7 i1 a2 {( _& W
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
2 z7 Y3 C2 t; ~# \  O1 M7 {+ u9 n: l            if( nLevel > 59 && nLevel < 72 )- a5 v5 }( X% R2 v
                dwTmpSkLevel = 1;
6 u1 m. a( e( C" V            else if( nLevel > 71 && nLevel < 84 )$ k) Y+ Q0 S3 j8 Q! {% _( Y
                dwTmpSkLevel = 2;
  L1 y, K  {2 u/ B, e4 _! J" s            else if( nLevel > 83 && nLevel < 96 ). V1 t6 v. q0 Y, j4 q3 [
                dwTmpSkLevel = 3;
5 o1 |) B) p1 \: Q            else if( nLevel > 95 && nLevel < 108 )9 }5 `1 w' M6 K2 k5 Q( B) ~6 c
                dwTmpSkLevel = 4;  b( [6 q* Z9 U0 a# d3 U
            else if( nLevel > 107 && nLevel < 120 )
9 h& y0 P' V# U: @+ g6 a  c3 L6 J6 [                dwTmpSkLevel = 5;
# Y( ~* Z1 k/ S$ l4 b  b, k: {            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / Q6 K1 x- H0 Z6 q  N) t  @  |+ x
            {                2 ~+ ]1 g& L. \. f6 R8 Q0 `+ h5 b
                LPSKILL lpSkill = &(m_aJobSkill);
; {; ^1 x. n- z( w                if( lpSkill && lpSkill->dwSkill != NULL_ID )  {* J( d3 u& H- ?
                {) Q' R+ J5 X6 b( y
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( Z5 A5 j. o5 D' l% Q                    if( pSkillProp == NULL ), C& i# |% K9 Q2 d5 Y1 L/ Z2 S5 G. e5 f
                        continue;7 ?! o8 l/ m' ]) x
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# G& P5 y) F! u% e; `# X) v  |                        continue;3 N. A2 X) f+ x$ b: d
                    lpSkill->dwLevel = dwTmpSkLevel;) G6 N3 M' d4 I3 }$ \- W0 S: ?
                }% P, E% P. I6 l
            }
1 L* N, j0 x1 x. G' c        }+ v8 b% d2 z$ y/ f2 Z, R. ?( b( g
        else if(IsHero())
5 [4 K. K+ B6 x6 n        {
- X4 D2 g9 t, ~% f            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 h$ N1 @3 D2 X7 Z8 m( {- D# N- r' g* ^* V
            {               
* K6 x/ {' u9 d5 J- P6 C                LPSKILL lpSkill = &(m_aJobSkill);- H2 g& E- R( h6 h0 g
                if( lpSkill && lpSkill->dwSkill != NULL_ID ); Q( g; x8 h* y4 o9 @* I
                {+ E' O# y% Y$ u; s" `
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  e; {( M: R9 A                    if( pSkillProp == NULL )% J. f9 F% {9 N& I0 c
                        continue;
" C1 L7 s7 O8 Y" g8 j                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
1 f, O/ j  ?. G, o, y5 D# K+ y                        continue;" z9 ?+ v; H: R5 C  f  k
                    lpSkill->dwLevel = 5;6 y/ ~3 ]4 Q" {. V
                }6 K* g  |. l+ f, `, A" C
            }* a+ C- W! u0 f: I+ i1 E5 q$ O
        }
+ n2 `& ?5 P  l. b/ @$ Z        else if(IsLegendHero())
1 y; L5 K7 v- S        {9 i$ s+ o3 u' S
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 @9 C. @* Q3 f1 Z! v            {                $ m/ X, q* m* I. c4 t
                LPSKILL lpSkill = &(m_aJobSkill);
; [6 m: I% N! Z% O! Y0 E$ @. h0 R/ w                if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 h* j% w# R$ D- f                {
$ z, l: U/ ~! k$ {1 K4 X                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            * O1 p2 U! ]4 S
                    if( pSkillProp == NULL )
3 y* u; Y, V- I# Z5 {                        continue;: h- [2 s8 j& G, n- H  ]
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: E) F; s( i- n1 \                        continue;: \4 C: T0 F) H4 u5 X; \6 O
                    lpSkill->dwLevel = 5;
% U! D5 R5 p3 M1 @& T2 h                }- i6 ]% B! o5 _
            }
. b2 o# o# {6 Y4 H) y$ V3 L( d        }
7 P$ e/ @. S& d/ I; U#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
/ h9 k2 i. v. A# _- Q3 M) W% U        if( bGamma )
1 v6 A; }4 D/ h/ e. `! e& x        {
  i( K* O. q. @2 h. }  Z) [            m_nExp1 = 0;( \3 L6 C" n9 C) a
        }
- G! x  D/ ]8 u7 @% S9 ^1 B$ }
2 {& Z3 x  @) P& F6 [' F! j6 [        ( (CUser*)this )->AddSetChangeJob( nJob );
5 l4 q8 h! F& @' G        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );( ?* J# j% G1 h9 b) T0 m! p+ j

4 H" a* W/ Z' s! F3 a+ Z1 r4 o3 [! {# q  e
#if __VER >= 11 // __SYS_PLAYER_DATA
) ~9 i# H0 ^, x0 {        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
# [' J- p/ G1 \* @1 J4 ], I3 S#else    // __SYS_PLAYER_DATA& [! R' ^8 r4 l2 h$ w1 [" v# ^2 A, C
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
- y$ a2 v2 g' l! S* q        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
& \; x% c" j; W  x        if( m_idGuild != 0 )! D8 P0 O6 @  |& x
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
: N& X) L. b0 P5 ]9 C: R#endif    // __SYS_PLAYER_DATA3 S& D* B/ P, C' k2 z
        SetHitPoint( GetMaxHitPoint() );9 A: o7 _. v, W, Z
        SetManaPoint( GetMaxManaPoint() );+ C4 L$ Y7 p/ U# `" U
        SetFatiguePoint( GetMaxFatiguePoint() );
( X( P4 c% _7 `% N        if( nJob >= 1 && nJob <= 4 )
% P% X9 H7 p7 j8 d8 H        {
, `  |( r! V6 a; ~0 P; c0 a$ |! n            m_nStr = m_nSta = m_nDex = m_nInt = 15;: H: h8 e, B. ]+ n& \' ^
            m_nRemainGP = 28;
( P. R+ p, S3 z6 ~2 y4 o# ~+ ?! ~8 u        }5 k- N4 C( ?- U3 P/ W+ u1 x  ^
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )/ I4 x: y6 p0 h: Q* S& c: L) C# m+ g
        {
1 H& F1 O: w" F4 ~$ v! t. k) C            m_nRemainGP = 118;
  ~7 ~  G7 R, `            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
9 ?2 J9 ]  I/ I  D0 O+ ^            m_nStr = m_nSta = m_nDex = m_nInt = 15;4 Z& B* |$ V- z% }
        }
$ y/ n* d# D4 H0 p; B4 f& q+ P        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
) L5 Z$ k6 F  ?        {( Z& v( C0 I" j9 A& _+ k
            CItemElem itemelem;& D' C1 M5 s, i7 Y1 A) q8 o1 ?2 |
            itemelem.m_nItemNum = 1;1 F7 ~5 }4 I. k+ _& @1 z, \+ B( R
            itemelem.m_bCharged = TRUE;: [8 ]1 ~. B2 {: z  m, y7 x; S3 ~+ [5 B
            BYTE nID;
7 h2 m( p# V% _0 n% z6 s4 u1 k3 l$ ^
            if( nJob == JOB_MENTALIST_HERO )
3 ], L# O% n  ^2 H0 {& K- e                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;, c2 ^7 r3 C7 U9 D+ l4 B3 V# `9 K
            if( nJob == JOB_FORCEMASTER_HERO )
9 [& u/ H% Z! d$ i                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
9 L, p% [1 i3 j* f, d% v( s; k8 E8 z  H2 R
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
' n5 m/ n0 H( ^& K$ m% r$ o+ \        }5 O  N: I& ]# n5 Q. Y( G0 c# u
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
( N4 |- L3 v* |, {1 i        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) F4 W5 F$ \9 {; @6 ?# |        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );& o/ J3 M3 X. ?7 g1 B- p
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );& p/ k, {$ c! O6 `+ |) c1 }
        ( (CUser*)this )->AddTaskBar();*/) Z0 l( S8 f, k# {) Z9 ?
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );6 S; ?; |3 j9 |! E
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
3 V& O  m9 Q( Z. @, e1 Z3 D7 Z        ((CUser*)this)->CheckHonorStat();
# D$ ~5 ]/ N4 _        ((CUser*)this)->AddHonorListAck();& R5 B% g) @0 f* V4 c( ]% E7 N: B
        g_UserMng.AddHonorTitleChange( this, m_nHonor);+ W* |" h; X4 t: j9 h
#endif    // __HONORABLE_TITLE            // ′Tà?
) N/ c9 L- [) b    }
. {1 J. t6 n8 M9 ]* Y' {#endif // __WORLDSERVER
4 T6 m8 K  Q$ p. X$ g/ F2 y}  , ~: w" t' y4 H1 Y

/ `  Y( V( h7 v; T& K" w/ I然后你进入functextcmd.cpp并添加以下& X8 z2 C& ]5 ~6 ~, Y

6 Q. T3 Q6 Q+ R% _代码:
# ?; w5 [" i8 r2 _# FON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )8 @1 ^0 [9 T$ _3 p& x3 V5 K6 Z
下面插入
/ k: W! o9 u: h! P5 y% WON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ' w4 l9 Q* }3 [9 V2 @+ u% v# p
' H/ b# a- q: D2 M6 q
然后你去0 X' g3 E. W: b8 u$ f! |: r5 ^
! j/ r; _9 |0 ]
代码:5 G) W1 w4 Z" W, k* Z' [% s
代码
2 U) k: k' z. {5 X/ @4 JBOOL TextCmd_ClearPropose( CScanner & s )
! I+ s) ~+ ?4 ^: C9 o3 j- {- Y{
! y. e0 O4 g! E6 ~#ifdef __WORLDSERVER& H1 K! Q; O* {# }0 W
    CUser* pUser    = (CUser*)s.dwValue;
4 F* l. G$ v% _. N( F5 L! t5 e    g_dpDBClient.SendClearPropose();
% e  w9 \' }/ z' S7 p: O# d#endif    // __WORLDSERVER
% L/ A+ y0 X; H. }* o: W1 N! b    return TRUE;0 w1 C" `* X" _/ Z
}6 o  P3 R% s& s  O3 Q4 @, v
下面插入
# N; _0 N8 h) a' K$ b% v% }0 d# NBOOL TextCmd_rebirth( CScanner& scanner )6 y4 C, L, u8 c7 ^& q
{9 k- z3 \2 c6 b' T# s
#ifdef __WORLDSERVER
* o. _6 Y8 p' B& g6 @CUser *pUser;
2 c. g' \, C4 S# {* BpUser = (CUser*)scanner.dwValue;3 l( A" }8 b  K; p3 a$ W
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
* j5 F" g2 N+ C/ S6 Q4 ^pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);; {: U' F( d, R3 Y! N4 ?
else3 `- [" y" c. Z# n. b0 m
pUser->AddText("你还未达到重生条件!");
" `8 m, J5 ]4 q. ^4 }5 C! P. x#endif2 y; {$ _; k$ V9 g
return TRUE;
  I2 g/ K, Y2 m" q}  7 `; H0 G# }( T& J  }" f, z; d
( P" ~# q4 H( I5 ]3 K

  w5 N+ b9 s: L( s
" c& D2 [: n4 i9 T. u$ U! Q! m9 g





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