飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. C8 o% I: I% G! r
& z' O" C& M, E1 ?: LMover.h
) {3 b6 d6 P( L0 L8 X代码:
( B" L. e+ {2 P" _% r# ?9 a- {找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü8 [$ L( X4 M% T( ^, p

0 F6 C3 I1 v+ j下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  8 M, v) G$ J  R( J, r# K8 V

" a( ^& k- H8 G然后你去mover.cpp添加
1 n# K6 u, t/ ~1 @$ o- s1 b6 v$ F. }! v) q
代码:  x* @% H9 a1 j' ]6 k3 k1 j1 J
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
2 `9 P" M- q* }. W/ Y' s& G{3 w/ M5 E# {7 h1 A, B( h
#ifdef __WORLDSERVER
+ W) u! w6 O; _    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó, Z; R. n/ H6 Y
    MoverProp* pProp = GetProp();( }1 C) Q) J  G+ f9 O- h1 g
    if( pProp )
" n  [+ G) ^. V% |: o, y, f/ }9 S# M    {2 y3 ~# s) U# d
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )+ \, C6 L" U2 O) Z8 u. @* F! {& h/ `: v
        {
  M7 R9 v' B& E( [            AddChangeJob( nJob );8 Y; J3 e/ M- S: P
        }else{  d! x1 r: U, y5 C0 S
            return;
8 B5 ]- \; k( K% m0 O$ t        }
% F7 Y, z" b4 [4 W2 _6 w        int nPoint = 0;
6 K  z2 A  |4 m+ |! B        if( m_nJob == JOB_MERCENARY )/ @! P  z- b1 A: I
            nPoint += 40;) L) t$ F' K! f2 I4 k
        else if( m_nJob == JOB_ACROBAT )
8 w& I" V# O1 O# q8 ?1 K3 q            nPoint += 50;
, _* A, e4 [9 Q        else if( m_nJob == JOB_ASSIST )2 p, Y* y6 h0 L7 M
            nPoint += 60;
& J  ]! d8 H9 h/ d        else if( m_nJob == JOB_MAGICIAN )* f$ b# P& p7 e7 k
            nPoint += 90;* L! m+ R- Z- q+ W
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )6 i# o) T# Q+ L" \" B: u" W  ^
            nPoint += 120;- z3 q! g  l" M  S6 ~
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )$ \0 g5 T5 A- t/ c2 Q
            nPoint += 150;( K- B2 ~5 ]( ]" m8 W: a6 c
        else if( m_nJob ==  JOB_RINGMASTER )
