飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
; c! [0 b6 Y7 Z' [
3 A# a% B+ [; ]+ jMover.h9 B) q9 n' f* Z9 B
代码:" {+ i) Y. F# M" L9 g9 ?3 m
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
  ?3 A$ w$ L1 C, [( O+ _4 X* |- D& D
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
( W# r2 [2 E5 A% Q1 |+ S9 h9 h: M- B$ r
然后你去mover.cpp添加
9 ]* t$ E7 @$ U& r2 f
/ p: T  g# G: g. B代码:" _( A" t8 M5 G3 o6 Y  |/ {
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )9 N& y" e) `5 ?3 Q! m7 q, \4 Q2 k( L
{
% s9 z9 X" m  O#ifdef __WORLDSERVER
% ?) ~/ j. J9 K% P* _6 g- v( j    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó: V- I) h) @9 }
    MoverProp* pProp = GetProp();6 g4 J. G# p. Z8 K2 S% N5 \9 J: M6 H5 A
    if( pProp )& _( ~' D2 U3 O$ _2 z) u
    {2 q' A& k3 y" ]' O
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )3 f9 m2 d) @; R' H
        {0 ^9 u0 P) v" x" [6 `
            AddChangeJob( nJob );2 S/ U2 P  F7 o) X: J8 R' K7 ^6 Z
        }else{
9 J, ^, o4 K6 c7 i! Y/ O6 T            return;
4 j1 F& e2 ^$ S0 H        }! z7 g: Q' z- ^$ z4 T% `/ F
        int nPoint = 0;( T4 C6 k$ J( j; r2 R5 m, \. M/ Z
        if( m_nJob == JOB_MERCENARY )- f  @2 e4 P8 _# u6 z7 w5 u$ Z
            nPoint += 40;
4 @5 W3 L$ X9 M* |) w2 L* ]        else if( m_nJob == JOB_ACROBAT )0 Z6 P" w; l) Q1 i/ G- O
            nPoint += 50;
) U8 }; l& F- o6 k4 [        else if( m_nJob == JOB_ASSIST )) T5 O' g" z( v& Q% r) r
            nPoint += 60;
6 |9 ]6 W& j) K/ A3 P        else if( m_nJob == JOB_MAGICIAN )# D4 \! M, `; B3 j
            nPoint += 90;' F' I# _$ t" v% B3 J
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
% e# n( ?. A; a            nPoint += 120;
% a, L2 z) w  R2 Z7 a* i6 q: T        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )! t3 t" r, B+ M) i
            nPoint += 150;
5 C9 E# s; F  h+ S, v; f        else if( m_nJob ==  JOB_RINGMASTER )
4 ]- r' `% W0 ]            nPoint += 160;$ g5 K9 e7 d  J9 ~, \
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER ), F: u5 j* _4 i$ U) R& B
            nPoint += 180;% l# Q6 X9 Q0 _3 O( L, S
        else if( m_nJob ==  JOB_ELEMENTOR )
: H7 x, H& c4 `( N+ B2 }            nPoint += 390;
8 }: C: A5 s/ K3 ?        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
+ {) s! |/ {: ?7 y) P            nPoint += 120;: s" ~, g6 O( O( L6 C2 K
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
3 p, w, ]/ G0 w+ v& Q- X% M            nPoint += 150;5 S1 R, i. t- d7 ~  f5 H- d  A2 |3 X
        else if( nJob ==  JOB_FLORIST_HERO )
% f, P" O. ~% l% I1 e            nPoint += 160;
, q# K( v" y8 B  p        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
$ D0 a* U- e0 h8 r' ]            nPoint += 180;
: Y, B( U3 C9 J# n; G        else if( nJob ==  JOB_ELEMENTORLORD_HERO ). y! R, |3 w1 B2 Y( w4 p
            nPoint += 390;" f8 K- p2 n( ?: v3 J& a8 _
6 B" t: o7 l; `  z9 n' r2 l
        AddSkillPoint( nPoint );
