飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
) P* X! z' {7 F" d1 r& B, r. i0 t$ J* m% ]1 K8 [
Mover.h; W0 A* L' [. z- c8 w
代码:
9 J, ^/ t) p4 H7 F1 u) e2 i7 V' C找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
7 ~( t8 u* Y9 n0 m3 R- F4 u5 ?- V8 Q7 X/ `
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  % l8 ~" f) Z" L- H* P

+ D4 H1 G8 Q6 E* U6 p3 ?6 Y" v然后你去mover.cpp添加
* F# s# e* |6 K  K# V% W" Q6 o
. M- y# E  P6 A. N! T  J代码:
2 K" R- f1 z/ y$ Dvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )3 r. J# h# F1 z% u
{: b- r  F( X. [# D
#ifdef __WORLDSERVER
) f3 N  G# f+ B6 r    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
: Q/ P& x6 J% c: Q    MoverProp* pProp = GetProp();/ `4 Y* {% y6 F! B$ E
    if( pProp )
1 L: \( m. o, H' P# K1 _0 B    {/ z4 R: W! T2 `" ?- q# P1 R
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
9 K2 r, h, K; q! t        {
% [5 s' e' I+ ]/ v0 F* _            AddChangeJob( nJob );5 A" H0 `; D& ^  Q/ C
        }else{
0 r6 U% |; J9 T5 M# _0 J/ T. G            return;5 A0 O& J' g' p5 p& \' A8 \* ~
        }
* {% s( _2 y8 X( m3 X  A8 J        int nPoint = 0;- L2 V" Z# D) g
        if( m_nJob == JOB_MERCENARY )# n) N/ a8 k0 ^  _/ I
            nPoint += 40;
# I. Y  ]/ Q4 ]& A        else if( m_nJob == JOB_ACROBAT )
6 l+ H9 Z9 S9 E$ M& ~* }$ `            nPoint += 50;
9 A. ], Q. o; `/ ]& I3 x$ X7 G        else if( m_nJob == JOB_ASSIST )
4 t& C) q6 ?& ~( |0 o; l1 H            nPoint += 60;
) h3 V, q) A* b% w8 M" W        else if( m_nJob == JOB_MAGICIAN )
2 T  \, W2 O4 G8 [: v- }. n            nPoint += 90;- c0 r2 j3 Z* h7 P" x
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE ): s: q5 _6 k! v1 t
            nPoint += 120;% l/ t; x% @  U& Y1 w2 W( w& [3 G% a
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
. L: y  q3 S) x' F            nPoint += 150;
4 |, \! Y/ w9 f1 J5 x& o        else if( m_nJob ==  JOB_RINGMASTER )
+ W/ I% q8 v- r5 ~            nPoint += 160;
4 }1 u- ^* N  r        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )$ `& V% z% Q% ~, [! q
            nPoint += 180;6 `1 ]" S, n) j7 G7 ?8 ~
        else if( m_nJob ==  JOB_ELEMENTOR )
$ c2 L& O$ |5 y: W, {- N; ~            nPoint += 390;
2 D! T4 }2 U- v; _7 {! B6 B        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
8 r9 q2 G5 w" f/ }9 c! N. \! ]  X& o            nPoint += 120;
! q9 c) P4 `1 d) `7 U        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
* L: }2 q) E; I" K            nPoint += 150;5 Z  R2 F$ G( z5 `: u4 Z! i
        else if( nJob ==  JOB_FLORIST_HERO )
