请选择 进入手机版 | 继续访问电脑版

飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 8864|回复: 0

通过命令重生

[复制链接]

200

主题

203

帖子

982

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
982
QQ
发表于 2016-1-10 03:42:30 | 显示全部楼层 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel/ r& K2 H. ]# V4 N4 ?: z( `
: e% a' C7 C" s0 q% w2 @
Mover.h; m) x( U/ T4 W, J% V# M: w4 p
代码:! j0 N2 _4 ]3 X4 `" ~( {
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
8 S5 Z9 d1 H$ k) l( d* b
8 J& j7 U" s9 A- I' N5 O下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  ! Z+ ~6 n* ]% s& i9 X# g

- P* U1 x8 `: `) J9 @. }8 c& h然后你去mover.cpp添加
: j& B7 I5 N, |: Q) H2 O/ m8 Z2 ^9 o1 c8 n/ \, W/ G
代码:
* `/ `4 }8 p4 Bvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )& L& E6 N7 L0 z5 a6 ^) l
{
! K: T3 r/ ]8 D+ ^3 U#ifdef __WORLDSERVER
& x2 W' b. h5 g0 e$ c1 R    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó7 C4 m4 O3 I" D7 E
    MoverProp* pProp = GetProp();
0 o! g2 G7 J9 v, |    if( pProp )
# u0 P( q* O  E' r, b    {
7 o' w5 I( R9 g        if( nJob > 0 && nJob < MAX_LEGEND_HERO )$ P( u% E3 G9 e
        {
5 E; u& S3 X- K/ h" a            AddChangeJob( nJob );
1 l+ [! T& d! f  b: K$ K5 f        }else{
" G* E3 g0 Y( V; C- V, J& O            return;9 z5 S/ n/ y) H: B
        }) z  A3 T& p/ g& m) o: E
        int nPoint = 0;! v( f0 g" p6 W3 Q  h# \# O6 b
        if( m_nJob == JOB_MERCENARY )
0 h- a5 B# Q3 ]" D) _            nPoint += 40;% G, F- E* d! b1 d
        else if( m_nJob == JOB_ACROBAT )5 _9 |3 g: b8 e8 S6 A7 R
            nPoint += 50;2 L3 c1 X5 K  X9 @
        else if( m_nJob == JOB_ASSIST )
. r* D6 |8 q: @. x! S# d8 S& Y            nPoint += 60;
# u6 ]0 [0 F3 F& G        else if( m_nJob == JOB_MAGICIAN )
& C7 d/ j% i: u; N* @' l            nPoint += 90;
5 P' Z' n- u! P: D        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )" @4 B6 ^( P! f, e/ j& k5 C
            nPoint += 120;! E+ {/ X  P! K
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )& C  J5 N! K( ^
            nPoint += 150;# u& A* b' m, {) g9 [0 e, Q' B+ I! U
        else if( m_nJob ==  JOB_RINGMASTER )- H1 C1 P! m) i$ a8 E$ R+ [
            nPoint += 160;
: \+ W. W+ V8 }4 a3 V' K+ R7 g        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )5 Z; ^$ M! p+ O! N4 P
            nPoint += 180;& Z) O$ V; {/ `$ E4 k3 J1 Q
        else if( m_nJob ==  JOB_ELEMENTOR )
) y: |4 e3 T( T            nPoint += 390;
6 u: y# _3 E) w+ j1 N& m        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )! o5 N0 o0 t, u, C  _4 n2 o) c
            nPoint += 120;6 f& q: A7 V7 Z8 Z. B- Y& K
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )' s( L1 B; X3 R5 K/ C2 b, I0 Y
            nPoint += 150;
" \9 u5 }0 \! f% a        else if( nJob ==  JOB_FLORIST_HERO )2 Z, q1 _0 S, c4 H
            nPoint += 160;
