飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
$ i( c. d0 j; P' \
5 d6 |2 }3 N$ H- G& b; iMover.h$ @% z# h4 a+ h4 x% e1 J
代码:
1 ^7 U# \3 V! [; C6 v/ f找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
3 I, `1 I6 [7 b4 [
1 U. \$ [  n8 b下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
6 W; V* c) x( c# C! T
# n) ~. ]. ^7 Q) L/ y然后你去mover.cpp添加- Y+ U. \- n5 F  f" H% I
( t$ R. z4 h; _8 Q+ o7 P0 n
代码:
+ C/ d3 C# U  P" C( ~void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
: O9 ~! Y) t2 {% Z{
- R& n: y; e( O/ e#ifdef __WORLDSERVER% T* g! a2 X( _8 F2 E2 w
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
9 ^; {/ \+ z/ A+ n% a    MoverProp* pProp = GetProp();- \3 t% f, I/ b+ s1 H
    if( pProp )+ f) C; r  q$ j* x7 O5 x% E) U
    {
9 f6 g1 ?8 a% T5 ^# P' L# E        if( nJob > 0 && nJob < MAX_LEGEND_HERO )0 ?  S% E7 ^1 e% {9 C! T
        {
% O" U2 X" [; X* L" ~            AddChangeJob( nJob );
+ y) E: f  o7 V+ z. p+ [        }else{: l  T: K+ |0 m5 K0 K/ H6 k' C' y
            return;
% T: i! b0 i& |        }
3 \3 V+ @% O( j8 @0 U" c        int nPoint = 0;
$ h. j" ^3 u: v9 s        if( m_nJob == JOB_MERCENARY )9 |% B$ m2 j5 I$ t8 I
            nPoint += 40;
1 u* c! i# d$ J# g        else if( m_nJob == JOB_ACROBAT )5 N* V$ |0 b6 S
            nPoint += 50;7 P/ O' o2 I: I3 z+ g+ g7 k0 R2 i
        else if( m_nJob == JOB_ASSIST )
) G2 f) `* i! [1 [  u) a7 Q5 f            nPoint += 60;
2 @* j; K4 X3 v9 K2 g        else if( m_nJob == JOB_MAGICIAN )& |# Z* ~6 R- \; p# `
            nPoint += 90;1 c1 o. V+ F; ^, F! n- e7 [
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )( P# O# t- t7 d* p. \( b
            nPoint += 120;  X" E( I" q1 F1 y& e
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )/ \0 e+ [& W" ^' a
            nPoint += 150;4 Q6 J; W) i5 q3 D
        else if( m_nJob ==  JOB_RINGMASTER )' L# X* G* M; M0 Z5 @, Q
            nPoint += 160;
) B/ P4 @2 ^1 ]0 d" O        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
7 q& g- m2 X! d/ i            nPoint += 180;+ \; a7 f! d! ~0 F. P
        else if( m_nJob ==  JOB_ELEMENTOR )
; z. ]3 p( u+ k5 l            nPoint += 390;
* _( X; G/ l7 S4 t& H        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )! ]3 R$ V2 c* M/ ^/ d# \
            nPoint += 120;
0 y0 e+ w$ A' q7 @1 N1 d        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )* _4 g; j7 |+ s, M1 p( l
            nPoint += 150;2 _) Y2 Y5 A5 e% V+ c5 E5 U$ [. u
        else if( nJob ==  JOB_FLORIST_HERO )' S: d# B9 Z" [. I: C6 d8 v. @
            nPoint += 160;; X" |9 O5 g& V7 U1 A
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
" p) I& c0 H. ^' j6 }            nPoint += 180;0 O& K  e4 K/ W) i
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )6 A& q! ~: w6 }; `; v8 {& c
            nPoint += 390;/ R" y4 \- B  {# x+ v
$ z. x4 ^2 S5 z( @
        AddSkillPoint( nPoint );
. ~- O: o. m8 G3 R: P- Q        m_nLevel = nLevel;' A9 z- k8 b" `+ P

  D) |, O# Z. ]3 D) T: Y        SetJobLevel( nLevel, nJob );/ C9 h9 j0 }. j, R( n" V
        m_nDeathLevel = nLevel;$ o% h* ]6 @; H
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans' l4 T4 C6 |* }* z9 C* g
        if(IsMaster())
