飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
+ Z- y: a/ g! Z8 `; w5 a# l3 l1 h
+ ]' p# h: p! k- O; pMover.h
9 V. Y; u4 P* H. s$ j8 ^代码:) K" j: o7 O0 q/ z$ h7 P3 D. D, F, H* ]
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü) n$ _. _5 j* B2 C- }  y/ c

# F* H8 n! I& p0 B& z下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  * g! G! ~7 g. d
( j4 x5 Y' d* n* w
然后你去mover.cpp添加1 K0 s3 d& T: W5 d+ a$ N8 r

2 m8 I+ Z6 B; }5 X7 D% F代码:
* j6 _9 a. E( b# Q1 @void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )7 b" k& L7 z5 Y9 H7 k
{
" O6 B3 _( l1 \  {5 r, h. P#ifdef __WORLDSERVER5 b' u: Z& W; h" N
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
) P& f- n; x+ j9 X6 X    MoverProp* pProp = GetProp();# B  a4 {3 T) p: F/ Q3 n+ p
    if( pProp )
9 y, R2 }; g) N8 i8 [# J+ y1 {* T    {
5 w% |9 F5 x2 E# g3 t- U( I7 B        if( nJob > 0 && nJob < MAX_LEGEND_HERO )' ?/ `% N" Q/ c+ W' u
        {3 Q8 C8 L5 v) |, g8 E. w
            AddChangeJob( nJob );
/ |5 @6 H0 q, }2 j* @4 m        }else{* R# l- N$ _/ V# V1 X8 g
            return;
$ K3 E, S3 {& N- @        }
1 l6 V: `5 |- u) W/ o' o, A        int nPoint = 0;
$ G% O6 [% `/ U$ ^8 L0 B5 u        if( m_nJob == JOB_MERCENARY )
* l7 l$ u, ?' j4 N/ L            nPoint += 40;9 F1 c; s# F; @, J+ }5 x, s! S
        else if( m_nJob == JOB_ACROBAT )
! k* Y' R! P+ Y! s( @; C& ?: v4 G            nPoint += 50;; C2 P% j+ \4 e  p- m/ z9 y% ?
        else if( m_nJob == JOB_ASSIST )
6 o' Z! A6 I  j            nPoint += 60;. S8 e" e" \1 t8 M  y# q
        else if( m_nJob == JOB_MAGICIAN )
3 ]6 T% ]9 Q% z1 W9 V8 U" `            nPoint += 90;
8 W% A  u0 @1 P        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )8 T, o4 V8 _+ Y5 f" E# R1 N
            nPoint += 120;
: u  b9 f  ^; e. F' z        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
  j$ T' @8 I: A. V: h" L6 Y            nPoint += 150;) K& B' T" e6 n5 P! |
        else if( m_nJob ==  JOB_RINGMASTER )
, j" y/ G0 t; m  i" K            nPoint += 160;
2 x- G, u7 Y9 |" W1 E6 A        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )1 v' J' O5 I: q0 r
            nPoint += 180;
/ Y$ f  }: Y" \- @$ N3 w4 D        else if( m_nJob ==  JOB_ELEMENTOR )
: ^- J$ G4 z4 b8 E- G7 N            nPoint += 390;
8 {8 ~5 i9 n# l9 Q& P+ Q% U( p  y        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )* b0 S) N' O0 c0 b: v
            nPoint += 120;
( x' ?: [' X/ k/ q1 \8 ?        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
) W# J. m/ ~, j- i8 W' g4 R7 I% P! y            nPoint += 150;
4 N4 j% h  r* c7 z+ @6 H' z9 |        else if( nJob ==  JOB_FLORIST_HERO )) `2 o% u4 s  E% q
            nPoint += 160;' A- F5 {% |3 G8 a8 j- e% ]
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )* f# n. N( w& ?
            nPoint += 180;
$ K* ?  ~) D: q& I' X        else if( nJob ==  JOB_ELEMENTORLORD_HERO )3 L/ q4 g9 G  @" ^9 f4 W( O) D
            nPoint += 390;
  [9 ^4 ?; U* @& }