+ D5 [6 E; g% P6 M7 G! c4 ^& j$ ]            nPoint += 160;' }/ }) h' b+ p. [
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )& w8 n* V, [0 F. u
            nPoint += 180;, N! ?% A2 N9 `9 O/ v0 m$ m" v
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )3 W  G6 u9 ~& s- P; U
            nPoint += 390;
5 L& S$ N" g' V  G8 J8 e4 [5 m& @4 q8 ?; h3 s
        AddSkillPoint( nPoint );
3 F# f+ E- m8 q, P        m_nLevel = nLevel;* m2 N% v+ }: o) W& N# m# F

, V# b" ], W0 G& P( `% i  t9 ]  r        SetJobLevel( nLevel, nJob );7 l5 ^( r$ a1 C9 |
        m_nDeathLevel = nLevel;+ |  N1 K; f* h3 D0 g  l
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans3 _& h$ q8 ?6 [2 T2 h
        if(IsMaster())  M: \, T  ^8 ]3 ]; |1 h/ o
        {( z8 U: K4 E9 Y' b/ l; s+ N
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
$ B; {$ }; E3 m# O            if( nLevel > 59 && nLevel < 72 )# P+ {( c; J9 |
                dwTmpSkLevel = 1;& \6 f! p5 t" M+ b8 m0 Z
            else if( nLevel > 71 && nLevel < 84 )
* Z$ \3 C9 ~( P) b, A                dwTmpSkLevel = 2;, j8 M( g. S& N% \& q0 W8 [
            else if( nLevel > 83 && nLevel < 96 )
5 d* \3 b& i/ B# z* Y9 @; |) \: c8 V" V                dwTmpSkLevel = 3;5 s7 L: P# U9 C$ t3 z
            else if( nLevel > 95 && nLevel < 108 )9 B) _9 ~7 P, k) O7 h/ O' g
                dwTmpSkLevel = 4;
: R0 C' g& r$ d            else if( nLevel > 107 && nLevel < 120 )
- l4 A9 Q% F1 U7 ^' T5 E. Y- J5 s, _                dwTmpSkLevel = 5;
5 [* K+ n3 r" I+ }            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + A& b+ R2 P8 y! Z9 g: g2 |
            {               
( X3 G# _) E; U+ N                LPSKILL lpSkill = &(m_aJobSkill);9 B# o4 j% _) I9 }
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ H+ d$ S8 S) J; n4 @2 P                {  b2 Q, x+ {% U& h1 B  U' E! s
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            7 ]0 l4 N2 o' K# ^4 U
                    if( pSkillProp == NULL )
1 n! F" S" `- Q" X7 x                        continue;, o8 E! c! r5 E8 L- j
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER). d8 i2 b8 E+ b# V
                        continue;& m6 r6 J3 k! g) z1 Z" B
                    lpSkill->dwLevel = dwTmpSkLevel;
: C2 d2 r$ _' B5 f                }
# Z/ x  p, n, o, C8 o  T$ [            }& G' ]8 h6 F8 e. l7 H1 x9 z6 G
        }! r  e+ o7 A8 |& T: n
        else if(IsHero())% [3 p1 @: W$ m2 B& x7 ^2 b! L
        {0 j, i5 m2 u8 p- N: G
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 0 V! C7 o( f$ y! d3 T% f6 ~; ?
            {                ; h% s! d8 k, M
                LPSKILL lpSkill = &(m_aJobSkill);
; `5 G7 i1 Y% ^: Z0 w& l# l                if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 n8 T0 _0 t# t) k                {4 e( W- }' x* q! q8 L1 c
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
# ^. T5 K. O5 t& I                    if( pSkillProp == NULL )
, I: P9 t$ x6 I4 p4 F1 A5 ~( c' D                        continue;
; {0 U+ C# m% s, f, }4 b                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)3 Z8 ^& r" g" H" u- u$ h
                        continue;+ w2 M' x( F& A) z
                    lpSkill->dwLevel = 5;4 p2 G) t" I8 y  `6 @$ D  |8 U" e
                }
5 e5 M  g- y! h8 t            }, @7 U' \7 I# b0 t% F+ G# j/ v
        }3 r, g" l  ]9 M0 ?- {* K
        else if(IsLegendHero())
, q& e6 q# ?( A/ e, P4 Y        {! C  c, ^+ z; G
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 |5 b2 o! @( B# {8 i) f/ o0 A            {                ( f7 |3 I0 C; u' V
                LPSKILL lpSkill = &(m_aJobSkill);* m" j6 `5 |) `3 o! [: }
                if( lpSkill && lpSkill->dwSkill != NULL_ID ). |; j. X8 K7 G2 G1 \
                {
/ U( b; g3 E9 E6 E; R" y                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ) y- i. \& g2 L+ Q% ?
                    if( pSkillProp == NULL )
0 e9 K! l& M# b6 w4 }0 T  i                        continue;
# b, b# Y* D4 |' [7 L6 d) h                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 j' ?' p! k4 K7 F/ l5 ^                        continue;: W4 ^$ k# f8 Z# }. ?
                    lpSkill->dwLevel = 5;
- J  [7 G# e8 o; E$ S5 h8 P                }! W2 |2 M5 J0 U; ^9 z7 q5 K
            }
" L# R0 }# Z1 A0 o3 f# F; X        }
5 P+ D. O+ a4 Y#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
% _- D6 H1 x# i3 M        if( bGamma )
- r. d6 a' D( U* P3 l        {' P3 F3 U: Y8 _# U9 g' ?0 T
            m_nExp1 = 0;' M) D$ O2 D4 m- e" l
        }6 @3 N+ c4 d% t* F
% m5 u6 H1 s4 C* g' ~, ~, {
        ( (CUser*)this )->AddSetChangeJob( nJob );
0 _  T  t( f/ h4 m        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );' y4 H. g  F2 Q! Y8 K- W
2 c$ u9 |" C5 j' C

" r1 `& T* v% [. T" r#if __VER >= 11 // __SYS_PLAYER_DATA6 h$ ?1 P+ D4 A+ H; G5 v/ r. i
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );4 b  o! A2 i8 o$ A3 c! X$ V
#else    // __SYS_PLAYER_DATA
* G2 e2 D4 W# K$ u& x        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
2 d$ j3 J' k. |; |6 p) r        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
$ f4 `2 C9 G1 m" z+ T        if( m_idGuild != 0 ); d' B9 z4 S1 V& V3 R
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
& w8 S8 K3 N  b7 W1 e- k#endif    // __SYS_PLAYER_DATA4 S* S7 h4 D' w' P# }" n- t; [5 B
        SetHitPoint( GetMaxHitPoint() );7 I6 O, K0 n" f$ K/ R0 S- n  g9 J8 r
        SetManaPoint( GetMaxManaPoint() );# D0 m* E3 ]# {& x& F+ h
        SetFatiguePoint( GetMaxFatiguePoint() );) P0 V7 H, M/ p
        if( nJob >= 1 && nJob <= 4 )
4 O; {7 b" e& S0 t0 @        {, j2 h2 H9 ?- h2 Q
            m_nStr = m_nSta = m_nDex = m_nInt = 15;, s4 c2 O1 F3 H, K' I: N+ ~) `4 u" M
            m_nRemainGP = 28;
" w% R9 O# v2 \8 O0 f; |2 ^        }6 h3 W; E! w% I" D& t
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )" y# m' U/ r7 x( q6 J
        {9 u/ e4 C9 G) L$ |, l- X
            m_nRemainGP = 118;
* f5 M2 {- A1 \) A/ Z) n" o8 v6 n            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
! R8 p6 Y. G& f7 p3 m            m_nStr = m_nSta = m_nDex = m_nInt = 15;0 O' X( y% T7 |; Y* c' ^1 I, I& c
        }; N0 d% [/ h. x0 c# @' F
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )* ?& g' M; ?8 u! W4 t
        {
! P; J* b6 b6 ^+ O& ^            CItemElem itemelem;
5 ~" |# h. E2 t2 }# b* O            itemelem.m_nItemNum = 1;+ l' E$ {$ a8 k3 q. _& Y
            itemelem.m_bCharged = TRUE;
0 a$ X) p; }0 a8 G            BYTE nID;
: i- h( C% [8 c, I) |
" N. K; j% J' @- E            if( nJob == JOB_MENTALIST_HERO )1 N0 r! X& X) r! ], X3 o0 F
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
! U; l. w4 n6 Z7 Z- [            if( nJob == JOB_FORCEMASTER_HERO )
3 l- }9 ~" d' v7 N& u7 Q                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;! N: h5 z- A6 {4 d
0 v, \9 J2 J0 {; G' E% [
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );9 y5 }+ x5 N2 V% d/ c
        }$ n) D3 G9 J" z6 s( p: R/ ^6 f
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );" D! z% w% _& t( ^. I# y6 @. |
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
3 k' M2 i: `9 d9 T& i        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
" i' J5 Q+ Q# k0 m0 W1 g4 w0 n2 i        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
7 H! i! s% t% ~5 V; D        ( (CUser*)this )->AddTaskBar();*/2 ]/ W% G  w; R0 N$ [
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );: z% N1 ?0 {: N  l2 Q! n
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
# m! _% ~5 R4 ?6 W4 j% V        ((CUser*)this)->CheckHonorStat();* c' ^/ ]6 d& s4 t! o" H+ ~' ?( X
        ((CUser*)this)->AddHonorListAck();9 D' n: ]. Q9 l+ ~, C
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
9 v: r/ m- G  ?! g5 G#endif    // __HONORABLE_TITLE            // ′Tà?# c- G8 j: n) ]) c5 v3 ~
    }