& V; d: P7 e5 G1 a1 J        {
  J9 K9 h; L# |/ a4 N1 L) ^/ D% R            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1087 E& w) W0 W+ a' K+ d
            if( nLevel > 59 && nLevel < 72 )
' C8 f- W. W( c1 G- u; s3 m                dwTmpSkLevel = 1;) k, A$ h) I- c
            else if( nLevel > 71 && nLevel < 84 )
8 p: D& p# j, T3 H9 d                dwTmpSkLevel = 2;) T* |( W3 w! e2 s+ U
            else if( nLevel > 83 && nLevel < 96 )
7 M2 `* [' L' k/ e- ?                dwTmpSkLevel = 3;! r1 S! O) I6 o! Q! L4 v: E+ R: @8 i
            else if( nLevel > 95 && nLevel < 108 )
( w9 I* N& P- j8 o" N' o5 k$ x                dwTmpSkLevel = 4;7 W0 |; O1 Q, }7 y. l
            else if( nLevel > 107 && nLevel < 120 )
" r  V) m3 f4 @                dwTmpSkLevel = 5;
% R$ J8 p' d/ G2 s8 G! W            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! f3 h! s2 b$ s
            {                & J5 C3 h% M! I) a* B5 _
                LPSKILL lpSkill = &(m_aJobSkill);
( y$ y: B2 P) K" l0 }& S# p, [$ b0 p                if( lpSkill && lpSkill->dwSkill != NULL_ID ); x0 E( V) n1 J  Y9 w: J7 R8 d
                {9 D* n: @( \( h4 q4 u2 b: o
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( R" n; L2 H8 R$ ^! n! i+ |  i* b                    if( pSkillProp == NULL )( R6 s4 e  R# w
                        continue;
+ s0 A- U. D* n" T                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)7 [6 T) v+ E# J
                        continue;
: `# u7 \3 n* \; B/ G+ U                    lpSkill->dwLevel = dwTmpSkLevel;7 x' @; y  g0 a9 [, W7 j  g
                }9 j, n7 ~  M& X* [* r
            }. x- g" X4 k7 r, A
        }
