飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
8 G" _" L( ~7 p7 R+ v2 X! K" }) h1 f
/ Z# R- V5 Z6 `Mover.h
; n7 k/ t" m2 V代码:
6 n" C. l2 @5 t5 L找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü; a9 h7 D, D1 @9 x( u

3 U) K9 q0 u3 p: o" G' k下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
4 k" z; b( V9 W3 b; i
: l+ ]7 c* y# Q0 e3 K2 M5 w然后你去mover.cpp添加
' _5 e  J3 }: ]6 V: O# ~/ K/ D7 ^8 Q# P3 k
代码:
0 O! g4 B) f, O  n, g4 S. pvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )* U% a6 T- C9 g
{- b! Y/ T1 X$ B  r% J: j
#ifdef __WORLDSERVER& a( K  m2 @0 V, a3 l$ {
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó7 Q& p. q+ h# C/ e( s1 l
    MoverProp* pProp = GetProp();
" a* g" b' p2 k! V8 b    if( pProp )# J, Z+ Y3 R) E. Q
    {3 _' W$ {6 p: x/ O& M  Z, ]
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
& o' b% r  e$ E* w) o3 Z        {5 e4 }6 Q1 a$ w4 K" Q4 j1 L
            AddChangeJob( nJob );- F2 q6 \# s& b; _
        }else{
" g3 r7 _" k. s5 G6 o) R            return;3 \* g5 l; @1 b# ]/ U" y7 |
        }
) a& d' C' b2 J9 W        int nPoint = 0;
3 B- a! Y3 m1 ^+ i+ ~        if( m_nJob == JOB_MERCENARY )
, m% m( n# O, _% b) r            nPoint += 40;
) D0 ]. v% F& p) B        else if( m_nJob == JOB_ACROBAT ); r# t; o. J- [! X$ f3 v5 K
            nPoint += 50;
" `+ \) u5 x5 O4 K        else if( m_nJob == JOB_ASSIST )
7 I& x- C0 C% a8 N6 j0 q            nPoint += 60;+ s+ T# z9 }6 Q3 i) h$ L
        else if( m_nJob == JOB_MAGICIAN )
! i. v" f' c$ j$ ~9 l3 {3 q4 Z            nPoint += 90;
& b+ Q2 A! o1 g        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )% H" n0 V8 t6 r- c( x) t; I
            nPoint += 120;1 n( q+ V! ]9 l
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
" M! y" A1 b  y- S0 z            nPoint += 150;
, V7 x+ i; i" h, C. q        else if( m_nJob ==  JOB_RINGMASTER )  x. H2 r0 X( G0 l! e' s% M
            nPoint += 160;+ D& p8 u4 e; J. Y  N% ~
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )" \- H- a+ u+ j+ |
            nPoint += 180;" T9 i% G) L0 f# t
        else if( m_nJob ==  JOB_ELEMENTOR )% _4 R) U7 P; P: b% X. J/ Q
            nPoint += 390;: ^  A9 O" g# I" h& Y7 R# V) t
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
* H4 n* l2 D+ f% E            nPoint += 120;( d2 a) a: K' V6 [
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
" C7 C- M3 Y9 v9 Q* v            nPoint += 150;
- @! ]0 k% F4 h" x5 e8 ]& ?        else if( nJob ==  JOB_FLORIST_HERO )
- p4 c( D# B* [- f" w' J! l: x" ]            nPoint += 160;5 [  w6 h8 g4 x7 O3 K% ~6 m$ Q
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
3 |2 ]9 L3 r. U$ B% S7 F: d% z            nPoint += 180;
# K( {) d# c; d7 L( j4 X* u: j        else if( nJob ==  JOB_ELEMENTORLORD_HERO )2 [/ t- E/ N. I. ^0 q* t
            nPoint += 390;4 s. T/ \; ~: _/ k2 v& Y1 H

