飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
  R. p1 F- N: a2 C" Y+ E
* e, e2 M# b3 @# z+ F1 M6 |1 n; ~Mover.h
2 p0 L: o" m. d代码:
7 @3 w2 @+ M! A6 a8 a( n% ~找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü( a6 F; V  ?4 r; g2 X5 d
: ?2 G+ E0 I1 C
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  7 `7 A% \- _7 k7 d! G
: w' E4 s( J9 O
然后你去mover.cpp添加
* B2 v! d0 w* F1 h: P/ m" Y: b1 W* n6 k. e  b+ |7 q" D8 l( M* s
代码:
# X6 _! C" B5 L7 h1 wvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
. }' L; f, C' v' y# X{
* {; Q3 k/ i, L# @  f#ifdef __WORLDSERVER
3 [! ?) m* i$ q    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó: Z- w+ V  N" Y# y4 E% i6 ]! W
    MoverProp* pProp = GetProp();
" R, s3 y0 O7 V; R% o    if( pProp )# |( {& E1 p7 k, O+ r0 |0 y! W
    {3 g$ D9 L- {# W
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )6 @  t$ V6 g9 U8 |; F' o
        {$ ~2 u! {0 H2 N- g6 d) g! X
            AddChangeJob( nJob );- u6 ?( w* O6 @5 y$ A/ k
        }else{
, _2 W: O! ?7 }& c            return;
- _& q* z8 W. c; d* V& k3 j, I        }& F( w. Q8 `' i( r- U5 L
        int nPoint = 0;
1 P/ ?4 |: Q- ~+ W& Z        if( m_nJob == JOB_MERCENARY )% S$ G+ y& ~7 \* R' h
            nPoint += 40;0 e4 Q- U; t) D( Y& j' E, Y
        else if( m_nJob == JOB_ACROBAT )& R) P1 i1 `% _: J
            nPoint += 50;
9 F8 q& [. O6 d        else if( m_nJob == JOB_ASSIST )  v" @( ]5 K4 x$ C1 y- j) I# N
            nPoint += 60;
5 J+ l- |$ ^  }0 |+ l: K        else if( m_nJob == JOB_MAGICIAN )8 k, {( c0 J) R% m3 k
            nPoint += 90;* j% }' B$ @, @- W
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )& `$ x% |4 S7 |0 _
            nPoint += 120;1 {% ]& {9 S4 t* T, u- R$ w' Y
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
% g$ E1 ~4 M# M5 X) \            nPoint += 150;
' N6 j: Q3 r9 C0 Z# o2 b        else if( m_nJob ==  JOB_RINGMASTER )
4 e; X- ?( y* X, C, o            nPoint += 160;
, n: I, M! c" S, m. I$ `% E        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
3 ~& p5 v; N: m" D/ v, c            nPoint += 180;- ], d$ J- z; I1 @& J5 c9 i, u# g( T
        else if( m_nJob ==  JOB_ELEMENTOR ): }( |2 ]" }0 E) l* B1 n8 k9 j
            nPoint += 390;
  i" a- a9 S" l9 t        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
" Y5 A$ V) |/ ?            nPoint += 120;4 s5 k. P( \+ F& {- d
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
* ^5 W# U4 B, [7 B: i3 \6 C            nPoint += 150;
& S6 Q4 h' M( |% T$ B5 P2 b        else if( nJob ==  JOB_FLORIST_HERO )
  l- P6 Z4 K4 H8 B            nPoint += 160;3 r  t% s4 z2 A' w5 q" S2 @  M$ ^: K
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )! o/ F, f. G6 l  O
            nPoint += 180;
3 e! w) F1 K1 }0 w        else if( nJob ==  JOB_ELEMENTORLORD_HERO ). ?0 p( K9 H# s  Y8 {  \; k
            nPoint += 390;
) r% H4 z& ], e( @2 S' F$ `& v0 c: X5 q3 A1 B- T
        AddSkillPoint( nPoint );6 Y+ l# ]0 C3 U, f6 X- O
        m_nLevel = nLevel;
% c: A) ]! Q" X( S9 f# m- X! K. T" ^1 m4 K( E8 {
        SetJobLevel( nLevel, nJob );
" U+ ?# m, x# H4 ~6 L        m_nDeathLevel = nLevel;; i5 Z& |2 ^$ }( i
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
7 l( i/ R1 Q' I+ R, t( F        if(IsMaster())
5 V( ]) j6 T: ^/ I: r        {- l1 J/ Q: G# X5 i
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
9 |+ U) `9 Y' z, V6 b$ T            if( nLevel > 59 && nLevel < 72 )
) H/ S1 t  K) u; |                dwTmpSkLevel = 1;9 F& z5 G$ j: A; ^- J, o: A
            else if( nLevel > 71 && nLevel < 84 )
: u( t% d" U" Y! q$ n0 f1 s& ]                dwTmpSkLevel = 2;( F% f* y, m3 ]! t5 h) R
            else if( nLevel > 83 && nLevel < 96 )3 |" d$ S9 F1 e# E1 ^& z) j
                dwTmpSkLevel = 3;
0 a; z2 L. \0 t/ w7 b0 V& p            else if( nLevel > 95 && nLevel < 108 )& L' ?( {6 n* g. n
                dwTmpSkLevel = 4;
% t  K) v, L8 O8 O) s            else if( nLevel > 107 && nLevel < 120 )
; c( o- R9 h3 g+ w                dwTmpSkLevel = 5;/ Q) N% M4 P0 R7 c
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) : H6 V+ F3 j! t1 w
            {                2 N8 ~" D2 A4 i# j1 ]8 ^
                LPSKILL lpSkill = &(m_aJobSkill);5 t: U; y3 R) }* q1 p
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
0 L+ B2 r+ t8 D. K0 j: ]                {
( W2 H6 F: l! l7 Y                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            3 e9 w# u8 ?3 f: U* r7 n
                    if( pSkillProp == NULL )9 R) D3 V* K) [$ y6 K3 {4 D6 J/ T
                        continue;5 z+ W1 [5 Y+ i9 m) ^
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)' P0 o" ~# A6 B( I6 e; Z8 f6 N, m  O
                        continue;
& ~1 b) @& {. W& k                    lpSkill->dwLevel = dwTmpSkLevel;5 ]$ c5 Y: N8 C$ z* f" J
                }1 n! n! l) H; f/ t0 x5 l2 ^# U' J/ S; y
            }3 o  y6 M! W, d. D9 ^9 M
        }
# c3 Q9 ~- n* e3 a# |/ o1 I6 a1 f        else if(IsHero()): q) i% g$ s5 v* O* f
        {3 F7 k/ {" b2 \1 I) o* _2 b+ K
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 ^: X) h- D+ m/ F            {                9 ]9 Z* e0 _+ `
                LPSKILL lpSkill = &(m_aJobSkill);
7 u/ _7 j6 g3 h) T% @$ H& T                if( lpSkill && lpSkill->dwSkill != NULL_ID )3 o; P9 c( B, D
                {  ~8 i& A, _3 ^% e" x
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
; }- m' y8 M5 N6 _; G% w5 L                    if( pSkillProp == NULL )2 ]; D: K  y, n$ o7 g
                        continue;
+ F6 I+ \6 ?4 Q  p* @+ f& {                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER). w. L8 t. L8 L  o1 p* z& L
                        continue;
+ ^" x6 N; ~' ^                    lpSkill->dwLevel = 5;
+ v% }' i; N  Z; |8 J- Y# Q/ }& K. A                }+ H' x1 U8 o. I& H
            }; J, N& V0 T9 Q4 r' a
        }$ M6 ^2 B! T$ b& Z5 b/ b( D
        else if(IsLegendHero())
- l. ~5 j- w' n+ O) {+ X8 R        {
  v* Q) L; [  u            for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ c! R9 F3 Q' j; g* d            {                3 ?# a& E2 L( [0 u) F& g' o- U0 D3 N
                LPSKILL lpSkill = &(m_aJobSkill);
7 X$ V3 Z9 i8 t: r                if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 }4 X6 o- [6 ~                {0 `+ F; R$ I! Q! C* _
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
5 l5 k; [1 H9 N+ \& U                    if( pSkillProp == NULL )/ D+ J" U+ p- b1 S: I) S4 B
                        continue;7 {) q/ g5 w  M" t, |
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! g( \3 t4 N, _+ `) ]3 a; F                        continue;+ {- B9 ?: J4 T3 r
                    lpSkill->dwLevel = 5;
: y9 u+ S( Z0 }! p8 }                }
! k" ]" d# b9 N- W3 u% S4 t8 w, f# B7 T( {            }
0 B! F1 n$ \/ t6 S" q        }* @! Y) R$ b; R' v& _7 D8 X
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# u0 X( I. o- E' c( X        if( bGamma )  M$ h+ \  c; \, a
        {& q8 N9 j/ `4 \( \+ d- t( t; U0 s" o* V
            m_nExp1 = 0;2 `! w" J' F8 X8 i* x, j
        }7 \% A# }( F& s- J3 E! H2 U

