飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel7 |) f: |' x- U1 x6 G$ y
; I: S7 d$ q9 _- H
Mover.h
4 e$ U! G# J( u) y代码:0 Z3 ~8 K6 G0 G& R# E
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü9 q/ N" b: ]9 u7 B2 K+ u3 X& G' P

* s; f2 }6 x  s7 N2 F下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  5 @/ \& y+ x9 ^; a  b: _  a  t% w/ x

0 [8 U" q, j( N+ x& x然后你去mover.cpp添加& I' v5 j8 G7 g- q4 L
" @& E, p: L1 W! t* z
代码:
) N! d/ X- ]9 ^( qvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )+ M6 ~/ K$ H0 k+ C2 {- Y3 b  |, Z
{! Z2 h; h6 {% i8 h* e  W( t
#ifdef __WORLDSERVER8 _' [- |$ p1 |; `
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 M( y! D$ m, a    MoverProp* pProp = GetProp();% `* |: x. R' U1 d( F/ q& B
    if( pProp )% B3 ?9 K) N7 b, ]% e
    {
2 H  ~1 V( M9 `: \( W  f/ l" g" o        if( nJob > 0 && nJob < MAX_LEGEND_HERO )( O; I6 o- d+ _5 _" T2 e0 R
        {
' S0 d$ Z4 p, _& ], a% U% j            AddChangeJob( nJob );
  k" B- u6 K5 b- j% v; `        }else{
# Y' w/ e( W. e% P. Y            return;/ h& i  u) U. R  s; \
        }
8 j  c: M& o: I% C% M/ U- {        int nPoint = 0;
: }; z  X; k/ M9 J        if( m_nJob == JOB_MERCENARY )
, k9 I- K0 s9 f" K            nPoint += 40;
- m: L8 ~2 \! r- ^& Z$ T        else if( m_nJob == JOB_ACROBAT )
) @7 d. F6 y$ ?1 p            nPoint += 50;* f- b" g# e" Z
        else if( m_nJob == JOB_ASSIST )
- l4 z$ R; E9 u  O( k0 O; o9 S            nPoint += 60;
* x* S2 i1 W3 d2 x2 b        else if( m_nJob == JOB_MAGICIAN )
$ ^9 c0 Y9 e1 q& O  S9 Q) ?            nPoint += 90;0 j0 h0 K) Q: p' w' B; p: x
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )7 O$ E) R+ Q* a+ U2 W
            nPoint += 120;, R( H6 X: b/ f* j" q
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
/ Q5 h/ q; C% k6 G2 U" m            nPoint += 150;
# M! q9 c+ C4 m% E5 b% |9 U        else if( m_nJob ==  JOB_RINGMASTER )
0 Z7 b" @! ]% I, ]/ @% G; z            nPoint += 160;9 T* D# `7 @" B; I5 [. r- H3 _/ z4 [
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )! @1 E6 }5 g5 J9 y: L3 u5 ]
            nPoint += 180;% E' B, H" Y" W  x6 ^; i" \3 t0 j
        else if( m_nJob ==  JOB_ELEMENTOR )* ?0 Y% ~. K1 X* q
            nPoint += 390;
$ G5 t: h. ?7 @$ Y1 v$ E        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )* F# s4 G5 G- R' c5 b
            nPoint += 120;3 @" X9 o7 o, E) v: e4 E) F
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )  R. u7 I2 z' D* G! ?" ^" }3 w
            nPoint += 150;
8 o/ z; R9 S( g* K" @. X  H/ P) d& k' k        else if( nJob ==  JOB_FLORIST_HERO )1 r, I' s& p( _9 t( q: l
            nPoint += 160;; s9 R. n! Z0 f3 E; K& w" u# t
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )/ H9 N% ?# B; h7 x: Z0 y
            nPoint += 180;
# Q8 F0 b& J) n& d& L        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
! e2 c. k& L" ~: _. p# E            nPoint += 390;/ U# |8 I% A/ I/ S! o* m" ~. P; |1 T  f
$ H. i4 p0 r$ H: R* E" U" f
        AddSkillPoint( nPoint );2 u! g4 O4 k+ o8 e
        m_nLevel = nLevel;
: O' G; A$ I; [# C! R% Y: y% D
% e/ f+ Q( J. r* K8 |        SetJobLevel( nLevel, nJob );
1 q4 m$ l: n. x6 ~1 u- s: @        m_nDeathLevel = nLevel;1 s' e% \0 J) Y
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans/ B4 {* {; K; J) q
        if(IsMaster())
( t4 ?4 B7 C$ x  t) ~        {
/ u1 v- F: [, i+ T' j4 k' Z/ l            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108; F2 }2 D4 Z# v
            if( nLevel > 59 && nLevel < 72 )
4 _1 w  U1 u" E. f$ ~& k4 C7 Q                dwTmpSkLevel = 1;
  M  K3 |" s  x3 ?3 ?) l' Z9 D            else if( nLevel > 71 && nLevel < 84 )
, k  H: P# c3 L8 c                dwTmpSkLevel = 2;
. r, T( S2 ?, `, X' D  e            else if( nLevel > 83 && nLevel < 96 ): S# R5 z9 l: z; G, ]$ f
                dwTmpSkLevel = 3;
. I9 I( U0 S) P" P* V            else if( nLevel > 95 && nLevel < 108 )# Z; M+ H) ~2 [# ~4 E5 Q# I% n
                dwTmpSkLevel = 4;
, R* o( X% E/ L3 s! w. c            else if( nLevel > 107 && nLevel < 120 )( Z4 I( l- r0 E& z4 s
                dwTmpSkLevel = 5;; V! e7 X; a7 g
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 7 p& Y) H( T4 Q; m5 t% I4 s
            {               
9 P. s' l1 Y. D0 ^: f# |! i6 J! J% e                LPSKILL lpSkill = &(m_aJobSkill);* S' q4 v+ ]% s9 a
                if( lpSkill && lpSkill->dwSkill != NULL_ID )  |) @+ W& T/ f  i
                {& w5 \6 Y9 i' l0 l
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ) o" x$ J( l) h1 V
                    if( pSkillProp == NULL )
# G7 s: E0 ]  `5 ]  D. e' T7 {3 h                        continue;
$ T* Z0 i0 Q, D( ^4 D& }                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- u7 N( J* o- {5 q                        continue;: [; |# o# @0 h  X* B
                    lpSkill->dwLevel = dwTmpSkLevel;
$ C0 W5 @+ `$ |* @9 J# E/ _                }
. H0 \- W5 x2 k* F& _" E            }* X; M' A' z7 |5 H, y2 |( s( C
        }
3 F9 A. I* G0 S        else if(IsHero())
1 Y3 G) N. E$ x/ R: m+ q0 N) W        {: k3 F5 f7 K% R9 j0 H
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
# J' Y* w, R, _1 z3 F            {               
6 v5 P/ K! n" u3 Q9 ?; u4 e. b                LPSKILL lpSkill = &(m_aJobSkill);
+ k9 Q: Z# o) B                if( lpSkill && lpSkill->dwSkill != NULL_ID )! r. W% N% {7 g( i; A! [
                {9 t: i: m+ `0 l7 \
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
! `, A+ |) m9 u2 q, G& G% D                    if( pSkillProp == NULL )" W- o5 S& y% {' A" j) o
                        continue;
( s# X2 z; d# \! Z( o1 C8 R' W8 G                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" P, ]* S! T/ U. U) f. T# f                        continue;% ], y" N# ^6 a9 c& E8 }0 y0 E* S
                    lpSkill->dwLevel = 5;
. r1 }0 f' M4 b! l                }
3 o' P: D7 ]3 [* h            }
6 g( _3 s( e# d  `2 f        }
) ~3 `0 x' j( |; L2 Q6 Z0 v        else if(IsLegendHero())
! c) D( g- [5 k! I! o& X3 X3 M        {' J! Z  G1 ?* |
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + t6 I3 w0 Y( ]1 [# f" [6 {. L) Y
            {                9 H% R* T& O( c( \3 s7 Y- [' E
                LPSKILL lpSkill = &(m_aJobSkill);) L" u4 E& l% A9 O
                if( lpSkill && lpSkill->dwSkill != NULL_ID )! F  U. m7 s! u9 L
                {% `* F6 S4 c" C1 w& `$ ]1 x  G9 n
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 j0 u' `0 n( x                    if( pSkillProp == NULL )
. i& g, U  A) p3 ~2 a+ C                        continue;
- X2 N7 Y) a/ ^; ]% r- t2 ]" M                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)" `# Y( Y7 l7 S( F5 @$ t
                        continue;4 H2 m8 L7 r" j: f. g: r3 q
                    lpSkill->dwLevel = 5;2 Q2 m/ S. g) d5 i% m: M% j/ v
                }# n3 M) `2 i, V
            }
