飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel! ]1 W2 d0 k8 ~6 ~1 x# ~

$ ]1 @* V. J& S. r4 T, z2 XMover.h
0 a3 N1 N0 d$ w代码:
% k2 o, p! K% j# c, i找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü& @1 P, ~# d; d* ?5 _: H3 y
1 I/ v& Q- B+ n$ ]
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  7 v+ o5 O( z% n' U; R" n
) X2 s3 v+ _* S
然后你去mover.cpp添加
, o- [$ N  u2 @  b* j) p- n( K. ^3 p7 ]) X# @8 U4 J
代码:
2 q4 o" _* t  j& zvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
7 t. \. E7 u2 s{2 ]7 o0 ~1 f5 y& D  ~
#ifdef __WORLDSERVER
, O3 b! j+ o7 m    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó0 w3 H7 C3 i/ M2 @
    MoverProp* pProp = GetProp();
7 O; O& B, O5 r4 f. u0 V    if( pProp )# j; X! J2 |1 ~! j) O6 s. y$ O
    {5 {+ C; S. ?/ {4 a6 _8 H
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )/ t5 t1 q+ d+ t9 U7 u
        {
5 m: {% U, @+ R+ q            AddChangeJob( nJob );$ X- s; D$ t8 n! f5 T( c/ k
        }else{. n( y! s) v7 s' j' \# B$ K
            return;
# W5 y+ M1 {. M" U: k6 j        }6 `5 u5 V5 K  f" u$ @. j& J* F
        int nPoint = 0;
, A, k1 {. Y7 x, I# i        if( m_nJob == JOB_MERCENARY )
8 J4 d6 O* e% C            nPoint += 40;3 C: G/ m, ?4 ?/ Z
        else if( m_nJob == JOB_ACROBAT )* V9 h; {' i& |3 n% V
            nPoint += 50;
& W" A" I# o6 o        else if( m_nJob == JOB_ASSIST ); W* Z! g' K$ O
            nPoint += 60;
. h' o+ A4 s$ `& @        else if( m_nJob == JOB_MAGICIAN )+ t; I1 Z0 A4 L* I) C% a
            nPoint += 90;) H4 T) A( i0 d8 f3 s) s3 e  \" T
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )8 A" ]& H6 {& E% l: N
            nPoint += 120;. f  b, e( Q$ T- e
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )+ c9 S) h) Y* p5 c" R6 M' x* S
            nPoint += 150;
3 c2 m3 L) S1 h, a' D# q6 d# F        else if( m_nJob ==  JOB_RINGMASTER )
5 u8 a$ \6 Y  U/ H# ^" J            nPoint += 160;
$ F8 d+ }6 B2 O        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )% I5 u2 @9 w, s9 g! k, Q( b* D- W( m
            nPoint += 180;
% V* x+ s% y2 E- m7 t" O2 A8 p" X        else if( m_nJob ==  JOB_ELEMENTOR )
2 T, P) {  i: W3 i+ B  k& P            nPoint += 390;1 O8 B' C& l2 P- D" b: I% C0 a! S/ J
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
3 F+ J- @# f" _            nPoint += 120;
7 l; X7 Y6 l, Z3 h1 P        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )/ M' I, K) ?$ Y7 V# E2 [7 T
            nPoint += 150;
9 M8 `9 k6 P' w# g) f3 ]& r+ ?2 L        else if( nJob ==  JOB_FLORIST_HERO )! [  v1 i1 G( u" l) x. S
            nPoint += 160;% [6 F3 {' j! \6 ?5 Y  O3 z1 B  ]
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
1 [" h$ A! M9 g, C- t3 K  l7 `            nPoint += 180;6 u" U! Y6 p% t$ |3 R! m
        else if( nJob ==  JOB_ELEMENTORLORD_HERO ), u! O# h+ A- s  m
            nPoint += 390;5 `# u1 M) @! R) {1 Y6 N/ a. b' t
( e/ [4 W8 t3 v
        AddSkillPoint( nPoint );& H1 x& ~7 l- ]" A5 M( ^
        m_nLevel = nLevel;, z- i- T3 X$ x* K: B2 I0 b& `
, G/ m$ F, e- ~" R: g7 a
        SetJobLevel( nLevel, nJob );4 Q3 W- d7 W, V# X& E( q7 }/ z% Z
        m_nDeathLevel = nLevel;
: a: Z8 R, a& }2 T8 Q9 X4 u#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
; G! l# ^/ o+ o. \; Q        if(IsMaster())) }& ]6 g+ m7 ^% d
        {( `7 L, j3 ]4 J) [! S3 T
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
" c  i" ?9 x( B6 e/ }            if( nLevel > 59 && nLevel < 72 )4 Y: o/ j5 A% m
                dwTmpSkLevel = 1;
$ M* N0 {& p4 X6 D            else if( nLevel > 71 && nLevel < 84 )
0 Y$ n$ H  c$ j+ \" {0 W                dwTmpSkLevel = 2;
% U& i5 ~" L6 P* c7 p  n. Q            else if( nLevel > 83 && nLevel < 96 )
& N6 i7 J+ A# M) [& ]( u. s$ d                dwTmpSkLevel = 3;: f, Q' Y5 w2 z9 ^
            else if( nLevel > 95 && nLevel < 108 )
- f+ W7 \  w6 g  H* \* r                dwTmpSkLevel = 4;! G& X6 z' e, |1 A
            else if( nLevel > 107 && nLevel < 120 )+ I' P0 I% O3 x0 m; s. _
                dwTmpSkLevel = 5;
: _# D( o4 `1 z! H6 W            for( int i = 0; i < MAX_SKILL_JOB; i++ )
; E) V, ]4 ~: C8 T3 N            {                ( e  @) W; v$ \# W% O8 Y* a- H0 W" P
                LPSKILL lpSkill = &(m_aJobSkill);
$ v1 d3 c' e( B( O' t& i                if( lpSkill && lpSkill->dwSkill != NULL_ID ), \/ }+ j6 r; T2 a. ~$ i& P
                {% S+ b6 ]% {4 d9 k( q
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            & I1 @( G9 p( q3 ~
                    if( pSkillProp == NULL )) A. W& ^- `. I) \  f
                        continue;8 R& S' K$ e8 M( b* ?
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)+ S  \0 O4 Z1 g4 v0 o7 i6 a
                        continue;
/ N- L+ T8 B8 a4 g                    lpSkill->dwLevel = dwTmpSkLevel;
4 h$ Q% c8 \+ U# o5 D+ ]" [                }. P5 [* E  S! h- D
            }- \9 @8 t( m1 P
        }; C  N& l6 B4 B. E
        else if(IsHero())
. h3 O! q2 U5 J2 d        {
/ B, ~$ d6 H9 b7 ^4 Y            for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 d  G) ~; U1 B# B: r            {               
/ x- J- |' _9 y2 t& ~/ T3 o; I* s                LPSKILL lpSkill = &(m_aJobSkill);
# I4 [3 C6 V. F) f& g3 v7 y                if( lpSkill && lpSkill->dwSkill != NULL_ID )
1 [$ e! X$ d  o9 D; q                {
$ w& f# h1 B- M0 p6 D                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
4 E" ]/ h' I& h. F5 D! _4 ^5 H                    if( pSkillProp == NULL )7 u" i: b( i" W! _8 Q, k
                        continue;' j* s! o4 \: x- j& m8 l) z  a  T
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' d7 q1 n% g1 [9 w                        continue;
* ]# n4 L& D: J4 @                    lpSkill->dwLevel = 5;; D* X  ~+ I, d% P4 ^1 D. y! f
                }+ q- o+ @; W$ a" P% K$ N- d5 T. f
            }
  N( v* A1 z! G4 K# w+ i% |        }5 X: E) [( C3 r1 m
        else if(IsLegendHero())
/ h# d% |1 ^) Z6 V* h( v, v: K6 _        {
7 x/ I5 D' w& @. I9 W+ [            for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 j( H9 Z/ O+ P/ r            {               
/ D; j, E9 k: @: T3 z- ~" d5 I                LPSKILL lpSkill = &(m_aJobSkill);8 W& q9 i* S6 T7 d' |5 j
                if( lpSkill && lpSkill->dwSkill != NULL_ID )6 b$ _: Z, R2 C6 R* S* r
                {6 x/ Q* V9 l% K9 b
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            : g9 C% f. I0 S+ U/ X7 I
                    if( pSkillProp == NULL )
5 }( p  l  z+ a* s  i2 y- Q                        continue;; E% S* o  T" D/ U" G7 n! t
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)$ u- t5 l8 f, `/ O1 e
                        continue;
# t4 W( G( c# ]9 q                    lpSkill->dwLevel = 5;
& }  N  H  G1 a4 d6 s/ p; a" ^9 H6 h                }7 ]7 D4 M- J. z
            }
4 b* M7 y: a: o3 A. G! j        }
' `- y- F8 @# r8 J% ~( x$ n! ^) v#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans2 O6 e7 V+ P7 s2 k4 A/ Z4 u
        if( bGamma )! C$ J4 t# N5 @% E
        {/ t& G7 u# e- j* p& W) A
            m_nExp1 = 0;/ c  H4 F1 v$ V) v
        }% b' k" Y- U$ y! S

  M7 w' g7 }, o# Q        ( (CUser*)this )->AddSetChangeJob( nJob );