: Y1 k3 M8 Q% C        ( (CUser*)this )->AddSetChangeJob( nJob );9 B. S8 R* W, E$ S. [7 I
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );7 Q% f1 ]' j+ o# X( w$ Y; G5 n
& O8 R( k3 O5 x) ?' `! T
" T2 D' E- z" r8 t  [
#if __VER >= 11 // __SYS_PLAYER_DATA, d8 T* r5 o' o9 f' n" N2 W
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );& k$ q/ }( x  p" @, F& k) v) U
#else    // __SYS_PLAYER_DATA
  g$ |6 A* H' J, l* R& `* {4 S        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );5 D9 h8 R; G# J# _) _) T# P6 w+ o
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );& M2 q0 }4 y9 e# D8 \6 {! W
        if( m_idGuild != 0 ). Q. b. @& e" n* H, _" V
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );( T0 e& g  q# h6 b3 k: t7 K
#endif    // __SYS_PLAYER_DATA* \% R# d: {3 ]7 B
        SetHitPoint( GetMaxHitPoint() );
7 Z- H4 k& P7 r6 ^( C; p& n1 u        SetManaPoint( GetMaxManaPoint() );6 [9 G& X1 A6 Y. v
        SetFatiguePoint( GetMaxFatiguePoint() );
3 W# F# _8 t% G' k8 M; C        if( nJob >= 1 && nJob <= 4 )
. s1 e2 D& G) K5 u        {8 ?8 f$ V/ g" e' H0 J. ~, Z
            m_nStr = m_nSta = m_nDex = m_nInt = 15;7 e3 `: _4 D8 }7 G& T8 J+ S: I
            m_nRemainGP = 28;
8 X5 }% e" B/ o- a1 m/ S        }  P4 N* _9 m5 k( z5 A
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
+ k" s- S! Y' |6 o9 q  y        {( ^# d$ `0 O6 G; a9 _0 c8 Z
            m_nRemainGP = 118;
% o9 T$ ~+ `5 b/ M( b7 I9 B2 e            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;1 d7 ^+ U! ~2 a
            m_nStr = m_nSta = m_nDex = m_nInt = 15;" }/ @' R0 I4 n6 u9 [7 a
        }2 h5 l' z6 y1 E& {* F5 z
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 e( a, I6 H1 a* y+ h        {
' o8 \9 O0 v. z$ B6 |            CItemElem itemelem;
. {: \  e/ I& R' v0 R/ {8 k            itemelem.m_nItemNum = 1;' e3 Z3 U  g- ?" d7 M! ]5 i) }1 ^
            itemelem.m_bCharged = TRUE;. @  A$ a! P( J* O- h' H+ O
            BYTE nID;
4 U" p5 }3 @3 O. C, v$ `- @2 W" h( K1 h/ \; s- `' w- |
            if( nJob == JOB_MENTALIST_HERO )3 u+ O+ U# W. J3 w1 e$ e
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
' E. L: {; x/ {1 s5 Y; p4 n6 C            if( nJob == JOB_FORCEMASTER_HERO )
& l; @) O0 j+ l# N7 i+ B                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
% y6 o9 k: Q% g( \2 T" V! F4 `
/ C2 c( t$ R: M7 g* W$ U! \$ S            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
& P. O9 Q2 ]) s        }
0 L  e; A6 b# J3 j2 Z0 o  y* c        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
1 W% p9 K. y8 C  K4 d        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );# o9 S8 R3 h5 Z# i; @, S
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );: k+ n- ^, P3 w! |% C
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
1 m+ b5 m# T2 m# S. |# J        ( (CUser*)this )->AddTaskBar();*/5 A( b+ e# A! i( R- c( O
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );4 @+ W2 q: Q: p5 y) ?
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
: }% `( h, x; k, m, D        ((CUser*)this)->CheckHonorStat();: O! E7 H  ]  w
        ((CUser*)this)->AddHonorListAck();
% |, |8 i7 s4 B9 x" U" Z# a: J        g_UserMng.AddHonorTitleChange( this, m_nHonor);1 S- x# I; o$ _. ^9 @
#endif    // __HONORABLE_TITLE            // ′Tà?
+ b! D% v/ ~& s. ~1 i    }9 ]+ o4 p& T9 u# S: R2 k% `
#endif // __WORLDSERVER$ q6 S2 s  W4 s' {- a
}  
" [7 L8 @; t  K5 k! b" \) H. G7 y4 z4 E* T! E) v: m, j
然后你进入functextcmd.cpp并添加以下
! K; s2 b- V$ g* n8 T1 O3 J, ]$ c
! {) x4 [$ y6 V代码:
0 t6 b' M5 F1 z9 B2 |8 P- V9 zON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ), V0 @3 a' _! h" g6 p9 O
下面插入! U, X& G7 H, Q7 @9 H) U: v
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
! o1 M5 C( u$ ?$ y/ K: }2 t1 E# w$ w" @
然后你去3 |; `" F" `- m6 X

