飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
; l( v3 a% B& p; _/ u/ T  ]0 s- n+ h  K% B
Mover.h
! ~! o. ~. ]. G4 _$ U8 @: S代码:
  c2 Q( C6 T' r+ r找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü) m' g) @( }$ r: V" t5 k# W

6 K: G4 s# `7 r; @" `8 E! ~% T下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
$ W0 g4 |3 F# {: w- ~7 J( w2 Q2 {+ J9 b4 `5 T4 X1 d
然后你去mover.cpp添加
* a  c* @2 f4 f
' j& E3 @' q* c7 T; |代码:
- h' ?4 R  n: @( W4 Y, svoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )* E+ Q1 o- S; Q: N8 v$ Q
{/ y( ?9 |% u# J6 A
#ifdef __WORLDSERVER* S8 s7 I6 \' ?; |8 w3 s/ \  z& C
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
# f. q% \2 P0 g0 C/ Y) a/ n. H5 X    MoverProp* pProp = GetProp();
: r6 |" q) y' f; o, k) t( V    if( pProp )$ D6 j5 i* T9 T1 k+ J  j: L
    {9 Y3 K) R8 @4 m; Z) @
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
4 w! t# o' c  q% O+ b        {
6 q7 R8 z2 s) C% T            AddChangeJob( nJob );+ ^0 n* F3 O/ N9 E
        }else{
0 F: l9 g7 |3 m. Z2 u3 j$ T1 S  k            return;
7 C  _* v' L' X' {* n5 f2 g        }) u/ ]1 L/ s5 s$ L( e( O- b7 }2 m  ]
        int nPoint = 0;: Z0 |7 A7 p# s" F: a" h2 @8 s
        if( m_nJob == JOB_MERCENARY ), S' b( V$ h( f. O
            nPoint += 40;- |" U+ n& d# {4 b5 K8 ^
        else if( m_nJob == JOB_ACROBAT )! i+ j+ H9 B& C
            nPoint += 50;' C- c" k5 Z( W7 e
        else if( m_nJob == JOB_ASSIST )+ i5 t* Q0 V# X: Q* s( u# B! [9 p
            nPoint += 60;
* K5 e5 K$ K' P* j) Z: c        else if( m_nJob == JOB_MAGICIAN )2 j/ [0 }7 H8 U; f6 \. r: m$ y
            nPoint += 90;
; m6 c+ i: z, g' J& }' J( p        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )' [; E* M! j9 S  R2 D9 A5 d
            nPoint += 120;1 B7 e5 S  O4 C. w* V
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )( \# k  u' K% {$ h* O3 a
            nPoint += 150;5 U' ~: L! A2 d1 y9 F8 Q
        else if( m_nJob ==  JOB_RINGMASTER )8 ?9 m: _5 S4 Y! f
            nPoint += 160;: Z8 k, L* e1 ^- Q& ^% ^
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
% g. w: p0 P  X4 G            nPoint += 180;4 x4 v3 F! x. u9 V2 h
        else if( m_nJob ==  JOB_ELEMENTOR )
/ t# }& _* A9 _4 e, z1 y8 T. m3 g            nPoint += 390;$ C# {  c2 ^, d3 d
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )/ q; L7 O/ ~; J( ?" s4 Y
            nPoint += 120;
' I: _0 F9 M, D, ]; {        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
2 A7 Y5 \* ^2 r7 O' P3 F, v            nPoint += 150;
( t' `" D4 @# ?4 u- k, G# j8 U) V! I        else if( nJob ==  JOB_FLORIST_HERO )
, ?& z% u' n- e            nPoint += 160;2 d9 ~( a- R; r7 Y: G8 v
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
1 c% u4 T1 _& @3 D2 d9 x7 g            nPoint += 180;
" `5 C+ I: S, Q6 x& b2 J        else if( nJob ==  JOB_ELEMENTORLORD_HERO )/ {7 _: r8 V2 d, f4 j( D
            nPoint += 390;
: M+ L" f( D) Z5 G7 E
+ j/ J4 e* k2 n6 }% Y0 C, |) Z- D        AddSkillPoint( nPoint );: ?& L1 F( [5 e' C" U' Q/ ?- I
        m_nLevel = nLevel;
: U. T; s- b) p! X' m- G" Z: \2 k; H
9 |/ j$ @, `0 V" S7 T1 g' H        SetJobLevel( nLevel, nJob );2 h+ w$ L# o- t& D. s
        m_nDeathLevel = nLevel;: H* c/ [% h1 m  b/ d: \
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans$ H& a/ {4 Q( ~& y* y* p1 n" M" j
        if(IsMaster())
7 S, [+ E$ ~9 z3 s        {0 J# V3 }5 j+ \: p( x0 [
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
. \$ `2 G$ l" a0 c% a            if( nLevel > 59 && nLevel < 72 )& ?# z) O" u' _/ B. n; _
                dwTmpSkLevel = 1;
* A% P3 l) f, ~5 J4 i            else if( nLevel > 71 && nLevel < 84 )
3 Z: d  w$ m) \                dwTmpSkLevel = 2;$ H$ R' Y- y5 K% {) m
            else if( nLevel > 83 && nLevel < 96 )8 Z& H5 X1 k9 g, c5 V1 [6 b
                dwTmpSkLevel = 3;
9 }& A5 V  r) I; J            else if( nLevel > 95 && nLevel < 108 )
" b4 P' L" K! j* G% U1 f3 g                dwTmpSkLevel = 4;
; m, ]- p0 L+ R* J% y/ f            else if( nLevel > 107 && nLevel < 120 )
- C2 v1 j- |/ h, q                dwTmpSkLevel = 5;7 s) ?, {: b! }( f
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! z7 U& T8 L* A# ~' j
            {                ( Y7 b9 {5 p* H- {, @1 s
                LPSKILL lpSkill = &(m_aJobSkill);0 ]. F4 [7 t; J
                if( lpSkill && lpSkill->dwSkill != NULL_ID )% b/ Q% V1 D: S% t
                {% E* m) V- [2 Z/ k0 Z2 q. h- ~) w$ Q, f
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
% V2 j0 E5 l, y3 n( I, _                    if( pSkillProp == NULL )$ b% G6 \+ j5 |3 P$ a- r
                        continue;
$ j) L# ]% T% R( O, N) n; P! u                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 Q& @- k5 F, o0 K( W  P                        continue;
  O! o' c' M  B8 @- E- p7 I: W: c                    lpSkill->dwLevel = dwTmpSkLevel;- R7 Q1 x- J( |5 Y  J
                }# V+ R) ]: R0 J$ z5 l1 V
            }3 ~# d$ G; s$ b
        }3 M( d$ _8 B. t2 B
        else if(IsHero())
0 }* Y* j' b7 u  f: h, s  z3 L  C; u        {( k9 U. K$ Q/ I+ E1 M- j4 [
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
) i) X" I8 G# x, E            {               
9 W  D0 s' X# {$ D( \! s* r; S                LPSKILL lpSkill = &(m_aJobSkill);4 D# N! H5 w1 v( f/ G: O6 t% v8 q
                if( lpSkill && lpSkill->dwSkill != NULL_ID )( ~3 @( ^( ]! _9 G  E# f
                {
6 i/ Z; d, ~4 g- a) r                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
! b- v. z6 K( D                    if( pSkillProp == NULL ): }! U0 ^) S- R" h. w
                        continue;
* A6 D; j) L: h& t: f% S" O5 U                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* r$ R& Q" \. {8 E5 a. Q4 ~                        continue;
& [/ ^7 f$ ^( x7 J4 O+ P* O+ j                    lpSkill->dwLevel = 5;
( H4 K) `& Z1 o% E, n                }- q' W) P+ `- V, R* w! l
            }
' ?, ~! M0 I8 Y- Z/ ^9 j        }! f$ n6 _! [! T6 p7 i
        else if(IsLegendHero())
! Z) k# d$ e. ]+ o+ R5 n( O        {
* B# [1 R' ~: X3 d$ ^! P            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 V) I5 Y) w( o  @* p5 n
            {               
6 U. l+ j, }4 J# Z; n% `* I  ~                LPSKILL lpSkill = &(m_aJobSkill);& G7 I6 Q/ ?+ P! ^
                if( lpSkill && lpSkill->dwSkill != NULL_ID )4 n) [* ^% V# s0 l# M
                {
2 O8 L% x7 x0 x2 j- r* m                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ; o+ e- |& e# ]% Y- z+ Z
                    if( pSkillProp == NULL )
4 e2 L- K, X: v% O                        continue;3 N  f' F; A" n1 U/ Y
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 D) y3 O  \* S  T                        continue;
9 _6 Z4 l2 E6 L2 }5 Y                    lpSkill->dwLevel = 5;
, t8 C3 }2 P8 u$ ?' r                }
$ b5 ?; F) I. q* x+ ?3 {. U: \$ k* N            }
4 S; X9 s- N6 V2 Y8 E2 B9 ]* r        }5 w2 J& C9 |& \3 [6 q) {0 k
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans0 P& P* O% c9 u; F& z
        if( bGamma )$ w' ?- @  V; Q9 e2 O+ v- `
        {
9 p- t- H) Q5 M# \8 d            m_nExp1 = 0;) `7 x* V5 |7 N7 `+ {* |9 d  H
        }
