飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
) A8 r9 t  J* ], q) h1 h
9 i/ v5 M/ Y& O, n- \3 qMover.h$ p  j1 Q# d+ P6 w5 V, K
代码:; R  Z6 B- k1 Z4 E1 I' }& T" U
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü9 w$ |# `  ^/ [

% c- T+ J& n2 D2 L+ h下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  $ q- A9 J- p' `- r( w& J) N

6 E' y8 V1 ~/ q+ H3 a4 E; X然后你去mover.cpp添加9 f8 D+ |9 l3 K" r; W

$ y" W1 e0 m' |, N  s- W2 p! Y代码:
. T: ~/ W7 b% @1 ^0 Xvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
/ l9 H# }' J+ t/ U{  X' H% Q1 V6 ~
#ifdef __WORLDSERVER# t2 _) U' U% S* P
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
/ u' {& B& ]1 R6 ?    MoverProp* pProp = GetProp();2 E% P% p) F* t6 z! X4 F
    if( pProp )5 [& R& D' o+ O' i, o. g; @: ^1 Z" M
    {
! n& k. [3 Z( U+ I2 r        if( nJob > 0 && nJob < MAX_LEGEND_HERO )1 M; u" P1 t) C  Q
        {
! D  \$ Y2 ^. v; `( r0 M            AddChangeJob( nJob );7 \8 q$ V" k, @+ }$ ~: K. O
        }else{
0 P$ E& ^. D9 C6 \            return;
0 U% ?% }7 V" G7 u$ E' T& K% }        }
, ]  w) b7 m2 h1 f4 l* {! [) C        int nPoint = 0;  L& E8 ~2 |" O$ G' |( T
        if( m_nJob == JOB_MERCENARY )( z2 E3 O4 p0 z. ^: S
            nPoint += 40;; M, t! a* k# _( U1 k, [. E3 W
        else if( m_nJob == JOB_ACROBAT )+ C. r3 |" ^+ B* j9 P3 n% q' @5 |+ ]$ x
            nPoint += 50;/ n8 d0 @! g6 I3 U. h6 ?9 S# O) r
        else if( m_nJob == JOB_ASSIST )9 D& E9 |; X/ k+ P  \1 P1 B- L, t* q
            nPoint += 60;
, D5 X/ P# X7 c9 V        else if( m_nJob == JOB_MAGICIAN ): @8 I8 U, s) q  ~" C4 ^  f
            nPoint += 90;. c' v: w1 T% E( Z# }1 D# r
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
$ h% N8 B' i* k* e  F+ E            nPoint += 120;
( ~6 H% c- e& l        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )& f6 C0 Y/ g2 Q
            nPoint += 150;5 v& u5 x: a: P1 U
        else if( m_nJob ==  JOB_RINGMASTER )) }, X+ L2 F7 M3 J. U/ _" z8 L
            nPoint += 160;
9 w+ M  k* w7 Z! ]0 W        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )' X/ Z8 p; w) `! I
            nPoint += 180;' g$ \: P' p( R
        else if( m_nJob ==  JOB_ELEMENTOR )! \: {, Q0 O" e+ W/ t" Y
            nPoint += 390;
# j$ `/ D0 ]. b+ c# s        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
  s! s( ]7 ~3 r2 M  _* H            nPoint += 120;
: A: ^) W! e3 k8 ?        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
9 t8 k! N+ S7 v0 b6 t6 G2 w9 g            nPoint += 150;& B0 @. l* T- j' x' r1 e' [
        else if( nJob ==  JOB_FLORIST_HERO )% R! z- ^$ x! ?" {/ b/ A* \: C- Z( G
            nPoint += 160;
" h5 q; m5 K, o; e        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )% E0 P/ [3 p+ b9 C) U" ?; p8 |
            nPoint += 180;
. s+ i! M1 V) z6 _6 o9 T        else if( nJob ==  JOB_ELEMENTORLORD_HERO )2 a# ]5 G7 x. z0 y
            nPoint += 390;& ?1 b* U  S0 G5 P7 m% O" H& A. Z+ U
# e- P; ^  S: p5 x6 j
        AddSkillPoint( nPoint );
4 m! r. `; p) |2 f# Q        m_nLevel = nLevel;
- K/ Z! }1 k( L1 F' t
. P3 j6 p4 }$ u9 c        SetJobLevel( nLevel, nJob );
8 c9 V$ B4 e/ k4 ?2 M. n        m_nDeathLevel = nLevel;( e  S8 T/ r7 c7 |
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
- I; C: N1 P) w        if(IsMaster())+ k: e: m7 ^) s! R
        {
3 S2 Q- e/ @1 d8 q+ D5 K            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108% W: o1 Z$ E- m9 F& O, C6 Z$ x  |
            if( nLevel > 59 && nLevel < 72 )
- u' S5 Z) a) c                dwTmpSkLevel = 1;/ A0 q. N5 w9 ~7 ]$ c& n8 y
            else if( nLevel > 71 && nLevel < 84 )4 G  I" g' n  q" J2 i8 Q1 q2 \
                dwTmpSkLevel = 2;
- w. G+ W4 g4 E6 ?            else if( nLevel > 83 && nLevel < 96 )7 x: ]& n, E1 J
                dwTmpSkLevel = 3;
) M# ]# ]+ L6 ^* l/ R. U2 O' v            else if( nLevel > 95 && nLevel < 108 )
( J6 K& \3 D4 o2 o% m. X                dwTmpSkLevel = 4;
: w+ ?7 L) Q4 s$ x3 {2 D- t            else if( nLevel > 107 && nLevel < 120 ): h, M- R( A1 m- p; g7 k5 U
                dwTmpSkLevel = 5;  y$ k( W! [8 N+ n, A* {
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / W9 X% z, b* H/ K* |$ A/ \
            {                , s: {3 |" _4 `& r+ ?; ?  @
                LPSKILL lpSkill = &(m_aJobSkill);5 R; T( |: Y# g5 M' p$ P6 E
                if( lpSkill && lpSkill->dwSkill != NULL_ID ), G( h. G) \* S1 i1 E
                {8 z7 |9 Y4 X+ V& M9 G
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
9 {$ ]+ O% [9 y% `) L' K% {1 x: X6 Y                    if( pSkillProp == NULL )9 N+ b) f0 C3 r- j0 }" `( h
                        continue;
; i; Y3 p6 D; f& q                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER); I' H7 o' i/ ]3 A/ r
                        continue;. T. A: C1 [: L9 b! d; b" K+ W4 h
                    lpSkill->dwLevel = dwTmpSkLevel;1 b* O  ?. s. _- P% E7 z" b( C0 I! {
                }
* d! q3 L/ k/ F! w            }
: u* s7 G* q3 t- ]* o3 L        }
& {+ r2 d+ }0 X) Z        else if(IsHero())+ m4 g0 t* }+ R, }3 Q. J
        {" u$ h- E! d1 W% B5 ~5 i
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
# ]" X: ]3 F$ k1 J            {               
% L+ ]: [" H; ?                LPSKILL lpSkill = &(m_aJobSkill);
" M5 Q' _& C6 m                if( lpSkill && lpSkill->dwSkill != NULL_ID )
) i( z) B) w+ S; y' X) K: I, c                {
1 g; q6 K- V' w* R  f7 O% Y                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            9 v; V0 h5 V2 g% r
                    if( pSkillProp == NULL )9 ~0 o: Z- q- j0 O4 W3 e
                        continue;' n: X* z" w7 x: v
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)5 @7 b) T) @( p: q
                        continue;4 Y& I. {! G; r1 f! u3 q+ D
                    lpSkill->dwLevel = 5;
  N3 {* [: `: F/ M# Q& P+ \. ?/ b                }
  u. R. @. |8 m            }
9 w+ w. i2 K: @; H+ ?+ A0 W; z        }0 Y' i" g! [- Y; f( j) U, o
        else if(IsLegendHero())8 t' _1 h5 N3 \! Y. F. ~; t. I8 b& J
        {
/ A3 D5 |9 r8 `9 `, v6 P            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ) _0 N. u* Q4 d+ ~$ A( \2 T6 X, h4 ~
            {               
0 L; A4 u3 d. h& a5 U                LPSKILL lpSkill = &(m_aJobSkill);
& `) T8 c0 A2 j  V1 Q7 j                if( lpSkill && lpSkill->dwSkill != NULL_ID )
# V3 t( J6 D3 w( c. X1 E( G. G                {
, P/ I/ F* S$ z. {8 W: V% O/ s                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            / O0 I$ G8 H! Q. N$ ]
                    if( pSkillProp == NULL )4 c! L6 }, j1 L- Y
                        continue;% ]" z, F1 }5 \: ?0 \: I
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)7 a# T0 [) f+ n  U' x
                        continue;3 w  ^# V6 I- P* ~8 t  L
                    lpSkill->dwLevel = 5;4 L' e$ q5 v2 N) r0 u8 m
                }: _! }! @4 ]$ A
            }
