飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

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

% h: C. j5 s& S* sMover.h
3 G4 `. G7 a2 N$ P/ ]& Q代码:2 @+ @3 p  Z7 _8 ^
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü7 G; e" {" \+ S5 l6 H
% k% d( V* T( ~5 W* H
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
2 n" Y6 I8 x. Q" f2 y+ T0 n7 ?! o" h6 y' Y
然后你去mover.cpp添加* Q  Q2 i+ L! Q: j& ^8 w: a

9 y; c0 |  X0 H代码:
' C) }. k5 L( G+ c; ?void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
* F/ b: O+ B7 H' ~& Z% \9 n{
; O+ O+ n8 U, b3 x" m#ifdef __WORLDSERVER) J" @  I: D+ W% t" C6 L6 C& J2 n8 }4 }
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó5 R. l8 r9 s2 |. F# O/ J
    MoverProp* pProp = GetProp();
% d4 \( a8 w( s4 a' P6 l$ c9 C9 W    if( pProp )
- O- a  }( g# m# O+ R. w! n& O    {) s5 ^; q$ i- @1 C1 L+ |9 H- L* A
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )% v; s6 b( f; T8 y6 j
        {
) U- _! T: s$ V6 A& X- Q. @            AddChangeJob( nJob );+ ]: M/ T7 }7 ]- X! [: j( @1 n+ I
        }else{; R; z/ p- F4 ~
            return;
! f( A; @- t, W% q( q) m( {        }
6 V% u2 z% e4 `7 X        int nPoint = 0;: M" M% q6 Z& U8 e1 }4 E4 `2 B' t
        if( m_nJob == JOB_MERCENARY )
' Q7 p# m0 x* W! _5 ]/ H, ?            nPoint += 40;+ u1 y3 u" ]8 |. u
        else if( m_nJob == JOB_ACROBAT )
7 i' c- l6 ]0 h. i! A! [/ @            nPoint += 50;
8 a  @+ C  R+ b3 Z3 X/ s        else if( m_nJob == JOB_ASSIST )
" r  m1 L0 I# I            nPoint += 60;: s0 y5 e; i2 {! f; t5 y. w
        else if( m_nJob == JOB_MAGICIAN )+ R& e+ E7 v* z! w1 o" m. f# M4 [
            nPoint += 90;& Z- A: Z' p3 Z/ _. M
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )0 O) B7 ^1 X3 q7 z) C
            nPoint += 120;: s- I( b4 `4 }" J$ r$ Q
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )& u# E6 b8 H8 C7 d0 Y$ g
            nPoint += 150;
/ ~1 P4 k; E7 @6 Z5 w: K' I3 [7 c        else if( m_nJob ==  JOB_RINGMASTER )
% h5 m# B) h) U0 x9 D' p            nPoint += 160;
: g. R! ^3 o; G$ v4 }* H5 s        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
" H6 t2 q# h2 ~' U6 d. t! ^* S1 U. {            nPoint += 180;
+ S# |5 V8 u4 m5 Z9 W2 i        else if( m_nJob ==  JOB_ELEMENTOR )
* _* v4 s8 d+ a' c7 D& `- M            nPoint += 390;1 f( C+ |' a2 u. c) d2 P7 s
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )! i* Y  }' m& L7 e& [
            nPoint += 120;
: A/ g5 r; v$ C        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO ), M8 B/ \# c9 t2 w, o4 z+ C
            nPoint += 150;0 k, O6 h. Z" c; m! ]1 X( T; t7 w* ^: d
        else if( nJob ==  JOB_FLORIST_HERO )
# n. }: m3 X3 ^4 u            nPoint += 160;
0 T7 L9 p0 A; l; U6 T' }4 R$ O        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )# d% U. N( {: C, G* y- H  @
            nPoint += 180;
- p& K7 \" N+ |6 a. q        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
, A. w1 K- o4 M& h7 M            nPoint += 390;! X0 V" N  P7 }( N* h7 `

