飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel' Q: y7 y9 j- p- {/ t1 v
; o9 U1 O/ E! K9 h1 |" t4 V: s2 |
Mover.h0 O1 Z4 w+ C, l9 ]. d4 S
代码:
( e0 ~7 o+ }$ `" Y5 ?找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü  P4 p. k+ c% x
, Z! H2 H$ `# s' H, ^2 H
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
2 p  r2 U6 y& B
$ l/ C7 _6 B/ A; f2 r- F然后你去mover.cpp添加
9 h' v3 n" h5 e  c7 o9 Z; S% g# j+ c( n3 n3 ]
代码:
; u2 v) Z  u3 u+ rvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
3 [+ ]0 l7 U/ Z5 e' l" j{3 P0 E) }4 L( u+ V* @
#ifdef __WORLDSERVER
$ A3 B+ z: L: w' u( q3 k9 R! P    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
, T- z/ }0 ]$ e$ @; @    MoverProp* pProp = GetProp();
" O& E6 m& E/ H  s) `# r8 P    if( pProp )+ ?  d% o: T  W2 J- b
    {  x. w/ R3 C$ `7 l9 Z
        if( nJob > 0 && nJob < MAX_LEGEND_HERO ); a6 V/ c+ c9 ]. l8 C4 D
        {* o& `* y% O: o& ?% T# }8 [% c5 v
            AddChangeJob( nJob );# H3 a" u1 D& s, i  F+ h
        }else{+ {, K0 U8 m& _1 J9 I* w2 X
            return;' a1 p: p; Z8 n# y
        }* ~9 Z" _$ u6 s! P
        int nPoint = 0;, r: y* @7 H, n0 u# i
        if( m_nJob == JOB_MERCENARY )" F/ v) B& e1 ]2 w# W
            nPoint += 40;
, Z5 H( ^% S) x( l, i/ `        else if( m_nJob == JOB_ACROBAT )
" D. }, w/ Y1 Q7 i+ s            nPoint += 50;7 k) ]+ E8 m; W: \
        else if( m_nJob == JOB_ASSIST )0 H2 S1 F. n; D3 T
            nPoint += 60;
7 X8 O/ G/ d) t* i6 X/ G; s        else if( m_nJob == JOB_MAGICIAN )
& c% ?  ?- Z* z* l! U            nPoint += 90;
3 H% ~! S6 R% R2 d# O, C) R: X! p& z        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE ); t3 L7 z3 |2 B4 e: J+ ?3 a* t9 L
            nPoint += 120;
$ v0 m3 ]( w1 j9 F3 D        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )7 J4 y, N: [! [  x
            nPoint += 150;$ y; n2 Y) r! c$ p* W' A  H
        else if( m_nJob ==  JOB_RINGMASTER )1 g# U% m5 f% t  \) O
            nPoint += 160;  l- h  d" g) r
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
  d7 W; G( Y% J            nPoint += 180;& C: Q4 u( q5 y, |9 b2 G
        else if( m_nJob ==  JOB_ELEMENTOR ): \0 g+ x" I! ^
            nPoint += 390;
) ]4 F4 ^  F2 i' e+ D) _$ v+ c        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )+ ^1 l9 D; O# q1 T. G
            nPoint += 120;
8 {6 n: A, H' j! Z0 I& I: Y) ~8 S        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
  N! ], M3 F4 S; w7 L, u" ]            nPoint += 150;
% x4 Z1 S! i: a* x% N! K! }# J        else if( nJob ==  JOB_FLORIST_HERO )
$ c1 r* K9 m5 C6 X& ~5 K5 ]            nPoint += 160;
) y6 S, b3 W, n6 Z% [% @        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )1 ^2 {; t3 q$ v" ~7 s9 ^; d/ [
            nPoint += 180;! u% C+ z) m# ]5 C% M; D
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )8 }' B) L" h) q0 _. l$ S  R8 v
            nPoint += 390;
7 f3 S  K: Y" t8 x- T+ w
. T8 G) S- `3 K. \, e2 i' o        AddSkillPoint( nPoint );& {! a0 R6 u' d8 ?1 S) P7 v+ z, E
        m_nLevel = nLevel;
+ {: j) a4 V& v& O9 A# ~& P$ N' ^0 ^2 L2 w
        SetJobLevel( nLevel, nJob );
: a2 C/ K1 Y) }0 g7 u. i        m_nDeathLevel = nLevel;
+ g; A3 W* k* U% g5 W5 K5 z4 T#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans+ F; _! V5 S2 o' E3 b' z2 D
        if(IsMaster())
