飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1078

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1078
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
7 ?# Z/ q4 q9 ^, A3 L6 j
4 _$ |) N! I) b/ e) a6 p$ dMover.h. [0 N' |$ [0 Y. E$ v5 r
代码:/ d& Y5 x+ T; Y* j; H" x3 m
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü: r. ~/ q7 X  o, L1 x3 h

; K& Y% d4 F  a' t下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
) f7 v4 ^/ j8 M' F9 ?  W
  M& w+ t7 v! Z然后你去mover.cpp添加
) x$ R& ]. }+ g5 s3 M  t
4 r- U8 A# N; ^  T4 J4 q9 I代码:
5 ^! d' w8 Q0 Svoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )1 l5 V; ]  u* C/ K7 C% ^. j1 \. c
{; l* Y: c+ B+ O1 W
#ifdef __WORLDSERVER
. t+ j0 X5 N: E! m5 i8 }% M    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó- H, _/ K) G+ z/ J" C5 q
    MoverProp* pProp = GetProp();) H$ a1 s0 d8 n, \. b% `' ]
    if( pProp )* m. \+ t- A% u
    {' ]) G0 Y. R. _) M2 S; Q/ `2 h# N' F
        if( nJob > 0 && nJob < MAX_LEGEND_HERO ); W$ ^7 l( X/ h7 _+ S5 K* O
        {# }+ b# S8 Q5 [  K# i
            AddChangeJob( nJob );' Y, ?  Z2 E, M  O6 i- M. r
        }else{" ], s$ ^8 e5 |
            return;: W! g2 ~8 |8 a5 |& c  R
        }' Q- b/ |9 f: P" g7 S! I
        int nPoint = 0;
9 g1 {6 y3 |# a' B7 l, ^        if( m_nJob == JOB_MERCENARY )
5 Z6 u& I, E# Y3 n; |            nPoint += 40;
4 G6 j5 c. z5 M/ ^! O4 z+ ?9 ]        else if( m_nJob == JOB_ACROBAT )
7 V8 T' A( A$ v% R' `# J            nPoint += 50;
" Z$ L- j$ d" U        else if( m_nJob == JOB_ASSIST )) E/ [  G( v$ B1 Y
            nPoint += 60;
% j, ?' V8 W4 l# ~7 J* R        else if( m_nJob == JOB_MAGICIAN )9 b' W5 ~# }) W' O& S: ?+ d1 Y
            nPoint += 90;
3 E- G5 q9 ?9 j. I% d* Q5 B4 m7 I9 j        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
% Q! {, p5 U( C: ~: F0 A. E5 {            nPoint += 120;' q* Q, J8 O( v: n( P6 y0 h
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
7 n, f) P( S0 Q+ z. A) }( b            nPoint += 150;" W# K' E' R# ]( O' T
        else if( m_nJob ==  JOB_RINGMASTER ), R" g9 N2 e& I+ O
            nPoint += 160;) P; o* ?7 |: B5 y- n9 D) n  y
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )' i( c  r3 ]( d) `4 s0 f7 e
            nPoint += 180;8 J4 w2 l* C/ w* W5 s" K6 {' v
        else if( m_nJob ==  JOB_ELEMENTOR )4 T+ e5 t" C9 b; b* s
            nPoint += 390;! I: A9 @' a' e' J  j, ^. `
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
+ I" v/ o! S* q. H3 d            nPoint += 120;
. i& u" C9 r" K5 g0 r9 u        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )) q% Q8 n2 `! ^% A% A9 Y
            nPoint += 150;
: h3 H! j( y0 e/ J7 _: A9 P        else if( nJob ==  JOB_FLORIST_HERO )$ W( C7 p% d$ v7 j
            nPoint += 160;1 W% B( G" ~9 L7 t" ^
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
; U2 w3 q8 h6 @8 F8 P            nPoint += 180;
$ J! w% _6 W: N        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
6 l. l: W" y  h" ^8 |+ i# q            nPoint += 390;
7 u; M* U7 Q: q8 ?# x. v. r$ m& b* K2 p3 m$ a2 j4 t. r# A  t: F; j
        AddSkillPoint( nPoint );4 Z* e  j- P: X+ h
        m_nLevel = nLevel;
; g4 J+ ?9 y9 L; h& e1 t" x) C6 ^' P0 V' ?( R
        SetJobLevel( nLevel, nJob );
' D/ x  B$ B6 y        m_nDeathLevel = nLevel;* _3 |7 l' {# z/ d8 v0 I9 C
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans, V0 c- v  E+ K3 I
        if(IsMaster())- b2 y' u9 h/ F2 z2 V% {; ^
        {  N7 o" ?3 s/ [2 ]
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108. {& V6 [; A0 a' r; q1 e& n2 x
            if( nLevel > 59 && nLevel < 72 ): R' b# e6 ]' z
                dwTmpSkLevel = 1;
: z/ o* s! w! E; w; e7 h1 Y+ G            else if( nLevel > 71 && nLevel < 84 )2 K9 Q8 ~$ Y3 }( I
                dwTmpSkLevel = 2;$ L( F( I1 C1 Z; Z8 c7 y# X* K
            else if( nLevel > 83 && nLevel < 96 )
$ Y) m- {+ R, b) T7 W7 X; n                dwTmpSkLevel = 3;
  x9 N3 _2 ~5 p! l3 X8 b- \            else if( nLevel > 95 && nLevel < 108 )
& M# c/ A2 V1 F4 u# q1 k+ f1 W                dwTmpSkLevel = 4;
0 R3 y) W) d0 ^' U            else if( nLevel > 107 && nLevel < 120 )  g& G# N: t1 U2 G# M
                dwTmpSkLevel = 5;
2 e4 M; x. g  w# {, y# S, j9 r            for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 m( \5 }- h' {5 t2 S1 ^0 N            {                  L/ K0 D2 T( O4 r% Q, H# J- ^
                LPSKILL lpSkill = &(m_aJobSkill);$ f, D& a" Z4 y" t0 r$ `8 l# ^
                if( lpSkill && lpSkill->dwSkill != NULL_ID )% q7 n- }' V" @' l! ^. Y) K
                {# D' E) ~6 Z6 _: ^5 T
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            5 L8 L5 f  M, f& C/ S. T  e# q
                    if( pSkillProp == NULL )
& U5 `0 S3 i1 i+ I" n6 K/ P                        continue;! {' P/ a- G+ ~
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: s& _# P2 ?5 I8 v* P( y& V                        continue;
9 \$ J1 d) T% i) Z" W5 k                    lpSkill->dwLevel = dwTmpSkLevel;* [1 R2 b7 d  |( U/ m
                }1 q5 d9 z- \/ f* ~  Z: g
            }% Q2 z) g) [- d- y( E* \0 S
        }
! @- p8 G7 j: c4 H        else if(IsHero())* {% B) S# K1 y# [
        {
9 P$ G( q2 T, C  T. C$ ^            for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 E, v4 `) F6 ~8 r+ I2 A            {               
4 }3 F1 T. K/ n; p4 f                LPSKILL lpSkill = &(m_aJobSkill);
* @; s0 X$ F! M/ q                if( lpSkill && lpSkill->dwSkill != NULL_ID )+ k1 r" b, M; g! D6 ~$ k
                {
- N1 B" `' f* h; `                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
" R/ b, t2 @( [/ {; i% h7 O                    if( pSkillProp == NULL )
+ w" S2 F, A5 {, B                        continue;* j& I1 C3 _! u1 w% T& c
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
1 S4 \5 i3 V& Q% X5 t                        continue;
$ E* C$ p( n4 J& R7 K! o, D4 M                    lpSkill->dwLevel = 5;4 Q- R! V( J) v4 t, a7 M5 W
                }" z! f- Q* w' o" G" `4 j
            }
