飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
: K; i; r& I/ \* w
4 @6 Y5 E$ C5 K1 y" ~: \Mover.h# M5 k; w4 r' V/ d: Q
代码:0 Z" E! K8 M. [
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü: V3 z7 j+ Q) N& s3 H
& n2 y' g. F3 A, ?
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
. R( h9 Q. G: X$ P& ~5 C; [- Z, ~; ^5 r
然后你去mover.cpp添加
: c+ R% Z) s: v" O0 q) {# g
- Z! L8 K) n6 Q. v代码:
; w4 `7 u& E4 G; X8 T7 }7 g! V$ o# Vvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )! O9 [8 a9 w6 h, @
{7 g. U  {( T. I  B( e
#ifdef __WORLDSERVER+ ?3 t' e1 y% [( t0 A6 I( \- f
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
& `( S: \/ Q  E0 z0 ~8 Q& c; J    MoverProp* pProp = GetProp();. i  O0 C: x" i" m
    if( pProp )/ K. N7 {: U! n
    {4 w6 _( S  n* S' q
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )6 w% t, E2 [" {- }9 S8 a
        {
1 P# s* k. H5 ]; \/ Q            AddChangeJob( nJob );  v2 L+ ^0 i- ?( Y' ?
        }else{
; b# K. P3 u/ L' L. W* j            return;
6 I7 ~" D. U+ X. Y        }
6 l& D9 e6 O  f0 r1 F        int nPoint = 0;, D  J3 i4 B# u! |" x+ g9 W" Q
        if( m_nJob == JOB_MERCENARY )
* U- \* p" |5 u+ t$ I            nPoint += 40;% E/ U' O; L/ G% w7 e5 p4 y
        else if( m_nJob == JOB_ACROBAT )7 P7 U6 {/ x) G& T. x+ `
            nPoint += 50;
: |( U3 D# F) C/ \; g: e, O  x        else if( m_nJob == JOB_ASSIST )4 N& ~4 D& v) [$ s- Q% Y
            nPoint += 60;
7 z' ~" C7 B3 F; L  c" C        else if( m_nJob == JOB_MAGICIAN )# ^3 k% [! q# `0 ^/ v
            nPoint += 90;
' x7 r' n7 m2 W: Z        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )( z' y+ k0 K8 _  \& R$ L% v
            nPoint += 120;
4 I8 Q) S! v! z2 r' k        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )0 q8 }" a6 p5 q- {$ n( e1 D0 `
            nPoint += 150;5 M) I& O3 w( a  f1 c
        else if( m_nJob ==  JOB_RINGMASTER )
4 i" K% s$ H  T) c            nPoint += 160;
* U- W4 i0 A5 P  M  m, |) d        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
6 e; X5 `$ J7 `. Z# F            nPoint += 180;
* B1 j9 v/ @% q1 Q        else if( m_nJob ==  JOB_ELEMENTOR )
# a( [- W& i( q* T            nPoint += 390;) x" f0 Q$ A  v7 E
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
+ c( M5 p- U) p/ Q7 R' [            nPoint += 120;
7 l9 k" s! Z& C* U5 a        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
! _. T8 X4 q  Q            nPoint += 150;
9 p! h) v1 N( _/ O        else if( nJob ==  JOB_FLORIST_HERO )
% m; \) o' h8 p" Z            nPoint += 160;3 x$ V5 X  i& e2 Z9 [$ J# m9 {
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
5 ^' d% F8 }8 ~( C9 p% j            nPoint += 180;% O" N4 b% {. \# O
        else if( nJob ==  JOB_ELEMENTORLORD_HERO ); H% Q/ s  w  h2 \8 a3 b
            nPoint += 390;
4 w7 B# F/ M% F8 f4 e
( }: p9 F# _4 q' S6 Q+ I! ?1 G        AddSkillPoint( nPoint );% s) |7 l" |" E3 E3 ?
        m_nLevel = nLevel;+ c# h" _8 H* J

* A; Z5 d% @4 P! W( M& X6 P        SetJobLevel( nLevel, nJob );
1 E& z0 N' b( L( L$ ]' l& \        m_nDeathLevel = nLevel;
+ H1 `; ^; ~. `( Q  g: F8 @#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
' Y" K2 e2 ^; ?( H& I" V5 g        if(IsMaster())
% A7 ]/ @& n" T9 Z: ?- s2 ]# E5 M        {! W$ ^) C# n+ n/ r( D: B, g
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108% ^5 D3 d, c& ^
            if( nLevel > 59 && nLevel < 72 )1 ]5 \) ]9 I% g( b7 j) [! v# W
                dwTmpSkLevel = 1;% i0 w1 p4 {" H. W
            else if( nLevel > 71 && nLevel < 84 )
' N" w4 H1 e. v/ I5 X                dwTmpSkLevel = 2;, M) f1 H4 R) O0 y" G8 u+ a2 e) P
            else if( nLevel > 83 && nLevel < 96 )
" q; v  |# z5 [% d5 R# h                dwTmpSkLevel = 3;
, r3 M7 \' T0 B            else if( nLevel > 95 && nLevel < 108 )
; X/ [/ g9 V$ i9 q8 V8 u& l! u                dwTmpSkLevel = 4;8 {0 f6 M: b2 X, z' S! m
            else if( nLevel > 107 && nLevel < 120 ); _: V( }2 A9 |9 J* d! f
                dwTmpSkLevel = 5;
& U; B9 ~- ^+ _, @            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 9 c4 ?: S+ g# r% Y  w( s) ?$ L+ C" ]1 l
            {               
9 C2 ]; I6 w8 o: L9 j                LPSKILL lpSkill = &(m_aJobSkill);9 ]. r' _# v! s4 k/ D
                if( lpSkill && lpSkill->dwSkill != NULL_ID ): g7 A( I$ J* W' d
                {, I4 H, d4 \: |2 u
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ' E; j; J3 b1 n# S$ c. x, ^
                    if( pSkillProp == NULL )
. q& e3 q) H6 S- t' m# T                        continue;8 h& t  ~. x% o7 d, q
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)2 [8 |0 ^$ F  r. S
                        continue;- \1 `& |& j4 u( r/ J5 Y1 P! a8 M9 g
                    lpSkill->dwLevel = dwTmpSkLevel;5 p0 [+ p0 w2 w7 D
                }2 F+ W8 @% _, h3 e) J! Y  c+ z
            }
) p5 D  [" ~( |0 M; D& [& J) V        }
: Y& H- t2 g. }/ A        else if(IsHero())
% g) ~* X+ Q0 L) _$ m7 _        {9 u; N. P% d! c6 n# p7 X  n, l
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + w9 N; q, D. Z
            {                ! N2 J0 D5 j) A8 ?$ p! q
                LPSKILL lpSkill = &(m_aJobSkill);' f2 f  }: w" m5 a
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ k0 O6 a8 V. z. |) F! x2 O  |! _                {& S3 D- ?* J8 \
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ; u( z( m% O7 U& v; R- x9 t' E
                    if( pSkillProp == NULL )0 p, ~+ g2 ]) z/ h. q* H
                        continue;
8 N7 d6 i7 {  R1 L% U8 ~                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 m. N2 a1 \6 C- y+ ~! P- J5 L                        continue;4 P0 ^$ F$ h# j8 v' v4 h6 f. x
                    lpSkill->dwLevel = 5;
- ]  L7 y. _2 F5 n$ g- n                }
, W- g7 E* _  C; [& ?+ U* ~/ o            }
" r! E7 p. L$ U7 K! O  l8 q        }
3 ^, B$ A4 i8 i3 G3 h2 t        else if(IsLegendHero())
: E4 k9 {7 ]/ c: v# s        {+ i, s* n# Q' E3 V9 l
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
( E2 A1 b; `9 Q% y3 y3 O            {                % f1 r, W' }4 J, d4 k; b. O. w/ @
                LPSKILL lpSkill = &(m_aJobSkill);
  S( ^* u# y7 o+ R# M9 f                if( lpSkill && lpSkill->dwSkill != NULL_ID ), F5 c* }6 ~: I8 o& F+ q
                {& y9 g. a  I( A$ Q- a9 o! f
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            " q0 R! z1 X4 |
                    if( pSkillProp == NULL )
9 m6 K  w% F$ p6 o+ {3 f                        continue;6 s; K6 l% n; O5 |& ]6 g
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)4 m8 }, k0 R7 `% e$ u, ^: [
                        continue;
/ O) t, c! W7 m( l5 V                    lpSkill->dwLevel = 5;" x; T' @: I* |, S" l9 m' T
                }  |7 D+ x* K4 X' G3 M
            }
; I, o# r( A" |4 C        }4 g+ H# V. Q7 g# Z4 r$ A; ]& c
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
" q; n0 x/ A$ x) J0 O        if( bGamma )& d: e8 v+ @; f6 N) K, P- C; n. J: i  ^% Y
        {3 i- j7 f$ R- g! i7 ]2 w
            m_nExp1 = 0;3 M+ t4 L: F, \" L5 T( E0 b
        }( b& G- b) H# G7 e# l" g' T

- w% }# d# t9 M2 m        ( (CUser*)this )->AddSetChangeJob( nJob );
6 K* B- z% [( N+ q5 D# L9 c; z        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
3 P, I: e1 Z$ V; q' v0 V! X- K  ]8 T' i5 u2 |, H# a

; s& \) A! n- G% b* U4 a& e$ T) P  U#if __VER >= 11 // __SYS_PLAYER_DATA  e$ u7 l" R: L$ d9 P
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );  J+ E- G1 f% t3 m" ]4 n
#else    // __SYS_PLAYER_DATA
4 }# P7 e- H# s9 H; I        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
' G- p; h9 [  [* E, G        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
. h$ x* h+ E3 ?9 |4 ^        if( m_idGuild != 0 )
! T+ a+ z0 W4 N$ G0 v            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
# q# B% `3 D' t/ w#endif    // __SYS_PLAYER_DATA
9 }4 k5 ~3 n0 Y6 R        SetHitPoint( GetMaxHitPoint() );' r* K% U" @- ^) ^, C3 u
        SetManaPoint( GetMaxManaPoint() );
- a+ L, p' w, Z% R& l: H        SetFatiguePoint( GetMaxFatiguePoint() );
& q, y5 N- [7 x8 `        if( nJob >= 1 && nJob <= 4 )& k" X6 l$ X1 `; P' O& y' W
        {1 x& G4 e, S( b* G
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
* [. M* K: R* o; c            m_nRemainGP = 28;
& }+ H: G7 |, k7 ^# o4 \6 `2 e        }% f+ ~% L( K4 s" l7 h% O
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )& s1 P+ F/ k& l. q$ ~  u) x2 v
        {3 O8 ]; r; x  `  M4 p2 p8 X( i
            m_nRemainGP = 118;
2 X8 j: p9 D. b            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
! y- L: u. a- b" c- v/ M$ o            m_nStr = m_nSta = m_nDex = m_nInt = 15;
# T8 R% \( C4 s1 f. t! r        }- A& I- J$ f3 U
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO ). q" n7 r1 T, M! G
        {
5 }4 L: ]; ?1 X            CItemElem itemelem;* r$ M4 ^/ c. y+ s0 m) A% j
            itemelem.m_nItemNum = 1;; h& d; v; o8 u' l
            itemelem.m_bCharged = TRUE;2 O! D3 n1 v* u$ Y1 H
            BYTE nID;
0 Y0 V0 l2 e/ i) j& H# T1 U  j
( ~7 |. D4 h: u            if( nJob == JOB_MENTALIST_HERO )
7 l! s! A1 x+ r9 D                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
# v  u4 ?2 U) @" j            if( nJob == JOB_FORCEMASTER_HERO )
2 ]4 i  V- Y% g4 K                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;9 ?( `. f% ~+ O6 g! [4 d4 A
$ ]$ F6 H4 B% g9 X
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
1 I+ n; d9 Z/ j        }
9 ~/ ^0 b; P' Y9 Y% I5 m* K        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );, k5 i3 K, D; ]/ N' J& p
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );+ }! k8 l1 Q9 t; d$ F: {& E
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );, |) q# ]5 Y5 n
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
! d) J3 I) s: D0 Z# A- k  H$ b2 m        ( (CUser*)this )->AddTaskBar();*/
- R% J: `1 r2 V; X        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
. I& U* O. A8 E  y2 ?#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?8 f1 e* H7 N+ y, p
        ((CUser*)this)->CheckHonorStat();
% w2 |7 R, r3 m& I1 n        ((CUser*)this)->AddHonorListAck();4 w/ u/ o' ?. ^# T: j9 |6 X% t, `
        g_UserMng.AddHonorTitleChange( this, m_nHonor);2 y3 P1 g6 E; i5 F+ D