- M  |: _" {' M% _% G5 [#endif // __WORLDSERVER! z* q6 }6 f% b% e8 @, Z
}  
8 E# T% T, P% j# {2 S/ q' q) ~2 s, E
然后你进入functextcmd.cpp并添加以下
3 n6 [! \. |; n; N) b  L! g- w9 N6 O; [- V
代码:
5 x- l6 ], E( V3 I: s* _2 }ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
% R  I& q- \" _# C  f, \" r# l0 d+ f下面插入
7 P: a. \% S( S. X' ]ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
, b0 f' J9 d) q; w" Q* a0 @+ i9 _# d
然后你去: m& ~6 L/ @: f
- D* m0 E+ m; p1 ~- s
代码:3 j2 n; M+ V5 ^, {# a+ b! q
代码6 G! w1 \5 }1 q
BOOL TextCmd_ClearPropose( CScanner & s )# k- f* @  Z8 q
{: ~' v. C, f- Q# c! G" h8 J* S2 _
#ifdef __WORLDSERVER
, }7 r* X. M5 W- `% d: [/ l    CUser* pUser    = (CUser*)s.dwValue;
6 n+ P1 ^% z9 u# J/ v    g_dpDBClient.SendClearPropose();) J8 J" M1 G7 O  ^8 x
#endif    // __WORLDSERVER, O6 m/ w$ L) v  G
    return TRUE;
2 `# I! `* i: l/ c}
; ^) s; h8 I9 F2 s/ \下面插入
, x+ h' Y; q! N. i2 PBOOL TextCmd_rebirth( CScanner& scanner )
9 l7 r) a( O: |5 k7 M{2 R$ L+ }  i5 I  ^
#ifdef __WORLDSERVER
1 N" \; b  j$ U  M) RCUser *pUser;
  v+ S0 h  q$ N" |% }$ @4 `; ~' QpUser = (CUser*)scanner.dwValue;
3 T+ n" G! c" P5 c! o# T% O8 g3 zif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
* T; s! m% x. x) x) U9 u( \pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);& p+ ]2 q- |+ C4 B% d" U: a3 O
else4 h5 ]$ O: `, |* x+ q
pUser->AddText("你还未达到重生条件!");! n0 Z3 l" q: ]' Q, }8 o
#endif
4 C0 H0 x1 D  ?) ~1 d; qreturn TRUE;5 p3 {) Q1 H6 w! p
}  
: J4 W, V9 x, g0 ?& d7 @" K5 X( n7 i0 C5 V0 f

7 X, T* g7 N' ^" D- V; A  A! n- }* [

# M, G7 I( X5 r# @0 `
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-4 09:24 , Processed in 0.061277 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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