飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel! y$ C3 J, z+ E1 i  C) d
9 t6 N2 o$ |7 O8 D4 t% w+ F
Mover.h
6 x, d) I4 P* b6 ^代码:
; M# Q/ F) t- s% f" {找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
8 ?% T8 x! J3 g) p9 ~( }$ U8 K3 \+ L" A5 W5 f) S% z4 r; F( Z. F
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  4 T9 R. S1 \0 v+ M+ L; x
; p1 h1 I: ^. o- d; |
然后你去mover.cpp添加
0 [; s( `+ n* [' m- H  B' r' V/ d
  q4 A8 G% B3 N代码:$ V9 `/ Q4 a0 Q3 B0 j
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
: l2 y3 h* @7 L  ?. s{  P$ v; ^9 S$ x$ K+ q; O8 g1 y
#ifdef __WORLDSERVER
" f* a3 m0 }6 S4 A7 k: {; N    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
& h4 z0 u6 f' Y# p4 c$ R( |8 r, Q    MoverProp* pProp = GetProp();
6 P5 k' J) \& E; d% a* @    if( pProp )
2 u9 r5 X( s; o0 {    {! @6 \/ }$ A- W
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )$ Z* c4 r6 V3 e1 Z
        {2 Q% \, ^- ~- d
            AddChangeJob( nJob );) k4 Y0 g& E# H# c/ q( q3 N6 E
        }else{9 B# t0 \3 \: S, V
            return;
: ~: o& l" N$ W5 n2 Z        }" |  s( z( V- K) h- P6 o- {
        int nPoint = 0;. F$ H5 f- b- s, c8 J* Z# M
        if( m_nJob == JOB_MERCENARY )) k) u( d; Z4 G* _3 `
            nPoint += 40;
2 a5 c4 k# n4 Q8 c0 e        else if( m_nJob == JOB_ACROBAT )
( c: L  E+ j" l3 ~; x8 L            nPoint += 50;
  J2 ^2 g7 _7 y. h$ N# E        else if( m_nJob == JOB_ASSIST )
; s9 w* i; W" B2 v: ]6 Y2 b  z, O            nPoint += 60;, W" F. Y, B: l) T" N. V
        else if( m_nJob == JOB_MAGICIAN )
$ S: [# V' k8 e            nPoint += 90;' @) X7 U  p+ T9 K% e
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )4 ?6 A) Z0 Z' r, T8 [0 S
            nPoint += 120;
9 D9 w3 G3 s0 V3 p0 f        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
2 u1 _# T! \. S' W: Y) O' ^4 ]% q            nPoint += 150;
# v! T1 L% S  q( ~7 k        else if( m_nJob ==  JOB_RINGMASTER )6 C+ |7 G& g  R8 j
            nPoint += 160;# h$ g3 j2 A9 M7 s
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )  ?; G/ C2 p3 i, [& E. j
            nPoint += 180;1 n5 Z) q3 X9 T+ z6 d/ t
        else if( m_nJob ==  JOB_ELEMENTOR )
* N2 j( l, P: a* p1 O. [            nPoint += 390;
5 k3 z( k% {1 Z# C4 G: T0 B8 ^        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
6 ?! m& E) V5 p7 L6 A/ K            nPoint += 120;
" r! a  p& d2 L6 v; i: \1 {        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )! G3 Q) o% o+ A9 N( V
            nPoint += 150;
8 n" n0 h4 F4 T% B9 U6 N# i        else if( nJob ==  JOB_FLORIST_HERO )( K1 D! ^; b/ M# m& ]  _
            nPoint += 160;
; {6 d4 m. e3 j! R        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )2 @) C  N& I6 x, y
            nPoint += 180;
/ \, G/ e# Y8 Y; ]: l        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
6 U4 E4 [' Q' {  K9 p) {            nPoint += 390;* j. R2 p4 t- O8 r

( F6 c& Y9 N8 F1 m7 L! Q8 G        AddSkillPoint( nPoint );* _. Y; |1 F. @8 ?" H  t
        m_nLevel = nLevel;
$ ^' Q8 k2 l! q! z+ [" P
4 y: b$ ]. z$ W1 M0 ~; [% H        SetJobLevel( nLevel, nJob );; }! o- Z) w* F* n5 H2 i, T
        m_nDeathLevel = nLevel;' }2 a1 ]' O4 y) v. B
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
! h5 s: {) V- c3 b- }8 }, H        if(IsMaster())
5 R+ {9 ]& R9 ^1 W% J. M2 L4 {& e        {
6 s  |+ u7 z0 H; ?7 X            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
! @! ~5 H' j. ?1 c            if( nLevel > 59 && nLevel < 72 )" l! W: p: F! X/ q5 }
                dwTmpSkLevel = 1;
; d: B7 F3 N8 I9 J            else if( nLevel > 71 && nLevel < 84 ); j1 l- r7 {2 |" J) o
                dwTmpSkLevel = 2;3 Z; L. x3 m2 U! A9 Y% x
            else if( nLevel > 83 && nLevel < 96 )/ _/ E- O9 d4 a! q7 ]  [& Q6 m
                dwTmpSkLevel = 3;
1 @- Q4 F. h, J( c3 T( _& a            else if( nLevel > 95 && nLevel < 108 )
: W; A9 ?; _$ Z1 l! A2 o/ W9 h                dwTmpSkLevel = 4;
# j. L& ]4 F! u4 l+ B            else if( nLevel > 107 && nLevel < 120 )7 x" ^5 C" s4 C8 W5 C$ T& Q, g5 ]4 d# }
                dwTmpSkLevel = 5;
) s6 r, d) l1 |+ ~5 ~  U6 d            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* q' Z5 J1 k* I8 ^- ~            {               
  i1 }4 v5 C  F8 j3 _) s' b4 E                LPSKILL lpSkill = &(m_aJobSkill);
1 G7 O' Z: L' @9 G  c' P8 H                if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ z# [. Z, I$ X$ Z                {
7 D6 R/ o$ W# @2 o& d$ v                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            - t  f4 J; l6 R" D
                    if( pSkillProp == NULL )
$ ^1 p' t5 R& @4 R8 [! w) A1 R                        continue;
8 v( O: a  J4 B) Q                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 h5 c# ^8 t2 ]4 W                        continue;' n/ o* t( j1 `) p
                    lpSkill->dwLevel = dwTmpSkLevel;
$ {8 c: B* A5 N  b( b+ }4 Y! M! j                }- i7 X  {3 k/ M# ~
            }- i$ D8 O- A( J* J  ^3 ~
        }
: x8 R! y. n1 c8 k- [6 ~% w        else if(IsHero())
3 c! T. N. s9 e) N        {
7 _! f: Y6 O/ s$ E$ _            for( int i = 0; i < MAX_SKILL_JOB; i++ ) " b) }+ D( S' D' T
            {                ! b. Q7 `$ g3 k) c5 z# e# a
                LPSKILL lpSkill = &(m_aJobSkill);
9 ~# O% d- H0 z9 C. h. }. X                if( lpSkill && lpSkill->dwSkill != NULL_ID )
" f/ M3 X4 V6 T5 B# o( e% A                {
; n5 w( u0 V, T+ z0 u                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            - C" `8 N! d- A' o# {
                    if( pSkillProp == NULL )
0 j6 A+ l1 L8 ~3 U) j                        continue;
  F0 r0 j5 l4 f* S# x                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 k7 ]  u7 f" l; e* n; `                        continue;4 j1 v! h" K. j* b$ h5 r9 N# E  o
                    lpSkill->dwLevel = 5;
7 E+ Z2 j9 y: c3 R6 Z                }0 D: L: w7 p$ k& L" C
            }
7 F( ^) a6 Q9 E        }
8 [# \. Q0 ?; \) O1 `: T        else if(IsLegendHero())
0 \4 @1 F- i/ i4 k  a        {$ j% C( q# ?0 Q3 H: l. p6 f
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% ]9 s, Z. P& f. S7 N2 H7 Q            {               
" G8 v& T% `9 x6 ]( g* ^                LPSKILL lpSkill = &(m_aJobSkill);
- I4 @2 T2 s' S* y# L( i                if( lpSkill && lpSkill->dwSkill != NULL_ID )( Q8 w7 I* ~4 l
                {. ~4 L5 J' f3 |8 q7 A& E  `6 u
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ! u: i) _; l# `) i  ]* J; X
                    if( pSkillProp == NULL )+ x& `7 u2 c! k7 @8 Y: _
                        continue;" {  m7 a% \% {& o& e
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)  h' S% ~5 |+ Z) \: O* p  t9 @. u
                        continue;& Z; ?, E- V# |' q& Q# l# O
                    lpSkill->dwLevel = 5;
' D8 X) o8 q) }  `- y0 G: ~) a* v                }
1 U' ?% q, c7 @6 L+ ]. N) d) ~& A% E            }& }2 f1 A  N- Q% g3 M' f$ T
        }( y) `1 b7 e) G$ S& {6 a
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
7 w0 i0 F' c) @        if( bGamma )
3 Q0 B6 W# B" }* X% l( `  F        {
( \# M4 ~& g: s            m_nExp1 = 0;
" ^2 d* X+ i0 V, H        }
2 a  o+ F5 w; t) r$ ^& N/ d7 c5 p4 w: _( o( C
        ( (CUser*)this )->AddSetChangeJob( nJob );5 ]6 u$ }- d+ l( c) u
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );, G( r( w7 v4 {5 {" G8 \& l5 E( Z! }

: ~. I; U: y6 ]; i) H
8 N' c$ s2 |9 z1 _% B/ M#if __VER >= 11 // __SYS_PLAYER_DATA
8 a  t: R: `7 i& |        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 S' ~/ @! q- V( m! i0 M- w% C) l#else    // __SYS_PLAYER_DATA
" Y( g" Y! X- @        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );, r6 g7 a3 n! S9 G6 f
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
4 A7 n( v; s0 A+ a        if( m_idGuild != 0 )- H4 V* S# {9 h% @4 N' x1 M
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );0 ?7 V# P+ p, o7 h
#endif    // __SYS_PLAYER_DATA7 U$ r' ~3 S- T! r
        SetHitPoint( GetMaxHitPoint() );
; o5 ?0 P% _5 F8 C. C4 [/ E        SetManaPoint( GetMaxManaPoint() );
: X# [+ s) W1 {3 O" `1 Y        SetFatiguePoint( GetMaxFatiguePoint() );
& g% h7 m+ N3 U' V# K        if( nJob >= 1 && nJob <= 4 )
% O6 c% N1 Q; G  e        {
+ L4 |. T5 Q$ y. l1 Q            m_nStr = m_nSta = m_nDex = m_nInt = 15;: e/ Z" t9 j7 v0 k
            m_nRemainGP = 28;
- y) \& r2 L& H+ A. t% a4 W& u        }
1 [1 P8 j2 @7 ]- M7 x$ R        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
' m+ m1 A9 }# j) R        {5 k' F3 N; m4 M
            m_nRemainGP = 118;
; S: Q' u6 G1 \" g1 |( C- M0 l; n            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
4 h2 V. b! ^. t7 P, H* w            m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 W3 p( T3 W$ l* @9 \) j. o2 w# I        }% W: y! I6 n- n: g* w5 X4 q
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
2 K5 R9 g6 F9 Z% A5 }5 y        {( Q6 p: L2 I# Q& `0 w8 r: P0 P
            CItemElem itemelem;
$ }: q# M% r$ k" D            itemelem.m_nItemNum = 1;% [: ]3 d6 C$ |
            itemelem.m_bCharged = TRUE;
' Y. S6 m& P8 r( Z! p% N            BYTE nID;6 Y' Z- F7 s3 f6 [5 z

) y/ {  h: ]1 H% L            if( nJob == JOB_MENTALIST_HERO )
* x: j  o5 n7 x                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
/ }& a9 q+ W& }5 L" b: G$ ~            if( nJob == JOB_FORCEMASTER_HERO )
: v( ^% y* W0 J) ?/ E* v1 B                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;0 s, m7 x" [# c$ ~5 e' Z
+ j# T7 o$ E$ M# c
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
. H# c" z! o! g        }9 ~" I  y9 @* ?8 T+ V* z# D4 e) N" }
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );, I  L: }' t. k) u& k7 [
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: h7 S* E7 s' P" o- d4 V: B* O; {        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
& I- R3 f5 v/ h- K        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
1 s8 `9 S/ V0 W) R1 ~! c        ( (CUser*)this )->AddTaskBar();*/5 Y9 U, \, @! ~( L7 J. e
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
4 z" I0 ?# Y: O9 V# Y; @& W9 k#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
7 g9 \. c- i' G, o1 L: G        ((CUser*)this)->CheckHonorStat();7 y/ f! F$ c: C! k1 S. f0 V. b1 L
        ((CUser*)this)->AddHonorListAck();
5 |4 O7 H6 S# i/ i, T' F        g_UserMng.AddHonorTitleChange( this, m_nHonor);, Z+ h, d- v$ o( h. p
#endif    // __HONORABLE_TITLE            // ′Tà?9 Z: \5 X5 F, Q9 }( ^4 q3 B7 Z- h
    }0 Z. Z" s% n4 T! V. U% j
#endif // __WORLDSERVER8 W2 b& ~- V6 b5 ?" O9 `( I
}  
+ r6 K4 {  V9 m& P8 T/ {  u8 d8 G- ~" a
然后你进入functextcmd.cpp并添加以下
  E, d; d+ X: N( t8 ^8 h
9 J# I, ^2 G7 g9 E' d, K代码:3 y# d: q5 k6 s8 p6 \; W- E: x1 Q
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
; l9 a' T/ Q2 }* q$ [' ?下面插入
8 }  ?3 t5 j& u; \ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
* H$ r9 l) r& H6 j' a7 b! c3 v6 q( E. w; j% T/ [; M/ l" @2 I$ j( o
然后你去( X' Z) k$ g/ v; _# V$ ]5 O
4 V  r) G  x1 e
代码:
: F. d# x0 ?- M. y' f: b$ h代码4 o+ B4 Z, `) i( Q& L5 O
BOOL TextCmd_ClearPropose( CScanner & s )1 c; k$ j' Y" A! [+ T
{
7 O6 p7 W6 Q9 R) g#ifdef __WORLDSERVER
7 ~+ K: V: f! u* ]3 `, ]    CUser* pUser    = (CUser*)s.dwValue;
, l! _$ Q2 ~/ P( q* i% s3 \    g_dpDBClient.SendClearPropose();" e( N5 w, n8 C+ n6 R( a0 `+ _0 C
#endif    // __WORLDSERVER1 n% U/ F9 N* {) r+ K1 u+ R9 G
    return TRUE;
