飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
% ^. G; t$ I2 l! c- N
5 ]0 g) l* d, _" H" }  N, EMover.h
; l+ I. N# M5 P$ a2 Z代码:- y; V4 T' f8 F: m) B
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü0 L" I9 O( U. N: S/ E* ]
) u  b# x% @- J
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
* m. z; s+ D3 x9 M( m. p9 Z1 X, W8 G8 Z) q+ c( r5 N/ n. b
然后你去mover.cpp添加
9 L; z! M0 I' i
2 O  J' u2 F/ @0 }% U+ k代码:
9 ]/ c- C6 ^% p1 N/ s$ u: ?; Yvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )8 R1 {1 |1 n7 t% ~
{# m. ^7 `0 i) |( ~
#ifdef __WORLDSERVER
: W. `# P- b2 Y' C$ [( H    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
) y9 Z& f* n* C, A, D5 |% B    MoverProp* pProp = GetProp();5 e! j' D7 x* Y# s7 r3 d
    if( pProp )
8 q7 f- g3 j* @6 D    {' T8 [# @9 s6 o; B% F( G: c7 L9 s
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( R1 h+ x3 b9 j9 u% ?; z        {; H+ `7 `: r2 P/ S
            AddChangeJob( nJob );) e* z/ I, o: a$ `& I3 ]
        }else{
( Y7 P2 t: J; a8 a1 A3 z2 o( y            return;% @% a5 I- q* ]5 j; J
        }2 w6 ]) H) h0 n- y# g6 m+ q
        int nPoint = 0;3 J4 }$ G' ^2 n# J" q* y
        if( m_nJob == JOB_MERCENARY ), d  L, Z9 z& p( f( J
            nPoint += 40;
% @" F3 v, y6 s1 h5 w: y6 v; k8 J        else if( m_nJob == JOB_ACROBAT )  n9 S9 x9 N$ k0 O+ n
            nPoint += 50;
& E  m3 L2 t; a# W" d$ B+ g        else if( m_nJob == JOB_ASSIST )
3 W+ m5 T$ x. b' W: L8 x            nPoint += 60;; W7 W3 d' `+ D! ?  J
        else if( m_nJob == JOB_MAGICIAN )
6 Y  o! ^: j/ _: W) X8 R            nPoint += 90;) h' f" _! G) Q( u" h9 z
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )( c+ d" ]( E& E% W  b
            nPoint += 120;% S0 K, i  E2 g& p& V8 [" A4 @
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
! P8 o7 g7 T9 I) s) s- ?            nPoint += 150;
5 x, u6 E+ u5 v; Q* k        else if( m_nJob ==  JOB_RINGMASTER )  M8 w0 G# _5 j3 X) m2 X
            nPoint += 160;- ^# J! G7 Z. ^/ a3 b7 f5 J
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )' b* r" n/ E  P$ Q1 U2 }( P" g
            nPoint += 180;
7 r5 j. E6 ~- T& q/ i# e9 X        else if( m_nJob ==  JOB_ELEMENTOR )
( H4 P* {8 \, ?1 @7 V$ }1 j            nPoint += 390;  q- ~$ v3 }0 |! ]' s4 s; F+ [( e
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )$ N3 V0 o8 z! S" c
            nPoint += 120;2 k$ N. P3 n; U& ?; J
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )6 ~% @6 ~" b8 f$ M% N; v
            nPoint += 150;
- I3 k9 a* {0 u9 N7 T        else if( nJob ==  JOB_FLORIST_HERO )
6 y# c+ _1 z7 J- \3 K; O3 e            nPoint += 160;, c( x5 t: ]$ A+ d1 M
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )  E# J1 q( Q  M; T- m+ O4 F3 u9 U
            nPoint += 180;
6 F2 Z0 m( [2 O0 |- X" ~  H5 k        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
5 `" y1 N/ T0 n4 `5 }7 F1 a            nPoint += 390;
/ l( C4 G* Q/ R' U1 @- D8 O  `% y7 R. r+ L- U& ^
        AddSkillPoint( nPoint );# |! f8 S5 G( }9 |5 Z7 S
        m_nLevel = nLevel;
; @2 _7 ~0 k2 z
  P: M) ~& j1 Q* s: G, k        SetJobLevel( nLevel, nJob );
8 _( v0 x/ g' U( e% t# q9 G! ]1 m        m_nDeathLevel = nLevel;
# L/ u% k3 q, w+ z/ B3 {! e& `#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans/ E1 o* [+ d$ I- o0 f# K0 M
        if(IsMaster())% l5 T- r$ O% E, m  N4 Y4 l
        {! J2 h2 t1 e5 ^+ \9 R
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
7 G* y% T! }" _( t3 c            if( nLevel > 59 && nLevel < 72 )! z. G1 i) S5 V3 R' i
                dwTmpSkLevel = 1;$ M; B7 \; ^3 v* N# n% j8 Q
            else if( nLevel > 71 && nLevel < 84 )) i8 ^' K8 s) N* @" z
                dwTmpSkLevel = 2;6 y4 `- H) E/ o$ X* v4 q# [
            else if( nLevel > 83 && nLevel < 96 )! A3 f. z8 _: I; x
                dwTmpSkLevel = 3;: p# G/ L( O5 p* x: d
            else if( nLevel > 95 && nLevel < 108 )' H* Y8 s6 i, Y! n* u3 |
                dwTmpSkLevel = 4;
- x0 {& L. @+ y) z! A* `            else if( nLevel > 107 && nLevel < 120 )" ^% o# t8 x  z
                dwTmpSkLevel = 5;
( c8 A0 d; `6 Y* J' D# C            for( int i = 0; i < MAX_SKILL_JOB; i++ )
" U' J* e9 r( c3 r, x            {                ) P7 g0 ]5 H  s1 j
                LPSKILL lpSkill = &(m_aJobSkill);2 f" [: J5 g* t# H1 h1 `+ b' P/ `: @
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 j. W& X: E, W; v% O" }* N! _5 O                {% `6 Z' Z/ k/ L( t8 S0 ?
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            1 B9 `% D# ]5 Z% Y, n7 }
                    if( pSkillProp == NULL ), T+ E; i, P5 ]1 Z! I6 M$ s
                        continue;2 M( H1 b+ Q. s) |5 I- ?- Y* U  c
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)- S# S9 t" l+ }, G4 E% ~
                        continue;5 T/ b9 S, C5 e& K  J9 y
                    lpSkill->dwLevel = dwTmpSkLevel;
% {% b. \! g) `; G                }
$ J3 R# J  |& }. j, N4 v; E            }
) g4 d  f5 X, |- I" P+ K        }# |' t, G. H" F; t( ~5 r, J
        else if(IsHero())
% Q* `1 V1 d' g: |& g( z3 r        {5 k0 _, x! c( F" {8 u
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + N7 V/ K, a! v5 m
            {               
- z8 S0 n5 \4 X( i* h                LPSKILL lpSkill = &(m_aJobSkill);
. v/ }) V* p8 W# r                if( lpSkill && lpSkill->dwSkill != NULL_ID )* t* ~. W4 k# ?  v3 S0 S: r
                {
" z( Q& r. j4 R, |& h1 T8 B$ a                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            # A2 [& ]; R# g) i
                    if( pSkillProp == NULL )% e  V+ i# T# I. m
                        continue;. n6 r7 P7 `5 b; E; n& q
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)0 |7 S' s4 O, I
                        continue;
+ ?& F8 V& g3 Y8 r; j2 O                    lpSkill->dwLevel = 5;
9 D" I7 R( x0 ]; D                }; K' {: h, ^7 {& ]2 C% e7 o6 B+ {
            }