2 e9 D0 A- ]4 Z* u7 u        else if(IsHero())* D* M* C$ I! p: g3 \8 `
        {
+ t) d: b3 e. s; f, Q* [- V            for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 c0 ~: b, @2 p1 [, z- B            {               
& B0 L0 f" ?6 k( @$ L                LPSKILL lpSkill = &(m_aJobSkill);
2 _# ?3 H/ K. v                if( lpSkill && lpSkill->dwSkill != NULL_ID )/ G8 x" l# M' Z
                {
; [$ h7 f0 y1 f( L( d                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            * e- S+ J* a+ G/ ~) l
                    if( pSkillProp == NULL )) s* o: j7 D! Q7 [5 g& g3 d
                        continue;
& a1 n/ ~6 Q. |0 H  U                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)1 _3 w, F; I/ ]; O) v+ x. f& a
                        continue;" ]* k/ a& D% J5 b. k( V; _
                    lpSkill->dwLevel = 5;0 J/ k# p  P# r+ S
                }& K4 a& D  V4 j# \8 r: h
            }% b, |4 F' l1 g9 X: l
        }
. w9 ?! N. i; o( P( ]& b  j        else if(IsLegendHero()), e- Y. }7 v  e
        {
4 b/ n. b' L! N            for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ @" X; g( F+ S* R8 W, _: D& [" d            {               
5 f  w1 y8 Y% i% W' i+ c# C                LPSKILL lpSkill = &(m_aJobSkill);
) z* X  C2 @" @, ~$ Z: J                if( lpSkill && lpSkill->dwSkill != NULL_ID )- g* n  t, W* U" t& t5 q7 a
                {5 b1 f; d+ }* b0 I# K
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
9 x. h6 q' Q$ @0 f                    if( pSkillProp == NULL )% l( A/ j7 ^, T4 @  S# B% ]5 Y
                        continue;6 H# [% U, J2 f
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)5 R  ^3 d7 }9 C' w* K; f+ `
                        continue;$ \/ N" {$ j) ~: s1 {# C
                    lpSkill->dwLevel = 5;( K% y8 ?; F3 T3 R; r
                }7 T: ]( ?( M6 ~' e/ p. Y
            }3 Q* ]0 f( n. N+ Y
        }! \0 T6 {7 Q, u  p8 f  {9 x
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans! e2 o2 _- h8 p. H* F% }, j$ Q0 i
        if( bGamma )/ }! D' r3 S+ c# k" H9 I' u  S4 u
        {
1 I$ ?9 x) C1 n  Y( I            m_nExp1 = 0;
& T6 V) Z. c* I, x) D        }* }7 {, ?2 r/ \0 S- W

( C4 N; I% G9 m        ( (CUser*)this )->AddSetChangeJob( nJob );: u, i( G( W, N) j$ B' t
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );, ~! T4 C$ h6 R" V( R% H1 i# h  ?
5 C5 D( ~5 Z( G/ q* s7 k4 z# i

. F7 W& L. d- x3 i6 X4 X7 H#if __VER >= 11 // __SYS_PLAYER_DATA% O( @7 V9 u4 L& D  W) w
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );  w5 ^6 [1 K# \$ L
#else    // __SYS_PLAYER_DATA
! N7 U  m6 N! y; _& p        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );6 _0 u! B) R, y
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
3 T) _+ ?# C3 c        if( m_idGuild != 0 ), U+ C( _6 b# r7 u; }
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );) c8 ]0 P# i) y2 t- `  M; `
#endif    // __SYS_PLAYER_DATA) }- h! e$ i8 D  ?# v/ q6 H
        SetHitPoint( GetMaxHitPoint() );
