飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
1 Q6 D7 Z' i% \" |4 F  T6 j; O" y
% e6 }1 ]5 h0 eMover.h
8 x, Z" J1 u; B6 m代码:
" o/ Z- \  }5 D; ?找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü' L/ V3 O; o& L! _+ Z6 g, ^

" c! \4 e9 N; S1 D' ^  K下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
: C4 s* K* j$ {# @# b! l. g3 g: G) T& {0 c: N4 E
然后你去mover.cpp添加, G; o2 n) J+ q

8 N& _1 E, `8 I0 @! Q) {代码:- o( {. N, e* I- |
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
7 c- _8 ?" P' i  h; X: c" h{
8 {# J3 Q, l/ f$ Z# N#ifdef __WORLDSERVER% {& Q$ V& Y7 z* v& B2 u1 c8 C
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó$ X; n2 s8 H) O( w
    MoverProp* pProp = GetProp();
* r4 X$ W2 R8 [- j; ^    if( pProp )
6 T) D9 v( c0 h: v# t    {
4 |* Y6 a* u9 \        if( nJob > 0 && nJob < MAX_LEGEND_HERO )3 N3 ?6 o: F* s( n9 \
        {
2 W$ P4 _) X8 }0 H3 M# r            AddChangeJob( nJob );' x9 M* M0 ~  I+ q
        }else{8 d& Y) L: x4 V, w- F3 ?& E# I
            return;
+ v  A  f- t% V" \* u; B        }, Y; M  v" {, w' u" v0 O
        int nPoint = 0;3 e6 P! p  n9 ]( E6 m
        if( m_nJob == JOB_MERCENARY ). ?" D/ M3 Z, s9 T: O) F0 L6 [
            nPoint += 40;
* i5 c3 r$ G& C: ^5 v) E" x- [# [' m        else if( m_nJob == JOB_ACROBAT ). b( r) w0 o: f) H' [) {) L) j
            nPoint += 50;* \4 w5 D" q$ x3 v5 K8 K- K# J
        else if( m_nJob == JOB_ASSIST )4 y9 v. m1 U6 s0 i4 a1 @
            nPoint += 60;
2 }2 q! p( \1 V# h4 s' [        else if( m_nJob == JOB_MAGICIAN )
$ Z1 Y( W  u9 C" T            nPoint += 90;3 v! r2 |! q( y+ D' E
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
1 \& [) r1 d  l3 `2 Y1 h3 E, m* x& M            nPoint += 120;
9 a6 t5 a9 e8 Q8 F, b% d        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )* F, O+ \! t& L9 J
            nPoint += 150;
9 c8 f9 E6 R$ O9 ]        else if( m_nJob ==  JOB_RINGMASTER )& n% g5 x7 B7 D6 a5 K/ @
            nPoint += 160;% e6 d$ h. n+ Q& G/ \5 F
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER ): y9 W9 W1 s8 v& L5 h' Q6 v- I7 N
            nPoint += 180;1 D  Y5 j4 c+ j6 j
        else if( m_nJob ==  JOB_ELEMENTOR )
+ }* }# V0 y% w# ^            nPoint += 390;, |. g7 w& z- d3 h6 i
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )7 v" l$ d0 L1 m4 b5 S0 x
            nPoint += 120;1 }/ X. _2 v1 c3 ~4 Z
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )8 I. ]) _3 ]9 b. |- c" \% ]. h
            nPoint += 150;. Y9 V: x7 O' E, V% S+ d
        else if( nJob ==  JOB_FLORIST_HERO )
8 S% |1 F: v7 {3 Z0 ?            nPoint += 160;' c- a- K& T4 R4 O8 ]% _
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
) k: M1 ]; c. I/ Y& Q) d. N            nPoint += 180;; `& P$ `0 r" [, ]$ T/ ^
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
( b* u* d) q0 y/ M7 P7 S            nPoint += 390;* [- V4 Z: c) L- I# }

