飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
; p+ L5 ]& U4 O: q) U; t2 q
' H; l! p4 K3 d& t! dMover.h, G# f5 H8 Z2 f6 A; r  L
代码:
: P  s" H+ K' R# N4 c/ O1 \找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü3 Y/ i$ ]! o: d' s; r) M
3 e+ m5 H: R0 q; V1 i
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
2 P* g; E8 f3 Q1 t6 i; Y& I( a/ b3 s  o1 b
然后你去mover.cpp添加5 j+ l! B* [! H- d& Y( M4 S5 g1 @

; r6 \8 p* {3 }1 N代码:) O& T4 Z6 c3 M7 z% o
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
5 q" z6 K2 T7 f5 |" D6 l{" p3 Y; ~, p( t8 y) A
#ifdef __WORLDSERVER3 D  x/ {! `3 w' m0 G, C' j
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
  I; ?2 \; K: z4 Q3 d9 I    MoverProp* pProp = GetProp();0 \: Q& a2 x' L9 h. Y3 b/ o
    if( pProp )
$ E: }2 o( K* N    {
& B5 k' U9 @- {" C2 W1 p1 |4 N        if( nJob > 0 && nJob < MAX_LEGEND_HERO ), F: K; z$ c0 s$ Q, |: i
        {
. X2 W$ k$ H: ?            AddChangeJob( nJob );+ S- a3 A6 J, Y. i* u" b2 }1 O
        }else{
: C' x' M( I/ j( l7 S            return;' a* D- }% r7 M* @' |( r
        }- e5 H4 n5 x$ ]& H* F) ]1 ~! `
        int nPoint = 0;  ?; o1 z3 A  ~7 N  U+ I& p
        if( m_nJob == JOB_MERCENARY )
  e: [: {. l/ L% s7 c            nPoint += 40;
$ d" x& m( p. ?, \        else if( m_nJob == JOB_ACROBAT )% M9 V9 g& e$ s
            nPoint += 50;+ Z  i2 N& R! f6 m& C0 q
        else if( m_nJob == JOB_ASSIST )% t: k# n, Z$ B' B0 o/ I3 w
            nPoint += 60;/ X1 B# t- ^; v4 r1 ^( w
        else if( m_nJob == JOB_MAGICIAN )) h5 H8 L6 g$ J6 X& @& M
            nPoint += 90;" N7 Q5 B* J4 e2 F2 O! H
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
9 [5 Q( f* Z8 i7 O$ Y            nPoint += 120;
) I& i, [) A/ G7 C3 N' p        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
) Y6 |2 q3 d' e$ D6 v            nPoint += 150;; C. }+ R" q* V" Z9 z8 \
        else if( m_nJob ==  JOB_RINGMASTER ), d7 L6 [, i5 k5 |9 u' n! M* s
            nPoint += 160;
5 n4 R# b1 A* |$ x. H" F        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER ): V+ y9 ?8 N3 U! U) c& E
            nPoint += 180;' Y3 T, N& k: o3 S
        else if( m_nJob ==  JOB_ELEMENTOR )
! S! T3 c+ m2 q+ P( e. Z            nPoint += 390;) g3 F$ d: u4 N- F( v+ h" G
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )9 g( L* j6 n) {& j
            nPoint += 120;# J5 q1 g! s' J5 T# B, C1 N
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )6 w/ R1 |! _& M3 B0 l, `
            nPoint += 150;
8 a7 ^& `8 X! r$ d        else if( nJob ==  JOB_FLORIST_HERO )
. t. D$ A8 i/ u# y            nPoint += 160;; t& W+ b' W8 U! |5 p
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
9 I4 Z* ], ?. [1 b$ o* C            nPoint += 180;
+ w5 D  `9 a6 A' `7 H        else if( nJob ==  JOB_ELEMENTORLORD_HERO )! Z. b, G' O7 x9 r, |' s9 ?* c
            nPoint += 390;3 N* G/ q5 ?+ `$ T, u% v

4 s3 ^" @" |3 ]+ E2 R- l3 K# T        AddSkillPoint( nPoint );
* q& a/ ^1 j# h7 p' D2 j  R        m_nLevel = nLevel;4 _5 v4 C4 V; h) p$ R- S# V9 s
4 R/ {9 e7 i( m
        SetJobLevel( nLevel, nJob );2 g" B" Y& f0 h/ ~2 f- L
        m_nDeathLevel = nLevel;5 {; I' m8 j- Q# q0 r
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
* j" R- _% K. N4 n4 @/ B        if(IsMaster())% |0 {- t. k0 r. @4 S
        {6 f$ R9 p! Z( l" h8 R% V
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
. i6 u8 R/ e4 h- S8 V+ ?& g            if( nLevel > 59 && nLevel < 72 )
; P  z9 r9 o  j7 T% k: Y                dwTmpSkLevel = 1;( `7 A/ v3 u( X2 H
            else if( nLevel > 71 && nLevel < 84 )2 f# k, |9 M# F9 {8 p7 @2 Y
                dwTmpSkLevel = 2;
( T+ d! L" n1 o( Z+ w            else if( nLevel > 83 && nLevel < 96 )
5 K+ N4 q0 f; ?9 \0 W6 N% O8 f                dwTmpSkLevel = 3;7 A8 b: q5 G# [0 R& C+ i4 r/ ~: X
            else if( nLevel > 95 && nLevel < 108 )) U" C6 B* o' {
                dwTmpSkLevel = 4;
6 }9 d" D2 A0 d1 m9 H! u% O, N            else if( nLevel > 107 && nLevel < 120 )4 b$ H) y& w+ d% J: l4 ]
                dwTmpSkLevel = 5;
5 p$ V6 x6 o$ o% |5 \# S            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 H) S8 B( T$ E4 c( O6 o
            {                7 T3 `& x* i& y
                LPSKILL lpSkill = &(m_aJobSkill);
( i5 A! V7 }- U0 n% u8 W- s; U                if( lpSkill && lpSkill->dwSkill != NULL_ID )
: F" N7 }/ U4 U2 g7 H% o* Z                {# w) p; Y& d) \+ C# r& C
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
- H$ R7 L7 j* k/ f6 K                    if( pSkillProp == NULL )
8 A$ I$ o$ r, y1 l; s* k- R+ z                        continue;
! K/ {. f( @0 Z! {% F3 v                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
& ~7 I' N6 m, k& Z                        continue;
) g* z0 w, _) y4 n3 W: o9 K+ m; w# R; P                    lpSkill->dwLevel = dwTmpSkLevel;
/ U5 H$ n% S) H9 p2 g, k3 K                }
; \& {4 b% O& O$ n; \' V2 i            }- \/ P9 I/ x; O
        }
# m: a/ S  c/ r7 o        else if(IsHero())0 d- B9 r& t# W: U, p3 P
        {
: B, d4 b$ ?+ y9 e! R! y            for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 B5 p1 _& t  y' ^8 R            {               
# [' d. G# J7 S# X3 Y5 k/ q# _                LPSKILL lpSkill = &(m_aJobSkill);- G$ n, I# K  t
                if( lpSkill && lpSkill->dwSkill != NULL_ID )4 `  W- L0 L# F- a% e% r  l
                {
' Y: Q6 u! t2 J& j7 u1 W                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
6 _& q3 B2 C( i                    if( pSkillProp == NULL )  y  t; K) ]$ {+ M
                        continue;
4 |2 ~* u" o0 ~) m* c- k                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
9 @+ F& J! z# o                        continue;% \% O1 @, h, w  E$ ?  @
                    lpSkill->dwLevel = 5;0 M( J3 N$ s- U7 q. U
                }
0 _1 s( E7 `. X& y- n            }! c3 P/ s! y# h( ^
        }9 v6 R  {! i; f" U2 Z
        else if(IsLegendHero())
# K0 p' o- L( l# d7 r        {! V$ ]. M) d% p5 b$ v' A
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 U/ H1 R5 Q0 C& _* B& D5 C% [& A            {                5 p) P- C9 G0 o' ]$ D: V* n( S
                LPSKILL lpSkill = &(m_aJobSkill);) \0 N8 D" o8 X& n% \
                if( lpSkill && lpSkill->dwSkill != NULL_ID )! v8 k7 f* m% ?2 W* _- y! ~
                {
! _2 x  H* W$ P6 o/ N                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
2 ~6 K/ {0 c  K3 U$ K. [( I& L                    if( pSkillProp == NULL )5 W5 D( }* a! e4 o
                        continue;/ g* M: m' Q5 t& g3 a% k  G
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, e# t" ~/ s3 B' M, ]) w                        continue;3 Y' c8 a6 A7 ~% r6 C+ u! i& k6 x
                    lpSkill->dwLevel = 5;
! S# O" h6 z3 A9 q                }
. @& d: Q2 r5 |( @5 T            }1 s" v3 U3 [' l' u! z
        }
( K$ D6 o* f8 b+ F$ d#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# p6 V! G, g/ w  g) s        if( bGamma )- H) m: O9 `7 e/ A3 v. \2 h) B! @
        {# b) D( d4 T& e3 d3 n( ]+ {
            m_nExp1 = 0;. `5 ~# ]) C3 B: b+ k
        }6 @" M; E0 H& F+ H2 H
3 Z* F5 O, x2 O
        ( (CUser*)this )->AddSetChangeJob( nJob );
; W6 U$ c! K% B2 G        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );4 C0 Z5 h) y& Z( l, x! e

0 p0 H5 d! H1 c6 B& M, ~' a* N
* t& F  `% U' D1 X  n9 J" {1 S#if __VER >= 11 // __SYS_PLAYER_DATA( s* R& i  S" X  |" _! K# A
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );! F" S- q1 e7 }+ W
#else    // __SYS_PLAYER_DATA
- v5 l( v; C% [2 U' P        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
2 m1 B1 y8 t6 W. c3 V        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );0 U+ @( n- a1 p& L9 o/ _) b
        if( m_idGuild != 0 ): O% i# ?( J! t8 R- x
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );' |7 L& K( D) _" j: s
#endif    // __SYS_PLAYER_DATA# w9 Z1 h+ A0 n% X2 _6 t  X
        SetHitPoint( GetMaxHitPoint() );
+ C. X" {4 x/ V7 \/ g/ z, H, s        SetManaPoint( GetMaxManaPoint() );
: \- G  [4 \" Q2 Y' g/ u. t        SetFatiguePoint( GetMaxFatiguePoint() );
  t9 X  y+ r; T7 `4 R; V. y        if( nJob >= 1 && nJob <= 4 )
( e/ E' x( U$ v) x% ^% i        {! n: o3 I/ u/ e- T# F7 F* J
            m_nStr = m_nSta = m_nDex = m_nInt = 15;2 R1 y. r$ o# b# U) ~* t9 C1 ?
            m_nRemainGP = 28;
, v  \6 Y' D" w4 V/ Y! o( s  e. r; F        }: G6 w% E# p; z# d4 H1 ?
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )2 J% k# u$ Z% e: U
        {! ]$ h& V4 m' x/ b
            m_nRemainGP = 118;
- J7 X$ ]% f- B) D2 a( ~! G. s! n            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
& x( w6 ?8 Q! e; f3 e            m_nStr = m_nSta = m_nDex = m_nInt = 15;, n7 i* G: T. [, T
        }
/ S: {5 ?% k; r9 |4 \! @5 k; W        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO ). C/ C/ ]$ z4 u9 |" ?
        {+ C9 y8 B/ D6 H
            CItemElem itemelem;
3 A* x# X  `1 q/ `8 O* T            itemelem.m_nItemNum = 1;* J; \6 j% O) H: \, ~
            itemelem.m_bCharged = TRUE;7 v, {+ _. t5 F
            BYTE nID;
, a  W8 M4 Y1 k& x0 a" f2 T3 r' t% J+ H- G1 I; r
            if( nJob == JOB_MENTALIST_HERO )# W% S: h3 ^2 Z) m+ l. w1 b
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;4 i+ Q; _9 R4 ]* l, w  ]" e
            if( nJob == JOB_FORCEMASTER_HERO )
. ]7 d0 ]: k9 L0 ?3 X                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;0 a& P8 w" ]( `
% x) \2 b3 O( R7 _/ O
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );1 y8 Z9 q1 G$ T- h* H
        }! f5 m- ~' F0 g# i- U5 m/ {
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );2 z& L5 m/ W0 W& G4 _- L0 n  [
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
0 @4 J7 t  u/ ~* _0 l        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );, l$ V0 ~2 ?7 L* G* _" t- ^
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );; }' U/ l9 c2 B1 Q
        ( (CUser*)this )->AddTaskBar();*/
5 F* Z8 P$ H* [8 K4 l. H        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );, B5 U$ z$ `( G- ]
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
+ L5 ]. I/ M# @& L+ W0 |2 G        ((CUser*)this)->CheckHonorStat();7 J& S7 m* N) |/ P% k) r
        ((CUser*)this)->AddHonorListAck();8 G+ i7 D% k% ~6 @) [
        g_UserMng.AddHonorTitleChange( this, m_nHonor);3 R: `  m3 I, O& r
#endif    // __HONORABLE_TITLE            // ′Tà?& [& x) x* X3 ]; r2 B
    }& e- e, ]' z4 `8 q0 ^# J