: Z, ^3 Q/ M" I3 o        m_nLevel = nLevel;  {) u! f+ f* b# j
2 r, \3 j6 W; w4 j
        SetJobLevel( nLevel, nJob );: d5 m  g' [( t, a- T' T3 H: e# F
        m_nDeathLevel = nLevel;1 v0 U! N- S7 ?7 L7 e9 G8 K
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans* x. N- h4 E. y" @' M$ z3 M0 ]% T
        if(IsMaster())7 h) N7 y6 F3 e4 S
        {% m) e6 K% s+ R5 g) \2 ^" `
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108; H  V8 q7 R; O, B1 }
            if( nLevel > 59 && nLevel < 72 )
5 |/ u8 m- S2 A1 t' [0 i6 d                dwTmpSkLevel = 1;
% x$ y" @1 T* Y            else if( nLevel > 71 && nLevel < 84 )
0 S0 W! \& K# I% u" ~                dwTmpSkLevel = 2;/ B' q8 l1 V* Y% e; r: q
            else if( nLevel > 83 && nLevel < 96 )
6 Q" u. U! x* B9 Q5 z                dwTmpSkLevel = 3;1 ]' V% i! Z6 t( z5 t# F3 \
            else if( nLevel > 95 && nLevel < 108 )' d) ^4 t% c# J2 ^) W$ T
                dwTmpSkLevel = 4;
- a8 m& I' I& g8 J$ @            else if( nLevel > 107 && nLevel < 120 ), }7 x  l/ h; i
                dwTmpSkLevel = 5;
1 a. F2 D7 ^# A" R) n            for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 k- ~5 t# o9 K9 a5 f2 A& Y            {               
) C: Y0 p  H" g9 G  z9 V/ ^* p                LPSKILL lpSkill = &(m_aJobSkill);6 B% z( U( G2 i# O
                if( lpSkill && lpSkill->dwSkill != NULL_ID )9 I# Y5 P( V5 o8 I8 U) T! _
                {0 m: V- y3 i& S. h( T
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
) b" m8 F$ y2 {                    if( pSkillProp == NULL )
( |2 L9 `& j3 O' Y- }$ \1 ?. R                        continue;
, k. @' X7 j7 Y- W8 k9 g                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& G- h) i1 v$ O% W5 N/ c3 u
                        continue;
2 U; a% t! R; K" R$ v8 x                    lpSkill->dwLevel = dwTmpSkLevel;1 p" A. y2 \* b+ n7 L0 p, Z
                }
- J' y6 r+ u$ @* w0 v            }2 N- }) q( g/ Z& `' ^0 J/ s
        }! l. l8 Z; _$ \( \
        else if(IsHero())
* I3 g7 K2 S8 A! w+ v        {3 q9 E! D# @8 t3 Q* j& f
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 d+ G$ {$ Q' b            {                $ [* p; H2 ^& N
                LPSKILL lpSkill = &(m_aJobSkill);
2 P* S4 y8 f+ l0 ^1 q" r4 ]0 l                if( lpSkill && lpSkill->dwSkill != NULL_ID )7 j" C0 q( q8 J9 b$ w* W- Q
                {3 W$ E( @4 W) `# `# A
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            7 S/ b# ~+ V0 l. J6 |
                    if( pSkillProp == NULL )
+ ?  i, y6 a& C                        continue;9 @! Y/ Y/ J6 f% b1 b5 F
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)$ m3 X+ P, s% g
                        continue;! |0 E: n. D3 e7 W7 x& o1 b
                    lpSkill->dwLevel = 5;
  a0 f+ T" {0 ~0 I                }2 `/ X* L  `) y$ Y" c! i5 b
            }
) D$ m! E2 }* x( Y" r1 d% L% J2 V/ _! e        }
' g( G2 G  k7 Q  C; z* m5 z$ V  j        else if(IsLegendHero())5 |' f5 W5 D- ^) G) S
        {
% t! Y' R2 I/ Q, r- j- a% l            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% j$ e( _/ {# ~# m            {                - c$ W, ]* W8 a7 c4 a& W
                LPSKILL lpSkill = &(m_aJobSkill);
0 S& X- X! k' ]3 z6 k; v& B                if( lpSkill && lpSkill->dwSkill != NULL_ID )# k1 f" }5 P5 L4 a. g
                {" c6 K  O* H* E3 K
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
" R. D; n, E# _* _                    if( pSkillProp == NULL ); j% N" D6 W0 ^$ D" Y9 G$ j
                        continue;0 g% m7 H1 ^" V7 w9 b& a6 X
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)  O6 ?: G5 L" |: q) q
                        continue;) ^4 d8 N, _- Q; H+ c! i
                    lpSkill->dwLevel = 5;/ e! h6 H1 \& |, ^- j5 m
                }