% ?: K$ W  a0 Z0 B2 Q, ^8 V2 s9 p        }/ C0 s& r% T$ m% f7 b% k4 k
        else if(IsLegendHero())
; e2 X. c5 K) r$ ?# `1 c        {
& _8 E5 m; T+ R$ P& e7 _5 Q            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 3 g6 G; f2 {+ H7 t% J6 s
            {                4 k/ C% H/ G% F. {; f
                LPSKILL lpSkill = &(m_aJobSkill);# }. O2 ^; n5 O5 f
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ {: Z. Z* O0 B4 K* b# O                {
5 _1 _# H7 [( T: Z                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
$ ]: T! n+ N( f! r( D" W+ k                    if( pSkillProp == NULL )
* _1 @% T  [+ A% Z+ U! g                        continue;
$ F. p3 p0 F$ v& V                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)# D% @$ W% e3 A) s  W6 U1 [
                        continue;
! }# U. G' z: v6 N# E$ U                    lpSkill->dwLevel = 5;
+ \) \1 d4 T4 E, E& z$ k                }# C: e# Y% h, Q9 ^7 U) ]4 T
            }; N+ j' R! f: \/ Q$ Q8 Z: m; j
        }. j! }- k9 z+ W. N
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# G% q6 [0 a( I3 e# w) P! H4 Q        if( bGamma ): a9 Y: m' F( r9 g
        {6 C. X# ^7 _) f9 B$ _
            m_nExp1 = 0;
7 T$ x8 ]4 a+ `+ c$ x        }) ^1 l) N2 G6 g0 Y; B, [

7 J9 ?  T9 G8 @+ _( ?( L& l        ( (CUser*)this )->AddSetChangeJob( nJob );
" G. ]. W$ K) w/ F        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );" h) L' Q2 @) }7 r
5 i0 `9 A( F7 @7 k* u1 b

1 G/ m- Y$ o( T5 [: O9 d#if __VER >= 11 // __SYS_PLAYER_DATA
, S$ b/ k; r, p4 \" D. y        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
; o2 d& N6 H$ r2 O1 [0 T# y#else    // __SYS_PLAYER_DATA
* U6 G# \  H9 V" G. T. v' u# C        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
# B" h: Y$ [( W4 P7 v  U        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
9 S4 x3 c- l7 k5 e        if( m_idGuild != 0 )
& ^3 N3 Y+ |7 |9 B. L            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
, N* O3 p% P# v' v0 W: O- B8 D9 h#endif    // __SYS_PLAYER_DATA0 u6 ~5 y5 i6 B/ S' y; d
        SetHitPoint( GetMaxHitPoint() );
# C2 ^; p* V1 j& g        SetManaPoint( GetMaxManaPoint() );
' }2 M( g: e5 ^  {# M# K& n        SetFatiguePoint( GetMaxFatiguePoint() );, w8 w7 u$ V% H  w( I3 b! y
        if( nJob >= 1 && nJob <= 4 )4 v6 F; P: j$ x8 _7 R, {- r
        {# x4 [: _9 [  V$ r) j1 @$ e
            m_nStr = m_nSta = m_nDex = m_nInt = 15;- Q  ?* d  A3 K, d4 W* N
            m_nRemainGP = 28;3 a" d! X& B& J  D7 H
        }" p4 M, k2 t! q5 ^8 _* @/ S# }6 B% p
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
  N  P2 b( u# D. ~        {
, X. z- K- D1 m3 |9 L            m_nRemainGP = 118;& F! r+ Z; U' u% S5 e, }! {
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
  M. ?) |7 M5 ]# s8 S            m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 r8 ]% E  t4 _' t7 Q! H        }* s" n# v) Y5 v- `8 l  W+ q8 i
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
! H3 A8 R0 w8 Q$ W# j% h; }        {/ m# d6 S$ f. A6 V( C! K8 r4 \; T
            CItemElem itemelem;
* i: }' }# x; f2 L+ P, d  e% q4 i            itemelem.m_nItemNum = 1;
+ l: X9 x& I5 R# h7 ]9 e            itemelem.m_bCharged = TRUE;5 E" n4 O9 D5 Q. i+ F. L9 m7 Q
            BYTE nID;( I: n  |! {) _, B& T- D6 U5 }
  o% L# m( H/ X" P! P* `
            if( nJob == JOB_MENTALIST_HERO )5 c) M$ ^0 G- G$ t, G) w- o3 \
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;( |4 }) \# I' Y2 N+ O1 @
            if( nJob == JOB_FORCEMASTER_HERO )6 e  B8 I: e$ H7 \  l' q0 P  E
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;; K- c) l% d1 l

  }  n1 @& w8 F9 H            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