3 @7 O9 W" T0 w$ Y9 @        {* B/ g* A6 f9 ^( u$ d$ H/ ^
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
/ D% {* y/ e6 p. Q: h9 Q# c- x- b            if( nLevel > 59 && nLevel < 72 )! o9 h$ Y8 i. f" T2 a0 D: P
                dwTmpSkLevel = 1;
6 T6 S. u0 L1 V% E& a            else if( nLevel > 71 && nLevel < 84 )' ?8 C! r. ]9 F5 _
                dwTmpSkLevel = 2;& k5 N2 w% `6 L, i" y  u2 |4 H
            else if( nLevel > 83 && nLevel < 96 )8 ~5 o! L1 b& L* a
                dwTmpSkLevel = 3;, j; k: s& p" O6 D3 y
            else if( nLevel > 95 && nLevel < 108 )
1 i/ K' P  |; c) X6 y" W                dwTmpSkLevel = 4;! L6 R& t2 \2 {; {! s: I
            else if( nLevel > 107 && nLevel < 120 )
# Y1 L. w& l4 v# i                dwTmpSkLevel = 5;0 l, \7 V9 k4 F, m" M1 N3 q7 @
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) , P' U; G$ U! T0 A
            {                8 R. T4 f' s, |4 `, I" ]
                LPSKILL lpSkill = &(m_aJobSkill);# K4 N5 M& K; n8 `- f/ y
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 ^; X% p5 ~( `                {  x; n! j; H) A# c. u
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
4 R8 T2 c' r  W  X4 _                    if( pSkillProp == NULL )
: ]! w# N  x! d; C2 _0 u, U                        continue;% Q" B, q: ~$ o' T9 ?! X) N  z
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 h& _9 [: K! ]+ q8 T                        continue;
2 I7 p" @5 O7 r                    lpSkill->dwLevel = dwTmpSkLevel;. @" S) ?5 ^- e, U/ ]
                }" _1 R: C8 r: e4 [' t! Y; u
            }
0 R5 @/ q- r; S  h" @        }
# a, m7 \9 H4 ?1 p( h        else if(IsHero())
) D* p2 K! O8 [' j6 `, }4 X        {6 |: C1 M; V" S
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 Q8 u% E5 U% K9 `* O            {               
; O6 G+ w. m* D4 R0 j; L! V                LPSKILL lpSkill = &(m_aJobSkill);
( u- ?# B! J! c                if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 {" S1 O/ B, E# }                {
7 k. F& |9 `: r                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ( E/ }  O' g+ `6 l
                    if( pSkillProp == NULL )3 a0 N; H* A4 Z1 R6 b/ Z
                        continue;5 o/ X" `2 J! N3 y/ y
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: Z# H5 Y! n; r/ p3 w                        continue;2 r: N* d, s1 C9 p; X3 m
                    lpSkill->dwLevel = 5;( _. k+ o* Y( B8 ]
                }
* Y- P! S( {4 ], |            }
5 R* b7 l3 \9 J        }" u6 l9 G5 F1 j7 j
        else if(IsLegendHero()): q2 t; ]$ x+ ]# ?/ l' G% R; R
        {
0 d3 S4 v- M; `8 e) z1 u3 b0 h# S4 F" @            for( int i = 0; i < MAX_SKILL_JOB; i++ ) " h& j  t& u; x: }2 M: X. w
            {                / V) ~% w: L, K' A
                LPSKILL lpSkill = &(m_aJobSkill);
* ]* ^3 ?& }; p2 _                if( lpSkill && lpSkill->dwSkill != NULL_ID )7 T) c9 |3 X: F; l3 q$ i3 [) ^
                {6 B( q; b2 Q7 I7 K7 T  g$ ~2 Q
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
+ n$ \0 I' F* B9 Q& T: c, J3 u: |; u                    if( pSkillProp == NULL )* Z3 q; w" B  o3 i
                        continue;* }+ B* O+ {8 ^- x- C( g' n
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ p: y6 J9 p1 Q2 ]                        continue;: n9 F  H( T- b7 M3 B
                    lpSkill->dwLevel = 5;& H) X8 D. v# O1 s. A( ^; V( D
                }
8 X- z6 N- X+ @0 ]. ]% S            }
. A5 ?  ~9 Q2 t5 @/ w        }
1 M' `" t/ F+ |$ d2 H# _. }" P9 s#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
4 b: K4 _! o: J        if( bGamma )
' `% r2 y5 `5 N        {
7 T  `  H1 X) R7 e+ R            m_nExp1 = 0;
! Y' R& c; b1 o7 {$ T3 O        }: k7 Z7 |; I3 p  W
6 \- E3 F1 M2 p% U
        ( (CUser*)this )->AddSetChangeJob( nJob );* n/ z) M9 L: e1 ?" z  \
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );' e8 B2 B: B. b. L9 c6 O
& t+ N$ d9 B( g! ]3 ]: a
# ~: H- N  W& C( \& a+ q9 C
#if __VER >= 11 // __SYS_PLAYER_DATA
- b( E1 X6 {$ Y0 S0 A        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 v# z9 U7 l: i#else    // __SYS_PLAYER_DATA
, |8 D# s1 v- {) L0 m- ]- l        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
6 q2 E+ I+ |" H) m        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );% l+ L' ]4 h: G- _5 t. R  @4 W
        if( m_idGuild != 0 ): T6 j* J8 B. y$ S* D
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
. f+ k0 k. ~7 G! s  Y- A#endif    // __SYS_PLAYER_DATA
) j& O1 I; G4 m' ]        SetHitPoint( GetMaxHitPoint() );6 i6 a( N6 X: a  ~* T" {, v
        SetManaPoint( GetMaxManaPoint() );! U  T0 M! v. S! i7 M
        SetFatiguePoint( GetMaxFatiguePoint() );/ ^. C" q8 [. G9 i, ^: d
        if( nJob >= 1 && nJob <= 4 )3 k' z4 t* e& R5 ~0 e2 ^% W
        {2 N9 ?  _9 u. H7 ~- Y6 c5 `5 T% q0 I
            m_nStr = m_nSta = m_nDex = m_nInt = 15;$ {6 u  u+ ~  Q" Y8 w4 Y- h; X
            m_nRemainGP = 28;+ t2 }" ~$ `- W, K3 \" g3 X
        }8 Z: K8 \. @5 r  p( O; m
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ _1 ^* p3 k6 P6 s( E' R% c        {/ C& X7 ^# P# X
            m_nRemainGP = 118;# b: g! @8 P1 n( n4 o2 K& E
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;$ D" }( n. |5 R1 w+ S! v+ N
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
: K$ _; D* v2 h! d9 j        }
( |& L  p+ [# _1 E6 }/ k! u        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
5 y+ r- r( C* c        {
* H& G3 r8 a, w3 X* x! ]( X            CItemElem itemelem;+ `# W  q# E5 t: P
            itemelem.m_nItemNum = 1;3 S5 b4 U0 B) _
            itemelem.m_bCharged = TRUE;
% U, p5 o  q$ u4 C" k            BYTE nID;& U0 |  u5 n3 C& n( \) I, z* ^3 V

) _( B: ^* ^$ s; ^* z% R" K* \            if( nJob == JOB_MENTALIST_HERO ); Y" `+ G8 L! u# g0 }2 r: t
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
- Y( {8 W- V9 r$ a5 B/ m, A            if( nJob == JOB_FORCEMASTER_HERO )
7 k* h* c- E. K! Q# |1 F                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;' z+ J8 E/ G9 G2 r- |

( f! j9 X  Z7 r( g" o: P            ( ( CUser*)this)->CreateItem( &itemelem, &nID );9 d5 j8 a7 C' g; j0 O
        }
( [9 b, M2 v; i5 f/ E        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );2 G& r, i- K/ c1 ^/ j
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );4 N! b) v8 [7 S0 v1 X6 A
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );! `. \/ P2 w+ y' ], d" j
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );8 P# x+ _8 X! {; C4 W' e+ E
        ( (CUser*)this )->AddTaskBar();*/
4 R1 \- Q/ V; C* i9 d) {& w        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );/ |& {3 c6 w3 s0 |
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?$ a2 A' ~& D( `& m3 N
        ((CUser*)this)->CheckHonorStat();8 e! m* |6 \) q( Z# ^' s& i
        ((CUser*)this)->AddHonorListAck();
! Z. l& f5 e4 l$ U4 q        g_UserMng.AddHonorTitleChange( this, m_nHonor);! K' h# f* n+ Q+ N" w7 C
#endif    // __HONORABLE_TITLE            // ′Tà?
4 ^2 Y, K/ [' N6 ^/ {4 i7 V    }$ w" l  Y/ O, G8 Z3 b4 f
#endif // __WORLDSERVER
* X/ a) t0 U' t( t( Y2 [/ ?}  3 ]) s- r3 w; ^* r$ S5 Q- V. z2 x

7 W/ G# ~  @" _& l9 j然后你进入functextcmd.cpp并添加以下
0 K0 G, M8 p4 q1 c+ W+ P
- X9 B+ P% Y! v7 F9 }" n代码:2 A$ S0 g5 k6 w2 i7 [6 V" S
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )3 W7 u6 D/ b, u& N' e) E
下面插入
* `# \3 u1 V9 M# f2 y; aON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
  ?3 G8 @% M! N- p' S; H/ z
0 y  V0 \  _  j然后你去- S( l3 j" P! t( L* B
& u3 [5 [$ s; X9 n9 g# k# {
代码:
8 A, u* ^5 S" D' z5 p代码
# X0 A7 ?8 E2 s5 r* ]. mBOOL TextCmd_ClearPropose( CScanner & s )
4 j% V& R# N2 ~, c7 f{0 m  g; ^& B6 T) [7 X) U5 n" @
#ifdef __WORLDSERVER. X% o2 h0 [4 @4 b
    CUser* pUser    = (CUser*)s.dwValue;
; L, ~% y7 \9 `& a7 C2 Q    g_dpDBClient.SendClearPropose();
: z* h# ~, x0 n3 [6 A4 O#endif    // __WORLDSERVER/ l! I- x) _& l# O$ K
    return TRUE;# q/ }( u; L5 D* P
}
$ D$ D. Y/ }! ]  i6 W下面插入, V2 d5 P2 z7 C
BOOL TextCmd_rebirth( CScanner& scanner )
( W+ w# H& h# e$ y! O+ e{7 F- W5 k4 J: ?
#ifdef __WORLDSERVER+ G1 P  G6 p$ @% o1 N3 F
CUser *pUser;
+ B/ j. A3 r6 w3 W7 `pUser = (CUser*)scanner.dwValue;) V: G  f, A: ^# }, Z& ^
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
9 A- C& K- u) I$ u6 d! _pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 ~6 T. I3 S6 f* A+ q& Telse
0 |# k# k4 h5 X/ Y, X. MpUser->AddText("你还未达到重生条件!");
' _( ?, p4 ^9 i. B6 M5 w#endif
9 ^( L6 d; D- S% }& Areturn TRUE;
! n$ w/ R' r$ K% b}  
2 J. K9 t0 G$ w) W8 ?
4 e7 W# D' ^& d
8 e8 b) G; o" w& d4 F. J* V  ~" D9 C  n

' ^1 i+ Y5 w1 O9 _  t4 G
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 12:04 , Processed in 0.062940 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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