飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15170|回复: 0
打印 上一主题 下一主题

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
2 t+ w2 j* i; A& D2 c+ K9 @# d; ^* A  |* v1 {1 W
Mover.h
3 [2 B% X  Y5 B9 H- `' g代码:" R$ M1 X7 i) b2 ?
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü! w- J) _6 J9 ?

2 ~( C; F4 S5 E6 R5 ?- H下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
9 ]: n! z* x9 r0 `6 u) c2 D. [" o/ {- \  h
然后你去mover.cpp添加/ u# h5 C( f2 F6 K) [& s6 A

- T" j0 b# V9 H4 E3 J. {代码:
0 u9 G2 l0 ^+ a" uvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
0 |/ g& a& X3 i# F# p7 s/ F{, a/ e2 Q& i8 B$ V1 i, X6 K" q
#ifdef __WORLDSERVER. R( f* Y: I( r! z8 g7 M0 M
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 ~: f7 l# _( H( {# P5 ]    MoverProp* pProp = GetProp();& T2 F0 q' j8 ?, R  d' _
    if( pProp ); c. |$ v. `  E: n1 j
    {% u9 j# M% F1 h2 u& s+ t- M. D$ W
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )& Q7 [2 A+ Q; o; m/ j( B; J4 `
        {: s1 \7 B8 O9 v8 \
            AddChangeJob( nJob );
0 A( a7 y/ |0 o3 R  W: m        }else{8 C( u& G) h9 q; W) f
            return;6 R5 D( B* Z7 B  p$ A4 J
        }
$ r( _- P+ v. i  `' |! }- k9 ?        int nPoint = 0;
9 |4 e( V* z4 X9 |9 a        if( m_nJob == JOB_MERCENARY )8 v( o8 O) A: L! j
            nPoint += 40;
) X" C, X7 n+ L6 _; K) \) B$ l. z8 `) J        else if( m_nJob == JOB_ACROBAT )
- r0 C0 @, u% i2 l9 [            nPoint += 50;
0 e3 A( P  N: L3 D" Q. F        else if( m_nJob == JOB_ASSIST )* C) z4 U- l5 s) [/ X- Z. Z
            nPoint += 60;
% K5 ]7 v  u6 s) f        else if( m_nJob == JOB_MAGICIAN ); l) k% ^- \6 Y7 f* k9 Y, u
            nPoint += 90;& n. Q2 H: w& ^) Y. P, _
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
3 y) p! w1 t/ O9 G            nPoint += 120;
/ j8 z% g0 h1 O  j! h& q) ^        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )# o& c0 d: \  A+ v# q# J6 ~/ q
            nPoint += 150;9 `1 c7 V2 B9 ^$ u) L
        else if( m_nJob ==  JOB_RINGMASTER ). \: i# Z& Y2 d# y
            nPoint += 160;
7 X( T6 M& E2 C$ z. T        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
) Y# B' ^0 Z1 h, y5 z            nPoint += 180;$ g( F  W3 K0 d) M/ W; Q' K" w
        else if( m_nJob ==  JOB_ELEMENTOR )
3 [* x  M4 r# z* u- l7 g# J            nPoint += 390;3 \7 b$ k5 B, G% R. F: H2 ~
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
9 m0 v) _' F* o7 A) Y            nPoint += 120;
9 d6 c* U, i( L- e; }7 Y5 [        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
$ M# k$ Q* J! s3 R; T# S            nPoint += 150;
" W+ n# J" ?* Z        else if( nJob ==  JOB_FLORIST_HERO )6 v! H& {! w2 m  C: W$ K6 s9 {1 I
            nPoint += 160;
, D0 T# T) b3 T) w1 M) l7 v6 [        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
1 ~$ w! ?  j+ b# R* f" P* M            nPoint += 180;
$ @% Z2 ?4 {% g" q- _( e  b4 ?        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
  Y/ V' v# L. g            nPoint += 390;
+ `. C6 g0 T3 J3 B8 G3 H3 U6 I
. C2 B  }! B- h( R# Y& h2 ^        AddSkillPoint( nPoint );
6 o  [% r0 i" {2 y) e! e5 X) m        m_nLevel = nLevel;9 x# u/ N/ Y8 j, @! l; H; h

, V* e/ A8 l9 i4 S) s        SetJobLevel( nLevel, nJob );2 b7 J% y, b/ a- y
        m_nDeathLevel = nLevel;9 O; d! Z$ w- }' a! t$ m3 H
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
! N% s" a4 F: p7 b! `9 N        if(IsMaster())
8 x+ \0 C4 a, C* G        {
+ i0 {/ Y& x2 p+ ]8 o& q            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108! G! u- {- j* e: Y
            if( nLevel > 59 && nLevel < 72 )# R* V1 t# O4 S8 \( ]; A9 H
                dwTmpSkLevel = 1;( I* k# {3 D1 J9 E5 ?# K
            else if( nLevel > 71 && nLevel < 84 )5 j" K, `& q! Y# @0 _
                dwTmpSkLevel = 2;
+ d, O) c+ j: u! o$ T# ^, f$ ?            else if( nLevel > 83 && nLevel < 96 )/ J* J1 `0 A9 H. _
                dwTmpSkLevel = 3;0 V/ k7 K: ~2 F' N, D
            else if( nLevel > 95 && nLevel < 108 )
0 e% _9 _! w' a7 b0 [. ~                dwTmpSkLevel = 4;
1 V( u1 r: h, C# Q  @0 u2 o0 \4 g+ A6 `            else if( nLevel > 107 && nLevel < 120 )5 F8 D! Y. o5 g3 u% e, F
                dwTmpSkLevel = 5;
. i( z) r2 o" D* T  F7 E            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* t+ i3 }  x# O1 F& f+ J            {               
- {6 N: [! B' U! X2 \, a                LPSKILL lpSkill = &(m_aJobSkill);3 a! s* H" H% H( i' K
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
4 Q4 i1 l: g/ J( R' |/ N! a                {
- }* ?0 [- f. Z. Y! K4 Y" p0 o                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
% q" j0 o! F, p% n% u  i2 ]" w                    if( pSkillProp == NULL )
  T/ f2 t9 ^0 {; c                        continue;
+ V: |3 s& z" g- w6 {7 p; L. Y, j8 E                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)4 c7 E' h  F. P/ e9 r9 U- t$ r
                        continue;) E/ ?3 c; h4 \! M  N5 p. B# k' ?9 i; B
                    lpSkill->dwLevel = dwTmpSkLevel;. O% ~  |! [& p; T" Q( K6 G3 h! w
                }" u, ~4 F% t7 Q% l( _- p# X
            }
9 q" r) L" ^  M( w$ [8 [) ?        }3 e: \2 n! f2 V0 `/ D7 _
        else if(IsHero())& w  m" S; l- ]6 s0 v
        {
$ X% Q# D9 ~7 [$ A  V& W5 H- ]( e8 g            for( int i = 0; i < MAX_SKILL_JOB; i++ )
3 ]0 K# a( \- [' m% s& R            {                9 q9 ]# f6 s! R* Y( h2 ?+ \0 g0 I: \
                LPSKILL lpSkill = &(m_aJobSkill);$ K7 p  c* P9 d. q
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 O5 e  d: d! Z# {# z' s                {2 I- s1 P& ^" O* ?7 R
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ; M9 K3 c# Z, }/ `# C
                    if( pSkillProp == NULL )5 u" i% }3 v9 {
                        continue;5 a' w1 r. @' }8 ~( }
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)1 T- R( u' Z( f) A
                        continue;2 l* O3 d' R5 a' T* _* _% F6 f" S
                    lpSkill->dwLevel = 5;
  P% g. \  M* }0 g% ?) N                }
' ]0 z+ w3 e, B+ o            }* {3 v8 O+ M3 O/ ^
        }  a7 X/ d4 \% B/ a( \2 H! A* o
        else if(IsLegendHero())) [4 M/ e7 U7 U6 f; q, v; p6 h
        {
7 p/ e) ]; b: d3 a            for( int i = 0; i < MAX_SKILL_JOB; i++ ) . T( Z% G1 e& `
            {               
: T) d" B8 e) O( l* H                LPSKILL lpSkill = &(m_aJobSkill);
4 b, g5 W6 v( h3 z% s+ J                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ v- E8 @  x* x3 \                {
" j% [" v5 ]( G2 `# X7 q) j8 [' ]                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
8 H: j" u0 ?' Y+ M- h1 e! @$ w1 L5 I                    if( pSkillProp == NULL )
: y1 o5 _9 X$ |1 ^' |8 ~                        continue;
  e4 |* V" t/ K& J# D                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 {+ c/ Z0 z# T* M                        continue;. }$ b$ Z5 v1 a4 I% t6 }( s
                    lpSkill->dwLevel = 5;9 f! e# J: Q: t  ^! m9 k/ J% S
                }
: H  N$ B- u4 z            }2 x9 s' w, i) ]) P; Q
        }! J) D/ C8 [- K5 H' I- [0 V
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans/ v# V& M" R" Y, P0 O
        if( bGamma )' b4 z4 D6 S& m+ p( M
        {
  g% l+ X& g4 T, V            m_nExp1 = 0;0 N1 X4 i8 {  B( v( D
        }
) \4 I' N7 [+ R# s/ ~+ |$ C
& P* t9 ~' y5 m/ ~9 T) F$ Y! J        ( (CUser*)this )->AddSetChangeJob( nJob );
, ?1 I# C  l/ T  Y3 U( |/ E2 a        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );: r7 [7 w) K# L; u( `7 c0 m

- |, n: I4 v7 W6 y. ~+ d; W+ C  J1 X$ w# `5 j
#if __VER >= 11 // __SYS_PLAYER_DATA1 X/ [" ~# C  l6 L4 _( T/ n
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );) Q' S3 U( l+ h
#else    // __SYS_PLAYER_DATA7 c# @' D, K* `+ s& ^
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
. `1 X+ c8 o6 v# Q! D+ C! M7 S# o( f+ Y. F        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
+ k/ F: U$ \# ~2 a7 }8 C! i# D4 e6 j        if( m_idGuild != 0 )
$ J1 K: a. V2 H4 K            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
; c/ R, U* [- A* A& U1 z#endif    // __SYS_PLAYER_DATA
: X. F, Q" A" R/ t        SetHitPoint( GetMaxHitPoint() );6 @  C" N8 h9 x9 I2 ?/ `
        SetManaPoint( GetMaxManaPoint() );3 P: }! y* O1 }- r- g/ M
        SetFatiguePoint( GetMaxFatiguePoint() );