3 r% Q# c- C8 K; G: M            }
: x. y& P! ~) e1 g$ g* v        }
) n6 U6 H/ t% ^4 \+ _$ o2 {6 [9 B$ i#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
9 D; G3 Q5 Z# Y! @        if( bGamma )
7 Q$ g8 h# j7 L4 D        {
  b( ^; E1 C: G$ K1 w7 T            m_nExp1 = 0;. K6 }9 S0 b0 q) m- L' z
        }' z% |+ G, E, w& P5 _7 z

: k- K& k- k; x. q( T        ( (CUser*)this )->AddSetChangeJob( nJob );$ S, Z1 i$ K/ i
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 i) ?. C$ K4 n. [( Y! \* e% S& _/ ]
* C2 X$ n6 ?) j) Y# l; D2 J- `, {/ g2 @& n2 S5 |
#if __VER >= 11 // __SYS_PLAYER_DATA
0 Z' t. ?5 r# ~        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );5 J, a" I  q, o8 Q# h
#else    // __SYS_PLAYER_DATA( c* ?+ W# `7 L( V; y' C5 ?+ H  h
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );  N! z& ~  N( y% p2 O
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );4 p2 E" Y$ N, t4 t+ B  A
        if( m_idGuild != 0 ); u* g4 O) q1 n7 q. G) x& _5 V! A
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );( t3 C9 v2 ^" h/ f1 B2 o+ V, f
#endif    // __SYS_PLAYER_DATA
& v! v+ w9 l9 ]6 \9 o6 P7 V# O1 S        SetHitPoint( GetMaxHitPoint() );
. k( m. S. s! G" z9 q4 |/ O; y        SetManaPoint( GetMaxManaPoint() );
2 W, ~& {1 H5 w: d" r2 u  y        SetFatiguePoint( GetMaxFatiguePoint() );, e: y* h6 N9 Q# }* e( I0 \
        if( nJob >= 1 && nJob <= 4 )7 O  p' l5 X! _; `! f6 o+ Z
        {; E3 ?8 g$ l6 P% C) \" J, u) R4 B
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 F5 O' i+ c# r# L) }* u, ~2 h            m_nRemainGP = 28;. @$ S) K. x$ `2 Z+ S
        }
" }/ u# X8 E( Y0 w2 k% e, l        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! C/ ^. Y* A! Q* V
        {
( j% y0 c3 ]  G9 `- `- p9 [            m_nRemainGP = 118;
6 [* N# d/ G* e) t5 p- o            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;9 O8 J) B* D: d* w
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 N$ o7 o6 @% M& T/ A        }: X: g+ ^  Z9 c6 b5 w1 P
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
- [/ o+ {' ?! ]2 g: n$ i# ]. F        {
; G9 o2 U; q* f- Q3 g" c  w+ R6 T9 C            CItemElem itemelem;) l- {: }; L2 O1 ]9 Z# o
            itemelem.m_nItemNum = 1;
* }4 A. S8 w. T/ V8 o: d4 K( f            itemelem.m_bCharged = TRUE;, x4 o; b. X) F1 ~
            BYTE nID;5 b! ^0 k  Y' N, k. E  e
" _0 w+ I+ {+ \4 d
            if( nJob == JOB_MENTALIST_HERO )2 U! v; t* u- e8 k) L. q3 V* E
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
9 w8 m) f2 q# O% ~0 D            if( nJob == JOB_FORCEMASTER_HERO )
/ O6 Z4 k+ s( \/ L. s# a                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;% s. q: K+ ]2 X6 z7 ^
1 t  a9 o2 }5 Q& {# L+ b* s3 g
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );7 A; E. R- ]3 I1 x. _+ R
        }