2 Q$ X! b4 ?  o6 C/ b  P( V4 {        }# I3 e& `3 M( W% a  a
        else if(IsLegendHero())5 M" E. U, D0 \/ E
        {  w+ r  q. K) X
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ' G: M$ x. w0 v- a2 [
            {               
+ Y* p" j& N! S. {+ M                LPSKILL lpSkill = &(m_aJobSkill);
* }6 C; D" o/ @( ^+ C                if( lpSkill && lpSkill->dwSkill != NULL_ID )
. S" s. W0 s0 C) m0 _                {+ ]0 M% n; v8 `& K5 U
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
0 o: O# x  o5 Z7 x9 O8 u                    if( pSkillProp == NULL ); s& d; x, H& _$ V5 g( _
                        continue;; E! u5 {7 ~* v- N! B6 i; c
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 U2 m9 U, N8 q9 W1 r% @3 t                        continue;8 g. a8 ]  m* B
                    lpSkill->dwLevel = 5;
: ~3 L. w/ D3 H                }
' m9 I: r/ M8 H1 Q2 R. h: B            }
$ G$ P( P4 P, e) a7 y. a9 b        }- P0 H) D. ?2 s6 H- I( P
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans/ }0 I0 N7 F3 `' K/ S) l# N* N
        if( bGamma )5 U8 r& t; H7 S3 ^$ N& R# t
        {  y$ N) l; C' Q8 G
            m_nExp1 = 0;
  k6 g# J" z& s" [        }
1 ^( R# b: O, V9 W4 h' g( \6 J2 l' U! [0 B  L
        ( (CUser*)this )->AddSetChangeJob( nJob );
% z! C2 C+ k, B+ _* T( B% ?        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
, i0 I, w% D6 I( W2 c
! \5 S! L2 \1 U  C$ d7 [1 A( V' h$ H4 @2 h3 [# e7 m1 s# y
#if __VER >= 11 // __SYS_PLAYER_DATA9 Y" z) R. M; a; T
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );: B( T0 R/ j* G6 ~1 {2 G4 z5 X
#else    // __SYS_PLAYER_DATA
* [' v3 |: ~* H, K        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
8 x, d8 J& v5 j3 K' Y        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
. d. _! B0 l& e+ `; ?        if( m_idGuild != 0 )+ Y+ l5 X# [* R3 a7 z4 A
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
0 W) K( t0 G( C3 t% w#endif    // __SYS_PLAYER_DATA' B% e9 ?& |) {
        SetHitPoint( GetMaxHitPoint() );
+ _# v+ r7 G" T6 h2 i1 C        SetManaPoint( GetMaxManaPoint() );0 Y, j* K0 x4 c" e* @
        SetFatiguePoint( GetMaxFatiguePoint() );
8 w  ~/ \& Q' B7 j3 g/ c/ `9 y        if( nJob >= 1 && nJob <= 4 )
3 q+ a) d# o. m/ I1 i        {
' U& g, a: D) T1 e( a8 \2 o# E" U            m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 n0 D  q  R# I' `% m0 m* l2 i            m_nRemainGP = 28;
! `" G/ ]# c5 G. Y0 V        }
0 o# P& x' ^. b2 ?- P: c        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
* H8 n" b5 F5 i# t        {: u  K3 X2 l1 g4 j
            m_nRemainGP = 118;
# N7 D8 ]) l3 ^, s            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;& ?; C9 c' A" Q) P; X/ m5 t/ _2 `
            m_nStr = m_nSta = m_nDex = m_nInt = 15;8 W  w/ r5 v" i% d
        }