; }! w% j5 [* \% Q* q6 d. T        }
( x7 ^" l: {$ ^; s# G7 j+ B' `2 t#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans4 c3 o# k2 `" s2 M) i/ p
        if( bGamma )
$ C% Q( K- s; e& w5 L0 M+ s        {: ?' E; u0 {2 ^
            m_nExp1 = 0;
* P% H5 |9 Q: P& |( u$ H        }
+ b# u' r1 ^  [$ K# x5 D' w' z( J
        ( (CUser*)this )->AddSetChangeJob( nJob );
. ]; p* `: E1 n& l  K2 x        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );& Z5 H' P" p1 t
" l* |  b5 F6 y! p# \" [, L9 B
! `4 b- `0 c# f5 E) L2 k
#if __VER >= 11 // __SYS_PLAYER_DATA- w, a; O6 q5 ?, p
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );& t( r5 e5 n4 H6 k& D2 l
#else    // __SYS_PLAYER_DATA, Z; {6 v( @' c: n9 m
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
  ^) _4 F2 o; U& s        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
! J$ I8 h* S0 v' ?6 i9 S        if( m_idGuild != 0 )* M7 W5 N8 i0 p* L  Y
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );- c! j- r6 @+ Q& r# j$ Q
#endif    // __SYS_PLAYER_DATA" e. c2 G8 D7 {/ o
        SetHitPoint( GetMaxHitPoint() );
1 G6 U4 d5 n% }* Z0 m! e        SetManaPoint( GetMaxManaPoint() );
5 z* f: j0 |- M7 H) X/ Y3 T        SetFatiguePoint( GetMaxFatiguePoint() );( s. s" J* V; _- ]) R" Z  V
        if( nJob >= 1 && nJob <= 4 )
" `$ q3 w2 ~7 p        {
& D. o$ U+ P7 C3 \! y            m_nStr = m_nSta = m_nDex = m_nInt = 15;
" W, V/ ~# E0 j( X) e" I/ Y- X- V            m_nRemainGP = 28;. S% B/ u. B/ }3 D- O( r8 {
        }
) M/ k1 h3 |5 Z        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
( A( |+ |+ {1 e3 `        {
0 k, ~% O* c0 O6 c6 s" ?            m_nRemainGP = 118;
- W9 u! k1 ^9 ?# P4 Q) ]( Q            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;6 n2 V7 o' O! R, U8 S! k
            m_nStr = m_nSta = m_nDex = m_nInt = 15;( C, }2 s* r- x8 m; r# H
        }
$ F' `6 J' X: E" S        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 f8 M4 s+ K/ U- _" n! _, p2 F4 ^0 [0 W        {" Y1 o9 J4 d! Q7 u8 B
            CItemElem itemelem;7 ^8 Q2 ^3 [: v2 `) g, Z9 f
            itemelem.m_nItemNum = 1;8 S. u, G! B2 n8 ?& |) z
            itemelem.m_bCharged = TRUE;, `, p, M" Q9 D; b- c% x
            BYTE nID;; a: q$ [2 @' t+ z- z

/ _; T8 p* H1 V1 p# |            if( nJob == JOB_MENTALIST_HERO )8 ^- O+ J8 `! j
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
% H) O: u" g1 M$ a, p$ @            if( nJob == JOB_FORCEMASTER_HERO )4 A/ i: P% C; w! G  g4 N8 G
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;$ U3 Q- O4 O* o6 L. W; b! c

, h) K, |' y& }6 U' K8 m: H4 M            ( ( CUser*)this)->CreateItem( &itemelem, &nID );0 w& s+ v) p( C
        }
& L, X$ t" {# m) t2 D        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
5 l  M) ^( K- W        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
' I0 ?7 a* R% }        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );2 w- @6 D3 }! R
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
! L7 P: {. l" ?# L) s/ N7 c8 D        ( (CUser*)this )->AddTaskBar();*/$ k1 |- H: G" ]4 j
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
3 K; K5 Y! j. U2 }( _+ T( [) \$ J#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
4 t; b1 Y- k. b2 B        ((CUser*)this)->CheckHonorStat();0 n' f8 b5 n5 d' c3 p
        ((CUser*)this)->AddHonorListAck();
2 u- Q) }5 \3 {# k; h        g_UserMng.AddHonorTitleChange( this, m_nHonor);; P2 D$ ?8 p' i! a* T& ^
#endif    // __HONORABLE_TITLE            // ′Tà?
( e+ Z5 W; |# ~7 j8 D4 b    }
; C6 N7 V( F! q; Y# x#endif // __WORLDSERVER+ N) E- s- `+ `2 f
}  
4 h1 ]% z" b' ?) Q# k+ |* H( C, V
: o2 Q0 D( D" S然后你进入functextcmd.cpp并添加以下
& P$ ^" a5 Z5 q) r7 b. l5 i  s  k" j: f4 a+ [. t# h" z  ?
代码:7 G+ n7 j8 h, Z4 `
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
0 Q3 g7 k' q1 f4 L) V1 ~6 {0 y下面插入
' F! _/ j, H3 y, h% }1 x& }ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
, N6 W* b" K, x6 s3 k6 [* P5 Y8 b; M6 ~& v
然后你去
0 J' ]8 p8 G) Q0 f4 w' R. p4 j; @. n. @
代码:6 u% E3 N1 x5 p9 M2 s3 k; _
代码
# h* n0 e4 v' G. i2 Q" V6 J4 H# nBOOL TextCmd_ClearPropose( CScanner & s )0 v9 U& ~( r' ]- q, h
{
6 |0 ]" D" v+ p' v& B#ifdef __WORLDSERVER
0 H) y9 J3 a- i2 f    CUser* pUser    = (CUser*)s.dwValue;0 e- k" Q# ?0 ?( ]0 z  @$ I
    g_dpDBClient.SendClearPropose();/ t( h/ M2 c7 r1 w, D
#endif    // __WORLDSERVER
6 p* H* C  ~7 |  i0 o2 X9 G8 V    return TRUE;
2 U4 G; Q* B+ O  ]: r}
6 T2 m/ c* W# B' K下面插入4 W2 J' G5 q. H( o8 i  o( [
BOOL TextCmd_rebirth( CScanner& scanner )8 K0 w& d8 m# N" U7 w
{
5 J) k. ?* B  c% i7 H' \) c, e) y#ifdef __WORLDSERVER
3 Q0 ~7 @3 \0 W. }CUser *pUser;
$ A: o- A3 n' J7 m# Y6 h" rpUser = (CUser*)scanner.dwValue;( k+ S6 M9 E1 T$ m1 `" C& z
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())2 w$ F- z& `6 P& U4 G4 N3 T2 S
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
9 r8 q: [- e- s2 q5 y, [else
& N. s- H; q! X3 k, ]! z9 `pUser->AddText("你还未达到重生条件!");2 x7 F1 x4 B9 A9 ?/ ?
#endif1 b. O2 `- a" {% f6 @0 `
return TRUE;9 L8 n$ q- C/ `" o3 Z& @
}  5 M) l4 o1 u0 d4 F3 ]

2 `# y# h2 \' o% {1 [  @: [
) T7 K; f/ ~$ A) \# ]6 S
% D- s7 d+ J; _4 u- M, P
, _8 f+ q0 H' J5 `4 W9 w$ ~




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