. \; o7 h8 [/ o  U        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
- _( A2 {8 c* t& B
6 D. Z% Q; Y( p9 f
& n7 }# B0 M! h( {+ k#if __VER >= 11 // __SYS_PLAYER_DATA
9 S7 @/ T3 K" X; K1 s% ]0 @1 [; Y        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 q# Y' {+ {6 j6 n/ @#else    // __SYS_PLAYER_DATA
8 H( D6 E* I# e" A        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );, ^' n5 j8 C+ B" \& A4 `
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
) l0 m8 z: q1 D/ N! g1 `        if( m_idGuild != 0 )1 X2 ~) W) w+ b
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );, y; {, k' ]) r
#endif    // __SYS_PLAYER_DATA7 |/ D! P4 A- J$ s% X' g0 U
        SetHitPoint( GetMaxHitPoint() );
! a" Z" B- I( k# y) f% Y- D        SetManaPoint( GetMaxManaPoint() );2 e' w+ L5 x0 O( ~! K* x# b
        SetFatiguePoint( GetMaxFatiguePoint() );
  z2 X) ?% ?6 `        if( nJob >= 1 && nJob <= 4 )
3 I& @  P0 P8 D5 O- W! F- Y+ W( y        {% D3 i) K# m5 i/ Y' W) j' I
            m_nStr = m_nSta = m_nDex = m_nInt = 15;  U+ ^0 L# J5 y/ p" u0 U
            m_nRemainGP = 28;, c9 w" R* U/ E" Z
        }
8 m$ j5 v6 n& j* f" @& p1 {$ w# L        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )& ?! C" Q8 G- a; T! Y
        {2 F$ u+ f. q& X1 _
            m_nRemainGP = 118;( J, a7 a8 y3 t/ O
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;0 I1 M1 {  ^# X
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 ?' k2 w4 z+ j) z/ M: T8 v        }/ f, `5 {. P# b& u6 F
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
* h, L+ D! f! u* K$ h% G        {- \% i6 }$ {% E  A$ Y6 ~: `
            CItemElem itemelem;
( I' l& h6 }! q8 G7 {1 k5 b7 z/ I            itemelem.m_nItemNum = 1;
2 q' @5 C( [4 `, [. p0 n% Y            itemelem.m_bCharged = TRUE;0 \7 t+ B, N. U7 d' X
            BYTE nID;
" [5 \! l: [7 d
) a. a* W: h1 |3 k  k2 `            if( nJob == JOB_MENTALIST_HERO )
+ R- a( g$ E3 c9 ~5 t+ [( c5 S! X                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;) B* D5 }* e. q+ \' m- u
            if( nJob == JOB_FORCEMASTER_HERO )+ a' K4 M" N  [( c
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;- _. `/ R5 P, h+ |% P9 \6 a) I% n
- {: F  d5 H5 ~# \! v
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
) |5 k3 O# i+ o& z  A        }
4 U( b6 p* _- O1 K' x9 a) v/ Z8 Y( t! L        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
# U( Q, O  B- i, F6 x  @        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
/ T1 y; |# I& B: p        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );* g. `% d& c8 P  R8 z- x
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );7 v9 J' Z# [, e0 }' [5 U+ H
        ( (CUser*)this )->AddTaskBar();*/
; E& D; |' m8 X9 ]% `7 Y& v% A        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );" l# I) g- T/ n# D5 Q* N4 m
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?. d8 c3 n( H, h1 k7 t
        ((CUser*)this)->CheckHonorStat();( s7 O3 k& u! P' o9 @0 [3 Q) o
        ((CUser*)this)->AddHonorListAck();
* a' k% C  j0 j( ]4 A        g_UserMng.AddHonorTitleChange( this, m_nHonor);7 u4 k2 e2 z+ @/ n9 w+ i* K
#endif    // __HONORABLE_TITLE            // ′Tà?. M9 z+ h$ I: d' ~5 `6 Z6 E# n
    }
4 Q7 @" {9 E1 Z4 J; F#endif // __WORLDSERVER
, D9 f! ?+ I7 R4 t1 Q}  
& r2 }/ f& g' E8 Q. J8 _# S4 Y# i3 Y0 M. W
然后你进入functextcmd.cpp并添加以下
7 C$ M, J8 u5 W0 z' n
# \4 B- r: S3 R* V  q  |& D  g0 a$ R! n代码:
5 s; ]! Z5 K& ^. A' G1 WON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )( W, A' @- N5 i
下面插入1 T4 e3 s: Y0 I
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ' u& P! n- a# p4 N/ @) N
) D7 _/ I$ ?4 ?( Y+ F
然后你去
" V) u* w0 V# ^) ?" V
+ C8 F" j2 A5 e5 X1 K5 B代码:
: C/ f! L8 b- g' m# j! C6 S代码
* `" h- L+ S! Q; u  s7 |BOOL TextCmd_ClearPropose( CScanner & s )" S( R- R5 X( `9 h; t
{' _! L2 g4 T  m/ y2 r: Y
#ifdef __WORLDSERVER
( }% P  d/ Q$ F5 B    CUser* pUser    = (CUser*)s.dwValue;
: E- _* y& E% C6 F  h% W& L6 [    g_dpDBClient.SendClearPropose();3 g) L) q9 k1 K. P% Z
#endif    // __WORLDSERVER
7 |1 O$ d# @4 s3 ~+ w& y1 q7 n    return TRUE;+ X6 Z" |8 c- a8 Z9 J% X# ?
}
& }  q3 C' h) x下面插入
* ?  S$ O& l8 d( Y4 q  T, DBOOL TextCmd_rebirth( CScanner& scanner )
! F: r0 l8 v8 m) q{( T& {# i5 U7 L/ O8 J" ?' c: v
#ifdef __WORLDSERVER" O6 b  ?9 k1 G- w5 t6 Y2 R) \
CUser *pUser;1 o" ?! Q, b  w( r; y' P
pUser = (CUser*)scanner.dwValue;/ d; s( ~8 a6 _, r3 E# d  W5 i
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
9 E( q* u% }! a& R0 i' `pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);4 {1 O' I8 |4 Y# N# t2 w) D
else
" l+ x- K+ B4 f( N! c0 K+ \pUser->AddText("你还未达到重生条件!");* Q8 x7 k" w: k! i
#endif
( Y" n7 Q9 O' _0 }) E4 freturn TRUE;$ Q1 E3 E# j5 Z! f8 ?( V
}  
8 `1 [$ z; B/ \! v1 ~+ O
0 I) F6 M' w% F7 A: U8 L5 x+ @( X2 N
2 Q& F/ R2 Q3 w3 z4 w6 v9 P8 |2 ~1 J

/ L) d( X& @" h6 p- q
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-5 10:05 , Processed in 0.070511 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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