飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
3 W0 ?3 _9 ]2 O3 f; |! F( T: F3 Y6 |  _1 a2 d  r/ H
Mover.h
6 b8 b! A8 ?8 U4 o7 p代码:) w* j2 v6 s1 G6 {8 W$ ]
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü( ~9 i7 v- z% v& F: w

1 N% l9 _2 f: e& f9 s' L; o下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  : F6 l! G4 l# i5 Z7 v9 Q# X- B

; r  A7 S+ k  X$ p2 ^* D* I' u然后你去mover.cpp添加
. D9 _* I# m3 a6 [5 Q; y: y. j2 i, Y7 I) n9 l
代码:
1 i+ D6 ^# I/ L- i2 \void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
5 y# m8 U, ?& H0 h. \/ Y{% G) r8 b9 D# i; u
#ifdef __WORLDSERVER
! F# v* F) ]' X    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
+ |5 h2 ?9 }) u6 G( V  M" Z    MoverProp* pProp = GetProp();
5 |4 T/ s! u  u- ~    if( pProp )
5 p& A) r8 ]. ?0 z- g    {
8 S, ~" l; T- Y        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
) K1 G; e8 v2 p! f6 `9 o! A* N9 Z; q$ b        {1 t# d/ [0 K. O7 Q5 Q
            AddChangeJob( nJob );4 T: @! P3 A. Z4 t
        }else{
7 V, d/ l, d8 O* ]/ r+ l+ d            return;. m7 Y( n4 J* F
        }! T) |! J8 \9 \% F' A7 s4 @
        int nPoint = 0;
  |0 ]6 K+ V7 ^5 q        if( m_nJob == JOB_MERCENARY ); m6 a; y5 {1 t0 r
            nPoint += 40;
5 F) Y, I8 H8 u- k# D        else if( m_nJob == JOB_ACROBAT )3 U, f% e2 C/ c0 c' J( I0 z
            nPoint += 50;
* z3 F( D7 {* _        else if( m_nJob == JOB_ASSIST )2 C. Y& V7 u6 v9 R- o- t/ A
            nPoint += 60;
: @9 N4 l' P& g6 q" n        else if( m_nJob == JOB_MAGICIAN ). b/ E( Q% y' y+ M# E
            nPoint += 90;, w  ~/ k2 H5 n( D8 s& S& M
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )4 k  c3 O9 g5 @  o4 M3 k' ]
            nPoint += 120;
4 ?) }1 s! L) W        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
8 O4 o& u- M+ ?( F            nPoint += 150;
! ?$ L  w* b8 k  N: B        else if( m_nJob ==  JOB_RINGMASTER )
/ q* B2 b9 z) e  P! X0 i            nPoint += 160;
# G1 N! E) K. w" {        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )8 V3 N( Y# N+ o5 b2 u1 O4 w
            nPoint += 180;
* v; Q& F3 W) ~8 p6 D        else if( m_nJob ==  JOB_ELEMENTOR )
) q8 Y2 q+ U' F) I- l            nPoint += 390;- W& o7 @( d6 Q5 w" K5 T
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )4 n  c) D, o2 ]# h- k4 D
            nPoint += 120;1 Q. r' R' h9 l* C8 o3 L& Z
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )( }' D9 Y; A! u7 w+ g
            nPoint += 150;% B+ _' t. ]& l% B7 @3 o4 r
        else if( nJob ==  JOB_FLORIST_HERO )5 `& i- M1 K( u  r& L, g% m' D3 Z/ y1 F
            nPoint += 160;
, B1 X9 f( d  j4 O7 e. O' Q        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
/ m/ A/ Q" C4 ?* T7 F* j            nPoint += 180;
1 v: Z  z7 Z# J' s& @        else if( nJob ==  JOB_ELEMENTORLORD_HERO )/ f4 ]7 V. ^- E+ Y- I; M8 @4 l
            nPoint += 390;( K' P/ L% P5 N
4 C" R% R9 u) m9 i
        AddSkillPoint( nPoint );
1 J+ V7 r1 X( B        m_nLevel = nLevel;
/ w# |1 ?, z8 F# Z6 F) V3 ?0 h3 s; w# _) o* F8 M
        SetJobLevel( nLevel, nJob );
' a) a! M" i! M* d: f; X: v8 W        m_nDeathLevel = nLevel;
( l5 i; N9 v, Y# \7 Y#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans, t8 {$ Q5 K; H  j* k
        if(IsMaster())
) J; f2 w! m* ?8 K( ]        {
% |, s% k8 F5 w            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108' m- i# z" a- x; ^
            if( nLevel > 59 && nLevel < 72 )9 q, e8 s  @( e6 D6 h
                dwTmpSkLevel = 1;* Y/ h, W2 `4 c% B" d2 D
            else if( nLevel > 71 && nLevel < 84 )
% u2 L6 U( t5 u* R! N                dwTmpSkLevel = 2;
0 c5 @0 @* C$ V3 f7 [- w            else if( nLevel > 83 && nLevel < 96 )+ T) ^1 b8 ~5 t. S& }" g: {# s1 E
                dwTmpSkLevel = 3;; Z5 d  o5 |( a; p' z& a+ K
            else if( nLevel > 95 && nLevel < 108 )+ ?9 B) M0 d  T
                dwTmpSkLevel = 4;* ?# R$ M+ \5 D
            else if( nLevel > 107 && nLevel < 120 )8 Q" A& Q& U( U9 x/ D( C
                dwTmpSkLevel = 5;
  P% ?3 e6 x, l            for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 Y; j& `) j( }  q& M& ?! k            {               
- D9 M9 Y' m) i. o" {' n                LPSKILL lpSkill = &(m_aJobSkill);
$ |( u) c. ^$ M% k1 t, h                if( lpSkill && lpSkill->dwSkill != NULL_ID )
% k) a+ S! [1 ~1 m3 ~                {) P8 X* D3 k1 s5 I. @" Q% h& o/ X
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            / M7 Y( N. u/ O& b% D
                    if( pSkillProp == NULL )
7 U' ]6 O( n& M                        continue;. S- G: G" s: E- T0 n
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& z! D8 a" x) E! c9 c
                        continue;3 v- e" b1 n, N9 O# Q# S% ~" |4 k5 G
                    lpSkill->dwLevel = dwTmpSkLevel;
/ h7 s9 B, P) w( S& S                }: b+ W, R7 [/ ^; q
            }
3 H2 S0 Y5 }9 i$ v. h0 r, ~2 R8 x        }
1 N$ f1 _; P" W  n9 p; @        else if(IsHero())2 f( ~! G0 S! J) ^% u: J7 s4 m
        {5 t- l0 a$ Y' B7 F7 o, ?" u. G
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
- X. e: j! G# Q- e) E  V8 c            {                8 o8 Q: i7 X3 r& n& G% m: _
                LPSKILL lpSkill = &(m_aJobSkill);2 E+ E8 R% s0 U% e4 Q
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ s  T7 O1 D' Q                {- d3 V& Y8 C; A5 ^* R2 c* f
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
: d$ {9 g5 _4 P9 u) {                    if( pSkillProp == NULL )/ r' h9 s, R9 n! K: @
                        continue;
: r* N. a" U" S* {& A, P6 D2 c                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)" z" }3 x8 V: C+ p
                        continue;/ W, f, p9 E0 _) ~& G
                    lpSkill->dwLevel = 5;
5 g) \+ X# x' a# J. W$ G9 R                }2 n8 c; n6 F" l( {- `7 q2 ^
            }, V) V7 [; U" O" m/ n) |
        }
) M$ F  q4 D5 K+ ^# M+ L3 H        else if(IsLegendHero())' s( @. u7 n  n+ Q, V
        {
3 H2 B( [5 y; K2 a# Q0 C2 V1 A( a            for( int i = 0; i < MAX_SKILL_JOB; i++ ) $ Y7 G7 w6 T% P+ C" ~, `/ ^) K
            {               
7 p1 D2 x# F& _' c; Y5 j$ {                LPSKILL lpSkill = &(m_aJobSkill);
. @; H& J2 ?6 T; B; ?3 `5 k                if( lpSkill && lpSkill->dwSkill != NULL_ID )
5 [/ Z/ Y/ R' Y8 Q                {
0 p( ?2 G6 C/ O( ^( x- b1 |3 }                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
! w1 u; Q6 f+ J1 [4 Y/ B  f                    if( pSkillProp == NULL )9 t4 F# G4 r: p  q4 p
                        continue;9 J7 Y9 `7 G& U: w; I6 O  _& ^. {0 y
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 M( I( D! B1 \3 v4 d                        continue;! {1 d  H' n* Y: j. O7 W
                    lpSkill->dwLevel = 5;
. j0 A2 y" K! `. c* a                }: Q- H/ h' M( Q& ?2 j+ w  d
            }
7 s& M3 p3 U, Z! @1 H- R% V# W6 Q( F        }
! M6 e$ [5 s. o- {3 }- }  ?#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans& l3 Q- q7 C4 W( @8 G5 q
        if( bGamma )+ h1 h' T: T- U4 f2 w& o
        {5 _) }" t' O) f" s) ~( b
            m_nExp1 = 0;0 V  H6 j) I. R; ^
        }: k# L. A& z* u  S% c7 I/ X2 u) \

1 {2 O' e) a3 Q! k8 q        ( (CUser*)this )->AddSetChangeJob( nJob );
( v' j8 m+ c4 v2 {8 x        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
+ R! p3 ~1 ?4 s! |+ S( @6 {/ h: z& C6 l" W
/ X- ^1 U9 V" R! j# \" h' e, ?
#if __VER >= 11 // __SYS_PLAYER_DATA  c# T5 q3 _* g  D6 d& Y, |
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );( C! J! F' i) N% I! Y# a
#else    // __SYS_PLAYER_DATA
0 T1 A# |0 ]+ f% H( U5 ~, h4 h3 }& r        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
- l9 L. I7 K8 f, |/ V/ e* W1 t# s5 f        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );3 r. p! a* q6 w9 H% R% K
        if( m_idGuild != 0 )! d# P, b. f; V4 m
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );( Y4 q* }) u9 m' W8 i
#endif    // __SYS_PLAYER_DATA
  C. s$ a! \0 n- _, r        SetHitPoint( GetMaxHitPoint() );5 s8 D3 M7 m4 h6 I* [
        SetManaPoint( GetMaxManaPoint() );
( _. p  A7 F1 C" t        SetFatiguePoint( GetMaxFatiguePoint() );
6 y  I- v- u8 s        if( nJob >= 1 && nJob <= 4 )
8 ~0 ^5 c3 g/ U1 U* `8 \        {6 D' j4 h/ {6 j6 @, U& G$ E  e9 v
            m_nStr = m_nSta = m_nDex = m_nInt = 15;& c2 |0 N0 {! k8 g. j
            m_nRemainGP = 28;
, F  p& W3 [9 X3 t; H        }
, n6 k4 F: Y: o+ m1 P( T1 n7 o) b        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )* O4 {) K/ F7 K$ K
        {9 g; b( d$ a6 }7 S/ ^
            m_nRemainGP = 118;
4 T! Z! h# [4 Z9 h% F4 V            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
4 Y7 r3 ]8 T; M8 `0 K! f7 s: N, C            m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ z! ^1 `& q, e) c( U$ f, y        }
# J7 W, ^+ f0 r& _        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
* o- ]2 a) ^% S" W& h- _        {
; W  H- H: j* T4 N            CItemElem itemelem;
8 d! H- y# A  z- t8 G6 f: V            itemelem.m_nItemNum = 1;/ y6 j' R; B7 ?5 C
            itemelem.m_bCharged = TRUE;
% A9 v. @0 e' a- p- X% [            BYTE nID;" |4 v8 _5 K" \6 s
  h& B" u' B( J
            if( nJob == JOB_MENTALIST_HERO )* g( R. ]% |, h# U, L$ r' e
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
* m( r; |; }3 `/ U7 k2 S6 o            if( nJob == JOB_FORCEMASTER_HERO )( _! ]# ^4 \; z6 \2 h  ^9 q! z+ k
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
) u3 f$ g# J, K7 ~7 l# r" l
8 s" J& Y' e6 F0 C* c            ( ( CUser*)this)->CreateItem( &itemelem, &nID );8 ~# L- b* ~: E: J
        }
7 e2 x9 z! k* X! G        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );) f4 x+ [* G2 g  r
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );9 |7 G4 z9 u; f; _
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );# ?* b# f' ~" x' h  o/ `- T
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
  E, k4 `" U* p6 x1 |) a5 w0 o  _        ( (CUser*)this )->AddTaskBar();*/2 k' T  M7 q+ n, h* X4 i
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
" u; @9 X) x! R7 U#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
2 |4 e1 g7 W  E& _7 |: q        ((CUser*)this)->CheckHonorStat();
5 R. R( d+ _5 k        ((CUser*)this)->AddHonorListAck();* x) ^( X, l/ O" L
        g_UserMng.AddHonorTitleChange( this, m_nHonor);9 n# ]! f. F0 n8 ?; y6 F. C9 M$ S
#endif    // __HONORABLE_TITLE            // ′Tà?
1 U' }. W1 a! ^( W    }
  p" Q! _) a* f+ c5 F#endif // __WORLDSERVER, y& m0 f  e7 g1 e  ~& ]' @, Q* L
}  
5 X, j: E( c5 Y8 f$ _, A$ [- X
; k: L3 U7 w" E0 U2 e  s然后你进入functextcmd.cpp并添加以下
) G* e! ]) z* [  [% k9 H% g; L4 m) H; Q
代码:
6 S# ^  X! e2 g/ bON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )4 ~% [) X9 {; X! W1 {- M
下面插入( p4 }2 [2 z- D: H1 F6 M. Q+ P
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
9 O  u" t2 N' K+ u3 t& `* s, N8 {. {  D. b4 {; ?. E! x
然后你去) |; M, \8 G( D  O# o1 @. ~5 J3 k
( J3 K% h6 G1 H' t% M2 M  G
代码:
& R+ C+ H. p& W代码
: v+ b; S; J) |BOOL TextCmd_ClearPropose( CScanner & s )
- [. }' @, }$ f9 b  [7 g{" B" m6 u- G; l$ z
#ifdef __WORLDSERVER
3 i9 c! @$ M5 _4 ]    CUser* pUser    = (CUser*)s.dwValue;
. @  i, B6 D5 b+ M- g1 p    g_dpDBClient.SendClearPropose();4 d) \9 f. L) e2 E5 e
#endif    // __WORLDSERVER) {" i/ B* c/ g' d) _1 w
    return TRUE;% r& Q7 W$ O( K' U' j
}: e1 ~& Q: W2 t8 R
下面插入
' P; W) j! {) ?" R+ ]# o, KBOOL TextCmd_rebirth( CScanner& scanner )" A/ A* P4 P8 Z  s6 c
{
$ [% o) G! k, O+ m4 ?) J+ J#ifdef __WORLDSERVER' b0 }4 U. |) ]* E. j
CUser *pUser;& ~0 t3 l% U4 H4 V8 q) D
pUser = (CUser*)scanner.dwValue;
$ i8 B1 p% I0 L; \# mif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())7 z6 v+ d# B, V7 U
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
3 _; Q2 n+ w) s8 Y9 {1 telse
7 C$ T; T, h: c. \7 zpUser->AddText("你还未达到重生条件!");
. U/ S* M  |) m+ E#endif; {6 G, m1 M2 Y" t
return TRUE;
. n' D7 R& ^  ]8 F( _}  
8 x! d% q( `5 t9 u/ J2 [+ p/ N; T

6 L( p1 l) f9 l- p2 F7 d8 Z" p( H. s$ Z  {0 i
& u0 @3 v" L5 s) w7 l# H





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