$ a/ ^0 T, P0 `0 Z# |: ^& R        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );0 w# X4 ~3 C; y3 U
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
& ^9 p$ O& `3 C" C7 _/ H4 @" @        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );/ @0 ^' ^3 t  f1 E
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );) c4 S; @0 Z( ]6 m" j( ]+ _
        ( (CUser*)this )->AddTaskBar();*/
  s8 X: j& g" m& C  C6 x' @2 K8 w        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );- R; s7 _- \) X5 u( l
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
7 k9 [  A9 ]% T, `! k+ M) B        ((CUser*)this)->CheckHonorStat();
$ e6 G! u9 W* y, D        ((CUser*)this)->AddHonorListAck();" N" T$ @7 w  e+ f1 {
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
& b& _  m7 y3 v* g+ J" T7 c#endif    // __HONORABLE_TITLE            // ′Tà?
( J7 K. Z- _+ k9 ?    }
2 b5 l( Z) S; @! u#endif // __WORLDSERVER4 I/ d% ~% O  E% d
}  
" R# |  ?' X; p3 b1 ^9 N% K% y% ]: _3 `, S$ y
然后你进入functextcmd.cpp并添加以下
6 C; W  o: Z( S; g, {" T. V" o  A, p2 H/ x+ v* A( R* g
代码:
6 E: X" r/ v4 g/ C# |! |ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ); G6 F$ X3 B! h' d# R
下面插入
. D/ P0 f9 d! Q$ V+ I4 VON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  4 ^- c7 Y# b7 u9 @1 M  H8 N/ V

8 B9 O! a/ }5 v/ q" w9 a+ h4 z  O然后你去( w: R$ q8 g. `' ~; ?( F

* a+ [* i' R6 ?" ~: Q7 s# l8 }代码:
( u2 V% ?  Z  ?代码
! c. y% }" j( z% ]BOOL TextCmd_ClearPropose( CScanner & s )
! H* t# T: v! f, z+ j; q/ O{" ^  H% p$ ]$ K# N$ j- O6 b. ^- y
#ifdef __WORLDSERVER
/ ]# I" b8 m1 o2 G' |/ T    CUser* pUser    = (CUser*)s.dwValue;2 V2 q( o! t- O6 Q2 V7 A6 a) n
    g_dpDBClient.SendClearPropose();! x7 F/ s2 h. p# g3 t
#endif    // __WORLDSERVER; n9 x. }* m  E% I$ F
    return TRUE;  O; h) Y) G9 v& V8 O0 }
}
2 \5 T$ N2 j1 S6 K( ?下面插入1 D1 l% @. Q+ h2 K
BOOL TextCmd_rebirth( CScanner& scanner )! k8 d4 R$ v: M7 P
{- \  I' _/ S, I3 Y
#ifdef __WORLDSERVER
$ k. ~7 s" H3 @+ ]( UCUser *pUser;
; o; V9 g( q, Q8 [* tpUser = (CUser*)scanner.dwValue;- a( M, v: m7 e  p6 U
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero()), B# ^8 |* y$ f  t  \+ B* [5 |2 U1 M2 d
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);! v& z6 t) m/ o) |
else2 _) y, [% q7 g6 [, t. o4 [( l% X
pUser->AddText("你还未达到重生条件!");
' r( K6 f8 @, g+ F5 s- @#endif4 b0 k1 E" ]; {% g, d- S* [6 s
return TRUE;
) y7 P4 t( @2 A* e0 x$ g0 N9 I% ~6 p}  + }* P6 a2 |- b5 ]
- F  ]' C. d* t: f9 z7 O
7 \4 @* [4 C3 T3 g( O, i: t. R

2 h" Q+ s3 W5 b3 S) a
; z5 G. y, }0 Q% O/ A+ J  Z




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