飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
) m6 J* C0 G5 w4 g4 K: h0 ?5 K, X9 z7 {% D
Mover.h
+ C7 i" [& N! O# X代码:
* }# ^1 C* ~7 k% Z% G# Q2 c7 U  Z找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
/ Q# O  ~# W# P3 S0 t- S. b  z2 c5 r" ], l
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  * B" b3 T5 f8 v3 e
2 C3 A2 U# o3 Z- a# v! i. t
然后你去mover.cpp添加
& `7 c! d0 `7 D; }3 Z. g" q
" F. m1 k. [3 ~代码:1 L; j) b3 K9 H" x1 s
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
' J/ V, {5 a2 N{
: n- Y# S/ J- ?4 _0 Z; y$ b# }#ifdef __WORLDSERVER0 q3 I1 {0 n7 o) ~" k
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó9 R+ b: N, \3 {0 A. o; n1 k
    MoverProp* pProp = GetProp();
2 C" U) J9 o& W; c( U$ @7 J    if( pProp )9 `! ~$ b8 Y1 B+ I- H5 S' X) X
    {
' F; f" j4 x. |1 e# H        if( nJob > 0 && nJob < MAX_LEGEND_HERO )4 |$ {0 Z; A* ?# W  m8 ~
        {
, X( M$ l) |2 X  Z$ @3 X. W% u            AddChangeJob( nJob );9 {% p: D5 z/ V# W- [
        }else{( j) u4 O# W+ L+ `( j" h- Z7 e" G4 E
            return;: {3 i% B) i/ V; r( Q( A
        }. {) i$ |8 p- f; G7 t) h
        int nPoint = 0;: v$ \1 L- P% z; {: x
        if( m_nJob == JOB_MERCENARY )6 Q, \' q- d' c, S$ i
            nPoint += 40;) D& I9 c) h* N8 x: B; Z
        else if( m_nJob == JOB_ACROBAT )  S& R5 k8 m7 S( |
            nPoint += 50;- p* o& M  A$ [4 @9 i3 t$ u4 s/ `
        else if( m_nJob == JOB_ASSIST )* z0 i8 M+ u" u! }/ @2 m
            nPoint += 60;
- R  O% k! b: v7 K# H# l        else if( m_nJob == JOB_MAGICIAN )
7 k+ T8 o& ~3 ?* |& L            nPoint += 90;4 K8 J, L; P; j5 c
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
/ ~' R( z% x7 q6 X  S$ O' R. Y! `            nPoint += 120;
6 z: Y% v* B" q# n+ x: B        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
- s& D! g9 p( n! U1 t            nPoint += 150;
6 {7 w3 V% c4 e8 P4 t8 V, M5 ?3 K2 }        else if( m_nJob ==  JOB_RINGMASTER ); ?  {8 c7 _2 c7 `2 X
            nPoint += 160;5 h$ F$ Y- }% j
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
8 b2 w; g  ?- r& ]            nPoint += 180;+ {, s& y" m8 g! N2 y
        else if( m_nJob ==  JOB_ELEMENTOR )
& ~; u3 y  N$ q3 N* O7 i1 n            nPoint += 390;
: X! I7 _6 u' q# u        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
/ I- R8 [4 z( C            nPoint += 120;$ [5 `( R$ v1 H3 J* J
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )$ l, ?; n; B3 W1 s1 M
            nPoint += 150;& ^2 ^0 J, e& B9 ^
        else if( nJob ==  JOB_FLORIST_HERO )
9 Q7 ?" n0 p$ y            nPoint += 160;: a/ f$ m, b' m8 i7 C' w# u  q1 w
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
1 X( Y# U, j/ r& G* }9 U1 \: C            nPoint += 180;2 z: b# z$ z2 M3 \9 ^
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )2 {: w; J* _' A3 Q. R9 P6 q
            nPoint += 390;! g4 _" N5 s$ N0 c+ Z7 b
  s0 j$ v* @  }) N' g4 s1 K
        AddSkillPoint( nPoint );
3 A6 ?" F! L! ^* L        m_nLevel = nLevel;
7 v& Y( T% _/ V& ^$ s4 m# [' D0 u  \( R; I0 w0 N; t' v( U8 k
        SetJobLevel( nLevel, nJob );
, [# o2 L- ~2 \: b) a% {& f- `        m_nDeathLevel = nLevel;) C( q4 S, @5 V5 b$ l2 \$ E7 m( ~
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans1 q6 }0 ~& J) |, r- R
        if(IsMaster())& S2 L8 t# U4 `* e
        {
8 Y2 X9 s5 ^1 p/ B: Z9 Z            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
) p$ H: y6 V* U2 m            if( nLevel > 59 && nLevel < 72 )2 r( w$ W0 [7 f( r- J9 c* g
                dwTmpSkLevel = 1;( A+ |5 J9 W9 Z
            else if( nLevel > 71 && nLevel < 84 )
- |! v; y5 @- ~( l2 j; P                dwTmpSkLevel = 2;
" a& H4 {+ d1 ^8 S* D            else if( nLevel > 83 && nLevel < 96 )
5 Z/ M! V1 M2 E% n+ r3 J. ^' H                dwTmpSkLevel = 3;
9 e5 Z* R$ e& X& F5 l( _            else if( nLevel > 95 && nLevel < 108 )2 p# M6 M: h* [  B) M1 `! l
                dwTmpSkLevel = 4;
: H7 o% z- Q9 }+ Q1 e9 `            else if( nLevel > 107 && nLevel < 120 )% X  _) W# K1 E6 }% V
                dwTmpSkLevel = 5;& c1 h8 D4 O. d% N1 D: ]2 o9 A
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
# u; ^* i- P" p% M8 Z            {               
9 P- N2 ?0 E( t                LPSKILL lpSkill = &(m_aJobSkill);$ {: T" m' y; S. e
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
# o, h1 l# s- S% q  F                {: f) n5 v* G3 U& r+ K
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            , {- B% I4 D; i
                    if( pSkillProp == NULL )
/ r$ F6 @' W8 n# Q                        continue;8 l" x% @: r7 Y" T& ~/ L' f! M) X' I
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 |6 h8 M$ ~" V: l5 J1 j% ^" o                        continue;, l/ q! Y1 y3 I: A& c& N! H
                    lpSkill->dwLevel = dwTmpSkLevel;3 W) K' f; l) m. R1 c& M% X0 o
                }
) B: g  G" \6 t+ O/ t  \3 R/ r% S            }; p  n2 K; E1 y. W! U3 O0 A1 T6 k0 h
        }  S; J# ?6 ?1 P# v) G
        else if(IsHero())
! n) I; [/ R& v* O        {
, K+ y' c. N4 c            for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ {1 N4 m" F+ a; V0 M, K- }            {                + |3 b5 U) T$ J
                LPSKILL lpSkill = &(m_aJobSkill);
* e* q- k$ Y: Y/ ^* h7 E5 j8 ]  x                if( lpSkill && lpSkill->dwSkill != NULL_ID )
; q4 S: ~% U) h, ^5 B, l: O                {
& v; v" ]1 M0 m. E4 p                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            * |7 e& G8 S3 s6 b! H: p
                    if( pSkillProp == NULL )7 p! c) n; ]2 `9 k& |' Y; n' G
                        continue;2 ]& R1 E3 V- ~; B, W! z' \0 D
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 H- m. N1 U; v
                        continue;  b/ I, M5 K2 B$ Y! N
                    lpSkill->dwLevel = 5;
& C, C( r% M7 u  p; X4 b% r                }
0 d8 d4 X7 K) j+ L) b, x            }
$ s; R/ _" ]+ T: c8 E9 {7 r0 q  ~: r        }. B8 I8 C  q, \% b: T" \- U! T
        else if(IsLegendHero())
4 H, _; h7 p+ a0 V0 I        {1 M2 |2 r' \$ ~% Q
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% s1 ~5 m: e0 C            {                ( y! V6 k+ M0 B6 w2 _
                LPSKILL lpSkill = &(m_aJobSkill);+ a* A; y- `' m- @
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
* e! @" e4 [' ^9 n& R                {0 j. e5 X( f+ H  d( g. L+ n; u2 _
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ! \& Q+ W" h+ \" d6 @
                    if( pSkillProp == NULL )1 _0 y8 l6 A* S0 y: R+ {
                        continue;
. F% g4 r  F5 S: l* N                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
9 v5 x- ~+ b$ q) V                        continue;/ z! I- y2 I: |3 I. I) Z
                    lpSkill->dwLevel = 5;
$ Z, v/ h. v  w* ~                }
  i! Q6 k0 O9 c# u4 I9 B" ~# k1 ^            }
, N  z' M& }. z$ r0 f        }0 ?- X' ?/ ]# o/ \8 i+ Y7 w
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
$ M3 I& R0 d8 h9 n! U        if( bGamma )( p$ k" q8 v! d7 X& U! ~7 q. R
        {
. D% |2 P6 w  H+ P2 C4 x            m_nExp1 = 0;
, u/ R9 D& M/ ?( L( w6 E        }
$ J7 I" E( g9 v2 [- F  S" w
) c: r: K# `1 n( c  h$ Y4 @9 f        ( (CUser*)this )->AddSetChangeJob( nJob );/ ^8 }. {  \( ^0 J# t
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
: ?5 i) M6 |1 c( f
* N: v$ w, C9 b, V) l& _" Z& B7 U" {% t& Y" Y3 i" C
#if __VER >= 11 // __SYS_PLAYER_DATA
" D3 ?, R+ V1 _& r" K& V9 d8 L. g        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );- S3 J8 X6 e' F
#else    // __SYS_PLAYER_DATA
( ?# a/ B/ M2 h        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );1 M& [6 Y" z3 @0 G1 @
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );* i0 H) R3 f4 g' M( k4 h* F! e
        if( m_idGuild != 0 )& p2 ~' e: D. X' N" x' i9 M
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );# F3 c3 X1 j0 F: a
#endif    // __SYS_PLAYER_DATA
. @& k3 T5 R- p7 X4 x  T9 t" ]! r$ F        SetHitPoint( GetMaxHitPoint() );
3 k! p. Q9 E' c        SetManaPoint( GetMaxManaPoint() );5 a# {# J( p& `
        SetFatiguePoint( GetMaxFatiguePoint() );
) B7 r6 f! r- b. y  B- G+ l! i        if( nJob >= 1 && nJob <= 4 )
) u3 `& t2 X- |7 g7 Y        {5 F3 I; t* A- e( h  \: I6 f; a" W
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
* `; a- C1 [- j3 `1 z$ P( }$ ?            m_nRemainGP = 28;
. y5 F( E/ d: W, f6 ~) c        }" |0 B( o2 }, o' ?
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
# l. h% f6 m' \9 ^0 y        {
6 ?2 [4 T' B% p( C            m_nRemainGP = 118;; m* r: x9 T5 U' k
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
, L; ~& L9 f$ x  |            m_nStr = m_nSta = m_nDex = m_nInt = 15;2 n$ ^  e# g# o0 T! C, J. B: M
        }1 q9 F. G" Y9 X/ T& P; ~
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
: _* c2 {* z$ _6 ?" D: a$ R, B) C        {. _1 H8 w6 d: `/ h  H
            CItemElem itemelem;
1 i& l- v' [3 H& \9 i5 H1 p- h            itemelem.m_nItemNum = 1;* _; H; g  P# k' P; C/ H8 q
            itemelem.m_bCharged = TRUE;$ T! N- R7 P. b/ v6 [- G
            BYTE nID;) M, P; k& J& r5 A# W4 x1 h
5 ^5 I  E$ ^' s3 ]+ m5 F
            if( nJob == JOB_MENTALIST_HERO )
5 T' k4 ]# R: e3 m3 O7 @                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;* d1 ~0 P8 I  `0 P
            if( nJob == JOB_FORCEMASTER_HERO )
! H8 _1 Y7 g) M# B# z! q+ @2 W; {                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;7 N- j' e+ K+ V: n+ l8 y
8 {8 j) g* V1 }3 k
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );+ f3 J8 g- z  W4 ~
        }( D8 B/ S$ Q0 d1 u, u
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );% P$ K0 u5 @% o3 e7 L/ i6 O
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );; r0 f7 w& \0 ~) c
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
' C. T, F9 Q& Q2 {5 a1 ~+ Q        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
. }4 J% f% c* R5 y7 o' ^0 c: u        ( (CUser*)this )->AddTaskBar();*/% E3 _* |7 c& O: O
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
5 G0 ~- i" o- R9 w( N#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
2 o0 d  c! B# J& P0 E1 w5 a% G1 M/ c        ((CUser*)this)->CheckHonorStat();
7 E. m+ |' w& b7 [4 D        ((CUser*)this)->AddHonorListAck();
: n# O5 e% D% l1 I2 m4 B        g_UserMng.AddHonorTitleChange( this, m_nHonor);8 U1 S/ L  w% g- N! R# q
#endif    // __HONORABLE_TITLE            // ′Tà?
! b' @, a& C9 Z# a; H$ |- F    }
, ]0 ~1 D; ]7 n. Z; b; v#endif // __WORLDSERVER
- R, n* X5 t7 W& S}  
* U6 R3 v0 X6 K; v% S
, r( S8 t) Y3 Z& \, E! E然后你进入functextcmd.cpp并添加以下
! A* e# `9 w1 J" N! C, l$ k0 e" L9 i8 e0 o7 |+ C- B
代码:
. B- D( Z  }! E; p1 v) JON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
7 \4 a5 _) P$ V+ D下面插入
  Z9 {) y& H1 D. @* s7 bON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ( S* m$ a1 K! H" u& W% S" n% x" u+ ~

0 a' J# q3 O1 A4 u然后你去. Q4 r/ E7 C+ v7 y  f  L* X

3 o5 F0 R, s) ~2 P' l代码:% V+ m6 v9 J$ `9 ^/ X
代码
2 }+ e3 D. R; HBOOL TextCmd_ClearPropose( CScanner & s )
! ]: l5 Y: ~  _$ V. V{7 U8 t+ A) N4 K
#ifdef __WORLDSERVER3 ~+ {; e/ Q3 E) U$ M3 b3 I
    CUser* pUser    = (CUser*)s.dwValue;