9 k  h; B$ G& `( w        AddSkillPoint( nPoint );. ^1 c4 W3 F( |5 y5 \$ u0 ^" X1 T
        m_nLevel = nLevel;
/ g8 y1 f6 t/ b6 h! q1 R7 B6 U, m3 `: S# L- N% B# w
        SetJobLevel( nLevel, nJob );( ~, T. u# P! _# u) \' Y$ B
        m_nDeathLevel = nLevel;. _1 q: E" u1 A% I' V  }
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
5 C# B: N. r) a" v( K+ t        if(IsMaster())
; g7 l) K, v5 @% g        {
6 X) ?7 K9 d. D2 u4 _3 |4 a            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1087 y) t& F( B8 [; S4 Y, @3 ^
            if( nLevel > 59 && nLevel < 72 )
% n7 r9 F$ J6 o' _8 h  a                dwTmpSkLevel = 1;
" ^* [- p  Q/ u            else if( nLevel > 71 && nLevel < 84 )- ]' u8 z* l7 I7 v6 z
                dwTmpSkLevel = 2;
! P& ^" _) F1 @" N  s- C; q, r* X) H            else if( nLevel > 83 && nLevel < 96 )
* g7 t+ x& t+ ?6 e% l' G                dwTmpSkLevel = 3;3 ]4 o& V8 V5 U5 ]& R4 H
            else if( nLevel > 95 && nLevel < 108 )7 \$ b! b3 }0 _2 x) e- Z6 O
                dwTmpSkLevel = 4;' @& C8 ?" B; I
            else if( nLevel > 107 && nLevel < 120 )( z# {$ }( V% |" \0 W. x4 C8 K
                dwTmpSkLevel = 5;
) ]- r( v& @9 Z            for( int i = 0; i < MAX_SKILL_JOB; i++ ) . P9 B/ k- H; U+ Q! n2 P
            {               
1 x8 P0 Y1 [0 ]8 X! d/ d7 J8 J5 r/ L                LPSKILL lpSkill = &(m_aJobSkill);2 \. _/ |5 p) f& s
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
* m# {, a8 [1 m- Z7 S7 D! R% V                {5 S$ T0 S5 W' R
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            / V; \- d! j' D8 b1 f
                    if( pSkillProp == NULL )" E6 ^9 ~& O$ E; }& ]4 g9 E
                        continue;8 D" H* {- K" H# m3 I5 {+ {
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)+ x, `7 b. Y0 s! }
                        continue;- ]" Z' T! I6 g" X
                    lpSkill->dwLevel = dwTmpSkLevel;( O9 t% `& U* ^, o3 C; l+ D  `
                }6 L' p' F! C- `
            }) |  S) t' A6 M
        }
! b$ A+ F* E" D0 y        else if(IsHero())* e. b" {; J4 S' m( u+ f
        {  X- L2 v- V. C- z
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ c: q  e. O- `+ `            {               
) B) \$ }. }2 [- k1 I$ _                LPSKILL lpSkill = &(m_aJobSkill);/ h, S3 C& a: n& T# H  a
                if( lpSkill && lpSkill->dwSkill != NULL_ID )2 V) J& B8 c& {- u" l9 S& j
                {& m" r! b3 W6 ~" L7 c% Q+ M
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
$ t$ k9 A! {7 H/ J" f; j7 @                    if( pSkillProp == NULL )9 a  C$ T6 Q# M: k! I2 V% [/ J
                        continue;, _$ N' a* C5 R# Q$ l- `. o" ^
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& M5 g( ~/ o. a
                        continue;
# z6 s/ b: Y; G5 q                    lpSkill->dwLevel = 5;
1 B& Y4 X, p4 w, E                }1 j% d9 e* v: Q& [8 Z  ^  l
            }
  `" z1 f6 R. t7 J9 l; P/ ^        }8 L7 i( @- D) _* I
        else if(IsLegendHero())
6 U/ ^1 G& d1 u( ?8 n0 K' E        {- _1 F2 W+ E5 P. s; D7 f
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) , J  [& N2 i5 u& f% S, ~) ~
            {                , @& @. r2 \' ~0 Y7 I/ f' C
                LPSKILL lpSkill = &(m_aJobSkill);
: ?# P0 q1 n# Y. {# ]                if( lpSkill && lpSkill->dwSkill != NULL_ID )% h  u5 k$ M$ ^) b, Q
                {1 P' @0 W- K# r1 F( C% S8 U( E
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            5 r% r8 B$ n) u2 t9 g
                    if( pSkillProp == NULL )/ d+ Z8 v. @; `
                        continue;
; x! E  v3 E* k3 A                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
& F- x+ r9 @8 c) i) N                        continue;
& ]5 W: c/ H, b) L                    lpSkill->dwLevel = 5;( Y4 Y; Z0 R; G1 ~9 W
                }