, t, b  T2 c' e* _' p        }
! k) j/ [: K* _#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans" B( L' \, k$ {$ _$ ?9 [" u5 V
        if( bGamma )
, q$ a+ }$ O% ^7 O# V) l        {
; @3 r7 p1 W! y            m_nExp1 = 0;4 d0 e0 E; [7 w% P) A
        }
& Q/ ?" y8 v2 x& b  j+ G0 ^# z, k5 n; n6 L- r! b
        ( (CUser*)this )->AddSetChangeJob( nJob );% @, q5 t7 q% K3 [9 f# X
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
6 ~% B. R5 r2 c
- p% C2 r1 l1 C& I$ q8 Z9 U8 E% l/ s; [' t
#if __VER >= 11 // __SYS_PLAYER_DATA
- M/ r; S- Y7 n$ H2 K8 X        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );  A. T$ I( {8 r: \4 b$ Z
#else    // __SYS_PLAYER_DATA
, H& N- ]3 m3 V( N  X        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );7 G0 E5 N9 s$ u1 g
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );8 X8 v0 Q% M0 Q9 E
        if( m_idGuild != 0 )- ]% z1 w. z0 N2 J. y
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );' }5 f2 w. |8 O* C! Z) R
#endif    // __SYS_PLAYER_DATA7 n' X2 L; o# E$ K9 {8 }
        SetHitPoint( GetMaxHitPoint() );