! w* E2 h5 u8 y. g, j) W5 B}
; J3 O3 f, A9 Q$ j+ t下面插入
! @$ A, Z! ^# E- L2 d0 s/ {' v0 eBOOL TextCmd_rebirth( CScanner& scanner )+ w) \4 d; a- m0 d0 t1 F1 `2 u
{; a# I$ {2 M# q1 Z8 s+ u8 H; Z
#ifdef __WORLDSERVER
. F6 L; y8 ~) uCUser *pUser;
* `8 _. m, z. |8 y1 T. PpUser = (CUser*)scanner.dwValue;4 X' O; ^5 F, @  j6 U! w
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
& w6 T2 z* Y/ e# ppUser->InitLevelPumbaaa( pUser->m_nJob-16,60);" \$ k! Q9 |4 R$ p
else
& ^9 s% \# E, HpUser->AddText("你还未达到重生条件!");9 r4 d5 f: z8 M2 `; ~. {+ o  ^
#endif
* H- @2 \5 e0 c) _( l) n# f& nreturn TRUE;
9 w& s* o/ I6 Q5 I2 b4 a}  
1 \1 H: q/ b, b- _
! n2 F" K" J, }3 i) _3 J2 }) v5 |8 y1 |

; ^( W# X6 E8 W" E7 j' }8 v
+ x" z/ v  ~8 v2 o; s
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 20:29 , Processed in 0.108361 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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