飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
* S* c( T6 N( g6 n( G5 u; A' P' Z6 t8 r' Z  r5 A5 G: i$ h- g/ ~! p
Mover.h
) r) A$ q" t2 c; }代码:4 X" f$ w: @% [
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
( ]  S; S, @9 ?* _& C2 J, q% T- Z% R+ o- @, c, l, D) h7 n" w8 q
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
6 x: U! s2 Y6 e' @  c
# ?9 M4 F% u: R9 t( Z然后你去mover.cpp添加
! q  P/ v( d1 S5 \% O! s5 w; o9 M  T% m, F% L
代码:8 z  S4 f0 @  C6 u
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )' t+ u1 t: O" B7 _% |- R! K/ E: a. @
{0 S3 s: _; S% M# J* ?: F5 F6 |
#ifdef __WORLDSERVER. {0 k' t2 {& T9 b& T' n' U9 F
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó9 S7 E- y- X! M
    MoverProp* pProp = GetProp();/ Y5 X( Z* \  o, r! M+ g* O
    if( pProp )
7 g* {7 s) n0 H6 h, @& R    {  ]' m( p4 ^9 @; p
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
  a# E7 U" C8 g  R( [        {4 F/ Z5 z7 X$ z& Y6 A
            AddChangeJob( nJob );- U) ]/ [% P! G% L+ ~% ~& @4 b
        }else{
  i0 M, ~' t$ O5 o2 s$ `            return;
* T  X  G$ Y6 ?3 N1 T- ?        }6 z; C9 X9 `2 |2 b* M
        int nPoint = 0;
- G, A& ]: ~5 W8 C! L        if( m_nJob == JOB_MERCENARY )' ?3 y0 A0 q9 w* \
            nPoint += 40;
' r8 n8 [$ w: Y  ]; c        else if( m_nJob == JOB_ACROBAT ), d2 c# T! f9 z9 P; J$ S2 g
            nPoint += 50;
: B& c5 j9 F) Y, E1 P, E6 q        else if( m_nJob == JOB_ASSIST )
0 u4 Q/ f" z4 V6 m+ P7 d% l            nPoint += 60;8 q2 ^& F( f- ?4 Q& Q) F+ F
        else if( m_nJob == JOB_MAGICIAN )
4 f1 N" ?; L, D) J/ {! b- m            nPoint += 90;* j0 A7 h, u2 r. F- J4 }6 }: y4 ?0 i
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
, l5 g; j6 f; \/ l. A, g0 H$ L$ H            nPoint += 120;
  F& E4 {2 I9 X1 a* G! ?; q        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
3 ]! z- `. `# c5 \4 W) v+ w1 C            nPoint += 150;) R$ a/ {+ E6 o: j
        else if( m_nJob ==  JOB_RINGMASTER )
+ A* i. P; Q: {; V2 Q            nPoint += 160;$ W- u+ K9 y" D5 X
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )3 O8 ~7 h$ W) {7 i" B
            nPoint += 180;6 z! r+ g: {' |% Z; _  s
        else if( m_nJob ==  JOB_ELEMENTOR )% e2 b2 ^; C$ O# y0 o8 |
            nPoint += 390;+ Z- w3 x, W. J- B6 P
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )1 N, R4 J. A% C6 g: M. C
            nPoint += 120;
) n* I  V+ H2 S) M' j) Y. ~5 K        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
# [% y8 G, y$ I" _1 d            nPoint += 150;* m8 ~; D/ i/ q4 X+ j4 C
        else if( nJob ==  JOB_FLORIST_HERO )' E: o6 v9 m1 T/ X7 C
            nPoint += 160;
) e2 I' `: t; Y2 G        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
" e1 Z7 \" W2 d            nPoint += 180;
  g  q, o5 h, x- Y        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
8 C8 K  F9 z- C3 t            nPoint += 390;
, s3 e7 E$ Y5 Y9 [' @, O1 @
9 S6 M9 S. i6 N5 x        AddSkillPoint( nPoint );6 y- E: M7 N  T( S
        m_nLevel = nLevel;7 |4 G) C7 K1 w& B

' F3 s9 l6 Z) l1 d        SetJobLevel( nLevel, nJob );+ c/ m5 U3 H) G1 B7 R5 \  w$ a
        m_nDeathLevel = nLevel;
7 J. ?0 y5 m( ]% ?#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans1 `" O8 H/ s8 I3 t* W
        if(IsMaster())6 z. P, m! L0 u. s
        {
" N4 K+ q2 C  I! H9 u0 [% W$ g            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108% J4 N3 y) d7 O: I; v6 f
            if( nLevel > 59 && nLevel < 72 )8 A7 u) ~0 }- f1 v' d- K0 f
                dwTmpSkLevel = 1;0 n: j) h+ X) {) Z
            else if( nLevel > 71 && nLevel < 84 )* g% N' a5 m: `) p
                dwTmpSkLevel = 2;