% `) b4 c/ Z1 F" T" P$ S" N$ j        }
3 `7 d, ?/ l: J6 m        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );& Z. o' y  D9 N% z; t( |8 x' i
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );' J4 ~- i; O4 P
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
# h8 W4 D5 y: V: E( k) m3 q( H        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );- r7 o0 B! ^& Y" i0 V' i4 A
        ( (CUser*)this )->AddTaskBar();*/
) F. p8 L% F& b6 q7 N        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
- z" k4 A7 d; Z* _#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
3 P' [% \( Z/ R+ f! x  }1 Z, E        ((CUser*)this)->CheckHonorStat();0 B' {/ ~' |4 i4 q3 n& f  U
        ((CUser*)this)->AddHonorListAck();( r! h2 R6 O  V! i4 t
        g_UserMng.AddHonorTitleChange( this, m_nHonor);  B3 ]- h: n4 f! T: @+ f7 T
#endif    // __HONORABLE_TITLE            // ′Tà?8 |+ q; _3 Z4 [: y1 w% \5 t: c" |
    }
1 G( k8 e5 f& {2 v4 U. T#endif // __WORLDSERVER
8 l; Z* H8 T. }% C' B% r! G" A) V}  
7 o! Y% f! |1 p# q, u6 s+ X3 Y0 h$ z& p4 P0 A2 }) M! s$ T
然后你进入functextcmd.cpp并添加以下
2 D1 D( q2 r2 S' c: B2 w
5 l0 R6 M$ Y5 d2 I代码:
$ i* @/ `8 L; D& E7 B6 F; D3 NON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )( r+ D$ g8 M: J3 c2 h
下面插入
% c! F2 \- W! Z3 b% VON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
0 `, y( }% X3 q) `' R
# w3 |# @  O  }3 G5 w1 O% W6 A4 x; u然后你去
  t/ n6 _3 T" a. Z- j
" A8 `; f. d7 u$ Q; G$ f8 }代码:
; c/ `1 C, A8 v& i. N% Y, |& u代码) p$ k! K% [+ Y/ I( t
BOOL TextCmd_ClearPropose( CScanner & s )
7 ?2 G6 j: y) Z+ J{9 ~% c4 y; ?  v$ p& M! _
#ifdef __WORLDSERVER
* J  z* q) t3 a3 S1 F    CUser* pUser    = (CUser*)s.dwValue;% Q7 e1 i$ g5 ^& U
    g_dpDBClient.SendClearPropose();6 p; A. K" S. B( S) r
#endif    // __WORLDSERVER6 e9 m3 R" h5 M
    return TRUE;
) g+ U. Z4 p  O; q, @}
. p( m; j! l- L1 g' D' k下面插入( S- `, n9 z. w- o7 S
BOOL TextCmd_rebirth( CScanner& scanner )& ?4 @# H* _9 M# W: u9 H8 P& u5 m
{
+ U6 o9 h% w; s' C#ifdef __WORLDSERVER
- |9 t+ o+ G% ?/ iCUser *pUser;7 o7 Q, a  c8 {8 Y; S" P
pUser = (CUser*)scanner.dwValue;
+ C8 ]5 x/ z7 h1 _if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())! A, x1 O) T5 e4 ^: ^2 Q
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
0 y* r7 p% Z5 \5 f$ N. Pelse
5 D8 h; @+ A/ W$ Z1 m+ `# m- f. npUser->AddText("你还未达到重生条件!");, f/ r/ |2 Q% Z$ l  B
#endif& m+ ?! o$ `0 V$ ~8 B
return TRUE;
+ S! _' j4 S% k" Q, F}  / x$ i% C- I( Z* I- ~+ x- U

5 N" D' l1 [. [- P
, ~6 a. S$ F$ @' K! T
$ q: K/ t2 Y* X5 `2 {
; S. ]8 [/ k$ I' e1 H
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-27 01:02 , Processed in 0.069062 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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