飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. a, _& c6 V& I  Q" N! |8 W% g* v/ E/ F* A
Mover.h
' }, h8 A- ^0 G- q代码:
: O: F1 d5 l- c0 u/ K7 h  k找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü# h' t8 c: s/ L
, ?2 R2 S( B0 O. z
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  3 ]- T8 V4 o! j1 M8 g
$ G" i  {5 x' Q3 g9 o8 Q  E( m
然后你去mover.cpp添加) s9 N2 N" n; V# }

, X* Z. s( J: @% m- V: S' Q( _+ z代码:
1 i6 r/ ~4 H" e$ h- bvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma ); I( E+ G- d2 {% c
{  D# f/ e3 A" n8 u+ V
#ifdef __WORLDSERVER8 S' _6 A- u; b2 D1 Y( W
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
4 i1 z8 L6 m" k. [3 ^! K. L    MoverProp* pProp = GetProp();' c* w( Z# R2 n/ {* L2 U! U
    if( pProp )
8 @# v" m, Z$ C$ c    {9 v& c6 {4 L% j1 Q! t, L
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )6 b" _- Z) w. n$ I
        {' H! ?+ [. ]& e& H5 {  y
            AddChangeJob( nJob );' t( l3 Q) I$ X5 I" m4 n
        }else{
( l5 N/ P1 B+ X4 ~! Y; k            return;3 g8 S# C0 Q" p- U) S+ E; R
        }5 x- _( {& y/ h* V# t: q. {# n% K% b
        int nPoint = 0;/ e: R) r3 E& s# C
        if( m_nJob == JOB_MERCENARY )
4 F6 q% X# c4 W$ J5 d( @* p            nPoint += 40;
( G. c7 G! ^1 a0 |. ~        else if( m_nJob == JOB_ACROBAT )
# ^' U7 c: q/ L1 ]            nPoint += 50;  N+ H; V' v4 g, m# o: H
        else if( m_nJob == JOB_ASSIST )
. @: {3 |) }) _% E" b; p( O! o            nPoint += 60;9 J0 _7 d6 B( [
        else if( m_nJob == JOB_MAGICIAN )6 @# r, b, B6 u, F0 F
            nPoint += 90;4 b: s/ x0 P1 A1 q2 D3 D1 t: ]  _
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )# y( t2 E" g4 F2 {
            nPoint += 120;* ~' ~; L% n: C: ~& M8 N
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )1 b( X0 ^1 L& R* y2 d1 U
            nPoint += 150;
5 D0 R# M8 y' T7 u/ Y        else if( m_nJob ==  JOB_RINGMASTER )& D, l0 T' q, O+ m
            nPoint += 160;7 p5 m! \: r, |
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER ). F, r* b8 r2 i1 i
            nPoint += 180;
! ]6 j6 [0 X. @. Q3 J        else if( m_nJob ==  JOB_ELEMENTOR )0 s5 E: I6 x1 g; ^$ s+ n) D. ^
            nPoint += 390;