& y/ H& h# R+ S: n  {- [+ t        if( nJob >= 1 && nJob <= 4 )
" T/ X% U) I7 \6 P4 I  v9 }/ a        {9 S) _; O( P2 ^
            m_nStr = m_nSta = m_nDex = m_nInt = 15;7 \7 f9 z4 l" f
            m_nRemainGP = 28;* a' @# C  e* V( C9 L+ C9 Q) E
        }% o. `$ t5 P# A6 [6 L, D* G' W6 V! R3 \
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )6 [6 z! ?3 u6 d$ N8 V% F
        {- B, {2 x6 L" Z1 E
            m_nRemainGP = 118;! Q$ E" u# Y; ~
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
! i) Q$ c3 S5 I+ _- h' I            m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 @0 d  i$ v  J3 ~3 Y        }
3 H$ E' _# Q3 Y% p- \. ~        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )  ]$ W) Z. f; p& A& e
        {: a7 s+ A+ @! Q9 v3 k1 x9 ~4 [
            CItemElem itemelem;
( K3 K! Z$ r) d0 Z- g& u            itemelem.m_nItemNum = 1;
" a& \: n2 l# j; M  e7 C/ ]3 ^6 Y            itemelem.m_bCharged = TRUE;
3 v5 Z* w6 h% P: i0 r, l; R            BYTE nID;
  J8 e3 J. q8 I% q1 D. L4 h
( {0 p* a; {' y+ ]5 g            if( nJob == JOB_MENTALIST_HERO )
" c; N7 p* V7 u; L                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;. `% \: [# [+ W
            if( nJob == JOB_FORCEMASTER_HERO )
8 \1 n  y; u6 A& B1 t  L                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
6 G4 y- \$ Y( Y  O: M, z' V
7 T! |4 t+ C8 n! r( y: v4 d  J            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
8 Z  |9 V9 C/ m/ W        }
$ |, p' Z; \0 M' s        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );. X4 c% \( I' ^# \: I: T( k7 |6 R* _
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );: x% f2 I5 d# t1 h/ F8 K! V
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );& _  M; f! F0 K
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
2 v0 [" F+ Q2 Y        ( (CUser*)this )->AddTaskBar();*/
( z9 Y9 q0 }2 Y: V        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
( V( F6 I% I  w: @9 h4 p#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
$ {7 S( A! w5 s2 H& Z0 x. j" L        ((CUser*)this)->CheckHonorStat();
! n, p1 A; n+ e4 b! S        ((CUser*)this)->AddHonorListAck();
( L6 Y2 V% j: U" P% s" g4 O' K        g_UserMng.AddHonorTitleChange( this, m_nHonor);8 `" w  m$ _8 u5 U8 \$ `
#endif    // __HONORABLE_TITLE            // ′Tà?9 h7 p( ], f8 [; d+ l
    }
0 N+ e' s2 x7 w* Y; {8 X9 g$ N#endif // __WORLDSERVER  J. O; d9 I9 H0 `) y
}  ' }8 _( y# ~9 d  K
0 U& J' `/ u, ~3 u8 [& a7 R; _
然后你进入functextcmd.cpp并添加以下/ J( a  R7 H' S- _' \
9 _; s) x( V" a8 Y5 T1 _& {
代码:
' \0 e& i5 _: W  P" ?ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
% y, x" v: c6 E, B0 O: O下面插入
7 z" F. z- d9 J' F$ JON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  / V1 j& F- H7 k8 O+ R4 J

" P) @1 r7 T. Y然后你去9 f4 H3 U* J+ v# e" \

' N  p: b% T  K7 q代码:  y# ^. ]  d9 n! i
代码5 Q7 K% N" a$ T9 Q
BOOL TextCmd_ClearPropose( CScanner & s ). _: c% b+ H* M) u8 R) H
{
/ j, q( {5 s+ ^& F7 {#ifdef __WORLDSERVER; H# e; ?( L( k$ C. H
    CUser* pUser    = (CUser*)s.dwValue;
% U+ T$ u" }$ i( ^& ]* P    g_dpDBClient.SendClearPropose();
1 ]& E' n# q+ l6 W1 U+ d4 s#endif    // __WORLDSERVER
, [: o7 H1 G" z- A" T/ P    return TRUE;
- V9 y/ o* a- o5 q% L0 l. a}; k. a7 y% q0 u' q4 n- t
下面插入
+ Q3 s6 |) b, h8 y6 c( Q6 b2 A+ QBOOL TextCmd_rebirth( CScanner& scanner )/ z5 Q  _: r5 W  L3 |  H
{6 B: ~1 H2 v8 k7 O3 O) ~5 G
#ifdef __WORLDSERVER
6 U' R% }( \# R$ _CUser *pUser;
  r) r" }. F" q1 P1 e# vpUser = (CUser*)scanner.dwValue;
' G6 a0 ^& r7 L+ r& yif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())2 L% H' a( n- l
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);9 e* }9 C0 W, D3 @+ }/ L% Q
else
9 {& T* b! k) o- w4 Z- RpUser->AddText("你还未达到重生条件!");
) f4 v8 v" p) L( w2 i#endif
5 u* @) ~( a# V: w$ w8 Hreturn TRUE;& x' I9 x8 r# [$ S1 k  B! P
}  0 U  D7 b1 W) D) s2 l/ t  w  u
: d* @) \! }$ ~" R7 X
; ~7 y% |: _: N* `

4 \$ I& g5 Y4 v+ `
: G$ B0 m3 P; T# h6 o' F. A
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 04:28 , Processed in 0.061925 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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