2 Y) w& \7 h8 v0 G4 M2 m8 |' e        AddSkillPoint( nPoint );8 j/ U5 \6 U7 N; s
        m_nLevel = nLevel;" J- v) y5 y9 y# O& Z" w. P

8 d3 i* N8 Q8 l2 p5 B        SetJobLevel( nLevel, nJob );
! s  k% @3 c% m, G/ n        m_nDeathLevel = nLevel;6 _/ o- g0 W0 Q+ ^, ^8 x( f4 A& Z
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans# o. j! i9 w) }
        if(IsMaster())0 ]: S; @2 R; ^/ p
        {
- T& v- v4 V) O  r  b+ o, F            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108& f& E( T# h% x2 w' ]
            if( nLevel > 59 && nLevel < 72 )3 Z2 N& U( H+ A
                dwTmpSkLevel = 1;: ^' v+ F7 I$ w' o  a
            else if( nLevel > 71 && nLevel < 84 )0 V, ~+ a$ v& ]" {/ h! V
                dwTmpSkLevel = 2;
# n3 s) h4 e: d1 W  U            else if( nLevel > 83 && nLevel < 96 )
3 N; @& F3 t5 l/ x  t) e% A                dwTmpSkLevel = 3;* P/ Q8 W+ q/ h
            else if( nLevel > 95 && nLevel < 108 )$ h7 t- c* f: u) Y" z4 |( b! J
                dwTmpSkLevel = 4;
" P8 R* D' \, @1 J! j/ V            else if( nLevel > 107 && nLevel < 120 )- w; F; ^3 U; o) C
                dwTmpSkLevel = 5;