! U6 |/ L0 n+ O1 `8 H! W        SetManaPoint( GetMaxManaPoint() );2 h0 h1 V- b# Z9 l
        SetFatiguePoint( GetMaxFatiguePoint() );
. Z, n2 C0 ?( H8 |. Q/ Q        if( nJob >= 1 && nJob <= 4 ); ]! ~/ S) n! q
        {
4 Z' U  A+ h  e8 G            m_nStr = m_nSta = m_nDex = m_nInt = 15;
" d. x  _% l/ H2 N. i) H            m_nRemainGP = 28;
' C6 q1 V  S: v( G; a) C/ D        }+ q, K- V6 @3 H3 |/ w1 E
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )& d" X9 j) x4 k1 @0 u/ z  j. t- v, ^
        {9 N, S: b. |" |
            m_nRemainGP = 118;
, o* _, W3 S- S0 E3 f! f            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
7 v$ `* F, ?7 ?$ p# v" E- w0 n            m_nStr = m_nSta = m_nDex = m_nInt = 15;8 n; L4 h. ~6 z, _" _' i
        }
8 g8 ~2 W( \7 V, h1 |9 F8 K        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
; h4 d6 V  j6 X- w4 K4 O& R3 `        {8 j5 O. _  v% R  ^" }9 r1 c$ V9 }
            CItemElem itemelem;
+ c: V4 ~( I! A# E6 H+ A: `/ A            itemelem.m_nItemNum = 1;, c$ c/ X, ]% j# }
            itemelem.m_bCharged = TRUE;