& I3 D3 y/ c8 f* X) |            }
4 @7 e6 I, i( F5 a, X        }
5 [5 p2 n8 _! C% i. g$ g#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
3 w# Y$ ^9 x6 K+ c- R+ q$ V        if( bGamma )
7 P/ v* n% x1 a0 i' ^) W3 I        {* u2 ^% Z7 ~% n9 S' J# ]. A: e
            m_nExp1 = 0;
. M, v  F5 b6 I2 p! v& M        }( m4 t( A/ v" o2 V9 d9 u% `
( Q# H' ^% c7 a! k3 d6 I& i0 U, M; x, T3 F) e
        ( (CUser*)this )->AddSetChangeJob( nJob );
3 n. e, Z' X2 M9 ~        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );0 e( k$ M) F% b6 o5 n7 ^8 V$ g6 I

% T2 L+ N! @- V# _7 R4 B- y2 m  z& ]. N* v. O" M& W8 b
#if __VER >= 11 // __SYS_PLAYER_DATA- R9 W* l# Q7 Y& {. o3 w2 l
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );$ T( k; X+ z# n; i6 y' G2 a% N
#else    // __SYS_PLAYER_DATA3 F+ ^+ {$ ?0 m
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );2 S8 h+ _2 e. K
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );" ^2 T  d+ K( Z( g0 W" A
        if( m_idGuild != 0 )
* ]" I/ u0 `" P( z" t6 k            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );8 E2 S' ^( _* V0 _( O6 u( i
#endif    // __SYS_PLAYER_DATA
/ j7 I# \) y2 C$ S! R* @* Y7 s8 J6 o) O        SetHitPoint( GetMaxHitPoint() );* ~. }3 e" ]" P+ z
        SetManaPoint( GetMaxManaPoint() );. a9 }5 ?0 E+ s5 g
        SetFatiguePoint( GetMaxFatiguePoint() );
) R7 [+ g# k+ L! v$ g. y        if( nJob >= 1 && nJob <= 4 )
& U9 ?. ~1 ^( f+ ]) @+ b/ p        {
$ w* z" X9 M5 W( K! C            m_nStr = m_nSta = m_nDex = m_nInt = 15;. c% j8 H* W' }; I
            m_nRemainGP = 28;4 K  D. X2 R. \5 K
        }
7 T) u+ w& ?. r7 L( F        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER ); @$ Q2 o; h" {: S% V
        {
: I9 @% X: E% k; u8 R) o5 Z            m_nRemainGP = 118;
0 D( c$ c' y% @  X, h2 E% P            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
6 c" q4 i- u% U  x            m_nStr = m_nSta = m_nDex = m_nInt = 15;& G! K8 N# r$ w0 c: m- i6 P
        }