( ^2 x: y; c: c& X# S            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 T: y) Z8 t% k1 x- L
            {               
4 ?( z/ J% z; K  Q                LPSKILL lpSkill = &(m_aJobSkill);
9 f8 u! a4 g- A                if( lpSkill && lpSkill->dwSkill != NULL_ID )" n* Q, W5 b6 j. p. P" R# p6 a" y7 p
                {
, e  f! m1 k( m3 P/ b: K                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( Y0 U9 l9 d3 Y7 d' ]                    if( pSkillProp == NULL )7 L0 @! ], t+ \2 q
                        continue;4 X& E. I+ B( j8 y4 x
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 {9 |6 [# J! B& i0 i6 r                        continue;! H, J; y  J% h/ n1 p% q
                    lpSkill->dwLevel = dwTmpSkLevel;
% i9 |9 ?! y+ K* g  C                }: f, _4 j, c8 Y* S: B1 a' d" m
            }
) l$ @) C0 d0 e3 `+ i2 F        }6 M& I  {; f. D7 ~
        else if(IsHero())
1 j- h! p# X- Z, ^        {6 s; O9 Y$ b- ]) \1 X  D5 T
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / B$ S  M6 x+ |( l0 a, S+ `
            {               
% |' ?! @7 n9 J& i8 g% W& u& f                LPSKILL lpSkill = &(m_aJobSkill);
" ?) w" e6 i2 d  E+ d, c                if( lpSkill && lpSkill->dwSkill != NULL_ID )) y+ n: e5 A5 _, [+ r. @, ]
                {$ P2 E" V) |9 M
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            9 b! I4 T' w5 }: n
                    if( pSkillProp == NULL )
3 P  O" c! L/ A  }8 T6 i. Z4 s+ z& t                        continue;* N) P3 P# ~$ s+ F$ O5 k. w
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* c; X4 p8 b) K/ z# q+ r                        continue;
5 A: M- T* a' s                    lpSkill->dwLevel = 5;
+ t" q+ Z7 l/ ^                }4 L  _5 f5 j% k* M( @
            }
$ R! D; h' X: O  E8 N- ]# b        }
( h3 C  ?. e% h6 e        else if(IsLegendHero())
' D& L# P2 X1 m+ x        {6 K, @4 m' v  M4 i1 z
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) : S- N. b( k" T! p  q* [. e
            {                " S+ {  g, B+ q& L5 b* h
                LPSKILL lpSkill = &(m_aJobSkill);
" T6 z/ s; }! O! U                if( lpSkill && lpSkill->dwSkill != NULL_ID )4 I9 }  R4 {" p; B7 L
                {) z# a0 K* t7 H  W$ z5 I2 ^
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
* z# v6 o& b7 E! b. X4 m                    if( pSkillProp == NULL )
. A$ K- }- L% O                        continue;
* l! [/ Q9 x4 p0 ]$ L  n5 h: _$ d9 @                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
0 {' g5 D: }% f6 e+ o                        continue;
9 C+ d& p% y4 K3 f0 l/ R  K                    lpSkill->dwLevel = 5;8 e, N4 `6 F" q
                }
$ B0 k' }5 s& K/ q, x8 X            }
8 ?2 o) d3 r( w/ x0 I. w        }
/ }* e- U* G: l2 g# m  a#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
7 C7 C: d) e, F) Z' U# V        if( bGamma )
& B( M. v! E) G6 g: \2 R        {
: {' d- q7 D# H9 w0 F$ @; F            m_nExp1 = 0;( n" a; F- s& t- k
        }+ H- |& ?" ]% T  `% R8 s$ J" n3 ~

6 ?) j  L; ^4 C( ]' ?5 b; {        ( (CUser*)this )->AddSetChangeJob( nJob );
# \+ g" ]3 A. I' M* D2 q        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );  e" z2 i4 p" E0 Y: h

' P9 ^( I3 e' a
3 y  Y8 R$ k9 X0 f" z& A2 o; t# d#if __VER >= 11 // __SYS_PLAYER_DATA/ s6 B6 N+ l2 f) [
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );) ?1 F1 @9 E9 U; D: Q
#else    // __SYS_PLAYER_DATA
) w  t3 q9 }; E9 Y# J4 Z$ y        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
" o1 N+ g9 x' w        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
, V4 E# C7 e: W# E        if( m_idGuild != 0 )! o9 h" E  x9 {1 \1 m9 n
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
* G+ u+ h  U6 `  u#endif    // __SYS_PLAYER_DATA$ P. t8 L% d+ l2 m
        SetHitPoint( GetMaxHitPoint() );
  {, O8 m5 f) O        SetManaPoint( GetMaxManaPoint() );
; t/ w  v1 K6 S: W8 Y+ G8 S        SetFatiguePoint( GetMaxFatiguePoint() );
4 Y: H6 v( p; F0 L/ m( b3 F3 m( y        if( nJob >= 1 && nJob <= 4 )
  I0 d0 Y- f9 N7 p" h1 n        {
4 R3 L4 r4 [* b- Z. Q            m_nStr = m_nSta = m_nDex = m_nInt = 15;/ O$ w# P  o: ]# T( }8 h$ G
            m_nRemainGP = 28;7 W# ~1 X% ?, h4 l8 V! L
        }3 \/ e6 F& {  p8 P, ?
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )7 ?9 ?5 ~6 {, k& X! R. p
        {
  B3 x% ^: b  b8 C+ v7 m            m_nRemainGP = 118;
& o/ R5 k/ {% l% W' X" C5 p; r            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
; e; t- D1 B' `' @) J" q1 M            m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 f4 M# q/ d  m8 k( K) u" i6 k        }
" v7 R: e! D  ^9 N. l        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
$ {0 v! V/ g8 D# F        {
5 [# j" H' z* \            CItemElem itemelem;8 N3 l% @: t/ H) y
            itemelem.m_nItemNum = 1;1 l8 Q# B8 H- w9 U
            itemelem.m_bCharged = TRUE;
( k, R. u. H$ M4 Q5 u9 [+ I3 o            BYTE nID;
' ]5 R9 P# `. T, f* g! l/ p/ X# q9 _3 b4 \, b4 P
            if( nJob == JOB_MENTALIST_HERO )
9 W6 [9 R0 w- k6 B                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;  a7 ?( d& ~) t( ~1 u- B
            if( nJob == JOB_FORCEMASTER_HERO )2 Q* H$ k" H0 C0 c, `2 t
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;6 |* F" Y. y9 b1 ^

( T1 n/ s$ W4 W: F- W9 z            ( ( CUser*)this)->CreateItem( &itemelem, &nID );$ q5 u+ f. Z$ {
        }4 P/ R4 F! B: C3 z$ r& y: t7 R7 U
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
9 f, @5 U* V3 M! d( Q# ]        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
1 ^. X, U% L1 b1 v8 w- E6 i; K        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );* [7 c. y- A! a: m; ^9 k# w
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
1 {' b, S3 P' w3 F. v        ( (CUser*)this )->AddTaskBar();*/. F# r& n, O& k
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );5 P% w7 w& j$ e, |$ e2 h! b- W
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?$ F: G8 x$ M7 X' t# T
        ((CUser*)this)->CheckHonorStat();# ?/ W  n# G& ~$ k+ ^3 P
        ((CUser*)this)->AddHonorListAck();
, I: L  [/ Y  h5 g# \' X7 y6 T3 H        g_UserMng.AddHonorTitleChange( this, m_nHonor);
' z. E# \0 d7 K* O0 w#endif    // __HONORABLE_TITLE            // ′Tà?' N2 f9 u* m0 x
    }
& r" ?2 R, Q1 P! j0 x3 g) N; _#endif // __WORLDSERVER
2 J0 R0 A0 j/ S4 E) Z- i}  ( R8 _. w& \! `

; j0 o! G' R2 a( Y然后你进入functextcmd.cpp并添加以下) d0 F6 M1 a- ^# W3 F! n
6 Q# W! r/ x9 n0 f& E
代码:4 D1 ^% c9 F1 _1 P1 n$ G
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )+ c+ Z' |2 K2 R+ r& }( ~) v
下面插入
/ i! H+ t' B/ e8 N3 o5 RON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
$ f& `3 B) u3 J# |" _: a, l  |% U. Q; t( X
然后你去$ v' ?3 v0 D6 |/ b: X8 g
; u) N& w1 J% U+ Y
代码:
. W' j  Y4 J6 s3 ]: B. i代码
2 r( R4 A4 L+ G/ b  b9 O  _BOOL TextCmd_ClearPropose( CScanner & s )
5 y' p* ]$ O  n  D1 m! \# v& V' a{6 ]8 ]: p( p( u2 k+ B
#ifdef __WORLDSERVER7 x; Z# [. K' K' X5 k
    CUser* pUser    = (CUser*)s.dwValue;
3 `3 s' q. A3 X/ _    g_dpDBClient.SendClearPropose();
( c" A( |+ a7 [# @3 q#endif    // __WORLDSERVER
: w( D0 P) h6 v7 ^8 N* q    return TRUE;: a" c! H6 I) }$ ?% W
}8 @9 B- x* A  _7 @+ p; t
下面插入6 g3 X* {3 i! J' A
BOOL TextCmd_rebirth( CScanner& scanner )
  J1 T- w3 f; |0 k7 B{8 \& p* J7 u8 k7 B$ {8 `
#ifdef __WORLDSERVER- _( \+ u8 d0 j. H
CUser *pUser;
& T: t7 t( L: p3 l/ ~pUser = (CUser*)scanner.dwValue;2 c8 |% ^% `- d6 e' _
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())  w9 d9 h; ?! k: m$ S  v
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);1 V4 z& ?+ p; k5 i, Q6 W
else1 u7 k" K- p5 ?
pUser->AddText("你还未达到重生条件!");
3 ?5 J' x7 p) ^$ ?! b0 m#endif& _* o( I3 E, k& a# o6 a9 {  z. c
return TRUE;
3 R8 ~& \# U% }+ ?6 i3 }}  
2 I. f8 E( I8 n7 H5 Y
1 ~) L* @  X- X# A0 Z
( r4 J: I7 u9 L1 v; N% y4 f
& S1 e6 ~5 G! J  ~  [0 R# t
% z( @3 }8 ^5 P- B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 08:23 , Processed in 0.064285 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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