" J/ b# \1 T7 a* S: {# P, r/ @+ G" q% w. k+ `0 R/ B' q! x; @
        ( (CUser*)this )->AddSetChangeJob( nJob );
) U" ^$ G6 l7 i2 L; e, @        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );6 I: j1 r! T- w5 D" w

3 W0 m: o4 F/ d$ |5 v
$ _. t& Z; v5 b#if __VER >= 11 // __SYS_PLAYER_DATA
: b4 k# K0 o2 A8 f( u' u        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );0 y) K* E& S8 O) u+ y( ?: Y
#else    // __SYS_PLAYER_DATA( i( c0 I8 e4 Z/ j% t6 Z3 \
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );* z9 W6 H' x1 T3 l- A
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );) A- e! b3 D& U& q+ A5 r
        if( m_idGuild != 0 )
2 R# k5 B" r8 M/ u& \  d# }! m            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );4 w( C, b3 V6 }
#endif    // __SYS_PLAYER_DATA5 Z& }; J1 f/ s0 g% @
        SetHitPoint( GetMaxHitPoint() );: V, p5 {% y( u# N0 l) y
        SetManaPoint( GetMaxManaPoint() );
, _+ B2 B: ?/ l4 @( u        SetFatiguePoint( GetMaxFatiguePoint() );
7 m% o6 n- D6 [" V: q+ P        if( nJob >= 1 && nJob <= 4 )
, _* Q. T/ Y" P- b  K( f% U        {
; k5 h: |. e2 J% F2 E            m_nStr = m_nSta = m_nDex = m_nInt = 15;! W1 O  U/ U" R0 [6 c; Z8 C6 w
            m_nRemainGP = 28;; S3 O( F' e( e. c
        }, y- Q5 U% A* _( A0 {' d& [
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )8 d; C6 q: E- I9 p2 n( N
        {
0 f5 V5 }- B; o$ K8 P* ^. c! k            m_nRemainGP = 118;
& G3 i' h( X0 r) }  m/ U            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
" z- ]4 p5 ?+ d4 V. V, m9 z            m_nStr = m_nSta = m_nDex = m_nInt = 15;% k% t( j- T1 `
        }