$ D8 I* x& A5 A        AddSkillPoint( nPoint );9 ?, j- M* o3 z) `4 Z
        m_nLevel = nLevel;
0 |( M7 D' D$ i* G
: q1 m  p3 Y$ s& ]8 E5 G        SetJobLevel( nLevel, nJob );
3 }) i0 \) z3 [( Z        m_nDeathLevel = nLevel;
' p6 ]& e3 F# t. t: \6 `#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
! F5 _: h+ Q# k8 t        if(IsMaster())6 J6 c# y- {: B3 d+ J, _- U- h- ^
        {$ f2 F$ ?- o+ u7 q. X. C- C8 ?
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
: `8 X1 T6 M9 g9 Z            if( nLevel > 59 && nLevel < 72 )
5 w2 [: W3 m6 o( U2 H3 Q: G  P- e- E) A                dwTmpSkLevel = 1;
3 Y* H0 @" ~6 e6 j            else if( nLevel > 71 && nLevel < 84 )
5 o: a5 f  Q# v* Y* s; z                dwTmpSkLevel = 2;
: I) }" a% Q6 \) k% F+ k            else if( nLevel > 83 && nLevel < 96 )
& R4 P: g. E' K4 |                dwTmpSkLevel = 3;
) ?/ P9 W6 e- `2 b# u7 X5 F/ f1 S. H            else if( nLevel > 95 && nLevel < 108 )
: f# n1 V9 E  a- k& f9 z% _                dwTmpSkLevel = 4;: S# T; s8 w5 _* _6 p% J% [1 `
            else if( nLevel > 107 && nLevel < 120 )
; F( e) l6 U' [9 b. C! H                dwTmpSkLevel = 5;
) B$ [: ~9 u+ v4 X0 {5 H            for( int i = 0; i < MAX_SKILL_JOB; i++ )
, R# w7 e, d- j5 }            {                ' i2 r1 e3 z& l& R/ h9 g; i* H
                LPSKILL lpSkill = &(m_aJobSkill);
5 {* L1 p3 z/ H  l1 d) D% w: A                if( lpSkill && lpSkill->dwSkill != NULL_ID )& f2 K% p8 m; X& m3 g& T
                {+ Y% S# P9 @9 _' I% d: K
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            4 O6 O& j0 `1 l8 b/ k$ ~; h
                    if( pSkillProp == NULL )5 ^7 I1 j9 h' ^( |
                        continue;
, x6 F- `7 w' q" \                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)' a. C1 w# K+ H' y/ O$ F6 K8 M' v
                        continue;( [( u9 s9 v( ?, u2 n" G9 N) j- s
                    lpSkill->dwLevel = dwTmpSkLevel;% C5 A% L# z9 Y3 h4 n: b
                }: s- y5 t. G# \' E9 m% z* c" U
            }
3 M3 j) x, b" [% p) v% t        }
3 J& ?5 T- v: u3 v        else if(IsHero())2 m7 n9 _+ b* t& s( t8 @- ]# ~! C
        {
+ _3 O$ A# B, D9 D; s            for( int i = 0; i < MAX_SKILL_JOB; i++ ) & z1 n9 f5 N. x. d5 j8 P
            {               
/ a! l* Q: t% r: t( w                LPSKILL lpSkill = &(m_aJobSkill);) N3 V9 W- V0 x! f& [. P+ Z
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
5 d4 B* H1 L! C7 k                {' C0 e- q% D9 e2 V
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            + N; f4 N; z! x( U5 L
                    if( pSkillProp == NULL )
% W8 s  p- k. n, T                        continue;3 b/ X; C! P9 d7 o. Y
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)% ]& V& a( X4 {! `
                        continue;9 j: g6 @; E4 z+ J
                    lpSkill->dwLevel = 5;0 d8 M- o1 m) k/ _3 @4 M' y% [
                }- e4 Z' {% }& l8 @( ?2 V$ a! w5 o
            }
* w( E6 \( Z" g$ Z( J1 U        }
9 J0 w- [" ]& {( L& H/ S- s7 o        else if(IsLegendHero())" f' S( P  e3 N4 a
        {$ l$ w! @( Z3 s! y+ h$ D$ l
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 6 f/ O" J, e2 n
            {                7 [* S1 C! ]' L2 r# f+ h; K1 d  }
                LPSKILL lpSkill = &(m_aJobSkill);
4 H3 O# m+ f& m. ~+ T                if( lpSkill && lpSkill->dwSkill != NULL_ID )1 [$ E/ t- y( R" a( T4 L
                {
1 U. W  r9 V" y0 ]                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            & q4 q7 }8 C5 i! [9 C( i  @! l. L
                    if( pSkillProp == NULL ). u! M- r. U* L$ |
                        continue;
3 Q: n* z" I; C) E                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)$ R' v2 i; G+ {4 f9 v
                        continue;* M# u& G; e+ C& W( T, ?. X# |
                    lpSkill->dwLevel = 5;9 X: C3 i/ A6 H1 y( Z) f$ W- d( l8 Q
                }
: m5 f9 v8 i0 r1 U6 h! v# C            }" h. G/ ^0 x0 `, H+ J
        }* V' l1 k" r5 U" ^
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
! o, w. b' ^* z4 ^        if( bGamma )
+ e" ~' m! h1 o        {
: L/ e2 F+ x2 W$ M            m_nExp1 = 0;
& _; X  x2 ~8 I. A        }
, @& k3 y; Y% K/ ~8 I8 }7 }* N, T' Q9 w/ E
        ( (CUser*)this )->AddSetChangeJob( nJob );" C: a, d; m: }' H* E+ g" ^
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );* B7 w" B  r$ @" K
7 y: g4 f' [4 D, m6 d, x7 M
& Y* Y9 M3 y9 L5 w' ]9 o
#if __VER >= 11 // __SYS_PLAYER_DATA
' T" `7 `* `/ u2 W) o! Z: x$ D: r        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 h" c9 |. v4 n) u% T" l) Z. K! Z#else    // __SYS_PLAYER_DATA- V6 M8 c, `% Z& a' F2 y- K  j
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
5 {5 P; M0 [- Z4 A/ S9 C  x        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );  U# h: Q6 R+ t6 J0 f4 [
        if( m_idGuild != 0 )
5 A1 N$ X: S5 z            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
; a, t# \. k; L#endif    // __SYS_PLAYER_DATA" e. |$ p/ m8 X4 ]* J
        SetHitPoint( GetMaxHitPoint() );
3 w& z0 s) \! V( b9 S2 ^( }% r        SetManaPoint( GetMaxManaPoint() );9 q4 N1 [& [2 c) H% X( H
        SetFatiguePoint( GetMaxFatiguePoint() );
! a& J/ O7 ^; R+ R- S) X$ t, @9 m        if( nJob >= 1 && nJob <= 4 )' W, k. l: \6 m( P  f/ C8 P0 I0 k
        {+ B& x: |" Q4 a
            m_nStr = m_nSta = m_nDex = m_nInt = 15;. i! U* m' h. {5 O: Q
            m_nRemainGP = 28;
! L9 g5 k: U! i; H        }0 \. o% v8 V& `  F  p. A
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
' u( i$ h! V/ s) |& T% g3 c        {9 V1 ?5 e& B' x4 f
            m_nRemainGP = 118;3 ?2 l1 f2 ?, ]
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;5 B3 Z( b, D' }  D
            m_nStr = m_nSta = m_nDex = m_nInt = 15;1 ~* Z  u. Y  J7 P7 ^
        }
3 T9 _2 m; J- [8 d" t        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
6 V- L& t7 P, p0 {1 h9 A- d4 o        {
4 S0 g! M) u* v. t; B8 I            CItemElem itemelem;
* G% f; z) I$ |* Y            itemelem.m_nItemNum = 1;
6 S2 x" ?2 ]. {0 a  D$ a            itemelem.m_bCharged = TRUE;7 P/ Q' e& @9 ?) b7 y+ p! n9 H6 s
            BYTE nID;8 r2 M. v" h. t- u& C$ H

1 W* C" f/ l( o% J            if( nJob == JOB_MENTALIST_HERO )
- b) d2 o$ v5 M0 k, O                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
4 }& t5 I; X- A* f& }            if( nJob == JOB_FORCEMASTER_HERO )3 c9 u( S2 h. M( H; O  t. f/ @* r
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;2 Y2 w! C0 \1 C3 k! F

: i; f2 w) [4 n! t            ( ( CUser*)this)->CreateItem( &itemelem, &nID );/ O! R6 C/ q2 Q, j4 J% Y
        }
/ ~1 X" x+ n( }4 }" f" ?+ E        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );( s( K: a6 g& V6 T6 }( M3 y$ t
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
2 f3 M8 }1 Q' ^) `% s' x& h        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );3 |6 [; `; Z7 j$ j: n7 g8 h
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );: f. I% S: d1 Y0 b
        ( (CUser*)this )->AddTaskBar();*/
3 n, V2 b! d; s% q        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
1 m0 i- Y1 O9 u1 w- p: m% N3 |#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
  _, z% Z0 ^" [# O        ((CUser*)this)->CheckHonorStat();$ J3 k8 e4 \( W$ Y, _# {5 e
        ((CUser*)this)->AddHonorListAck();
' ]  `. i6 d, Q8 k/ ]        g_UserMng.AddHonorTitleChange( this, m_nHonor);
" y6 Q. ~& X( s. Y7 g) |#endif    // __HONORABLE_TITLE            // ′Tà?. @/ K/ H: h9 x$ C
    }
- S! [" `$ V7 K  z5 o#endif // __WORLDSERVER
1 z) L1 x$ g) f3 _}  
8 p' U9 N1 b9 d* V5 w0 l5 u3 g+ r! v/ p" K
然后你进入functextcmd.cpp并添加以下+ I4 s0 q4 I' I$ O% ]$ N2 ~6 k6 J

& X" z6 ^9 A7 Y6 e( u0 G7 R0 I  n代码:
$ `% {! P$ p5 x7 _+ H' ?, J( ?ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
* o4 a8 [% c  ?6 N下面插入5 K! @. L8 L5 K3 @/ b
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
$ e: _5 X  J% ]
, N4 F7 `# ^$ N4 x4 Y然后你去, |3 q5 h; h$ ~2 n  ?
& Z4 r3 ^( n1 c+ \; S
代码:$ `) D8 Y' I/ m) ]
代码
* T: J; G4 {6 Z4 J) M: kBOOL TextCmd_ClearPropose( CScanner & s )
8 ?# `& K% D/ s% v' E+ H5 s{
" g, Q; {7 X& m6 g: Z#ifdef __WORLDSERVER
- U  t  p8 X1 y4 \/ `6 L! a    CUser* pUser    = (CUser*)s.dwValue;: n) M0 h2 M$ O# X
    g_dpDBClient.SendClearPropose();
9 R" k: y$ ]9 F& Z% m7 m#endif    // __WORLDSERVER
+ U& Q4 ~& |( z' ^: }9 a0 |; w    return TRUE;4 ^! s1 H1 ?) D# S/ W8 v
}: Z1 A0 `. t- P4 }8 K4 d4 _
下面插入
9 ?( t' r) m7 t$ ~) Y. g/ X( o$ RBOOL TextCmd_rebirth( CScanner& scanner )
7 B' j+ W3 {7 R{4 T) P6 Y+ I1 q' A
#ifdef __WORLDSERVER2 Y) R/ |1 k) ^; D
CUser *pUser;7 y- ^" F4 c  y
pUser = (CUser*)scanner.dwValue;' {, }  d8 d# g' _& C; Y
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
: K8 `* v0 X$ q8 Z; A0 D  u% HpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);  q7 s9 {. s5 Q! I( @
else' K5 J4 ^5 n8 z8 R6 m: G' g* ~6 ?
pUser->AddText("你还未达到重生条件!");
  i: l" K2 Y/ D. T: W#endif
2 O6 o$ ]+ p+ _( f% _7 [return TRUE;5 m' e; ^; `( o  v
}  : Y1 V" w+ ~$ P! V& l$ e

2 J- L  N4 ^6 Q8 O' o4 Y9 L
8 c$ y; ]! A  M2 L: l* J; w
; r! V/ ^, c& V& ~3 S* Z/ t3 J, K, @% b+ @) m
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-22 07:28 , Processed in 0.060094 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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