飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
9 k: f& m+ ^! W; z7 n) ?8 G& j9 ?  _- T9 s2 y% q' m  u$ I5 ~
Mover.h0 H3 Y! q. w% K: z
代码:
$ n0 ^+ t9 W, C/ h找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü( y' `. B/ t% U' Z
: M+ [, u4 f2 j$ ?6 [
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
1 n0 i6 K) m2 |& e' U7 j8 ]. j. v9 v  ~# }& F( d0 o# C
然后你去mover.cpp添加
1 P6 @. W+ p" K, B8 K5 d/ z
; A2 X: L" S6 \2 E" W; X代码:
1 b4 A5 p# \7 S/ J* f& p$ T3 vvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )' z2 e1 @9 N! C& z) p
{
, w& v2 r: H' I- `/ \! Q( ~#ifdef __WORLDSERVER7 E( B  `9 E6 s6 A* S2 k
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
$ ~' J* [7 n" E    MoverProp* pProp = GetProp();! x- M$ r/ X8 {' C( W) p
    if( pProp )9 ^4 P: x: W( J2 x
    {
1 v, O; u% E% P0 |5 I. {. a        if( nJob > 0 && nJob < MAX_LEGEND_HERO )+ A) ~0 @  y* n. X1 f: N" v
        {3 X) K2 i7 z) T  N5 q
            AddChangeJob( nJob );
* \5 j( x  k# H7 T  |3 |        }else{: H6 l0 X0 R& K" G
            return;
8 m, W6 o- S& v8 h        }
- v9 ?, ?+ F; ^0 z1 A        int nPoint = 0;5 w1 k) ]8 n$ _0 U- y! J2 i
        if( m_nJob == JOB_MERCENARY )
- i, n6 c8 c, B  A7 g1 |            nPoint += 40;6 j0 M. V4 O( d/ d
        else if( m_nJob == JOB_ACROBAT )1 h& a& l, T( d9 l7 R% V
            nPoint += 50;  i  L5 f; P9 Q+ r
        else if( m_nJob == JOB_ASSIST )
- @6 N! a6 d9 ~            nPoint += 60;
3 G' E+ M' m* i- F$ _  g        else if( m_nJob == JOB_MAGICIAN )
& F! Z  S) ~  \  ^+ C            nPoint += 90;9 T* R7 D: \( f; V
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
0 y/ p' X+ }& z            nPoint += 120;3 C0 @! X3 k2 N
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )# `. c* k1 D+ t$ w" f4 M. b
            nPoint += 150;
' W$ W- ^8 i5 {/ d2 D        else if( m_nJob ==  JOB_RINGMASTER )9 X$ X+ Y" d' q# W) I' a% o& N+ n
            nPoint += 160;& d9 Q: W4 u! G' ?& I
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
/ I" l% D3 |2 Z1 O) p/ n6 o/ d            nPoint += 180;  l3 U: Y: Z, K$ w9 `1 M  r2 e
        else if( m_nJob ==  JOB_ELEMENTOR )+ v* O$ L6 o$ l4 Q! g" c/ W
            nPoint += 390;7 u0 X% ^5 ]( h9 f! L+ `+ C
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )) W8 |: R) }) J1 t' P
            nPoint += 120;: A1 n% P4 L3 T, u9 m* J
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )% V" S, r( g; z/ J
            nPoint += 150;5 x7 f% b+ i9 j! n7 E3 G  H
        else if( nJob ==  JOB_FLORIST_HERO )4 [) f0 h( X. ~8 \
            nPoint += 160;7 e) }* A! T* s0 Y0 {* a3 j
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )% C( w6 _4 ]( b$ M
            nPoint += 180;+ o5 [$ s3 Z0 K, l3 K
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
( h- K# M+ e7 {- Q6 I4 y' J            nPoint += 390;$ L" W+ I) h1 o$ |6 j" f

4 @$ {7 i$ {! k7 Y9 @        AddSkillPoint( nPoint );
( X' \7 g4 j0 F/ X* `# O$ G! U        m_nLevel = nLevel;6 Y8 \, k! |3 D/ G, q. ~+ B
+ r: l  Q1 X3 L$ K& ?/ |2 R
        SetJobLevel( nLevel, nJob );: H" u: e. Z: i. {1 H  P. f* ^# Q4 e
        m_nDeathLevel = nLevel;) {& ?! C0 T& |* }  U
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
8 d/ a  F: q2 Y' ]        if(IsMaster())
& h* y8 Q" e& ]7 J        {* C; F3 a7 t) [
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1087 r2 r8 O+ N$ [( t
            if( nLevel > 59 && nLevel < 72 )( V/ o, i! f5 c
                dwTmpSkLevel = 1;
4 Z" h* }, {- |' K% `% M# |3 G            else if( nLevel > 71 && nLevel < 84 )" k; b0 M1 N" b
                dwTmpSkLevel = 2;( J! E3 z* H4 B0 d/ f7 W' B, w
            else if( nLevel > 83 && nLevel < 96 )+ V" r3 ^8 a7 M3 H0 `
                dwTmpSkLevel = 3;
% G7 w  Y3 @$ y8 B( g2 d$ v            else if( nLevel > 95 && nLevel < 108 )
/ m0 `& E& w8 F: m: x3 j  K                dwTmpSkLevel = 4;
/ E+ k3 v! O1 f            else if( nLevel > 107 && nLevel < 120 )* \) q, ^1 {, J% y
                dwTmpSkLevel = 5;  I. m4 E) u: S3 W" S% l
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ K  z7 t' F  u7 e. |4 m' D            {                8 `2 L, Y  \2 g# W# G, W
                LPSKILL lpSkill = &(m_aJobSkill);* K, j2 H, C+ D# ^" N
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
. g4 B9 `, |: m$ Y                {
) X. a" z0 t* l                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            5 m6 F5 E! @# {8 S) Q
                    if( pSkillProp == NULL )
2 n3 e3 U, a; y( E                        continue;$ {, H$ @$ M+ d
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)' v- R7 K: j  W  l; Q
                        continue;
6 X. G3 J9 E& g: r# @                    lpSkill->dwLevel = dwTmpSkLevel;3 q3 L( P' t6 U
                }+ [% ^! E, v- B' f4 K/ u- u
            }& `& f" Q" v7 O0 }4 D7 t' ^
        }
8 J+ M/ A2 S% _$ V0 G        else if(IsHero())
& y; {, O5 g9 E2 [        {. J, @1 k- R9 Q2 q1 T
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
, k1 `5 L7 p+ M% @, ^            {               
! N, `* X: H0 X9 l. `) w" j0 a                LPSKILL lpSkill = &(m_aJobSkill);% ]' M- t! H( K; ?9 I" R" O
                if( lpSkill && lpSkill->dwSkill != NULL_ID )8 w* m/ S3 ^$ M# p& B& T" U. g: d$ F
                {
1 A. [1 S* L' \4 m. \: I- y' g4 B                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
" ^. V3 f7 c. }8 j' Q8 y) f                    if( pSkillProp == NULL ). \5 A; _1 q# L2 c$ q* [
                        continue;
( H( u3 H2 j3 |: E  b! L, r                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; y, t% r& B# z                        continue;) C4 g& z0 o' y# C
                    lpSkill->dwLevel = 5;9 x4 ~- w' \7 y. l; M
                }
1 i& s5 G) Q9 a, X0 B  @            }
) i2 e) ~% `! ~        }
9 y9 g- B  |, C. @$ b" S        else if(IsLegendHero())
$ o. K4 y1 S$ F. E: o        {: t" ~3 _' ^( S4 c' x0 ^
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 2 `2 x: y, s2 Y
            {               
' j: g% ^- `8 O) S2 o( _/ M                LPSKILL lpSkill = &(m_aJobSkill);0 M, m* c. B$ u1 ]  d
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 x* I9 o0 f6 m; M5 H* I                {, ?8 o6 n: \) C3 g+ F8 `7 j
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( q4 K$ A) C* k& ^                    if( pSkillProp == NULL )" C1 m" c0 S1 T
                        continue;
6 _# [3 j) ~& a                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)7 @  Q- |+ m& H0 Q+ ^
                        continue;
  `( Y/ W8 m( v                    lpSkill->dwLevel = 5;
, b4 B' H; z% o* z% {0 G                }
- w" o" ^2 t5 H0 m            }0 `% ^% R' @. c1 f( m4 O# z
        }6 k7 D6 C0 s4 k- G. h# H6 R
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans# }' r! C# r& b( G1 c
        if( bGamma ); b2 e7 [6 W1 z9 C: X8 C
        {  U/ Q8 l2 t( r' e& v7 u; Y  b  P
            m_nExp1 = 0;
+ g& [5 L+ k. g! i# R9 n        }
$ R6 l5 p( x; X7 N3 E' ^8 d2 i+ Z9 @* t4 j% q$ P
        ( (CUser*)this )->AddSetChangeJob( nJob );3 A+ j  s, h& ]$ X+ D9 Y
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );0 d( p( }# K: c1 P
9 c2 R9 |7 H9 h
1 {4 I+ v: G4 [5 I- B3 d/ H7 \  m
#if __VER >= 11 // __SYS_PLAYER_DATA
% N1 ~* f6 k0 G        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );1 p6 g' H. d9 H. a8 |  c5 s7 H
#else    // __SYS_PLAYER_DATA
/ y- T5 K$ J/ G- z. n        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
/ S) r* O; p% K+ Y8 q/ B; ?4 Z        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );. y1 {) K' n# j3 n
        if( m_idGuild != 0 ). h% s$ H. s; Y: j6 l  _( |
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
, g0 H1 g4 S* M; J#endif    // __SYS_PLAYER_DATA
7 o' q: J( c2 `3 D7 ?/ g& U) \9 a+ M+ Q2 g        SetHitPoint( GetMaxHitPoint() );3 U% ~" K/ M* W7 Q4 }* H( X
        SetManaPoint( GetMaxManaPoint() );
6 j- h/ m8 r( t" g8 t        SetFatiguePoint( GetMaxFatiguePoint() );* `' j$ H# _; H6 Q3 w' e
        if( nJob >= 1 && nJob <= 4 )" N8 j( n6 g, Y- j; T1 y
        {
# X5 T6 U  ]# d8 I* p* ]& J- O            m_nStr = m_nSta = m_nDex = m_nInt = 15;
4 ]$ R2 y8 t8 i            m_nRemainGP = 28;: G' s# {- m1 }: B$ V4 b
        }
" F+ F3 n4 k5 Z7 M) R        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )( Y4 l. q2 \( K$ A/ n- l, c$ M! j9 _
        {2 a( z! J- X5 c. E: u/ J* g* ]
            m_nRemainGP = 118;0 K9 ^- `( S! h4 |
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
# K. o( H0 z3 G) s; J            m_nStr = m_nSta = m_nDex = m_nInt = 15;- C+ h2 h$ D. m( L* U" i; E: `8 j
        }! v4 W! L) @1 T( p5 i) F# J+ T
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
) a% N# B  q# |, ?        {! t6 l8 Q  Q+ c0 d# P# d
            CItemElem itemelem;0 r: U: B* Q0 L. K# v/ d7 ]! m
            itemelem.m_nItemNum = 1;
% s0 c. H& L" V/ D2 j5 V            itemelem.m_bCharged = TRUE;
6 m' T; ?, u/ ^            BYTE nID;3 x( ]* i% }( P3 J% t2 o

. U# G+ x) p. s$ k            if( nJob == JOB_MENTALIST_HERO )$ A$ i$ D! H, L. \: }5 z
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;) D3 T$ P# y5 j  q, I
            if( nJob == JOB_FORCEMASTER_HERO )8 m1 M' ^% O0 P7 j- d0 T! W
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;1 K# I8 n* q1 G7 X; K' [- k! H! n

( p; X+ S: H8 P- p9 v3 c8 V# @1 V            ( ( CUser*)this)->CreateItem( &itemelem, &nID );0 c1 [! C. }7 I1 a6 E. N& y) `( z
        }8 V5 r5 j" K& n& z& ?4 u- X
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );1 g6 u( R) p8 `& \5 _- d+ t
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );0 I* `& _0 E7 A0 j- E
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );3 M+ ?" f& m/ J2 H9 \: C
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
0 {- b0 ]/ ^2 K        ( (CUser*)this )->AddTaskBar();*/1 Q; L$ w6 t3 i0 q2 \6 W* ]' u
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
! i7 v1 w1 S5 U& m5 {$ E  }8 Q#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
1 N& G2 t2 ^8 t2 A        ((CUser*)this)->CheckHonorStat();$ a+ X5 z9 k1 B9 H3 e# {0 q$ g
        ((CUser*)this)->AddHonorListAck();+ G3 d# F0 t* a4 e  R' Z" k( U
        g_UserMng.AddHonorTitleChange( this, m_nHonor);% R# w+ X: e- s) c- p0 [; J6 j+ Y
#endif    // __HONORABLE_TITLE            // ′Tà?
) b/ y, `  U$ U5 R    }
7 V0 Z  E' Q$ s3 G% P9 ^, A- A#endif // __WORLDSERVER9 o. F0 K( v0 r& J6 ^$ N7 m
}  7 |. \0 T' y  W  ]  ?
2 _& X5 R  ?& u
然后你进入functextcmd.cpp并添加以下7 n: y/ Q- m7 O  U2 ^3 L$ [
0 l7 W, X9 r6 f. V  d6 V  |7 J
代码:& z5 l' T# O3 A# x5 p, |/ Q
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
( X7 u. H: M: v7 v下面插入
7 H$ y9 h$ ?# Q# J$ P* w7 L/ n/ [ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
  o; F0 ]8 b$ D4 i/ Q- x$ G: g2 i' _0 x" n) L9 m$ J" e4 u
然后你去
2 N6 v" ~& f, }: i6 j1 \
. ?. y7 M, q  b2 U! F! N7 y代码:
( o7 j. K. ]% T- R7 e代码
0 P3 |: q) T* P. TBOOL TextCmd_ClearPropose( CScanner & s )- r' [1 [6 d+ N6 x2 c
{
, b+ g& e4 r4 m: }#ifdef __WORLDSERVER5 [. D7 w$ |7 p
    CUser* pUser    = (CUser*)s.dwValue;
8 |4 m+ G4 S1 f; M( Y$ i' Q+ h1 v    g_dpDBClient.SendClearPropose();
$ g' z" }9 q+ b( @% H#endif    // __WORLDSERVER
0 |3 u8 w6 r7 B% u, Z    return TRUE;
0 r$ X- W, h. y( Z; D}; O: \8 T  T4 E% ^! w
下面插入+ E: |- v% O& F$ t
BOOL TextCmd_rebirth( CScanner& scanner )
! r2 b, o3 ]; o2 B9 ^% p1 Y/ k{
5 I1 ?- G7 i, Z. @& n' K" N#ifdef __WORLDSERVER
# e- @6 ?, A' U% ICUser *pUser;
) t2 i. X6 m/ A7 i. K' WpUser = (CUser*)scanner.dwValue;8 R- [+ ]2 V! @& e7 l: Q
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())" k7 @* i2 V: K7 b: c; _& k6 Y
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);. Q: G) x$ Q7 A$ r% V. E: l
else
0 i3 H" Z7 ~. S0 J! F5 L$ apUser->AddText("你还未达到重生条件!");, Z1 e$ M. a) o: b6 Z
#endif
& j: i- Y- }. O2 G$ A  mreturn TRUE;
9 {5 }( w/ Z+ |8 a6 g: `}  ( E8 P: f9 L, O7 Q$ r/ L8 t

3 d; P/ G! w" G  T: o) R0 r* U
5 A2 O# o, X. u& L3 J3 K3 g. O' Z, Y; \# j/ D/ o9 p

: E/ k( |: h. H3 G$ b
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 01:48 , Processed in 0.065486 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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