3 N$ q! w7 _( ]( N- H6 v; }        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )- |% v6 q) j6 t' d5 I, o1 a
        {
  e$ C- b. t0 }8 p8 ~( C& a            CItemElem itemelem;
" O5 I$ e  Y: R, u6 \. ]9 W8 E8 _            itemelem.m_nItemNum = 1;
% z. ?) X+ H( ^2 b            itemelem.m_bCharged = TRUE;
8 A$ c8 y+ g* i" J            BYTE nID;- N- R' Y( o; u) i
3 e; x' F4 H4 |' W$ V: J: e& B
            if( nJob == JOB_MENTALIST_HERO )
- t5 ?3 T, t: G+ A8 U3 `0 u                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
& a/ B# N0 n0 i  `( A            if( nJob == JOB_FORCEMASTER_HERO )
% N1 C& l# Q% ]                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;3 Q' g9 M. z9 z9 _

9 J$ Q& W  |6 H            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
- z0 A; A9 h) U# w! V# k4 P! T        }% t& k' x" Z1 Y
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );, N0 U+ A$ j' o/ p
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );  ]' w2 [  o' f1 T! V: f
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );- R) R6 H8 G& u: V8 Y! e6 }3 B0 F6 s" h2 J
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
6 F: w  ?+ V6 \6 c. {$ ^        ( (CUser*)this )->AddTaskBar();*/* y; S& b1 ]! f: ^' ]- E2 K9 V6 g
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );: k1 q- n0 ~* ?' _
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
* e! z9 ~: f* s: U& {) `        ((CUser*)this)->CheckHonorStat();
. V4 o& ?& f: C        ((CUser*)this)->AddHonorListAck();9 {/ k5 ~! T1 v* N% r
        g_UserMng.AddHonorTitleChange( this, m_nHonor);( l, ^+ Q+ S5 X5 W4 `2 I
#endif    // __HONORABLE_TITLE            // ′Tà?
/ ]/ Q  Y$ ]. z* ?3 K    }2 b6 E4 U9 t2 d! k, q
#endif // __WORLDSERVER
$ T6 s2 Z& H9 O}  
  I: l8 Z6 R1 @6 Z$ q) D* m5 w$ p0 |& }  @6 N% d
然后你进入functextcmd.cpp并添加以下
$ h1 c/ d0 L. a  \" K
  M! l2 ?  A  r: y- d代码:/ V  e9 w6 L- g, X
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )% u9 |7 P8 i! q, t& U, w
下面插入/ s) b* ?. k7 e# ^* s$ m! O& c
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
$ K% ~# \9 x& L
) \/ w9 P/ I9 w1 `8 y. a然后你去: w' m+ k8 y! J$ v

6 L# X# f6 m3 R* d. n1 S代码:' S, f  S5 F2 O: v3 M  F. [! o
代码
# N, k) H; L$ x, S) kBOOL TextCmd_ClearPropose( CScanner & s )( ^$ V7 i* H$ x* G1 }4 o
{
' k1 J4 @6 [3 e: e# k1 h#ifdef __WORLDSERVER
- e# M# m$ \! ~( c$ A+ W$ {3 ~1 r. M    CUser* pUser    = (CUser*)s.dwValue;( C/ m' f$ W4 E& w
    g_dpDBClient.SendClearPropose();
& x$ c) Y! Y: M; ]! D1 o1 G6 f#endif    // __WORLDSERVER
0 q) U+ b$ a2 s. A8 P' R! H# H! v    return TRUE;4 e7 {4 q% U: f
}! {& @% d$ {$ f! Q3 e
下面插入
1 A4 N) b+ I9 f  P. M* \1 ?6 e( s  ABOOL TextCmd_rebirth( CScanner& scanner )) b& R& w! s' W
{
9 u6 o8 ?5 }5 a. g. _& x#ifdef __WORLDSERVER* z( V8 K7 q1 {: {! q, ]' Q! Z
CUser *pUser;
. _) u& l0 Y4 K! s, N3 J% P, q4 gpUser = (CUser*)scanner.dwValue;
! X7 M1 W4 s8 i$ V. J$ ~if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
/ D, @" C) E$ f- [5 T, U# ^. WpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);# {/ v; f7 A4 k5 h$ {2 J6 h
else
4 E8 ?8 {! R; Z8 O& vpUser->AddText("你还未达到重生条件!");
: s. R& X6 q7 c6 }#endif  d1 ^" W# v/ N8 f
return TRUE;
( W( ~0 ~: t/ g5 j}  
+ e8 Q0 H% d- o
" c' K1 |2 e/ H' v$ S9 ^% p
8 k9 `; v* A  x+ P7 u8 b8 V
, n+ ~+ f5 f5 z% w  O: |5 J9 M+ B) @
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-21 11:42 , Processed in 0.091369 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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