$ a9 ]$ h5 H0 B            nPoint += 160;
8 k1 H) z9 {) b% B; s8 T) ]) S  H- Z* X# ~        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
& d1 ~. O. E; `: y/ \! \            nPoint += 180;2 Z3 m: t% Q9 }
        else if( m_nJob ==  JOB_ELEMENTOR )) b* j8 Y# @1 R8 i2 c( O
            nPoint += 390;" n9 o  G2 B# N6 f
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
7 V- g& D; m  c) R7 J            nPoint += 120;
, x2 |# v- I8 c/ ~        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )$ i& R8 u  t6 u
            nPoint += 150;+ ~7 b! N4 U7 k+ H
        else if( nJob ==  JOB_FLORIST_HERO )/ H! S) d6 Z4 F  [% Z# E$ x8 l
            nPoint += 160;
- a' w' F% w0 k        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
* g# c0 c4 d. q. ~, a            nPoint += 180;* R) d' _$ Z7 m& [$ G, N$ j
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )& V! H8 G$ P6 l7 u9 T
            nPoint += 390;, X! t" C/ S! H% m/ O& M! H2 U5 H& t
: l. a5 i3 e4 }" D4 W
        AddSkillPoint( nPoint );" H" t! T! c; {
        m_nLevel = nLevel;! V1 V9 A; Z: O2 l+ m, f
( |. i, z# [% [( d8 b5 E0 }
        SetJobLevel( nLevel, nJob );
& T3 L6 Q4 `2 b5 \5 S2 R( N0 L        m_nDeathLevel = nLevel;
6 \* v9 D9 Q! X# T: B* ?#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
5 N  R" Q! k: Y) ]$ O* k, }+ |        if(IsMaster())
5 p& y: g& ]% X9 i' F        {
- x( m" @: p1 |: s& G! K- b9 w# L            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108% m0 a( `8 f+ h. F
            if( nLevel > 59 && nLevel < 72 )
* I+ M' k, p* W. ^# V6 g                dwTmpSkLevel = 1;$ v# I6 }+ P  E- G) o- \) y
            else if( nLevel > 71 && nLevel < 84 )( m. f1 i; z* l/ e
                dwTmpSkLevel = 2;
" o5 s0 ?$ Q! W9 T            else if( nLevel > 83 && nLevel < 96 )
5 y. U+ G7 w/ G7 T. |4 w                dwTmpSkLevel = 3;8 ~$ E' z, A$ n' v: i! ~5 H; ?& B+ U
            else if( nLevel > 95 && nLevel < 108 )
3 @+ _" m8 X9 D. C                dwTmpSkLevel = 4;
$ u4 F- p. q) F% A* _/ O            else if( nLevel > 107 && nLevel < 120 )
- ]7 t* X# z5 Y4 N4 X* G$ A                dwTmpSkLevel = 5;
8 y0 V$ N4 k9 K3 |3 ?6 K  a+ Y            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ W: ~# o$ W0 S& z: L            {                % z# b8 @7 J! a6 g! z4 x
                LPSKILL lpSkill = &(m_aJobSkill);1 s1 t# N) q$ N; c
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ P  D' |# G7 p+ k9 d5 Q                {
3 U' X* ~9 `2 Q6 `7 p/ z% E# w# y                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
2 J7 t5 B$ E3 I% N! {                    if( pSkillProp == NULL )
6 N8 T" x& a1 Z% i1 [" G& v                        continue;
# Q' K0 T/ @5 ?: F1 W- p                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)# g7 F8 Y- i8 R+ A  x/ f* g6 a
                        continue;0 z1 q! x* I4 E% o; f/ q
                    lpSkill->dwLevel = dwTmpSkLevel;7 P# I. p  C( f. X' r9 }6 {
                }7 ?7 b1 Q( S5 t8 {5 n4 N" {
            }# B2 X) E. f% @) F+ y! p8 u+ k
        }
4 c# x  y/ V" r2 w        else if(IsHero())
- |& z+ U: u7 G: ]        {3 W" ?; K7 f) B$ x5 ?% G# W( D
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* E8 E6 |8 `6 K# T            {               
: i5 S+ N- A! A/ F- v! T9 y- R                LPSKILL lpSkill = &(m_aJobSkill);6 K# C) |% U' @1 o' C& r; Q
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( s3 G! ?; f0 w5 B                {
  z/ {8 A5 H% U9 Y+ r                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
; F; N& i( O7 K7 y. P( V                    if( pSkillProp == NULL )  Z3 j3 S5 S1 J, E& a5 M
                        continue;* g& U% k$ f# e
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)5 A- x8 w$ A" m* g$ ]+ v' }) q6 ]
                        continue;
# f: d+ i# j" K                    lpSkill->dwLevel = 5;1 J; ~; T0 }2 ?" J! Q
                }4 x1 k0 J3 ~/ c% c. H5 H" K7 Z
            }
7 s  m+ h- F* p3 O9 t; h" P6 u        }
4 }: p7 W9 U5 S! J% P4 @, h  X- p4 |        else if(IsLegendHero())
% g$ ~- K, a8 C2 c' u        {
& p: g& E8 B; O6 R( W- b% }            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ; B+ q/ ~) g! ?8 K9 N0 Y2 z$ Q- h
            {                , B; W& c  l/ w, z+ w" g# y  J
                LPSKILL lpSkill = &(m_aJobSkill);# I- D$ l( W+ F4 v/ J
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 L& f1 L8 G& M$ s. R, b2 r                {
* c' f' h% i; k" S1 `/ x" Q                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
9 T/ a  a+ v8 d9 z! e* Z                    if( pSkillProp == NULL )
4 [* @! Q/ `2 D  m- R                        continue;
/ a* x4 O3 f) i                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)  W- _  [8 D$ o) T& X) K
                        continue;
7 U) ?$ j) l- V  S7 B6 H                    lpSkill->dwLevel = 5;0 B) T: Y. \5 A: V# U! i
                }
2 E6 x* H. T# b# [" G            }4 R$ l% F% ^' R7 E0 n
        }2 |7 r3 m* O1 e1 ~% m' x
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans4 I4 `2 T# g5 Z0 `
        if( bGamma )
1 e/ l4 C8 }+ b9 D1 ?        {8 W+ K' g' N$ T& G5 O% b7 o; q
            m_nExp1 = 0;, }5 U' v3 @: s: {  I
        }