( p( y, L9 z8 T+ b/ ^        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )( {: q4 _0 R: p1 n
        {3 S- d( K( Q  _8 E: H; \4 v% b. n4 _
            CItemElem itemelem;
  ]3 z* n1 M  e* x            itemelem.m_nItemNum = 1;
3 \3 a; _4 d, F; `0 K" c$ N            itemelem.m_bCharged = TRUE;
! g: \; z. M5 A! G            BYTE nID;
& o6 Q, t/ g+ D& j' {# w7 y* d" l! P9 Q; D2 q5 ~6 J
            if( nJob == JOB_MENTALIST_HERO )
- X) `/ R$ u. o: R% ~                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;' _1 q/ @1 c9 O7 t  Y
            if( nJob == JOB_FORCEMASTER_HERO )  h0 `3 V$ V# q9 e% z8 d  L$ ^
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
/ A8 o$ W3 G' j* M
& U0 m* e9 F" U7 h1 ~' W6 U5 `0 f            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
3 ?  q) M  k8 t. F1 k8 [        }
; s6 }) t, o% F- h- `$ U        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );0 i- q$ r9 i& K' H  i
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );: |* S" Z# t- j: ^$ [' V
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );! I3 ]) h; T1 F. J0 j8 z
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );. M! @. @; P' T
        ( (CUser*)this )->AddTaskBar();*/
$ w& f1 ~. L- K# r" e; I        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );, e, P1 H1 Q% Q
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?+ s+ z' a" J" d$ d. Z# y
        ((CUser*)this)->CheckHonorStat();
1 s% _3 |9 C2 s( l6 X- R  \        ((CUser*)this)->AddHonorListAck();- O6 _4 x& N6 @
        g_UserMng.AddHonorTitleChange( this, m_nHonor);" I9 Q! W8 S3 q  G& [7 r
#endif    // __HONORABLE_TITLE            // ′Tà?
9 y2 G4 K1 X6 N, r0 n    }
* `0 B2 }5 ], h4 K9 @6 U% E7 _#endif // __WORLDSERVER
3 b  \, G8 y1 X- E# i% F) p  x/ m}  
. |3 A1 W5 {9 f5 R2 D
1 f: x* I1 z. O: x* f/ s8 |然后你进入functextcmd.cpp并添加以下% e; t  v$ l) |1 T/ H* U