2 r$ O4 e' k! I& y  y0 v6 h2 r* f        SetManaPoint( GetMaxManaPoint() );
$ t' c0 e5 @( K4 d) k' [        SetFatiguePoint( GetMaxFatiguePoint() );; [$ C4 ^. R* E* l
        if( nJob >= 1 && nJob <= 4 )
+ v- L( v* Q1 R, M# }/ E4 J) N$ Z        {
! T, ]) Q2 |1 i            m_nStr = m_nSta = m_nDex = m_nInt = 15;# l2 U6 ~0 {: d3 k( {
            m_nRemainGP = 28;4 o3 X4 }. M+ K) N% d. D
        }- k8 Z7 x) B; I* E7 M* `' X% X0 j
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
) q3 H( m, E) {/ N9 N        {( z3 z; [. b1 O: P0 V1 N& T
            m_nRemainGP = 118;! Q" T2 S6 U# G% h( {5 m  [( B! O1 H
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
. V9 Q* N7 m- }8 n            m_nStr = m_nSta = m_nDex = m_nInt = 15;* e; ?) E0 V, [3 p; T# a
        }( I; y8 [" w* S1 c- `. Y9 g
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )3 F" n4 J2 }0 i9 H* ?  n
        {
6 U: x) y, M0 `, H- Q# D8 z            CItemElem itemelem;
. I- P2 f5 Q; G; w            itemelem.m_nItemNum = 1;$ Y2 ^* m  [, {0 z: o) E7 Z$ I
            itemelem.m_bCharged = TRUE;
6 @9 N% t% P4 ?, l) [' Q, a            BYTE nID;
$ M% G- U8 N- r" y- w
! ^; n# p# X# z            if( nJob == JOB_MENTALIST_HERO )
" m' T' j- Y* x                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;" u) m& X3 U2 e( \0 x8 z
            if( nJob == JOB_FORCEMASTER_HERO )
) a1 ]+ J- k: h( \                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;- |/ o; {* x5 {

+ ~5 h% v9 K/ Q: o            ( ( CUser*)this)->CreateItem( &itemelem, &nID );1 G4 G; }( `9 O" d& n( Z: q5 l
        }, j7 ?& B8 w4 P( t- H! Z/ I/ }
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! k  `  {$ F; d, H0 `' I        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );* }! B. v4 ~& x: M3 ^
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );! t6 l" L! ^2 M( k7 G1 w
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
( Q! @( N! J& h8 ^- y9 o) U        ( (CUser*)this )->AddTaskBar();*/
6 [8 E" d5 S, Z% ?        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
0 O3 E$ O2 q% p  r: V& I5 j#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?5 U1 L) w4 Q# F  b! z
        ((CUser*)this)->CheckHonorStat();
  H5 d+ f8 P- ]- c: h% V4 {4 f+ Q        ((CUser*)this)->AddHonorListAck();$ A- O9 z7 c& R8 w
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
7 Z9 N- Z# i0 \! p#endif    // __HONORABLE_TITLE            // ′Tà?
; v4 e- ^  v1 q    }- s' r8 P5 G+ x
#endif // __WORLDSERVER
: u* [/ b7 c! _% E) ^$ S}  
6 [/ [* j( h; w: ~( G) m% Y: W! H2 L- V) b. E& ~& Y
然后你进入functextcmd.cpp并添加以下
$ E/ r0 [6 ~& \( |' c0 Z; ]9 z3 o- }- Z! M) }' }+ [0 j0 X6 r
代码:
& T; S, K" y# o  GON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )! b2 J. [4 b3 S- t
下面插入! F! W) r* j8 Q5 K4 s/ M" \) R) \
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
( A5 F. q. J! M# a& @, k( e0 w8 s
然后你去* O" q3 u$ h& f7 O+ u& P; G- [
5 W1 B, s, |  c4 a8 C# X; G
代码:9 K! o- y' C1 M6 u& c$ ]
代码
' j: p% ?1 S1 o% L9 o4 OBOOL TextCmd_ClearPropose( CScanner & s )
: I- P  v/ _4 G! Q1 @; ^; k7 M{) o1 U2 P( K# `. T: n( A/ j1 L
#ifdef __WORLDSERVER
8 f/ {7 Q9 B2 f' S    CUser* pUser    = (CUser*)s.dwValue;
) [7 ^+ Q+ f5 d* E    g_dpDBClient.SendClearPropose();
0 B3 O, g8 I6 l, W% j7 E2 Z9 d/ v#endif    // __WORLDSERVER5 s9 H) i0 z: \# N  {% i
    return TRUE;
# Q& f/ N5 _5 Z( I3 ^}' E; j. A3 X7 G
下面插入
% w" L+ |: Q* x' [9 ?+ LBOOL TextCmd_rebirth( CScanner& scanner )$ O7 [& ]# c# X$ s9 `/ ]$ ~: ^# C  K
{
$ S, \( ~7 F) T8 l/ w#ifdef __WORLDSERVER
7 z2 k* B5 |9 t& U+ \- xCUser *pUser;
. ^5 ^0 f4 x# F0 O0 L, }pUser = (CUser*)scanner.dwValue;1 _; D( {& F  W. Q+ `! b  G
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())! ]( \0 `9 l0 ^5 R3 X
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);4 N4 E) B. o. p5 h; q+ t  g6 Q2 _
else
5 O3 C$ Y, ?1 L5 J; npUser->AddText("你还未达到重生条件!");
& X) z5 K6 [* v3 r- u0 q/ s& v#endif5 O$ i6 a/ x; M+ x+ I
return TRUE;% i- R1 B+ t( Z) Z8 P" a
}  
. F# M) y9 y7 P6 j
& a0 V1 s# j! G, l
7 k$ {5 _4 \+ g5 G/ `! R" x: \3 x+ Q. K5 |% e0 I# U: ^

. b& V% ~, `, B7 t; p+ W2 H% k9 g( [
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-31 05:54 , Processed in 0.144226 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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