飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel4 R( R, J. T5 A) ~5 @
8 V& a; ~  K* ^9 s
Mover.h
1 m( b! x& k& K& a1 g8 p代码:& U6 [6 ^! Q# @4 Z
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
1 |" \! T2 i1 Q, k. b& V6 p, @+ \, Z, ]# j. Z6 f2 t% O& c
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
9 }  I4 [, \0 m! v- h
6 O6 Y- ?6 Y& w: F, m然后你去mover.cpp添加& I1 y0 V# F% {6 T. R
+ |& W5 A/ n  r- v
代码:
: y% U# L! _0 u7 Avoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
  j$ u  o/ d% i; |* g! V{0 \8 C  `$ b9 w# T9 o
#ifdef __WORLDSERVER
6 G7 B1 e6 c  d2 Y6 p3 k& D4 h    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó4 x/ I+ U4 ]  E4 U* @  O. h
    MoverProp* pProp = GetProp();
( Y2 K7 f$ _! k/ T    if( pProp )
! U& s3 S) \3 s1 t+ d; L    {$ D. T+ k5 S2 L- E) R
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
% ]6 g1 v+ `8 S; O        {' ~# k2 D# {- t8 \# n7 y: ~% D
            AddChangeJob( nJob );
0 Q9 \! a. E0 e+ g9 J/ O' U        }else{/ L& V/ y5 ]9 L
            return;* Q; R# F1 ^9 u
        }
2 q0 k# N% U8 J        int nPoint = 0;& ^4 B9 o: n5 d
        if( m_nJob == JOB_MERCENARY )
2 k7 s) E( ^5 q            nPoint += 40;6 [; Q) ~* j  e1 @# d4 k
        else if( m_nJob == JOB_ACROBAT )
, O6 A2 U. U# R/ H/ I            nPoint += 50;
3 R% W: T7 ~  J        else if( m_nJob == JOB_ASSIST )
4 ]1 r5 R" |2 X% v( F4 R            nPoint += 60;/ t" D: ?* D3 O. W8 H6 F
        else if( m_nJob == JOB_MAGICIAN )
5 V  V6 E4 a1 g- y5 Q4 M            nPoint += 90;6 o4 a- g  I) ]8 U6 j9 L$ g
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
# K8 O: S) v' ^+ A+ }            nPoint += 120;3 V- S0 `1 _8 `  n7 y, I- Q
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
4 n* {7 O- x  \! B# F" V/ V$ Z            nPoint += 150;1 a* ?8 Z, n& `! _
        else if( m_nJob ==  JOB_RINGMASTER )* b9 z% A( o; _# L6 Q) L
            nPoint += 160;$ f! ~1 I* F+ y, Q9 g3 Q* d3 ?' j
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )- a: _: [# W- j' V2 i6 j" I
            nPoint += 180;
& V" k, {4 X; d# w4 \! L        else if( m_nJob ==  JOB_ELEMENTOR )( a( b9 R. P8 d, ]& Y+ M
            nPoint += 390;
0 h7 w8 x7 M# b8 D, k6 a        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )+ w  o; Z* y, f6 B5 `: E, J
            nPoint += 120;+ i& p* n; k( e1 ?  t
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )0 J# S7 T. ]1 L- X' P
            nPoint += 150;9 I4 Y, x5 y3 b& v4 Q
        else if( nJob ==  JOB_FLORIST_HERO )
" E: j/ h0 n" D/ Q            nPoint += 160;" [  j! F+ t+ ]; J& ~" `
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
( N6 @4 y2 x( M1 c$ q- ]            nPoint += 180;
3 z9 C& I% J7 A        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
* X5 z' e) n+ p% }$ e7 b            nPoint += 390;; V$ ~) s7 q8 w0 D: H5 d$ w/ C, l/ p9 h# y

7 {/ y+ Q: u2 U6 C( S9 Y1 }        AddSkillPoint( nPoint );
! f2 d- v* y  l  ?        m_nLevel = nLevel;" B3 u4 F) ~, r/ `
$ @: g" G; x: E2 M1 B! h1 ]- [
        SetJobLevel( nLevel, nJob );
  e4 C, V2 t4 I$ \) Z7 @        m_nDeathLevel = nLevel;3 ]. t3 H8 _* B( U7 t5 r
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans5 g) M+ A4 n' |. [
        if(IsMaster())6 J1 z$ [# n( [8 |0 n* R7 H
        {
. K" K5 l$ M$ \* c# j, ^! Z7 r            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
2 o3 p% t7 ~" ]            if( nLevel > 59 && nLevel < 72 )) F! t/ J) C$ j
                dwTmpSkLevel = 1;
2 M. g6 Z( U. g4 Y) o' f# j% v            else if( nLevel > 71 && nLevel < 84 )
1 Q( G& G$ R# q9 |1 I) |                dwTmpSkLevel = 2;
! M8 ?1 d2 U. ]2 ?( X) o            else if( nLevel > 83 && nLevel < 96 )3 J& A; X4 g5 V) I; R
                dwTmpSkLevel = 3;
" E8 C! X5 g* E, U" V            else if( nLevel > 95 && nLevel < 108 ). m8 Y" W- [: l. d
                dwTmpSkLevel = 4;# R( i: ?; I  Q, Q/ v. W
            else if( nLevel > 107 && nLevel < 120 )
& [  A9 E, q. R( N. o* H6 ]                dwTmpSkLevel = 5;& e5 Y1 n1 v( `, ~+ u; _
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 R' }7 ~  T  X/ o7 E! Y4 J7 c$ v            {               
; F  `, B) c' t* g) d                LPSKILL lpSkill = &(m_aJobSkill);
& {. w7 Q) D' ]9 a8 J1 X. `                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( m! n/ J6 Q( T7 q0 i                {8 }1 l% K$ z2 ~0 e
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( J' `; j1 |0 O  t) ?9 G/ l; w                    if( pSkillProp == NULL )) ~' E2 C+ r( ^; m: Q' T# V
                        continue;8 J! e1 A+ `/ {- n( S3 J6 `' @  {
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 k# q: c! P# x- C6 a: S# e# m( v
                        continue;
) U$ _' w1 o( I( ^9 R                    lpSkill->dwLevel = dwTmpSkLevel;! L5 K9 n8 P' n. {; I% J) {6 S
                }
2 V( F' T4 v, Q5 [            }5 y3 [) |5 z& y
        }
! k* X  _' J: \9 u) |& t        else if(IsHero())
* a4 a' R: B6 E  k        {( M. a# R3 w% r( w
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 @2 O6 b5 w: d0 ~9 n  B' i6 k* k            {               
, [& x- a6 u, s+ ~/ Z( M, f                LPSKILL lpSkill = &(m_aJobSkill);
; p1 ]" M% c0 G" u2 t                if( lpSkill && lpSkill->dwSkill != NULL_ID )1 T% N; O  F4 w5 G# u' ?
                {
. c! u( ^# Y$ F2 X9 F                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
2 y9 S1 x  o8 }9 z. Y5 i0 L- C                    if( pSkillProp == NULL )
* U' v! C6 W! E' b- Y2 _                        continue;
$ ~& O- g7 R* U5 [, B                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
) |9 m! r) c/ H" ?+ j6 O                        continue;  }8 J$ x6 k5 Y/ V9 G4 \  Z4 N
                    lpSkill->dwLevel = 5;, N& k/ ^% w; q7 \" [8 q
                }: p; _5 g2 L5 ?5 o" a
            }1 W$ C: e4 _' d! h2 y; g7 T# w" K
        }
' Y. G# ~: ^# z/ k( U% S) o; \) C* q1 P        else if(IsLegendHero())
1 [" `2 |/ k8 U        {4 P( x+ N+ E& C) x6 ]% R, `
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% i% W: O, ?6 E# w            {                5 U/ a" O* O, y1 t/ w# H+ C. u! q" C* R
                LPSKILL lpSkill = &(m_aJobSkill);
- m1 ~6 c4 ]5 V' K0 d  L                if( lpSkill && lpSkill->dwSkill != NULL_ID )
- |# c# |* K# n2 ]. x8 z+ i                {1 ]1 ]+ F+ c: M; P) M9 y
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            : f* ~8 x* F2 e- |
                    if( pSkillProp == NULL )
3 \% W, Y) O5 }2 N                        continue;4 c$ s6 G+ @' L* N3 r
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, C1 e& Y" u" D% h- b1 K2 j                        continue;
* P" p  U4 |& ~- q( O7 D1 X                    lpSkill->dwLevel = 5;4 G- W. T$ m! X: |9 a
                }