#endif    // __HONORABLE_TITLE            // ′Tà?
  y7 @  Q% L9 ^" ~' J8 E    }6 ?( A4 Y0 O& c% a& X  a
#endif // __WORLDSERVER
' }( b. q2 d" _1 D}  
) ~) e/ G  q' C3 M: r5 V* Y. Y, a$ O
然后你进入functextcmd.cpp并添加以下
, `# r. E! w8 [  X
. L9 d3 a0 `$ @1 X, x* {- [; E代码:
, ~1 d2 o  C1 }ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
1 i3 |1 X, C$ _$ ~下面插入
) D2 z  F9 u& r' E5 d. TON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  $ [( o7 v, ?. @- c# F  ]

0 X& l4 v- N& K. o2 i  c# d1 a然后你去
; }. D6 E% I2 u6 o  }# G0 F) R- v2 y6 L; s* L* ]1 x
代码:
, D3 K" E6 C" N7 O  i( s代码! r) `: `$ R  F& [' K3 l- i
BOOL TextCmd_ClearPropose( CScanner & s )5 O& a8 I$ m. o8 v( [; N6 Q$ f
{" N% |* {+ m% q* }% \0 z
#ifdef __WORLDSERVER9 Y5 y8 Z) V# j+ {. V
    CUser* pUser    = (CUser*)s.dwValue;+ U, i, b5 t4 t& Z# s2 `7 R8 C: m
    g_dpDBClient.SendClearPropose();" u: e6 L5 S8 |- e+ a( `' r
#endif    // __WORLDSERVER% T% c! D- T8 e9 U; j6 j) |) f! O
    return TRUE;1 u: W3 h1 y4 b* I
}. V6 t& O" f5 q% O0 P& e( k! L
下面插入
1 B2 \6 [, Y% a5 ~( K# H3 g" t8 RBOOL TextCmd_rebirth( CScanner& scanner )
- h) G4 K6 s- I/ d$ ]{
2 `1 [- d9 ^4 C% h1 S! t' S#ifdef __WORLDSERVER
7 G9 W' T0 R: F6 ]CUser *pUser;
0 K4 O" S) I* s! X. {pUser = (CUser*)scanner.dwValue;, K5 N& q5 Z# O2 u
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
4 B7 g1 T) q: |6 O' ]pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);+ k  w  `2 e2 q3 H4 c
else
0 Q- S8 M/ `% epUser->AddText("你还未达到重生条件!");3 a% ^+ f) {; u. y' e
#endif
" ~) ]/ @1 q8 g, H& [9 Y, C2 areturn TRUE;1 n: z: a# {% {$ \$ i/ D: h
}  
- G: t' J9 \  `/ N; q& V" E0 F2 y7 [6 d2 k  b

3 u! U( I& D/ `/ E# K+ K
. l" z, {- x& e4 ]/ |) i, j" v4 p2 ~  N7 x+ H+ D: o+ T5 f: N3 Z





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