; X2 @: v+ c+ y* A1 y" y代码:
' [7 ?& Z2 Z, b' H+ l9 i$ ^ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
) _0 y. q. g; v& E  J/ U下面插入5 W, s, w1 R' t
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
+ n1 M/ c" U# D) ~1 V0 Y
4 z$ u: K/ j1 v- g) `: ^) g1 A0 [然后你去
% I) n& g# H: O) [/ G
3 ~- x# i. \0 E9 g代码:
3 A) B6 y, ?8 ?3 V! {代码
& ?: H( n' A! UBOOL TextCmd_ClearPropose( CScanner & s )  t2 ~- Z! O% q) O& A) S
{4 T2 S, K& L" T/ ^: u
#ifdef __WORLDSERVER  e( B/ j  F2 Q, ?
    CUser* pUser    = (CUser*)s.dwValue;
( G/ ^- |8 b! r( m    g_dpDBClient.SendClearPropose();" D/ t: [& H+ y, X
#endif    // __WORLDSERVER9 i) x8 U9 m2 @! D  d  G- W
    return TRUE;+ J  f/ b1 m$ N
}
% P) T3 `* i# `下面插入
6 U, I- P; u$ w. dBOOL TextCmd_rebirth( CScanner& scanner )
" F& Q6 V$ [3 ^7 `+ Q{2 j0 R7 n( Z* A! @' ]3 A
#ifdef __WORLDSERVER
6 a0 v5 n* r- T8 _7 x% v- nCUser *pUser;
4 T4 \7 J+ x. i# X; T+ MpUser = (CUser*)scanner.dwValue;
) {9 ]' [) M0 t. z( q6 I1 K! mif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
  F& h4 g+ m" T/ ?. X3 hpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);1 u/ M: t- v9 G+ S
else6 D4 r" E9 H- y( X8 {
pUser->AddText("你还未达到重生条件!");- S, C) {/ y; F
#endif
& q5 S' [# V0 wreturn TRUE;% N4 d# F* ?& a! F* X( I/ f$ |
}  
, e( u) K2 P4 {
( }; ~) O2 q" ?; y) B& X; o  L4 Z5 ^  J3 J' b" {  t7 k4 V

* _# ^: b2 t* p! @2 r7 {+ G# d7 p3 T9 O+ Z! o
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-21 00:57 , Processed in 0.065011 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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