+ u9 P; |! O+ Z5 k6 W: k4 A( {        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO ); y+ J' O* v, y& Q- }2 ]! i
            nPoint += 120;
5 h/ B. w: }, t) l        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )1 l- d7 o% v" K% f1 h
            nPoint += 150;* q1 E! i( m" x7 K
        else if( nJob ==  JOB_FLORIST_HERO )
5 y7 y0 H! a  D# j            nPoint += 160;6 e6 n2 w- O8 A' F
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO ), i* W* P  D5 M0 J/ {
            nPoint += 180;
5 F/ f& w/ S# S. ^  Y        else if( nJob ==  JOB_ELEMENTORLORD_HERO )+ d, B8 g6 x# }! x/ T" x: }% n
            nPoint += 390;6 \1 [0 x( q* h" C# b7 t5 P/ m' \

, q' A+ |1 w3 g7 U& F; {5 }+ o        AddSkillPoint( nPoint );% c3 X* Y4 Z1 |# J3 E
        m_nLevel = nLevel;1 @; r- V5 O# B' L( A

7 V3 J3 [, f* B7 m7 M        SetJobLevel( nLevel, nJob );( k9 E! Q3 C3 T6 v7 z* w
        m_nDeathLevel = nLevel;5 D% H  M$ u! f) h
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans7 R8 g) R3 I# k, u
        if(IsMaster())& _  w8 F5 d& S& ?$ L
        {  \9 Q8 J/ m8 Q
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108( F" D/ W. n, J/ v  e
            if( nLevel > 59 && nLevel < 72 )
7 y2 T( r  R2 s7 E, @                dwTmpSkLevel = 1;
% \  G2 m# D9 Q) X  g, b            else if( nLevel > 71 && nLevel < 84 ): m: U$ N. Q7 d& C5 R* V3 \
                dwTmpSkLevel = 2;+ Y- ~& K5 W7 _- P) Z. v
            else if( nLevel > 83 && nLevel < 96 )
+ E/ {0 w* x! {$ r7 m                dwTmpSkLevel = 3;
: v( i2 Z) {. K            else if( nLevel > 95 && nLevel < 108 )
' h- G# O8 N9 x3 d" v. m3 A                dwTmpSkLevel = 4;/ ^' X9 E. M/ C) V, |( _
            else if( nLevel > 107 && nLevel < 120 )0 z- s( e2 M! V% J0 l
                dwTmpSkLevel = 5;+ d- B$ ~4 W& ^: z
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! g* {4 Z4 p# s( c
            {                , d% F7 B3 \9 {; p9 p
                LPSKILL lpSkill = &(m_aJobSkill);" x4 N9 T3 s6 j
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 s5 A1 Y: g2 C7 n, g) P8 W7 r                {
* t1 Y/ H+ ^1 E3 O! X/ E9 N                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
& C/ h$ F* E4 O; }* w                    if( pSkillProp == NULL )
/ z) z* q' W' f/ q: j8 o                        continue;
7 X0 v8 @0 m# e1 m/ j$ o: `! }0 U                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)$ X/ D9 o- _% j+ a' I, l' }
                        continue;: S8 z' G3 `* N8 ?) G
                    lpSkill->dwLevel = dwTmpSkLevel;
1 s' ^8 M5 `4 R! T                }
" Z' n& `6 c. G, |            }! ^& b5 a. g) Z, t$ K: I
        }
' v  ]1 k6 O6 N, n. E        else if(IsHero())
4 x4 G9 |0 D9 v+ K, f        {0 j  {, W2 D& R
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* B. |; e; _0 ~            {                & M" R" F  x8 x
                LPSKILL lpSkill = &(m_aJobSkill);) Y2 H9 }% F2 x! Q8 M
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 z) `3 ^- x2 R: R                {9 Q8 f) a5 m) E8 [  F
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
- V$ v  N1 m  p: B) {: C3 R                    if( pSkillProp == NULL )
: |" f! A# m) K9 d6 H) w                        continue;, p) N; v" F2 C$ Q$ P' ]9 F, l
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)' J$ D+ M* `2 {! u$ p
                        continue;
3 k' m4 ?) k- J1 B+ V9 N8 H; y                    lpSkill->dwLevel = 5;: r9 P+ ]3 h4 {- l' k! U# T5 V; a
                }
; A# m: e( G0 x3 J% B% q            }
! O' m" O8 S* Z$ H        }! ]/ d& e) k8 l- y
        else if(IsLegendHero())
' S5 C5 H+ \. ?8 t& x/ s/ [8 Z3 Z        {
+ q1 O' G, n! t+ o3 k0 V& H; ~            for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 o* N! Y' r9 @2 H% z5 q2 ?# l, _9 w            {               
: K9 _$ t1 k' E' n% I                LPSKILL lpSkill = &(m_aJobSkill);
1 x1 q7 X0 W, o8 T) x                if( lpSkill && lpSkill->dwSkill != NULL_ID )" K& N9 K4 d4 s) H  q$ E6 n1 E
                {
2 r8 p' u) j+ Q! I* H                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
" e; V, s6 H4 P6 @                    if( pSkillProp == NULL ), D2 x! ?8 f! f" t- O
                        continue;! Z2 i, M# T4 N! W+ Y5 o# Z5 @% U  ]+ S
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)4 U" f! v  O* M, J; Z' L* p( ?
                        continue;
  _: z# J5 B( o; O$ j- g' o                    lpSkill->dwLevel = 5;5 N+ {- X+ Q! Z) V0 u0 A! u' B8 y$ l: ]
                }; k  n- D5 d: ~% F" l
            }7 g0 J( p6 b8 ?7 ^
        }+ v* T/ T4 i2 |( k1 B- B3 B
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
6 @6 h5 }. B* Z  M/ p        if( bGamma )
) F# C& E7 K* c        {' {( W3 _. [8 {$ S) R( q
            m_nExp1 = 0;
7 O. l+ S  `+ E% t        }0 l  ^/ ?8 R' }4 W1 V3 v1 |
" ]: S* Y) r+ m" o: E2 E% x% z
        ( (CUser*)this )->AddSetChangeJob( nJob );
  c. [& d: @5 @% k! R        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
; C! O" u6 C% V. g  W& w( i5 S+ \
4 ?, X7 U9 u( U& g- U4 _/ e7 F+ J/ P+ m
#if __VER >= 11 // __SYS_PLAYER_DATA
, ^/ l. m8 D+ Z# h' `! k5 q        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' Q' i+ |3 ~0 ?8 h6 n$ j4 E#else    // __SYS_PLAYER_DATA& g; M& H4 J( G' e3 l
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
5 |) m" l* s$ P& a        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
" O5 B1 n/ i# B; ^( C" D0 ^        if( m_idGuild != 0 )
2 `0 F" ?; D, m( U" b$ H. R6 R! v0 j            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
9 L0 Z$ X# h( K#endif    // __SYS_PLAYER_DATA7 K9 g" g  E6 t5 J$ S
        SetHitPoint( GetMaxHitPoint() );, N! d0 @4 B8 Z9 S
        SetManaPoint( GetMaxManaPoint() );
% i6 F+ |7 H) e  S1 S! c        SetFatiguePoint( GetMaxFatiguePoint() );
3 L3 s+ `+ f6 `& a% l4 h, L        if( nJob >= 1 && nJob <= 4 ); J/ A/ \; L+ p5 E2 l- R2 O  |1 H
        {2 z7 ]( x7 Q5 e% O' _6 `# D
            m_nStr = m_nSta = m_nDex = m_nInt = 15;: `4 x) c# `6 P
            m_nRemainGP = 28;
6 V' \& n4 f7 L        }
7 Q6 O( R! @9 K: V- y5 G        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )/ G" [- |# B- ]+ E! J7 G
        {
/ z: D( J& g1 P+ v- M            m_nRemainGP = 118;
  Q% P- D) e& Q+ B/ G% S" m            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
7 P' Q* E# e' w$ P            m_nStr = m_nSta = m_nDex = m_nInt = 15;
$ i/ e- r% O; C# r9 K, k7 q        }  s8 s& h( u& W; r
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )& k6 z1 l' Q7 |
        {/ ~* J7 ]/ b4 e% x2 I
            CItemElem itemelem;- U& V# K/ [' t. i0 m' ~# J
            itemelem.m_nItemNum = 1;! _" Z( B) z* v$ j) B% e
            itemelem.m_bCharged = TRUE;
" t- X$ E: y$ @) @' I1 s            BYTE nID;
: X9 \2 ?* V' M  ~! M9 @8 I1 T0 L0 Y& y
            if( nJob == JOB_MENTALIST_HERO )
* v* [, t! M2 A) x0 K6 b9 q' d                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
' i( u8 d2 b  M2 b! s            if( nJob == JOB_FORCEMASTER_HERO )9 c# ]7 \' ?, s. ~0 Q
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
: H' y. F1 k4 r. R1 U& ^; d$ I2 k& r/ ]  j( T) y( P7 W" {! W) }
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );3 ~  ^( S" t+ U% Z* i
        }2 X+ D3 Q( M0 P% {
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );. w$ g" u6 T- Z& \  e
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
7 @% m8 h6 k9 ^' m2 V% e        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );' s& @7 n: y) Q( Z1 {
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
/ c( }" s! `+ i6 ?        ( (CUser*)this )->AddTaskBar();*/% z* p' g0 A" p: m
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
5 k( Z( v' K, e0 h$ C/ C#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?& Q9 P" z2 ?. P! I- j
        ((CUser*)this)->CheckHonorStat();
$ v# s' F, c9 j4 P        ((CUser*)this)->AddHonorListAck();
5 z3 W3 a& d1 c6 X0 d& Z        g_UserMng.AddHonorTitleChange( this, m_nHonor);# y, y' B- ?& a- |
#endif    // __HONORABLE_TITLE            // ′Tà?( `+ \/ Q' f. }$ ^# ]3 M# n7 n
    }
  W  ?6 q( o/ O4 M- F/ I7 {3 k#endif // __WORLDSERVER: r! N  Y( i6 ~% J  {8 Y  l
}  ' ]( a( o& J/ ~+ Y

- }- B/ W& r- Y) |. c+ b4 M/ P然后你进入functextcmd.cpp并添加以下  X, n: V* P# E5 z+ M8 @

& y" L! K( Y, a代码:9 ~( P6 f) @/ k7 X- a: {' i5 G
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ). V& ?# i9 D8 H. H
下面插入# k  g7 a7 M0 m( [* C
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
* S. z/ l1 B- |, S$ M' I4 Y8 c/ J: n! a
然后你去
* v) c) I+ B9 s  d% H6 m4 ]
# H& B- D# O8 d代码:
( ]6 o9 {. H# x4 I9 D/ k0 {$ Q代码. j) ^& A4 F% S9 P; _2 V
BOOL TextCmd_ClearPropose( CScanner & s )" P' {* j+ p. ]$ c/ Y2 c  \! _% \
{5 C3 [2 S+ B. r8 x' Y  f4 [
#ifdef __WORLDSERVER/ i1 y/ _3 y" v5 Y( j7 }% q5 I; K& B
    CUser* pUser    = (CUser*)s.dwValue;
  [' L, H+ E" e. \" P( U    g_dpDBClient.SendClearPropose();# M  |$ G% t! p
#endif    // __WORLDSERVER
) E4 e7 T% f3 Z* n% x5 `) D    return TRUE;4 v9 |2 S3 b1 l! n. A$ a
}3 L; R. T$ c2 b" z
下面插入
7 h) y- X* g4 P& A( B$ NBOOL TextCmd_rebirth( CScanner& scanner )3 ~, g# ^5 ?5 M/ F
{0 i% `/ W9 R$ n
#ifdef __WORLDSERVER1 H% @. M& s: c+ T2 J$ G
CUser *pUser;
- Y; V. L% d6 L% R: E  `0 ~* XpUser = (CUser*)scanner.dwValue;$ a4 I. v( G* n/ @; ]9 x% M; f
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero()), |" h+ U8 y4 P. @( q
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);- T- |$ J: R" i4 ^
else
1 K6 W7 M( q3 s+ HpUser->AddText("你还未达到重生条件!");
: O: D6 B# V  T, o1 E2 c#endif2 z; S% Y( G3 K3 V. z
return TRUE;
* K; s9 B) a5 ~, M6 W}  " ~1 h+ p' X' X+ q/ a

: [6 P$ S! K4 d1 E
6 R* j+ N% B) y
8 S# T2 {6 S! E; [( y8 x- v
8 W0 ?* m( I" \' y5 {7 o4 R
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 23:06 , Processed in 0.063828 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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