飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
- D! a& x% D' a& c. r6 q3 H% `0 Q0 r( s% a: w( T5 G
Mover.h
) l4 ]! p# m9 ~8 ~1 p- n代码:, r" `; o$ U. [! b
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü6 t  c3 s) S1 X/ j2 {1 }5 ]. D- L

. z1 _6 L5 ]& Z下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
* U6 {( ?1 \2 c8 Q" L; P; f/ [# F% D3 Q5 s0 x# V/ g) V
然后你去mover.cpp添加
% F7 ?% {* S$ E- g3 B% A- j
- S0 D+ `  ]  C9 e+ V) q; e1 ?5 B% O代码:
1 v  ?9 t' D: E- A9 gvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )  {, l+ D* ^# ?* A7 t
{
' a) f2 k( z5 }* }#ifdef __WORLDSERVER9 \; l; T7 [8 @: h3 f9 ]
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
$ b( d* n7 m9 i# g    MoverProp* pProp = GetProp();# G% N8 \. j5 ?6 o
    if( pProp )4 o. B  l6 Y( z3 l* ~6 w
    {
  B: ~3 Y& E) u) e3 G9 R0 d        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
4 c% m5 n2 H" o        {
' e6 j  K7 ?3 k% g: j6 D            AddChangeJob( nJob );
4 w" x  v6 l9 r! P& [( ?        }else{6 J/ a% R" o9 Q. X6 O4 T
            return;; {* G5 E; w  I3 N
        }# @4 `% o$ Y+ b9 ~- ^8 H7 o
        int nPoint = 0;
% ~' S+ e: z) Z+ k        if( m_nJob == JOB_MERCENARY )$ e: a& K+ C! ~0 `
            nPoint += 40;# o( B: e; r2 s8 ]7 c$ u
        else if( m_nJob == JOB_ACROBAT ): T# D3 M6 f4 ]- |3 K) `. A
            nPoint += 50;
* W; d) [$ a1 v        else if( m_nJob == JOB_ASSIST )8 {$ b& y( A9 t
            nPoint += 60;
' |* i; ~! Q, q: @! n        else if( m_nJob == JOB_MAGICIAN )
  p. r5 g" K, D5 N4 s1 A            nPoint += 90;8 R) R( a. B( t, q, B+ X
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )  p$ b. F( j. k, ~! [
            nPoint += 120;
( g1 k  O  `( G8 e* E        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )( c4 U; U) l" c3 X6 \! X- ?6 Y, A
            nPoint += 150;
0 u( x/ q' w9 x3 ^        else if( m_nJob ==  JOB_RINGMASTER )
- `" w- o; J' N# G6 Y0 w            nPoint += 160;( I/ V2 ^  a6 Z: o: u
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
& a5 f: K& o+ n6 o; ]4 k            nPoint += 180;7 H" L  `8 X' J: {/ F+ w
        else if( m_nJob ==  JOB_ELEMENTOR )
/ v3 a% q  U6 G. Y6 i            nPoint += 390;- G  m5 |; @( W) C1 E
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )5 s1 ~5 q" Y- L3 K$ A% J/ J# ~
            nPoint += 120;
6 u  G- U+ m+ @' i        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )  K& K2 @  I# z7 [: ]1 n! y4 X* {8 e
            nPoint += 150;
! G" C( c4 }0 d        else if( nJob ==  JOB_FLORIST_HERO ), m! w* G# f% \  z$ h! s
            nPoint += 160;, m% d8 Z$ u+ E
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
  b0 I- b, \% X# X3 Q/ ^( a& [. S            nPoint += 180;
# ~7 a* @& B* ]& j/ z1 `# \$ w        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
2 |1 j  F% I8 Q            nPoint += 390;: t4 o% q9 j* x" s
$ c. s% u# M) {) l9 h" c. l8 p' P
        AddSkillPoint( nPoint );
$ S1 @# U% _4 R6 L        m_nLevel = nLevel;1 T$ ^+ r6 p6 u; B5 l1 E1 i
0 x5 @6 x( r8 W6 W
        SetJobLevel( nLevel, nJob );4 f: j8 |" i( K& S6 w
        m_nDeathLevel = nLevel;
. a8 m1 z! R# S% g#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
3 t1 a  j" g, c0 r7 S  z        if(IsMaster())- e+ \& K3 G4 z2 |
        {6 p) s# _2 q4 G' E' T
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108  P' m' Q" W8 T, U
            if( nLevel > 59 && nLevel < 72 )
; [+ C) c6 j# E# v4 S2 r# O                dwTmpSkLevel = 1;
# R/ V) B4 W: [3 ^. H' n9 w            else if( nLevel > 71 && nLevel < 84 )
! U# e* |/ S( t; u                dwTmpSkLevel = 2;  K. `; ~. B, ?* _; w: @" Y. K
            else if( nLevel > 83 && nLevel < 96 )* F4 G8 y+ @- M+ P
                dwTmpSkLevel = 3;! _: B5 s6 }# n# R) Z+ V  w) k
            else if( nLevel > 95 && nLevel < 108 )3 ~7 X' Z9 W7 @2 g8 u: X
                dwTmpSkLevel = 4;
+ `: [9 E9 K3 ?) A9 ?* q# F            else if( nLevel > 107 && nLevel < 120 )
: ~  Q; a8 |% ~+ S) S                dwTmpSkLevel = 5;( L: ]; R0 D" T% J4 U
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) " s% }; S* X2 ^' ?5 m4 Q. L2 d
            {               
& S0 s' Z" C# W$ e! K  d/ Y                LPSKILL lpSkill = &(m_aJobSkill);
# h( _/ T& t4 ~  a                if( lpSkill && lpSkill->dwSkill != NULL_ID )
. t3 ]$ h% L6 X5 Q) T0 ~- e                {8 T' \$ H+ d/ P; Z6 Y7 Z+ D8 D8 m
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            " ?8 e+ F  s. r9 A. j( L( `
                    if( pSkillProp == NULL )
: j/ O7 O5 j2 P                        continue;
6 i# Y( m1 U* r: e                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)( Q( K. y! M/ r
                        continue;5 E, p7 j. O" D: z( E
                    lpSkill->dwLevel = dwTmpSkLevel;
- W) Z# ?9 U; @6 P. n0 {! F# Y                }
$ Y5 B: ^" @: K7 _5 @" M            }
. U# p. B$ _- M9 R        }9 Z( d5 h3 A. ~& c6 `. K$ E
        else if(IsHero())
3 m. J# S% |5 l        {1 i3 r: S: |5 l0 B+ w6 V% {" N
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ E0 a: v. `6 f" ?  i            {                6 l. N' i% I& X0 C
                LPSKILL lpSkill = &(m_aJobSkill);* L9 Z+ Z* K6 B  D+ N9 b
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 E' n  f7 [/ Z- `4 E                {$ q6 u( Z: A# k2 s+ b
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            , H( p+ T* C6 J+ f
                    if( pSkillProp == NULL )3 N5 @7 T* d3 \1 c
                        continue;
) ~; \7 k- E/ r                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)* m' T9 q" v6 K5 Q5 W; D) E
                        continue;
7 H8 |) G5 x6 g4 b! |) Z! S" ?" ]7 |                    lpSkill->dwLevel = 5;
4 M. t0 a) Z) b, B+ @8 ?9 k# ~0 z/ B3 _                }4 e  F/ a' k: u5 K/ R  B0 l' E
            }5 [- M- b) d5 X. u* A% m+ W
        }
