飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
2 v0 e9 y$ C& H  m0 G, `
1 Y) R- k! _* ]8 x! `8 JMover.h1 |$ W9 @" m1 B$ o
代码:' C) t) G1 u7 x/ I4 P. P
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü2 ~. K  V! w7 F) g. {$ f

* _$ Q/ T, I* D, e4 n- I2 j下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
0 J$ ~7 m  A+ w8 y" u  }
% z& W- \' ?% x5 j5 N7 w  x然后你去mover.cpp添加$ e4 }8 I+ r; G  |! O

! V: k* Q. Q7 Q6 G$ I代码:
/ u$ ~+ z9 H! c0 n% _void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
7 Y. H" W7 i) C* I{) U/ H% O8 H  h& A
#ifdef __WORLDSERVER
* r/ D( N3 M9 K) T% [    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó! \" O/ l# x. C# o3 S. z: P
    MoverProp* pProp = GetProp();6 W. U2 E+ k+ r; O
    if( pProp )
0 |. u+ G, [$ h    {2 h0 G% [; d6 D% v0 y
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )$ R5 x& t! r) v& P  B
        {
1 i+ W- Y) H/ b/ w, H            AddChangeJob( nJob );8 [, A; o' Q  U' \
        }else{
5 Q: v7 J5 f; y& k$ E/ m            return;; B1 Q1 w9 Z1 R' ?# z
        }& V, R. I% G$ N' p" P5 e
        int nPoint = 0;
( E' {( H# _* ~5 Y2 l; B2 d- w        if( m_nJob == JOB_MERCENARY )
# k: A: [7 x& B2 w" I* {            nPoint += 40;% `8 U) W) S+ }) ?2 E4 j
        else if( m_nJob == JOB_ACROBAT )
! C: f8 K4 m# Z- \% q            nPoint += 50;
* ~9 E" S- `9 ~        else if( m_nJob == JOB_ASSIST ). n8 x3 ]" Y! ]# K5 |
            nPoint += 60;
$ T9 v/ r6 _* H. n: ~        else if( m_nJob == JOB_MAGICIAN )4 U0 @) h! {# B, N9 `" z1 v" B
            nPoint += 90;7 z# N0 Y- v7 `0 }; M8 S3 E& D
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )) e9 Y7 T( g! }% L
            nPoint += 120;: `& `: v/ h( o" g; C6 Z2 J
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
: j9 s2 A" x6 ]. H5 e( S& F/ t8 x            nPoint += 150;* C- @9 `4 r0 u
        else if( m_nJob ==  JOB_RINGMASTER )( b5 ^$ J" U" f0 {& U: S! K
            nPoint += 160;
+ O* r+ U9 e2 f- \* |" ]        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
+ E5 W. H. S. E5 u$ B. V            nPoint += 180;8 h' D* R7 s1 d
        else if( m_nJob ==  JOB_ELEMENTOR )
- {7 [' P) D, ]9 Q: u4 J  }            nPoint += 390;
) O+ ^0 t* C7 K* l& U        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
7 x4 F2 |4 a8 Q5 \1 a8 A: a# {1 K            nPoint += 120;
! x& w( O7 S% ]. x+ R4 t. R; n4 H1 k        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
% `0 g. u$ y, {            nPoint += 150;4 m. T: p' j4 c. A4 d  E
        else if( nJob ==  JOB_FLORIST_HERO )
% J( B$ u* N) @8 K: t) r            nPoint += 160;
$ q# G. K; [7 h' P* c        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
3 }7 s. R5 T4 i            nPoint += 180;- h, T: |. Y/ J0 B& L& n, e
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
8 o9 H1 K$ D4 r* Y            nPoint += 390;
) A/ r; }. S& N$ k' Q& m- n' B5 a+ i* s* t. [& v! o. m
        AddSkillPoint( nPoint );
/ _4 |# g  P! R        m_nLevel = nLevel;7 R7 `/ u8 P6 b2 F2 V- p' i

& c9 ^& O7 j  M, s3 R: X" s; b& }& [        SetJobLevel( nLevel, nJob );
6 h4 ~6 ^7 z. |/ k6 u, K5 \' \8 }        m_nDeathLevel = nLevel;
! ?, v  K! a" m: ]# C& I: G$ F0 a#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
% W/ F" k" }7 |1 ?. T        if(IsMaster())
" G2 i/ D& D7 E! x- m; R        {
2 i7 F5 S9 X3 g# N. \: Y5 v' c            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1087 P# r: s$ T4 q+ l
            if( nLevel > 59 && nLevel < 72 )5 B2 ]; w3 N- h3 v# k0 a, y: Y
                dwTmpSkLevel = 1;
" Y2 B, A* s7 R1 x- i2 ?7 }( }            else if( nLevel > 71 && nLevel < 84 )
+ w1 J5 c+ k) T+ G- d5 F$ z                dwTmpSkLevel = 2;
2 }2 f- o4 [' Q% w6 v. E            else if( nLevel > 83 && nLevel < 96 )
' o) i5 \8 n3 \, ]4 Q# s                dwTmpSkLevel = 3;; O, T1 C# v( b3 `" W
            else if( nLevel > 95 && nLevel < 108 )( b1 F8 g7 y& Q8 v$ i$ o
                dwTmpSkLevel = 4;
: x2 `. ]( r7 U3 [; n) }0 i            else if( nLevel > 107 && nLevel < 120 )
# p+ C, j& a! ], L5 u: H& n                dwTmpSkLevel = 5;
; Y3 C* K/ ]) |/ d% X2 |1 e2 w            for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 M+ i/ N. R" Q. P            {                # @2 R- ?0 o& I0 a+ L7 g; }
                LPSKILL lpSkill = &(m_aJobSkill);
3 N6 i( n- [( W8 n$ j: ?: H                if( lpSkill && lpSkill->dwSkill != NULL_ID )+ t: D3 ~& l. S( ^& q. C$ i, J
                {$ Q2 U& u" c3 [2 i' U! R
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ! I9 p" S& U6 c& Y8 L
                    if( pSkillProp == NULL )
; @6 x. _# x3 a( L- W8 H/ {0 @                        continue;& G8 w2 L6 L) x; X: u
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER); W& ~: g' k  X% |1 k9 [
                        continue;
+ L" T; `. R' z9 S& I5 m6 Q                    lpSkill->dwLevel = dwTmpSkLevel;/ ]& V7 m: b( B7 ~5 O$ b$ k
                }' _" o$ G1 K- a8 Q* f  S8 ~- }
            }
: P" W0 K4 c6 ?) k: C( n6 X        }
) \! i- T* ~$ L2 H/ ?        else if(IsHero())
( k2 t, m5 i0 ^3 g  U& A5 O        {- X& W- R- B8 O7 i" C8 T
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
( m9 w9 x7 o( b  s. u9 W            {                . Y/ l% X3 a% I1 I
                LPSKILL lpSkill = &(m_aJobSkill);$ p# c( t7 @* d, |
                if( lpSkill && lpSkill->dwSkill != NULL_ID )/ b+ O* J& l: ^9 ?
                {
7 C' W) @# F) ~: K8 K8 z  e$ s5 g                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ) ~0 b/ X  U; r1 V
                    if( pSkillProp == NULL )5 x( U. d! {( K/ e
                        continue;
2 Y* @) K/ ^$ q5 I4 c                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)( [: D: v2 ~" I- x9 H$ \8 }( ]
                        continue;6 {: F# h: X# j% U5 V/ m5 \
                    lpSkill->dwLevel = 5;, A7 ^4 _/ n7 ]  g# b  ~
                }  J; r2 g2 F$ o) o
            }
- s" m. ~- y% r* u: ]# j$ ^        }/ R: F4 S" m8 |" @& G
        else if(IsLegendHero())
' b, u* }4 e% e1 C: _! ^  A# t        {: r) D1 A" G% \: W. u7 M) l
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 n6 I, Z; s4 ]" v0 V& t            {               
3 S: ]; f! E$ }$ D                LPSKILL lpSkill = &(m_aJobSkill);
; J5 d! {% s! {) I0 B- f" e! W                if( lpSkill && lpSkill->dwSkill != NULL_ID )% k9 ~* L: q2 B1 R  P- n5 r
                {! `8 ?& Y" A$ z4 O- g0 W& x! ^
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            * T2 V3 b% _4 C- r
                    if( pSkillProp == NULL )
* B2 F; {7 d7 d# g) R0 B* ]$ ^  d& D4 k                        continue;9 W: v- x3 D5 {. }
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)7 M' o. m: q) C/ ]/ L( n3 B
                        continue;& I6 {8 c! c; ~  e5 c1 e: U0 a
                    lpSkill->dwLevel = 5;
6 W+ R8 t) M2 f+ Q$ P                }# q9 a# G' M: P" v+ f9 N- E& r
            }. r% @* d# y  T
        }
0 Z7 q  A) O4 Q! H, x8 Q. T#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
1 Z1 X/ X7 }& T3 \0 {        if( bGamma )
$ T4 y2 j# M% R0 Y6 d, r        {
) q1 h* @2 n. f8 \' |            m_nExp1 = 0;
2 S9 h+ z! F% R0 f        }
2 W3 H* h3 T; P/ Y" ]0 v8 E8 ^1 z* f1 R8 @9 f) r
        ( (CUser*)this )->AddSetChangeJob( nJob );
+ L2 @4 H7 F3 \5 k& }6 f' Q        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );. y4 g- N- M9 B8 v9 R
7 f5 L: [& |- z& K7 H  y

. V. L6 ]' s  @( s1 k#if __VER >= 11 // __SYS_PLAYER_DATA
, I- p" j3 u( A' h' \% j2 b        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
# p2 g) q! R$ @#else    // __SYS_PLAYER_DATA1 Z2 v, W& S$ t& Q) z
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
% ^" L6 Q5 T: H( p6 s) l9 v        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );  R, S7 K0 A  N- u' ~$ a5 I
        if( m_idGuild != 0 )) b% ]/ p! O2 r# s  _5 N" |2 s
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );. h8 d+ r% a, C, w0 L  d, Z# y
#endif    // __SYS_PLAYER_DATA
2 T: A, Y7 `6 _7 W0 V1 P        SetHitPoint( GetMaxHitPoint() );
( \) J4 A& i, o# I* S3 n; i        SetManaPoint( GetMaxManaPoint() );; i& w. w" q. o
        SetFatiguePoint( GetMaxFatiguePoint() );$ F: a  f1 m! Q, Y. T
        if( nJob >= 1 && nJob <= 4 )  k; ?% k" P$ Y
        {3 ], R& [* ^: A2 E5 i" ]
            m_nStr = m_nSta = m_nDex = m_nInt = 15;# H* A4 e6 q( ~: {% t0 K/ w  e
            m_nRemainGP = 28;2 J2 l# i8 J& t, M6 C
        }
( p8 T" ^+ |. s9 G        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
0 @8 d. N: {3 b" G. [0 u; Q        {
% I' t0 c+ }; l. a3 [( Q            m_nRemainGP = 118;
/ u# s6 f% h% D( U7 U* |; N; U5 T0 [            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
, @3 @/ u9 s2 o( S            m_nStr = m_nSta = m_nDex = m_nInt = 15;2 f0 M. j  R. y5 k7 G
        }0 m1 F4 J9 m2 J
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )& @+ O# r% ?: i3 R
        {2 m% T) Y1 Y8 r' U* |& S! x
            CItemElem itemelem;" C/ t# |4 c, j9 c; M: {! I
            itemelem.m_nItemNum = 1;
- E3 m$ }6 V6 x* _            itemelem.m_bCharged = TRUE;
6 U! k- s! H0 h3 a5 A' a" \7 |            BYTE nID;
# d) k1 O+ e& Z0 ?: [0 |7 E# s. s; o- K; ]& s* P7 d7 \( F
            if( nJob == JOB_MENTALIST_HERO )
4 N, Z9 m9 G1 t! E+ g0 u! x                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
: T- g" l% v3 s' y            if( nJob == JOB_FORCEMASTER_HERO )$ |  P3 |; D# u6 c! l5 x! q
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;/ B1 D% W+ D  v9 c% C% d" h

8 d- o& s6 Y& |' S  G  c1 a" o7 E- B            ( ( CUser*)this)->CreateItem( &itemelem, &nID );' ]+ P2 t# r9 L+ ~' n
        }
' n, N9 ]8 f# j, o        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );/ _6 o* i. {8 A0 B. X/ P! Y& }
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
3 X5 q+ U" C5 {# `5 ~        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );6 S) W1 `# F* Q7 D8 ^$ u3 `8 n9 b
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
  p- r6 @' D: M1 c( s        ( (CUser*)this )->AddTaskBar();*/9 a8 G2 E1 G6 Y" O
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );  d7 m$ K( ]" n
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
( W1 I; A7 C  T; z# C6 ^        ((CUser*)this)->CheckHonorStat();- s, O" l: V% }/ t
        ((CUser*)this)->AddHonorListAck();
4 m7 K& f$ R$ ^        g_UserMng.AddHonorTitleChange( this, m_nHonor);7 @, M2 ?# l; J. o$ M
#endif    // __HONORABLE_TITLE            // ′Tà?
# @- |/ H; Y) s6 c% l    }+ }! h9 n1 _3 }5 f: W! o
#endif // __WORLDSERVER4 z& P# Q$ o: b9 H$ r& o" c8 V
}  
" _' p# z9 T+ J" O# ?9 u2 E2 _* I6 |
然后你进入functextcmd.cpp并添加以下  n$ G0 Z8 h# s' ~6 ^. ]- Q6 d( v  `& T
( e! `0 Q' [- U8 q
代码:& y4 |+ |6 T7 v9 h3 _8 w
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )# q$ @1 M* J+ a4 T& e4 ]& q
下面插入7 q& w6 V( c7 D6 m* t
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ' N% w! E" x) Q- O( W
' w) {5 ]2 b# ?* O4 \; r) B
然后你去
  h0 u* E! r$ t4 X( g; b1 G" C: O0 f8 Y3 G* D7 Z' B/ f
代码:
$ j* Q8 y$ V% o2 k代码
& e, O; {0 Q' k2 dBOOL TextCmd_ClearPropose( CScanner & s )
2 q5 L% M% \' t. M& }{2 M, E# H0 s4 F+ t) p" I1 Z
#ifdef __WORLDSERVER
* K: x6 `  c3 b; R1 _: n    CUser* pUser    = (CUser*)s.dwValue;
; a$ M, K9 g6 E% S7 `& _+ F7 q    g_dpDBClient.SendClearPropose();( ~6 `* z: c( r2 n6 b2 p- h; ^
#endif    // __WORLDSERVER
$ h1 Q0 t. f. r  k0 A    return TRUE;$ I7 p' C  u; C: ^$ [! v
}& Q5 a$ @8 M1 c$ e% K1 Y3 x% {
下面插入; @: Z( n) l4 V5 p, z! m- |
BOOL TextCmd_rebirth( CScanner& scanner )' d: J9 N$ ~( [! M$ S& V6 h
{
$ A' e) [. }( X: H% Z9 p% K& o% R#ifdef __WORLDSERVER
2 _: b8 ]  `1 w9 ^& l# UCUser *pUser;7 T0 J; ]- Q& V1 }; F
pUser = (CUser*)scanner.dwValue;
1 o9 W3 b! J. @- u- ~if(pUser->m_nLevel >= 150 && pUser->IsLegendHero()). o6 b- j1 K# w' W9 E$ I
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);9 S7 b8 G. V5 Q  s& O
else. y& f: B+ n9 z5 Q% @
pUser->AddText("你还未达到重生条件!");
! X$ {. X3 Y/ j7 \0 B. G#endif
+ F6 Z) Z( I: h) H8 a7 b6 _5 freturn TRUE;
$ {8 a# h8 ?- n8 y6 I}  , H+ |3 ^' m& ~9 `( J! T4 K
$ C. W; m! g2 ^* G# I1 p

+ i" a9 z' W/ E, t6 a2 \* v; w% `3 ~& P4 D! H6 Y
( ], q/ S- X0 A7 b/ G# t/ W* L
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 02:44 , Processed in 0.062878 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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