" b, {+ L1 \$ L8 r: `3 z            BYTE nID;
; J' [9 _. O4 q5 |
+ c3 y  A) G, f( \' |% w2 y            if( nJob == JOB_MENTALIST_HERO )
: ~+ e- l: D! O" U+ E                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;3 t# }, i' p6 ^$ v
            if( nJob == JOB_FORCEMASTER_HERO )
5 |8 p# T' f" Y8 _( G' A                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;, G% W7 p1 x+ H% B" D( N9 y
( D1 p% j! C( ~, f3 A
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );1 ?* C9 c& c: h1 I5 S( [
        }
; o1 g' V: D" E* ^8 C4 s        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
7 P4 j- I( J) z1 t1 h        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );# E. r: H7 n- k+ ]4 J& n1 J+ U: Y
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );9 `$ `6 I  D0 ~: v4 K2 E2 B$ S, X+ K
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
1 o: a% V6 k$ T0 p        ( (CUser*)this )->AddTaskBar();*/. g* a3 H1 |# p, h( }# e$ k
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );9 y; |; m. j# h/ g7 d$ O
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
7 @  @) I* m2 \        ((CUser*)this)->CheckHonorStat();5 {# A* W/ s5 ~
        ((CUser*)this)->AddHonorListAck();& [3 c3 e( J! y' L2 U- s
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
: E# H# ~/ m1 f0 ^#endif    // __HONORABLE_TITLE            // ′Tà?+ C+ k; H5 z8 P# X
    }  _/ o3 o1 B6 o2 Z0 k! }$ v
#endif // __WORLDSERVER
7 j  Y; q* f7 s* g8 g}  1 j" E7 B. D8 r  n9 O+ m: e

3 d( e1 t$ s8 G7 o然后你进入functextcmd.cpp并添加以下
/ J  c5 _  s3 Y' ^4 D* e* {* B1 y& N# `* j8 w4 p7 B1 o8 C* q& Y
代码:
* q1 ?# S+ s: b( wON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
6 N6 \, ~$ \' V, t1 T( n下面插入. X+ }2 \( w' t0 \4 q) \
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ; A% n& R; p; T
! ?" |# t- q+ l# g7 P  s: v. c; e+ ~
然后你去
1 @) R& q- o: a: Q+ T. [
* d0 y1 m' l7 Z  G代码:
" \2 a' z) ?3 ?3 }8 v- ?1 Q代码- x- @0 r/ `+ Y# u! ^) N
BOOL TextCmd_ClearPropose( CScanner & s )
3 {8 N8 w+ ^( b3 z2 I{
6 [0 ?4 p& y: W" D1 E" s/ j#ifdef __WORLDSERVER
( W# e# w9 [7 I0 {( B    CUser* pUser    = (CUser*)s.dwValue;6 m- h. m- Y, A. ^2 I: D' b
    g_dpDBClient.SendClearPropose();
, R. N3 Z- n3 T4 N$ j#endif    // __WORLDSERVER
9 x9 `3 C% R" E5 U    return TRUE;2 F0 D. Z4 c# t; Y- B3 P9 Z
}, O3 k( ?2 _' b! q* o& e
下面插入
2 G4 [( q- r5 _# FBOOL TextCmd_rebirth( CScanner& scanner )
- A! }9 [: a% J0 G' ^{
3 e% T1 T; B( {0 F2 `7 s7 [#ifdef __WORLDSERVER
3 L5 o$ b) G, d& c$ @! TCUser *pUser;. t" [9 ^4 O1 ]' p; b) [
pUser = (CUser*)scanner.dwValue;4 H% F# h* Z/ z2 l- J8 R
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
, q% ?: a, Y$ U+ d& V+ QpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);$ X7 b  `( `1 g% @' Q1 D) G. b) U
else
/ o- w, s- Q0 F( M9 rpUser->AddText("你还未达到重生条件!");0 N) J$ d( m. X+ s) V
#endif
0 {# \) J3 N1 D5 w2 k6 nreturn TRUE;
2 x" k& c& D% W2 a6 I9 j( n}  
6 ^. S! `8 p" X7 o7 i! K3 ?  ^) J/ C  ^* m0 I

6 F( _/ w- ~3 \: J) p& d6 e
' V+ W0 ^( Y9 z& }, y
/ I' _. r6 F- D7 M  J
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 01:56 , Processed in 0.092273 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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