# m8 U0 J2 x' c% o1 w; C0 J; b( o' n% R1 Q; w* K. i$ J
        ( (CUser*)this )->AddSetChangeJob( nJob );5 P7 \7 a; e* D  N! g8 b
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
9 A% \2 _! v7 w7 @. t/ Z; L
! `1 p4 f# H% b( U$ x; l6 W: j' X# V% s+ N
#if __VER >= 11 // __SYS_PLAYER_DATA# g3 k. [/ j4 q3 w* ?; y; r0 X1 p+ |
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
( |0 b. U4 P9 g% U; _#else    // __SYS_PLAYER_DATA
8 t8 s" g/ ~# ]' ^' V        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );" Q% v) G/ ^# T; @0 S
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
4 D( {4 R0 a9 |. _8 c        if( m_idGuild != 0 )
7 K; f/ b. y: `            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
% n9 n1 R( Z  e- v) D4 I+ g#endif    // __SYS_PLAYER_DATA( C3 P* s8 R5 o) s2 w3 S9 u
        SetHitPoint( GetMaxHitPoint() );" w6 J! w& l* F2 E; o: m
        SetManaPoint( GetMaxManaPoint() );0 ?: c/ W, p; f. ^
        SetFatiguePoint( GetMaxFatiguePoint() );. P5 t  L# [3 z1 Q; p% X' i( `
        if( nJob >= 1 && nJob <= 4 ); O+ g# E2 u: I4 l. d: w3 u- a
        {9 m3 ~) W! G8 Z: f6 C( I5 O
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 m4 t0 F5 o7 C, ^; _( D& G$ G) g            m_nRemainGP = 28;
& ^" E$ Q/ [+ q' {; i, A% D; m        }4 n$ j/ P# \8 ?) E2 S% S4 X% b5 F
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
# ?7 o2 J; [3 y0 X        {
- O0 c. B4 ^' Z- k; y            m_nRemainGP = 118;' t/ `  p7 \, w8 p# R3 P0 S7 m
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
2 }0 Y2 b4 b( f) A1 y% H            m_nStr = m_nSta = m_nDex = m_nInt = 15;
6 K% i; ~1 S1 W% G! M        }6 X$ h- q. |% R! E! [. W4 W
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
- h" l. z! n  ?! M        {$ Y& e, A! e) A2 O* j7 h1 q6 T
            CItemElem itemelem;
& z2 t( U* N$ ~" r. N: d7 s            itemelem.m_nItemNum = 1;3 p6 c$ V1 J; H  `9 B
            itemelem.m_bCharged = TRUE;
3 u" H7 ^6 {, R# ~6 u0 g$ |            BYTE nID;7 H+ {# W& v4 S& j9 w

' S5 w! _( Z1 J1 }            if( nJob == JOB_MENTALIST_HERO )' h, X+ ]% h/ ?  k! e( g) M
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
4 G/ J$ I. q. o: r            if( nJob == JOB_FORCEMASTER_HERO )
& |- H+ w' a' x# I: X: j9 X0 M                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
1 a- v, L5 H' J, u. G6 C0 [/ j
& {# |0 q  ~9 l4 H, {5 S; d" g            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
: A3 G$ Q, \$ a6 b2 Z, P# r& N        }
0 [& ]2 J  A1 P. }3 K* ?        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );6 w" ^9 E) v/ Q  e- V9 z( {% G
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );' z0 V9 J& n: ?2 p) G4 ~4 i
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );; x# e" w8 I$ Y. y3 E
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );" O6 Z5 ~# t5 |, G7 U
        ( (CUser*)this )->AddTaskBar();*/
) g5 H+ V. K" t  y9 ]        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );5 E; F9 W' ]! C* Q
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?# U$ P" I- \4 o& {1 Q4 E  v# q
        ((CUser*)this)->CheckHonorStat();