& c9 C! I8 T6 J7 f8 n  D% \            }
& u8 z% J; Z  p8 v8 y1 D& e        }
3 G0 I$ \9 G# g1 I#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
& r! E: Y& f% L. {. ^        if( bGamma )
9 y& y2 K! O' Q. y- F        {
4 X* \, c( J- y" C/ s) M            m_nExp1 = 0;+ x) f" Q2 h# U8 P5 W$ A3 k
        }
  J6 |2 I% Y. L8 X5 l: K+ A; [# `4 I' y* t1 V* b$ Q- `
        ( (CUser*)this )->AddSetChangeJob( nJob );: P! P- q4 C' s; A' l
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );/ O; }2 \6 F4 R: z& H
4 X# M8 L; u9 d- z! A
) a4 T7 X5 t& G4 p% C
#if __VER >= 11 // __SYS_PLAYER_DATA6 c' K# x& P% t! z
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );" S% v" N2 x2 c1 l  D2 R  h
#else    // __SYS_PLAYER_DATA% X$ s1 r# M) }) N( W! v: W! p
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );# G! z* N2 U& b6 q) c
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );( Z/ i5 o8 H% y7 k) {
        if( m_idGuild != 0 )5 N4 q0 z8 O8 `& q' a
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
, b; q. `+ S. l; \& t#endif    // __SYS_PLAYER_DATA! j' x( N# f; l+ _7 B; ]! c+ g2 V
        SetHitPoint( GetMaxHitPoint() );
. D! i% _% P% J+ e        SetManaPoint( GetMaxManaPoint() );0 i9 ]1 H  ?4 r) o, ~
        SetFatiguePoint( GetMaxFatiguePoint() );* P5 e9 y# Z1 B8 E* @  U
        if( nJob >= 1 && nJob <= 4 )  b( o; P. j. T& d/ T
        {
- Z9 f' a, I7 r& u            m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 N+ v8 \& Z3 B" \            m_nRemainGP = 28;9 h/ ?+ ^3 L1 S: u. t
        }) n8 b( Q! ^, [! O0 _( D5 e$ n
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! _) V+ z9 w# B8 ]6 M/ l
        {
& E# e) d2 Q5 ]3 L+ u5 ]            m_nRemainGP = 118;) T8 M8 U* E3 S  N0 s
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
9 ]" v! _: {; o* D            m_nStr = m_nSta = m_nDex = m_nInt = 15;. B$ A4 X! H6 R$ v
        }
7 ?$ X( e$ L) R3 \+ n- j        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
" P3 O) H3 o  I9 @5 g: S; ~+ V- G        {
$ H- P( O+ e9 E% ^" ^1 L, q            CItemElem itemelem;$ M' c* _) k- l0 w1 Y
            itemelem.m_nItemNum = 1;
8 m( T1 F% }1 V/ s4 z! {            itemelem.m_bCharged = TRUE;2 W. e9 Q/ z( N& v" j
            BYTE nID;& H& Z1 {. t3 w9 Q4 h0 m- Z9 x- J
& o- Y  R/ E2 t! r: a
            if( nJob == JOB_MENTALIST_HERO )& J1 V, F% c6 |5 N& M
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
. q' M9 H6 |  d! E$ u- q$ v9 w            if( nJob == JOB_FORCEMASTER_HERO )( Z! x& W' L9 O3 Z/ \! K% ]
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
7 H, q" Q" m  d. @3 }( v0 m5 O3 `3 ~8 U  z, s
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
* m# G% ?4 L6 {, L, e        }
& {% M3 k9 {' X% x6 Q        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
; W: t  a: |3 F6 ^* D        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
7 D$ d* V( J3 V* U6 r9 o; x: Q2 d        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
2 I  H. s& b6 s        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );0 V/ p- ~2 l. Y+ E
        ( (CUser*)this )->AddTaskBar();*/9 N( P3 l8 ?6 {
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
2 @8 g/ X. R% R. S2 g) I5 E2 A, C#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?6 i0 V& N& @  M/ A
        ((CUser*)this)->CheckHonorStat();
. g0 _  P* p& |        ((CUser*)this)->AddHonorListAck();
: f, X" Q1 K5 k: z        g_UserMng.AddHonorTitleChange( this, m_nHonor);
" y0 Z) k" ^; ^& X3 c#endif    // __HONORABLE_TITLE            // ′Tà?
/ F# R* @( E% G2 L: A" p    }8 O0 D$ I+ r# q0 x+ C3 U
#endif // __WORLDSERVER
! u! h5 @; b& E6 j}  
+ M. N* P9 u! Z  ^  {* M
; R+ t' t1 S% l/ M然后你进入functextcmd.cpp并添加以下, e% v+ v+ j& X% }/ s* V2 S4 c/ Z
' U% B. V$ ?1 q; k  Q" |; F2 j
代码:
% @+ q, {/ D4 e4 Q' l; iON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
* {- g( D2 w2 J+ n9 L& A9 m下面插入
. |! j7 J9 ?/ xON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  4 Z7 T  D$ q1 p1 I+ s- @% d: ]
+ I+ M! z7 B9 s1 B/ A" A
然后你去1 X% W: a" A$ R+ u  {
' `$ h4 H- U6 w. L
代码:7 L: P( `1 w! i, m* U
代码) c! W! `! T( a, U3 B
BOOL TextCmd_ClearPropose( CScanner & s )
/ T% c: B' Q! `2 g{
5 c0 _5 v. q- S6 ]' T#ifdef __WORLDSERVER- [* k" I- g/ O/ e0 V( }
    CUser* pUser    = (CUser*)s.dwValue;; i5 |3 a0 H- k% o
    g_dpDBClient.SendClearPropose();, z1 B$ T% o9 W& \1 w0 L  @
#endif    // __WORLDSERVER
1 j4 x! |% r* d- \    return TRUE;! p+ s, d/ b  s# M/ Q* M
}
( T" g* c# ?( S3 `8 L: |下面插入$ G2 r* y+ r- j/ J2 a2 W+ N
BOOL TextCmd_rebirth( CScanner& scanner )  J' k" X1 T7 H6 n% Y! r! I8 J
{  }6 K4 @) r! h3 L
#ifdef __WORLDSERVER* u5 M( ?4 {, @/ k( t
CUser *pUser;% Q9 X5 h) h* X. O4 V. s1 J
pUser = (CUser*)scanner.dwValue;. g) s0 P" M% g3 R+ [7 Y' J/ r
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
, u7 U' z- r# }- R! hpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);- K& y3 [; [% R  w9 s: Z9 K. m) i
else
; i7 D, N0 g$ E0 |6 X; g, F2 bpUser->AddText("你还未达到重生条件!");
# y( |2 y' @8 }( h% T# f#endif
+ X1 w" F- C: `6 R+ K( |$ S$ Ereturn TRUE;1 u: W# ?# P, t; Z
}  
8 S' M+ f/ `& h. s4 Q0 Q; ~+ P0 n% {2 b8 n) s% ^4 G# Z. B- t
  x- K3 _- @; t  _0 P* x$ F. c2 c4 I
( N$ l3 x( @: Q# J8 r- k3 V
$ \' y% O1 j: ^, p/ i- K. s' X





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