3 Y5 C* c% F+ `0 s5 M0 ?7 T% [    g_dpDBClient.SendClearPropose();4 q6 p6 p' _4 [: V
#endif    // __WORLDSERVER
* {8 s6 c+ @' s; v5 J0 {    return TRUE;, x! J* C- L' [/ }8 G1 K3 L6 ]
}* s, ~# \0 p* K2 }# H) x
下面插入( t( t& i* R( N+ ~3 ?
BOOL TextCmd_rebirth( CScanner& scanner )
; L* p" b8 t- T1 A" o) z{
9 `, K6 Z' f5 `4 t#ifdef __WORLDSERVER
) I2 H! v. v2 u9 fCUser *pUser;5 \& T/ D+ O- \- S: _& I, Y
pUser = (CUser*)scanner.dwValue;
) V8 b$ G+ S. C3 M9 oif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())/ ?1 f2 y& d7 F
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
: Q+ Y4 T! j) R# O8 a1 }else; c& o6 a, ^! b# @3 L) n
pUser->AddText("你还未达到重生条件!");
2 D: d) d% t  x6 L% q, j1 B#endif- i' f# l/ r- u- [  u# b6 R8 g
return TRUE;' l, @9 E7 c1 J: m5 M+ T
}  ; c1 O+ o2 s6 h! |
' M  T5 U6 v- h0 j7 G

" k9 F' g; }! n8 R& c" Q4 o5 l! r" r% W# [: S0 D/ ~

! l3 y8 w3 g5 W




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