6 @$ t9 B& T/ {9 W" F        else if(IsLegendHero())
9 F0 f) p& C- g        {! ~3 u6 b- n( x$ L5 h; O
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 e9 s, W- P; n9 u            {                : N! y2 w6 k" z; E
                LPSKILL lpSkill = &(m_aJobSkill);* ~  |+ q3 c( g% ^3 I/ V
                if( lpSkill && lpSkill->dwSkill != NULL_ID )7 r/ b0 x' U0 E
                {8 Q& ]  l; \% k& ^9 c/ a3 Y
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
% o7 j: O5 b; C4 B                    if( pSkillProp == NULL )
% k* e* n* [- T1 T) ~9 R" p" f                        continue;9 N  r1 f" ]) b7 x" E% f
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- k# e  w. R0 q6 C, i! ~6 f                        continue;
( B  T0 Q: N- E( R                    lpSkill->dwLevel = 5;
3 F% J2 {8 h( e' i9 {& s                }4 a) R$ @! o6 ~) U+ P) g
            }
6 @: b1 }' Z( p8 Y; d- e        }
1 R$ a) O  E- ~3 m* [3 C0 [! j. k! S: y#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
) y( O% ]1 [' S4 B+ w, Y2 t        if( bGamma )* g5 B( j. P6 Y- M5 a6 I5 g
        {
- w8 @7 ?: w9 g% w3 a            m_nExp1 = 0;
( h1 y/ P  h# H! D2 R        }
. Y6 E& d) k% T. \! a# v
- h' f0 u1 _% }5 s0 H        ( (CUser*)this )->AddSetChangeJob( nJob );
0 v2 }" j; Q" X3 c/ w* }        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );) C2 e" Y0 H4 ?7 m) U
) s5 E6 ~& X1 W! |+ x  f8 O& _

' ~# P9 G5 q7 a# c$ A- e/ b#if __VER >= 11 // __SYS_PLAYER_DATA
: J" r* E4 \. X5 `0 {5 l2 W        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
& l/ h3 b+ f8 n#else    // __SYS_PLAYER_DATA% g: J4 Y- {8 L6 |3 j" X! J. i
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );% j5 \$ }3 A) v' @) |# [. w* N- o
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
* Y4 |: B( m; v8 ~3 t        if( m_idGuild != 0 )* s' k: I$ y1 v' S+ S' O
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );& n) l  i- p1 K# r0 Z: D; V& g
#endif    // __SYS_PLAYER_DATA
- V4 `1 O; ~0 l0 Y6 a- e        SetHitPoint( GetMaxHitPoint() );
9 r0 p9 i$ u' C2 _2 B% L3 ]) T        SetManaPoint( GetMaxManaPoint() );
% Z, l6 Z! k* T+ `$ T  J5 l        SetFatiguePoint( GetMaxFatiguePoint() );
1 [5 |% n8 G" G$ h2 j5 ^        if( nJob >= 1 && nJob <= 4 )
- G  O: A4 ~( @  ]: Q2 ], S        {
# c3 F. {% e3 y1 z  @' e- V+ m" E            m_nStr = m_nSta = m_nDex = m_nInt = 15;
1 }' y" m- w, Y) g. C. ~! R" a/ J            m_nRemainGP = 28;
* o1 D. l3 \+ L$ ]0 X/ N+ D7 h  q        }
  O* p: F- I5 V+ a; C        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )' Q/ r8 F( w$ ?. U
        {
$ r6 [! G% e" w) k# @& H# B            m_nRemainGP = 118;
4 u, J/ d% N, e            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;) K3 O( r% G4 m2 D7 d1 D
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
; Y2 B. M  d8 T" n5 K        }
2 u( F4 @: e4 n  A% R8 R        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
! z/ J" S" i$ ~' C* S; a( _# L        {
0 }2 D0 H0 g* g2 O            CItemElem itemelem;
" A) B  ~6 h+ N; R3 {! A            itemelem.m_nItemNum = 1;( e& D' G5 O2 k+ q9 V, h) k
            itemelem.m_bCharged = TRUE;- z4 q! L! J' W2 p+ Z1 x4 i6 a
            BYTE nID;
( w5 i; ^, v! J+ P  d5 x" ]% I4 O6 t  L; H; W1 p
            if( nJob == JOB_MENTALIST_HERO )
/ ?0 E2 c2 r7 h( q: J+ v+ [                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
( E  l' A; `& l6 F" |            if( nJob == JOB_FORCEMASTER_HERO )
7 l" E* k: N6 J                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
. L; C( F0 t! S: w( w4 W' J2 n! }3 K# F& _* A" m8 y# c; B
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );. j7 {, R7 t5 m1 N# a+ t+ m
        }8 J% R1 A7 ]1 u: I
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );6 E. Z! Q$ B! w, q' K9 J9 S
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
/ ~6 V3 t8 T+ L+ m: c; }        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
0 X4 Q0 p6 I5 Q) @/ T        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
; d! M0 Z1 E% V) K2 s% p7 Q        ( (CUser*)this )->AddTaskBar();*/
2 K9 B6 `5 [) p# E" X% Z        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );# S& H# G, k7 S9 u+ U6 D* W: n
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?# R% h2 j  G& J, x+ f
        ((CUser*)this)->CheckHonorStat();0 J3 }( y3 B7 P+ @. {
        ((CUser*)this)->AddHonorListAck();
6 p) \/ X$ r# Y- S' U, G* o6 }  T        g_UserMng.AddHonorTitleChange( this, m_nHonor);% V. K0 I/ |; ?- e! b. _+ [
#endif    // __HONORABLE_TITLE            // ′Tà?* s; v7 n6 V% H
    }. W7 g6 K8 s; g; S/ i9 u
#endif // __WORLDSERVER
2 {/ R2 _* ^  n) S}  . |. w; I3 {! p3 F, y
& x( ^7 P& a/ k% |  L
然后你进入functextcmd.cpp并添加以下* l$ P1 O' [- o, v
9 j8 c, C$ ^/ D. q' R
代码:
( E/ q4 C; c0 T+ _% \3 ~ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
- q# R' U3 y: B/ O* @( O下面插入
) o1 L# x" b( l! l2 Y4 `ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  " [5 D* U$ @  Q; j0 t% a
- H7 d3 d+ y6 S5 r' L6 B7 D
然后你去
# i5 ~: {5 Q0 d: S* T, ^7 }& a/ [* D  K
代码:
( K1 A/ X7 `5 d  W1 d4 M- `$ z# t代码' q" K' R. X2 E+ R/ {
BOOL TextCmd_ClearPropose( CScanner & s )  }% t( E  H" N  U, A# n
{
4 P) w0 T0 j3 w! H- ^* ^4 r#ifdef __WORLDSERVER
# E2 O  R8 u7 ?4 v; C- s0 j    CUser* pUser    = (CUser*)s.dwValue;
6 T) Y) |( s+ t' Z    g_dpDBClient.SendClearPropose();
  ?8 U4 y# T$ X#endif    // __WORLDSERVER5 E: k4 e& J( @( V+ b. f/ ?
    return TRUE;3 R4 [3 w" M& G% X
}
9 ]! p; u0 @# F# g; X  q& U' z6 n下面插入5 {0 z) g! v: m$ L+ t" g
BOOL TextCmd_rebirth( CScanner& scanner )
- X1 z+ |4 ]9 c2 [{5 H8 L# x5 E: U
#ifdef __WORLDSERVER
4 _8 ^, d$ S+ v  R, W" ~CUser *pUser;
0 r8 H9 ]# ]1 L& l) P9 HpUser = (CUser*)scanner.dwValue;% z; H) r1 j+ ~2 w6 i
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
; [" ]) s* x5 `* {+ rpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
7 W+ p/ a2 B; \5 nelse5 G: q3 K  v! |- G& ^9 X7 Y, C
pUser->AddText("你还未达到重生条件!");8 e  @% y9 F. q) a
#endif, [' u: m! w! F& z
return TRUE;! p  G, J: ~1 p) @# G
}  + U4 B  n% U0 X# B1 |! U+ n
+ P1 l  m+ p+ M  |' }% t9 B
: I' B( [7 B' c) F4 O0 C
- N- m* f* x% x; f$ S" U: G, Q& j

+ E! M; Z" z+ ]  X




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