$ e# \4 p4 ?4 n* U        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
$ m( B1 [  H3 V) g            nPoint += 180;
0 z+ X% V( p$ d6 X" F        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
6 T( ~* l3 L/ n            nPoint += 390;
" D( a" n3 ~0 x# x- J8 y/ g# @" n' ]0 _; R
        AddSkillPoint( nPoint );  u! u* r3 A% A6 q5 _4 ?; Y8 ~
        m_nLevel = nLevel;
: \( S6 I/ U# S
  U) u0 M2 j# O3 w        SetJobLevel( nLevel, nJob );
: k6 T; ~% l. h        m_nDeathLevel = nLevel;
% u' g5 J6 j7 V& @  B#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
. Q1 @4 T1 u( J. d        if(IsMaster())
1 M. O$ k* F# @9 F( S        {' C4 \, ?) |0 K' B/ @
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108  `2 n) p3 ~& y$ g9 a
            if( nLevel > 59 && nLevel < 72 )" z* D7 [, F3 K) `9 j
                dwTmpSkLevel = 1;
2 u+ e9 k1 b# C# R7 q& _/ u            else if( nLevel > 71 && nLevel < 84 )
) |" @' }- W, V0 b% l                dwTmpSkLevel = 2;5 B1 L7 F9 B1 |8 D0 d( v  {- k
            else if( nLevel > 83 && nLevel < 96 )7 G7 v& y0 R9 A
                dwTmpSkLevel = 3;8 @+ p* m" m% |" ]$ p0 y
            else if( nLevel > 95 && nLevel < 108 )
- x0 E8 F' k  n( U' U( ]                dwTmpSkLevel = 4;
+ h6 r6 U/ z5 A* a            else if( nLevel > 107 && nLevel < 120 )
* k* y' A  ~1 A# U/ |  [& l                dwTmpSkLevel = 5;
6 Z" ~, C) H4 Z! `3 z8 J* D. ~            for( int i = 0; i < MAX_SKILL_JOB; i++ )
  K/ z+ R6 a' m0 L9 }" r0 [" s            {               
8 s7 w3 v3 G0 E3 d, `9 w: z) k                LPSKILL lpSkill = &(m_aJobSkill);
7 i3 r7 J- s+ J( s- O% b7 T4 A                if( lpSkill && lpSkill->dwSkill != NULL_ID )- t7 r: E5 `. \. \
                {
$ g/ D2 I) ]' s5 B& g  o" X0 i                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
% s8 b" O" o+ D5 q% R6 ?- i                    if( pSkillProp == NULL ): G  a0 T& Y) k3 p# [! F
                        continue;" h) `. ]2 `; N  N
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! P( H# E, Y) n0 s2 ~                        continue;
7 b0 w0 Q. F- D* h7 V7 M. k                    lpSkill->dwLevel = dwTmpSkLevel;7 T- A, }+ B4 e$ v/ K
                }