- Z7 P8 L! _) G# A! Y3 |3 U4 F- g        AddSkillPoint( nPoint );
: N1 a) z  y5 k6 p+ E        m_nLevel = nLevel;9 F2 y/ X2 f0 N& h, v
3 [! {6 S& S0 I' g$ ?4 u' v  h: N
        SetJobLevel( nLevel, nJob );
9 j( B; x, C8 R7 g6 S; P; q        m_nDeathLevel = nLevel;6 H* @( \, w# ?, h, t
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans; H& _% N( ]7 \/ h- P0 W+ T, _
        if(IsMaster())
1 F2 M) _. u% E5 F5 ^( P        {8 {8 ~5 \9 C; x9 w0 G9 v6 |/ u' L
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108% L5 |% |+ i( @; ^
            if( nLevel > 59 && nLevel < 72 )+ D+ ^( \2 u4 j4 N
                dwTmpSkLevel = 1;
6 y% Z0 v2 [% c5 n; v8 V$ X            else if( nLevel > 71 && nLevel < 84 ). x' U/ Q: \# h: l2 E- [1 f; B
                dwTmpSkLevel = 2;
4 M2 O5 W3 a1 R3 b. g" k" b9 W  b            else if( nLevel > 83 && nLevel < 96 )
( i4 L- p1 l  u. x# M                dwTmpSkLevel = 3;
" V4 b. v* _' t            else if( nLevel > 95 && nLevel < 108 )5 V% Z5 z" z& b/ @
                dwTmpSkLevel = 4;
" U3 D/ `( d/ r! U6 u& W3 B7 \            else if( nLevel > 107 && nLevel < 120 )
  D7 P( D6 J1 G$ U0 k9 |2 u                dwTmpSkLevel = 5;8 V$ Q3 [: ]6 U5 F* w
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% Q$ m+ H! j: W1 q            {               
. A" Z, R+ \' ?: G& {4 P2 \  Y                LPSKILL lpSkill = &(m_aJobSkill);
7 L+ K3 [. t4 n* f                if( lpSkill && lpSkill->dwSkill != NULL_ID )
& I+ A) j9 Y: u+ M! l9 F, n. t                {
6 o  f& {3 t: T5 g0 y                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 S% Z- ?' A. s; l- b0 M                    if( pSkillProp == NULL )
4 C6 d& X( ^" Y+ o' A                        continue;% z1 J7 N  p4 D! b* V7 V+ o
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER), C" t8 A, _: T, `! H" p
                        continue;' [. j# ]' k9 g
                    lpSkill->dwLevel = dwTmpSkLevel;
% F: v: ]5 d' w8 y# b. P                }8 o( X& z! r& l$ h/ I! I& F
            }9 J/ l8 f; `7 |8 _* a% O
        }
- t0 ^3 J. g, `7 a7 u        else if(IsHero()), o! A# O! w- s' `: a: z# U
        {5 e: }, X! d. A1 h" q3 o
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 8 M8 j1 Z* Q/ ^6 N) [6 D
            {               
- t6 l  H) H9 s4 n) l                LPSKILL lpSkill = &(m_aJobSkill);& N1 R( Z1 L5 K' J
                if( lpSkill && lpSkill->dwSkill != NULL_ID )4 \% f0 ]8 G" ~/ ~6 o1 K% d
                {
1 r% e8 h8 g8 [4 B6 ]' [2 C                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
. N5 q. l! x( ?: K5 m: N7 P- G                    if( pSkillProp == NULL )% ~. G% ]+ ?) H) ]% \, r3 T
                        continue;- o: `# e$ d1 m' C
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)% @3 E# C8 H1 i
                        continue;
  y7 S* n7 }- z8 }                    lpSkill->dwLevel = 5;* A5 p% ]. ^4 {4 O# R3 A
                }
8 c: e4 e1 e+ H( O' R0 X5 }! N            }
: B% ]$ M+ E7 R+ |2 W' h, d8 z7 X        }0 S+ M9 d: C, Q0 _
        else if(IsLegendHero())  a( m, ?, O+ q' s
        {; e- ?, Q0 c/ O" n
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 6 K% K* r7 d* D% K
            {                ! |3 i1 v1 u, P* s
                LPSKILL lpSkill = &(m_aJobSkill);
* t, ~# I( C  Z2 I5 @* g* q                if( lpSkill && lpSkill->dwSkill != NULL_ID )
  ?* @, G( a; a: ^/ h1 w; H3 D+ S                {
1 x1 U4 }- K2 F                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  j, o& h/ y- t/ b. z) C1 L                    if( pSkillProp == NULL ): b8 c  i! @5 K
                        continue;
+ h( G$ O) z' C& K                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 |9 x0 z% ]% y6 A8 [" d                        continue;! s) Z6 `# i; ~2 h
                    lpSkill->dwLevel = 5;( o( G# u4 h) m) B* Y6 e
                }' U- \' p/ `  t
            }
1 b, N' D* N$ g        }
' U2 X/ o4 e6 ~: ?#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
  w7 c9 v3 \3 ?% Q/ g: ]        if( bGamma ), R& o/ i$ D+ y" F
        {
1 Y# R0 y$ Y9 V, t4 \            m_nExp1 = 0;# D. {0 q8 G* E$ y- g' i
        }2 K3 `+ g$ v8 A8 R- e
2 y4 n4 d6 z, J9 {  i
        ( (CUser*)this )->AddSetChangeJob( nJob );9 N& v/ w& `7 j9 R8 f( j6 A7 X
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );) S7 g% {( n& H2 s
2 y" z0 q. t6 f9 f5 j) P" V

- |. {5 r+ q1 e% u1 O4 \4 w( y#if __VER >= 11 // __SYS_PLAYER_DATA
4 F5 p, q8 O- f        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' X  `3 h+ R9 }( M#else    // __SYS_PLAYER_DATA; f0 X, H/ L( f/ t$ R
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
+ G0 s$ r* ?+ R0 r4 j        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );2 M, c- s8 \6 U: h+ c% o
        if( m_idGuild != 0 )
/ G4 e+ v1 l2 N+ i( X' V$ O) y) {            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
, @; r& d' I! {. F; k#endif    // __SYS_PLAYER_DATA/ Y3 ]  J1 m/ _) P
        SetHitPoint( GetMaxHitPoint() );
) x) |$ X) E1 Q        SetManaPoint( GetMaxManaPoint() );
% L* K' L/ S8 m4 Q4 d! R1 @* R        SetFatiguePoint( GetMaxFatiguePoint() );
5 ^1 S( Z! X' e8 J7 b5 k        if( nJob >= 1 && nJob <= 4 )3 q( L4 {$ w. [3 w
        {! n) U- y# F' t% U- ?: ?& c
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
; a0 y' u. \. J) Z4 M) ~+ H            m_nRemainGP = 28;- w2 A7 S% _% ]' l
        }) j6 e/ H* a) o: h' j% B
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )5 `3 }9 [/ c! J3 n5 ?) k: ]' z
        {/ Q. ?( |) a) E
            m_nRemainGP = 118;" U: s5 o# X" }( |; W  {
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;8 w# K) |: }* S( ~; J
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
6 C' f* R: L% A8 p        }
0 v9 E# j: K2 U! j. \1 h+ {        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
6 z- R5 e0 i7 l: R+ `3 O7 u        {
/ n4 e- ~* P. P4 ^/ }# u            CItemElem itemelem;2 T5 \/ \+ N9 F$ x4 W: {7 H
            itemelem.m_nItemNum = 1;$ {. A* ^& |% @1 s3 ]  W* e: s, f
            itemelem.m_bCharged = TRUE;
( J- g* _* b/ g  D            BYTE nID;
, v, g& |8 @3 Y- r* L
; o7 j% P1 {2 D9 H$ g            if( nJob == JOB_MENTALIST_HERO )
: C* j2 J* h" Q% v, k                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
+ \; H, [' q9 X5 p3 v4 W. \            if( nJob == JOB_FORCEMASTER_HERO )
) x$ |& j: Y. E% ?                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;, K  M+ Q( B) n) V4 B( ^/ _2 M

4 n' t$ x' _! I' x0 ]% o8 b            ( ( CUser*)this)->CreateItem( &itemelem, &nID );. d* n# I+ e9 m; G6 u
        }
, U( u: ?0 `/ v  ^8 e( h        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );4 K' B; {/ s  n' L
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );& t+ L; H7 z+ t' z6 c; X, {% E$ @
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
9 U$ U6 y% M2 R3 @; d) Z        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
  X& G& h+ R' Z( U- _4 E; L        ( (CUser*)this )->AddTaskBar();*/
/ u- M9 A3 Z- q+ g        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
' j$ L( a" q  w) o5 o( t: d" v#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
- v5 \+ k( f6 e# s& k1 d) |0 R        ((CUser*)this)->CheckHonorStat();, F- ^9 O2 n5 Q9 x) y) ]
        ((CUser*)this)->AddHonorListAck();* ?" u/ I/ c2 q2 v) d) E
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
* q. y$ Z. \! t; m/ B. K#endif    // __HONORABLE_TITLE            // ′Tà?
! i1 j* B/ |2 e% T    }' w! ~, W/ @9 [
#endif // __WORLDSERVER  F9 c, z) P, c6 w' p5 j/ T+ l  T# m+ U
}  ! ^: l2 E/ }; `
0 ?5 a( R* [- Q, c/ l* v
然后你进入functextcmd.cpp并添加以下
- Z! t3 @1 `# g' @- R' W( {3 M3 @* I+ v0 N) E, R. `
代码:: r! t  V9 S% ^% S2 F, p
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
! l6 a6 s! W* n7 d. B6 @2 M下面插入
! E/ W5 n1 `2 E/ o0 TON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ! b- y9 `. {& v9 K

  t; i' J5 p. }0 P& ~然后你去
9 y7 F; B% F+ d7 D' n5 @5 W) Q0 r# V0 X
代码:
) n" l1 u4 x4 c  o$ K8 R代码
1 [6 y  U3 x' e8 {- [  RBOOL TextCmd_ClearPropose( CScanner & s )
7 r7 ?$ B; q; R# m+ Q% K, {( C( u{, k9 ]( K; S' t( F
#ifdef __WORLDSERVER
9 O) }5 n( v) n7 N& A- S3 U3 o4 l    CUser* pUser    = (CUser*)s.dwValue;0 @7 N; p/ M2 b* W  |" h
    g_dpDBClient.SendClearPropose();
% ]; N9 l- M% I8 c  k$ O. N#endif    // __WORLDSERVER
7 ^9 X8 ^" k5 l/ B" U! p    return TRUE;; X6 R- n# p/ ?# r! z
}
" t  V" t& D% S7 m$ V* R  ?' i: k: \+ Z下面插入
  Q' S& ?/ J3 C; T( k9 HBOOL TextCmd_rebirth( CScanner& scanner )
( X9 ]7 M4 [3 v. D1 O1 }! h  a{0 |) D/ d+ O* w
#ifdef __WORLDSERVER
& m2 y: K5 ^& a" `CUser *pUser;
: k4 e  J# g+ Q# U# _pUser = (CUser*)scanner.dwValue;
$ Q- V8 b1 v" d7 {if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
! M' I8 ]& Z4 X3 V2 ^5 Q! Y  U6 z( W. bpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
) S2 k  s2 T0 N# A8 S: [/ U5 velse( n3 P4 Z# J9 f$ S  H
pUser->AddText("你还未达到重生条件!");" E8 t8 P9 o' F7 V
#endif9 D8 ^3 _( e* Y% C- w; j7 J* f9 k
return TRUE;6 O, S0 E' U) j
}  " {, r& v0 k- _9 A) z1 q8 {: t

3 |2 o1 \+ i1 T- L0 X. a' F
! Z! Q' _9 X. o6 Z, N/ S( s& M$ i: i8 A1 m0 ], ]- z
5 h/ U1 D  W' V# {





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