#endif // __WORLDSERVER
) x+ E& s& D/ k2 C; ]% y3 d}  0 R; v: \2 h7 N' J8 ^: y. v/ y5 ^; _' T

; S5 q3 n+ e9 v1 M3 t& a+ V然后你进入functextcmd.cpp并添加以下
& g  L) F6 r) z' R! J" @* p, A
8 ]% f8 T4 ~- e9 F! }: H+ _代码:7 M2 A. [7 W. d( Y; r$ R
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
- z- |' e! I6 H% O- o' o( _下面插入4 Y. s4 y( `4 ?  ?* E0 n- V1 j
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
; W# c. M4 A; x
3 w' [+ }! l& T5 U2 |: }% ]然后你去. L# M2 \7 |( g; x# s, c" u( [

. m, A& D" w+ Q+ ]代码:3 p: P& c! f7 l4 Z$ |
代码) a$ {) H4 c4 J# s
BOOL TextCmd_ClearPropose( CScanner & s )
5 ]. \. J2 D7 @/ ~{
7 W. C5 \7 S% F0 p; [4 a) L. ?#ifdef __WORLDSERVER
# ^9 e+ v/ ]1 J- D( d" ]8 b    CUser* pUser    = (CUser*)s.dwValue;  G3 }7 Q8 J( Z$ |( m' F
    g_dpDBClient.SendClearPropose();
& e; ~- m4 `( l% U0 z, [#endif    // __WORLDSERVER
$ g4 ?& ^5 B4 X8 Y    return TRUE;
) v7 d; D* u* Q) ?}+ _( |3 Z; G( b
下面插入! L5 z; {* K$ i+ r
BOOL TextCmd_rebirth( CScanner& scanner )
; g3 }0 Z: [1 H4 U7 P" ^7 M{% b) h, G% z' E( }( W
#ifdef __WORLDSERVER
# ?% V" M- E5 N; b; o! F+ h' dCUser *pUser;1 s* P! ~" r3 m$ C  ]
pUser = (CUser*)scanner.dwValue;; y& Q/ l2 D% ~
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())+ \/ P1 L  p; z2 N
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);2 K, V& }* T1 O6 C0 f
else
9 O% N* E' C3 m6 [( s- v9 MpUser->AddText("你还未达到重生条件!");* }/ j7 P7 c' {5 U0 K. V1 E, [( o
#endif
1 e4 M! L; N  i8 Ireturn TRUE;& {& B8 g: k8 L
}  3 n; j8 N, m; D, O4 \
& I. s! J0 h) B$ _
3 y0 _# i* \3 `$ a0 l9 D; b

& |! W( e& E5 t+ u3 o6 h8 T" B





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