* M6 r9 p6 C3 ?            }2 s6 d: u/ |5 X, W0 o  Z+ W3 H
        }+ S! h0 S+ X% s7 [' @( l+ `
        else if(IsHero())
- v) G; ~6 a3 \9 ~' U        {( i# ]5 x1 A0 r, s5 e% _
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) : y5 ^& L1 F2 z2 |
            {               
* S4 P1 M  O0 U0 O4 Y5 X. X                LPSKILL lpSkill = &(m_aJobSkill);3 x$ K9 N) J' B! M- F
                if( lpSkill && lpSkill->dwSkill != NULL_ID )% A/ o6 _+ j+ h
                {' ]* R7 R% O$ x( A( ^% \/ L
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            4 I' |6 P! v3 U
                    if( pSkillProp == NULL )$ g" h" R5 F, i/ ^* a
                        continue;0 `: v3 T" N: O3 u/ x: C4 p
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)6 K/ d2 x# l! t0 R- o7 F( k$ R8 u
                        continue;  M: h+ J7 a* w' Y* _( o0 z
                    lpSkill->dwLevel = 5;9 ]* ?- B7 i+ A0 N
                }
* t1 A& l+ ]$ H* S            }7 c# L" y! S9 T/ X3 E/ C9 z
        }" `: ?1 P( x, |/ c! {/ [6 K
        else if(IsLegendHero())4 n) O8 Y( r: l" T" f+ b' _
        {+ r# [5 g; T7 H# S( m  z2 D
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
# {. P4 W6 T( d* A# s  {: {            {               
: [! J  b- J! |: D8 d' v9 {                LPSKILL lpSkill = &(m_aJobSkill);
- K/ N1 d: ]7 S2 W, p                if( lpSkill && lpSkill->dwSkill != NULL_ID )
! N, m/ {  _# V8 j9 i/ H! E                {: @# t2 f: a) z& Y  d# W
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            $ E% `) r7 r& c0 f8 W4 h3 j4 P; C
                    if( pSkillProp == NULL )
. D# ]: }! }3 R* s. b                        continue;
/ U; o' s$ d% a+ b                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER). \2 t/ ^& e) m; n: \! M7 |0 d
                        continue;; O& T# E! m* }2 O
                    lpSkill->dwLevel = 5;6 k6 W' M& N! `% s3 K
                }
- [* Q( d6 i6 ]8 T" r            }
- ^1 @3 R& _% R* e        }
5 }0 L& q, i0 h3 Z: p" t( X* @#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# t3 b' }) I) d/ W        if( bGamma )2 R: B8 r/ `: _# h+ Q; E5 }! v( i+ M
        {
" E) c7 V( x# b/ G3 k            m_nExp1 = 0;+ }& y7 ?4 }- v( r# b4 I3 E9 ?$ Z
        }' @6 s) c: V6 J+ |
$ l( s$ _# S5 `: F8 l- Z, a
        ( (CUser*)this )->AddSetChangeJob( nJob );
  i$ X6 G0 d! l6 P        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
: T; y' f# m7 [' Q  Q
! d+ B& c- ^% Z6 v' @$ y9 Q& T3 m' `2 ?" N: ]* `  v) L
#if __VER >= 11 // __SYS_PLAYER_DATA
' Q- C) R% m  f8 V4 _6 ^" |2 y        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
6 D3 C4 ]3 l* r#else    // __SYS_PLAYER_DATA
4 f% I- F9 d% _2 \' J0 v        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
4 ?1 e( @7 z& u/ c; p        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
( |( K3 @/ R& }6 D+ I: ~1 {        if( m_idGuild != 0 )
8 h' A1 ~3 F, X  m) c            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
  N) h9 R% Q# S#endif    // __SYS_PLAYER_DATA% t3 C- G' d! P: }7 _
        SetHitPoint( GetMaxHitPoint() );
7 w" C9 a& d9 ^1 y        SetManaPoint( GetMaxManaPoint() );  a6 j1 ~+ }; V) n
        SetFatiguePoint( GetMaxFatiguePoint() );
6 `+ D5 _) s/ x0 j; o# t  s8 Y        if( nJob >= 1 && nJob <= 4 ). L6 }; \+ a3 b) a/ C
        {% ?6 F, z5 o. U+ q
            m_nStr = m_nSta = m_nDex = m_nInt = 15;- n9 m3 i7 q  R+ i" d& z
            m_nRemainGP = 28;" F$ X& b' `" v  `! i2 H
        }
: z/ _1 g/ j* J- a- s! R' Y4 \        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
3 ^8 j# T2 L1 c( R2 t        {8 `9 E) R' W$ S% v
            m_nRemainGP = 118;
6 m7 E& z! p- P+ F* N8 v  o/ Z+ {# t            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
  m. @8 l+ ?& L; g* ~5 s            m_nStr = m_nSta = m_nDex = m_nInt = 15;+ v0 E7 V# E. p  K% l, ]
        }$ Y7 m  I0 W; n6 @  \: y5 P" c
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )' }4 C2 f% T/ P/ N3 y
        {
) {- i8 u& u4 e% j3 Q. l* L* n            CItemElem itemelem;
' @0 i- \( g: D/ b3 f: d8 Y            itemelem.m_nItemNum = 1;; ^% z& f/ V2 {2 v' P8 @
            itemelem.m_bCharged = TRUE;
  [: n7 l# L% N, w/ v            BYTE nID;/ j% ~2 a  \6 W. L, e
  b; u1 G# i# E; I) ]
            if( nJob == JOB_MENTALIST_HERO )
* ], H( ?1 F7 w7 [5 y1 r                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
# P1 T& F) v7 p            if( nJob == JOB_FORCEMASTER_HERO )
: s! J3 {8 z4 D3 u                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;* b+ c  F  |9 a& y
3 T$ H8 N/ ?6 Y4 g/ e! w0 Z6 e" ^
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
' N# C7 f0 |5 O; ?        }
- |( l+ R6 l, p( e        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );: k! ?+ a$ B6 f2 d" t
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
8 ]4 I: Q0 P( Z: X2 J$ ]' A! m        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
9 y/ q- i# V' ]; L* o        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
2 h2 Q% y4 ?: U+ S0 l8 _) A* V! T        ( (CUser*)this )->AddTaskBar();*/1 X+ g. N9 j  ]/ ~  S
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );  I" G7 E% p0 _1 h
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?6 U: Q9 r3 d: H: R$ F/ j( F$ }
        ((CUser*)this)->CheckHonorStat();
" ~- s4 U/ V/ j1 S' }        ((CUser*)this)->AddHonorListAck();* C) {1 M- W. [. |! q7 y" R2 `# i
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
6 @2 S$ p8 N* |#endif    // __HONORABLE_TITLE            // ′Tà?- t. y: ?8 F& D- U/ G; ~
    }
$ |8 [+ [6 _. g! Z#endif // __WORLDSERVER$ x; Y4 ^+ _- u9 j' U9 x
}  1 i) X; b6 g- u3 o% {- T2 Q

/ V+ j! U. T. ?然后你进入functextcmd.cpp并添加以下
- ^  }. d* Q6 ?3 w" n3 k  t5 H) X1 h9 T0 ]8 ?$ k; l2 t
代码:6 f% G, H3 z% e2 W% R+ ^4 x# R" A
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )3 r* B& d; h9 H5 y) G; E0 R* E8 t
下面插入
, h8 y6 g9 I; ]* ^ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ( v1 E% X7 l; n" T( y1 `
% r* T6 r' j+ C8 }! ]9 ?( T
然后你去8 w( |4 V* Q/ o2 l
) D& _7 T0 x( ]$ a# r
代码:- x, \1 S7 w2 S
代码$ R2 Y  R: k$ Q7 ?
BOOL TextCmd_ClearPropose( CScanner & s )
$ q' R9 l: K9 D1 x# r& G  S8 e{4 L$ l( W) E+ g5 {$ X( y3 q1 a( T
#ifdef __WORLDSERVER
$ z& ]( {( L' f3 K    CUser* pUser    = (CUser*)s.dwValue;& t3 [% A0 F/ ]; u& I* S$ J5 A
    g_dpDBClient.SendClearPropose();- o3 |2 ~1 l7 N7 X% \7 t
#endif    // __WORLDSERVER
' s# q( y6 \- D$ o5 f    return TRUE;
$ o( T" J4 N  d. {4 Z: G  d, F}
$ G3 y! d. p5 m" ~( P5 S+ b下面插入& m+ W7 X4 K' R  I& Z
BOOL TextCmd_rebirth( CScanner& scanner )
: X4 |; u  y( m6 |5 N{) }1 q3 j8 t& p" X* l
#ifdef __WORLDSERVER* U- N4 Y9 g! k; d+ D# O
CUser *pUser;
. @' C/ @5 [( F3 J# ^pUser = (CUser*)scanner.dwValue;
+ V8 F9 c# x- [, D2 l4 g8 U! L4 t8 K1 mif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
; w5 `; f% G4 Z' U  D% d! K% `pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);. t* s+ j4 v( v8 ?
else
3 A( T0 B+ Z$ x8 j1 ^pUser->AddText("你还未达到重生条件!");
/ i" z% x, l4 D* \1 r3 M  C#endif
: a( {1 |+ c3 l( O2 }2 Rreturn TRUE;& P! b3 R6 L+ l" M- ^! M+ z
}  
# S) c0 F" q$ M$ \( T# Y. f2 m, _" Q: F! z# }
+ [6 E1 b/ S. O/ ~

$ ]9 T' T. Q" N
' c- Z2 r1 {0 t
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2024-3-29 08:37 , Processed in 0.072247 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表