, \, D5 F& t6 i, u7 I+ T. y, h            else if( nLevel > 83 && nLevel < 96 )& J' x# @, r% E5 t9 ?, q
                dwTmpSkLevel = 3;
! {+ Q$ I5 R, F            else if( nLevel > 95 && nLevel < 108 )
  `5 W- }* c- C  w' y) j                dwTmpSkLevel = 4;0 v( x/ H9 L" @( d5 ^) E$ H% k
            else if( nLevel > 107 && nLevel < 120 )
# _- e5 H' \2 z                dwTmpSkLevel = 5;
# p3 `! T% q* D            for( int i = 0; i < MAX_SKILL_JOB; i++ )
3 [' _; u( t- h. A3 N& a            {                - x  ]# p& ^* G) I: L
                LPSKILL lpSkill = &(m_aJobSkill);5 M4 l, J6 i( y& D! y. t! e: w; N
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
: i8 X( F' O& i; N                {
6 J5 [1 E) B9 I8 I& T/ ^4 E                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  {, T5 L* F9 _4 n# @4 c- Y                    if( pSkillProp == NULL )
1 W% M9 _8 U7 A) c                        continue;
. s: v: e- t( ^                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)3 j9 [( z. R6 t: v! X
                        continue;3 v5 c  @- S% e
                    lpSkill->dwLevel = dwTmpSkLevel;( N1 i4 i* U# I4 e, w( w
                }
9 H( W4 L. p" I8 W            }
9 [- }  `7 y" N0 h        }
8 x6 D6 h& j9 `! B) `; ~! H. ]9 ?        else if(IsHero())
5 n$ w4 [# X- ^+ e3 H) W        {
5 j( w( d/ S0 y- n            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* W  u" y. m6 H- H0 ]! C            {               
* ?# t7 Z3 Z% U! G! n6 V                LPSKILL lpSkill = &(m_aJobSkill);0 X- i+ |: |+ ?+ s6 [! M/ t+ _
                if( lpSkill && lpSkill->dwSkill != NULL_ID )5 H& A2 R2 \7 t- @% E0 z
                {
) c% \  Z. U5 k8 I% Z                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            : T+ J; H0 l2 e% ~) X
                    if( pSkillProp == NULL )4 S+ a' A* q( y3 E: G5 M
                        continue;$ d# t6 o9 G# ?' j" c, P- ?; L
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
/ g$ ?/ p" M1 C" o2 B                        continue;3 a7 t  k9 s9 H2 `: |
                    lpSkill->dwLevel = 5;# u: H6 B5 c9 E" _
                }: r1 s( N# H( V& R4 G
            }
; Z* b; M% B6 K1 J7 l- j        }
5 P2 g6 _4 I# u; |7 |6 P        else if(IsLegendHero())
* M/ E0 m* @7 G) @+ {7 M2 {        {
& l/ u( s2 L; p, Z4 R1 S; k9 F            for( int i = 0; i < MAX_SKILL_JOB; i++ )
" |* M) N8 j& F: J2 ]            {                ( Y# {2 O) t) i: V, Z4 C
                LPSKILL lpSkill = &(m_aJobSkill);0 o$ F* U, y  K7 N5 j
                if( lpSkill && lpSkill->dwSkill != NULL_ID )$ Q/ Q# W* v2 ]% x3 l% X& C$ f
                {
  Q9 z+ i. V' q                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
! [/ c9 H; u  g                    if( pSkillProp == NULL )
; x4 F0 N+ t9 S1 F4 C                        continue;' E+ ]3 L( G5 \5 E# h+ k  U
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, _) V( g9 n7 Q+ E& j7 Z- t* e8 Q                        continue;9 S8 ]! J9 t. [/ p
                    lpSkill->dwLevel = 5;
  n- x& l8 E9 P/ g7 a' C6 G                }
: Z8 V: w- E, E, g6 M9 D5 j            }7 c& @9 n( _: E! X
        }
. v: P  h' y. g( W6 P) V1 l- u#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
. N9 F. {: F9 D5 X9 J5 S5 w        if( bGamma )
/ n7 h. J0 d$ U  l        {
0 a1 ?2 O. i( e) n4 X3 @. v) q" ^            m_nExp1 = 0;
# v0 y, w/ _/ {1 ?        }
$ |/ V3 ]8 V- r, Z* g; J3 l! b) o0 Z; ~3 g; c. I8 s
        ( (CUser*)this )->AddSetChangeJob( nJob );
6 c# r  ~4 T, g" ^1 Q* P        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
) B$ l  F1 z6 \  ^* [: M+ A& l, o! I3 J3 v) k

6 J/ `! ^) T# {- C& y; o& d#if __VER >= 11 // __SYS_PLAYER_DATA
. s# u6 v' D' u4 ?. i  C        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );6 T( D! U9 a- [! Y% I! U; [% f" z
#else    // __SYS_PLAYER_DATA2 y" Z# ?1 ^6 I2 C) p
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );; b1 C. |% I' v/ w1 p
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
  p/ V) k& s% k/ P! w" G        if( m_idGuild != 0 )( l) W. R4 R$ A* F* n3 v
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );; q6 E1 G6 ~6 U+ t3 f* W* a
#endif    // __SYS_PLAYER_DATA
! s1 K  q: f7 P& ?9 X        SetHitPoint( GetMaxHitPoint() );$ k7 B' J6 w+ T: q( D6 `
        SetManaPoint( GetMaxManaPoint() );+ J4 n& N2 ]5 p6 Q/ a$ I, d& j) }
        SetFatiguePoint( GetMaxFatiguePoint() );
9 t  i( J/ N3 T* @  U) s, i        if( nJob >= 1 && nJob <= 4 )  k) s' W. v6 J( L" c( P( m
        {
9 w( i7 W! @: z% p/ g- p8 P4 E            m_nStr = m_nSta = m_nDex = m_nInt = 15;/ i) I; |; G; z, k2 E
            m_nRemainGP = 28;
! y; |, k/ Z0 B1 Q        }. {* n8 ?0 j( \0 {8 ]
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
% u* i5 t3 ~- D7 p$ e3 l$ f8 _$ w        {/ e. h6 s8 M% o- e- V
            m_nRemainGP = 118;! |) k" T, Y8 |' b( m
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
. [) I! S, q1 E9 v6 ~0 Y            m_nStr = m_nSta = m_nDex = m_nInt = 15;; j8 g2 u9 ]  o5 j! r
        }
# u# P1 l- S5 C0 u5 l1 S2 z6 ]5 ]        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
$ H/ F, T% e( ~& }( Z$ o        {
5 v4 V9 D' K+ t2 x1 U            CItemElem itemelem;6 e0 K, c) U. _- D0 ?
            itemelem.m_nItemNum = 1;
" t- j" C% {. N  @9 V            itemelem.m_bCharged = TRUE;; g$ @2 v; @' q
            BYTE nID;
; O( n& x. Q; L& U0 G6 ~0 K; v
; b3 n2 Y' S# h! p/ z3 ?0 j6 d            if( nJob == JOB_MENTALIST_HERO ). A" L( ]' Q9 X1 I* O
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
! F( v3 H" N( M) N3 L1 R: T            if( nJob == JOB_FORCEMASTER_HERO )
. C7 \; @3 n+ D0 x2 P7 q3 l7 {                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
+ y; i" ]6 J9 P) o8 @' I
. B6 \) W8 b8 C; o            ( ( CUser*)this)->CreateItem( &itemelem, &nID );9 E# ^5 d0 K: ]/ q# w
        }
1 K2 q2 m4 {2 c# T        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
+ j6 d5 f( _) B, W7 j' X7 V) Y        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
2 b3 R; z$ X0 v  u5 \, Z        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
9 _7 H- h& G" s& n+ Y        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );, v8 H4 |  T; x  {/ {* \
        ( (CUser*)this )->AddTaskBar();*// Z! Q- F  A$ x' r+ n" \
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
8 D: W3 `  i7 @3 E% ?* F9 \5 x, n#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?6 C7 t, N' P7 K/ D6 d1 K3 U9 P
        ((CUser*)this)->CheckHonorStat();
9 H; n  c, [, r: l/ N7 F" K        ((CUser*)this)->AddHonorListAck();, U) c' ^/ C$ x: _: h1 }0 A9 H
        g_UserMng.AddHonorTitleChange( this, m_nHonor);7 N8 K+ O3 V; m8 w
#endif    // __HONORABLE_TITLE            // ′Tà?5 x* m& p4 f; L: A% c
    }
7 u; Y7 w) y9 L#endif // __WORLDSERVER  K* |+ z; }7 U7 R* ]  A
}  : \4 q! d9 ?: b
' p3 t+ E& {9 U; L  \* K2 J. s
然后你进入functextcmd.cpp并添加以下2 z8 b7 n1 x9 J3 ]( C+ j2 A5 A) d8 @: D4 Q

/ V' B; z+ e" o$ Z3 s: ?代码:
2 l& }+ ^$ F. @0 L4 ~+ s* t  R. W# S& w2 TON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
8 M1 j0 M9 A  [下面插入  ]5 K0 F( g8 ?2 [% A# j
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
9 N* B2 |0 g/ d3 Q
* b* Z7 F2 T  |' z" D1 Q4 }9 W! R% I3 X然后你去- P/ r7 o0 m( b& n: v" i$ q
) d* _0 M' v; _
代码:
2 c! \7 t5 v8 e2 B- X$ c代码
5 B% b. N% G* ~BOOL TextCmd_ClearPropose( CScanner & s )
5 K# n$ R7 p) E{
+ e+ \9 s0 `5 n; w8 B6 ^#ifdef __WORLDSERVER
0 ^: g5 p& S) z% F1 z9 y    CUser* pUser    = (CUser*)s.dwValue;& W! x& B& I" V5 }4 D8 U
    g_dpDBClient.SendClearPropose();$ f6 i/ L" w3 x0 p- N
#endif    // __WORLDSERVER& T6 A/ r8 E! [1 C+ r4 W
    return TRUE;
5 F1 s' o' o. i2 u* s}
: e1 t  R: t: s/ y+ ~$ V下面插入
0 J1 i9 R1 H* Z" ^! y- JBOOL TextCmd_rebirth( CScanner& scanner )
+ u; A7 K  c# q/ ~; b{% F7 y2 W3 G+ \2 Y  b  ^2 z
#ifdef __WORLDSERVER* q' a! y$ f9 F+ u; a+ Y& \) f
CUser *pUser;0 W5 W7 [& d# ?8 B; S7 H9 J
pUser = (CUser*)scanner.dwValue;) D. p( y1 ?0 o8 {  g  M
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())7 d9 t0 f2 x- x, t. E: h; e$ ]
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
5 w3 K) T0 B( [  h( O3 T8 @* gelse
; m' m+ r: {: m3 L/ N+ F4 @% ppUser->AddText("你还未达到重生条件!");+ ]* b7 b5 N( E, ?' r. f7 X
#endif
5 Y7 W: |+ _, ]4 {5 F  sreturn TRUE;2 h5 m  V9 R4 d
}  ( V1 ~( a' N) Y3 e) u

) v" t. c3 c' _- }8 `" h; q5 b2 Y( a: p

+ _4 x) Y6 _! E2 N9 Z0 q, D# M) ~1 Q$ l7 S





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