- d9 T  \6 V* z8 T- k* m        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
3 c5 `* s/ y) M* M, h% W        {+ v5 y/ a1 t3 k$ X% L
            CItemElem itemelem;
+ J. Q3 w5 J5 t7 p4 c            itemelem.m_nItemNum = 1;' `2 v+ F2 b, u( N
            itemelem.m_bCharged = TRUE;
* z- U2 U  o9 c/ p) [( @            BYTE nID;
9 D! C  ]" |5 Y. W( s3 `' z" X
# s1 t3 ~1 x( i4 l  L0 A1 h            if( nJob == JOB_MENTALIST_HERO )+ x/ F. p6 U# z/ S7 s: x+ _  w( N
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
  ~, h/ k  T: a" {6 _$ K; p8 }            if( nJob == JOB_FORCEMASTER_HERO )
2 _! L3 O; v6 z" O& `0 F( x                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
! f, H8 ~  Y; F2 P0 E5 M% {7 _0 Q8 R1 F
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
# I9 ^+ f- k6 l* \+ `        }; N' M3 L5 K5 \: x
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );3 K# f% I; P. A1 M9 b8 [
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );; k. x% p. t0 [4 \/ _
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
" S+ Z! H% ]( C) A- I        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );* I. M4 A7 ]5 o% J# h
        ( (CUser*)this )->AddTaskBar();*/1 j* A) v0 v5 K/ p( k; E/ ]
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );8 b. c8 O! d, V. A/ m( d4 V: ~
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
$ L. B7 y, S5 `0 `1 e        ((CUser*)this)->CheckHonorStat();
( K0 a, ]" }+ l7 _+ _        ((CUser*)this)->AddHonorListAck();  k- j9 Y: a) B" m, U) P% S$ v
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
: O6 P* `- [& W' G! N0 p#endif    // __HONORABLE_TITLE            // ′Tà?6 m. |+ P& i; ?; I6 q
    }
/ U) R; h2 u! h9 G#endif // __WORLDSERVER0 J* ?) T9 B! d# T- U
}  3 ?4 C9 w/ D) o! o# q, H0 D! t' l
& @$ o" \  S# P
然后你进入functextcmd.cpp并添加以下/ t: C$ f& t3 ?

0 T* T# Z. ~: N0 E# s  B  o2 m$ p代码:: y/ ?6 `) C; i5 A4 [1 O
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
, d, u$ n8 f8 D/ P下面插入
5 ?- n6 M* {0 I) \3 K% Z4 U0 BON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ; [0 F# U( }: t* o* X& D
; N' j5 d3 G1 f( g% g, B
然后你去& Y# \9 u' z6 r6 m8 r9 {
# ]! Y4 K$ w9 x! F$ Z6 Q. w
代码:& e( e- W, ^0 B: k8 o
代码
$ W" t0 U# A1 R( UBOOL TextCmd_ClearPropose( CScanner & s ); K5 I8 @1 A, ^6 x- b& a) Y
{
2 R( i& t+ P5 C; o1 h% k#ifdef __WORLDSERVER
- m! V4 B+ a% H' A. ?    CUser* pUser    = (CUser*)s.dwValue;( q# O, Q0 g3 O$ I: t% y, K* t& p
    g_dpDBClient.SendClearPropose();! K. F8 @3 E! n; K. o
#endif    // __WORLDSERVER$ Q- ~5 }. U8 g
    return TRUE;' y+ u+ g- O3 k, ~7 u2 d
}
3 d8 ^8 n( g6 O& L/ @下面插入
3 A1 W6 L& }/ O% G! \% r" Y( mBOOL TextCmd_rebirth( CScanner& scanner ). s1 l: g2 e1 l; ?2 x
{
4 g  {( d9 `/ I: ~' D+ W#ifdef __WORLDSERVER% |2 W6 M2 P4 a( Y# n
CUser *pUser;
9 m. h4 m/ V/ e/ m+ `4 GpUser = (CUser*)scanner.dwValue;* j* Q7 b. K/ d  g
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero()), j# b+ n1 s* B# p. P( b( b# b
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);) F, ^+ u1 [0 I
else* g$ t+ l* Q! d" t
pUser->AddText("你还未达到重生条件!");
- K$ r& E' h- q8 ^1 o6 E#endif
, I# L% n1 U; q; Y$ M% W5 N3 i. hreturn TRUE;
: y+ m. D  [$ {' y}  8 l  f" j' |& r
* C0 w5 k  e; H

/ m7 g3 v$ P" @2 a1 I+ y6 v0 O" d0 h
, [: \- h" C$ h: `/ {4 o/ Y0 ~
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 10:37 , Processed in 0.063815 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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