0 a; X* e, s8 y* ~2 e代码:
. a$ g$ e  R, `9 l代码
5 c" F% m$ r* \; \) T- fBOOL TextCmd_ClearPropose( CScanner & s )
, `* v! s9 _3 S& m8 w  |0 e{3 P; o8 ?; T2 H* H) @2 e
#ifdef __WORLDSERVER6 r% N* @. v9 F! m& @/ a
    CUser* pUser    = (CUser*)s.dwValue;- q$ u0 R- e- l! L
    g_dpDBClient.SendClearPropose();2 c' W. D5 J$ p8 @+ A0 ?
#endif    // __WORLDSERVER1 ~: T5 ~# @; K  N! _( \
    return TRUE;
  u8 |, b) Y3 E! y- e1 B4 I- O}
# S1 j6 q( J4 Q/ P3 h  Z' N下面插入
% t" C  S5 \8 S) B1 ]: wBOOL TextCmd_rebirth( CScanner& scanner )- |; }( f" F3 h* R6 Q9 @7 w
{7 ~% W+ L' I0 f: d/ e
#ifdef __WORLDSERVER
0 x: M5 ~( y* e) ^CUser *pUser;
) T& P8 n( v/ q: T* EpUser = (CUser*)scanner.dwValue;, @' [8 l3 Z0 v. O' k" R) n2 d
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
, @/ G6 a. u  ?7 ]8 FpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
/ w, G, ~* R/ telse
# r! v8 f% M5 x) \pUser->AddText("你还未达到重生条件!");
/ e; r+ B8 ?: @1 R6 @#endif
# M$ [. N6 B/ }6 ?return TRUE;% ^4 |/ P& X' a8 T& S% v) }. v
}  
# h- a( v6 R, h% L9 t& ]" K" r9 ]. U% r$ n9 P% Z

& K# D( @; L+ T9 v# I, |2 }3 \+ Y* O" \  P. F" Q

0 r8 E& L( d1 ^: _; R( |% n0 I
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-25 22:23 , Processed in 0.067388 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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