- t$ Z% e" j3 `        ((CUser*)this)->AddHonorListAck();" ?) {7 ~7 T8 K+ ~/ s
        g_UserMng.AddHonorTitleChange( this, m_nHonor);! h: p1 b$ R6 u6 [3 c9 o
#endif    // __HONORABLE_TITLE            // ′Tà?. z. n% i: J( ]/ C2 ~* d; t! o+ Q
    }
2 k: E% \" o" H" T( O#endif // __WORLDSERVER3 @+ C% J2 V$ k
}  
0 h8 T7 R( B. u6 \+ P8 }& K3 f- ^; F" j9 y6 f) ?
然后你进入functextcmd.cpp并添加以下
0 F/ u) {4 U& j% h) y, X% U6 t1 f* V0 {" V) o4 P% r
代码:
& c7 e! L) j6 v+ U5 u; qON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )  i$ |! O0 H+ t0 T
下面插入( |( I  g, \3 A7 s$ ?1 Z
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  . K* t% z; W1 y( x+ p& b1 _
9 b* f- a! A; r7 \6 I9 |
然后你去
# O; D" d8 o+ O: M+ k, y; T# K$ N. }: c/ C
代码:
7 R, u4 Y4 ]) J, z代码; ^' f" C1 w/ a- [8 I: @
BOOL TextCmd_ClearPropose( CScanner & s )
0 b0 z0 h: W6 n  X5 ^' T1 f! W+ J5 b{
9 d; y5 G3 K/ L) I; V! P#ifdef __WORLDSERVER
+ J; m; h' i  K3 M* `    CUser* pUser    = (CUser*)s.dwValue;% l& J: u& }/ z8 O# e" F
    g_dpDBClient.SendClearPropose();/ a* s! e8 y( G: V7 ]! i
#endif    // __WORLDSERVER0 }: V0 {3 K# ]3 [
    return TRUE;
2 |0 [0 H' x$ T6 S3 M1 J, d5 v}
1 r4 Z) ?3 S( K" e! K/ p# |下面插入
( y( g" l1 Q2 R; X; I3 OBOOL TextCmd_rebirth( CScanner& scanner )0 E  m4 c0 Y1 n: d5 Q, q4 N
{
8 D4 J) q; @! i3 p- d  U( c#ifdef __WORLDSERVER1 ^: n! F4 X! O& Y
CUser *pUser;
; h1 w  e& G8 s) p! I5 RpUser = (CUser*)scanner.dwValue;
8 n3 ~2 l9 Z9 M5 m9 z8 Mif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
% W6 w# x2 p- ^& `* vpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);1 u: l4 N1 p7 F1 s* }
else2 ?! k- |  m. B! o; b* L( X; G2 p
pUser->AddText("你还未达到重生条件!");- b+ ?0 r) N  I) n: u
#endif
! ]9 f. G4 H4 Dreturn TRUE;
' v6 V& W0 I; s, e3 M3 z}  
) B' `3 ]$ [! F0 g( H6 E: [8 K5 u3 U

# M8 {. w; s( B% ~" Q4 U, [5 h9 `5 ^
2 z: n  i5 Y+ h2 [





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