飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
2 Y$ i. y9 ~: @0 O0 }/ }# M) y
Mover.h8 I$ H& m- O# |: U
代码:! V2 [* O# E( R% H* D8 O0 C' P
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
8 ?, [) a9 @, F1 c1 j* V
1 ]7 @/ d# t1 H: k下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
& D: V! i% C- k
3 J8 ^" M; p. {3 b5 \( O7 z然后你去mover.cpp添加
8 g0 |2 B; n# U6 H* z
- A1 T, f! s2 U% e) o4 Q代码:' E( m- g: k5 ~  h# m* _  i
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma ). Q* X2 Q/ v. I
{
' ^, e8 \& o( W" W#ifdef __WORLDSERVER5 i- T$ E4 V% ]1 C" v
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó. i( {1 B3 I1 M  P! I8 {, i& |
    MoverProp* pProp = GetProp();
2 e. a0 ^! m( ?) Q0 v* r3 D: g9 V    if( pProp )
: S3 d4 `6 F5 S    {$ r$ q( H: N6 C2 Y
        if( nJob > 0 && nJob < MAX_LEGEND_HERO ); O% X8 q' e& [) U
        {
, D, u; T8 A( W1 V; ^            AddChangeJob( nJob );" a/ r- x' i6 m2 V( r% g0 h4 y
        }else{$ H( y$ W" ]+ P4 Z. A7 d; m( R
            return;
0 i  Y1 X3 u% i7 ^0 B        }, `1 t+ @* r$ N$ _0 c
        int nPoint = 0;. P- C2 w. |6 M2 M/ R
        if( m_nJob == JOB_MERCENARY )( ~, w4 c7 O( Q8 w! T7 Q
            nPoint += 40;
( R2 J" w1 R( a2 r3 `3 Z        else if( m_nJob == JOB_ACROBAT )
, ^6 t3 x- @& M1 m, b, q8 Q$ q  _            nPoint += 50;
. I& n1 x9 ~+ C# K$ T        else if( m_nJob == JOB_ASSIST )7 {  _! @2 R# N- t  f
            nPoint += 60;
& o& d  z8 K: ]" M8 t, }# I        else if( m_nJob == JOB_MAGICIAN )
" F6 a$ w% B% ^9 W. F! g            nPoint += 90;
, Q, _; f& @' H" s9 h& @  n, L& l        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
% t) V/ k. j5 }5 {- O- v            nPoint += 120;
" D0 a! f! C+ p3 P& _8 F        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )+ V& s/ f5 N2 g3 j3 }. k. s0 S
            nPoint += 150;. R3 I4 N9 V' M* [, }. g: s; K  ~
        else if( m_nJob ==  JOB_RINGMASTER )6 r4 ^) P  m" i* W- B5 @
            nPoint += 160;* ]% a2 i0 d/ l8 ~+ z3 B
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )# s- k0 _0 g  U  A
            nPoint += 180;1 C- H8 O1 X7 W7 z
        else if( m_nJob ==  JOB_ELEMENTOR )
. H/ w6 J) \% E3 A) I6 {8 Y            nPoint += 390;8 Q( q4 O/ a; Q7 b* ?+ i3 A
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
+ w5 g/ d# [2 B( n* q            nPoint += 120;' E1 J( o3 a. L# Q/ x( s
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
5 X4 T$ P7 V2 V8 b* R% I! T            nPoint += 150;- {1 Q! q9 H( I: V5 A# F+ [! g
        else if( nJob ==  JOB_FLORIST_HERO )
# S, ?6 h# Z( Y' D  S            nPoint += 160;* Y" l% c% T- E$ N
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
4 o' U; e0 x2 J* {: M  V/ L            nPoint += 180;
/ [7 x* k* s, g* s3 i5 r        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
! ?! P0 N: J( @) @! j0 p8 m            nPoint += 390;
2 G; Y8 B; W+ T9 g0 X) v* o$ y* V0 {
* \& {7 ~( A( @$ q! t1 j* |        AddSkillPoint( nPoint );
. T" p  T# B6 o3 g        m_nLevel = nLevel;4 z3 f- t% k6 k3 e1 n  o1 i- _

9 z0 b2 c1 M1 ^; N5 B$ s# H& Q9 k5 p) R        SetJobLevel( nLevel, nJob );+ M! U1 O) W( C, [9 f& _
        m_nDeathLevel = nLevel;
; m4 k9 C' @  l" D  n& k7 W7 C, G2 R#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans7 W  H" z5 p, c
        if(IsMaster())
2 H2 T" P: b" ~$ h/ G$ X3 t        {
* S& R6 P: P) V6 v+ N; E6 h# `            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
; n% y" z' V& _. v( b3 w. K/ w            if( nLevel > 59 && nLevel < 72 )4 m9 ]% t" Y' J' w1 @& z
                dwTmpSkLevel = 1;
5 m) U1 `0 V$ g  P! a            else if( nLevel > 71 && nLevel < 84 )/ ?6 Z6 S9 _: l
                dwTmpSkLevel = 2;* y( @% q6 J4 j
            else if( nLevel > 83 && nLevel < 96 )  _) T6 }5 K9 a, q/ G
                dwTmpSkLevel = 3;
0 q3 d% k2 S5 O3 s: S8 i/ `            else if( nLevel > 95 && nLevel < 108 )
0 @8 W; y3 L: [+ U                dwTmpSkLevel = 4;
( p4 k5 D+ U9 U4 A+ w            else if( nLevel > 107 && nLevel < 120 ); G' x9 M: J4 w5 x$ X- F
                dwTmpSkLevel = 5;
" d) l: a3 V; U1 R            for( int i = 0; i < MAX_SKILL_JOB; i++ )
  b' o/ n! l$ w2 G- z            {               
! y) h8 k& C3 O2 P' w                LPSKILL lpSkill = &(m_aJobSkill);- B( V1 n! g0 W0 l" M* x
                if( lpSkill && lpSkill->dwSkill != NULL_ID )7 }: k& H8 r5 h5 {! T
                {
+ e/ L/ {& S: I1 m                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
8 b: i/ ^0 f) L0 d: b) |7 |6 O$ e* `                    if( pSkillProp == NULL )
& B7 ^4 q0 c+ \+ {* k3 ~+ }                        continue;
0 l2 Y7 T0 [; ~  I, O6 ^3 ^  \                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! B0 e8 L2 |$ d% d                        continue;
0 M  W8 Q& b: H7 o4 t8 i                    lpSkill->dwLevel = dwTmpSkLevel;
# c2 T5 G7 w- Q! h                }
# u, {9 B# ~9 Y2 b7 W! w+ h/ }            }
2 W% q, S+ l" M3 {+ _3 H        }. o- h1 }9 Q( g5 H7 o
        else if(IsHero())6 n8 \# L' \; a# N* X
        {# K) B) ~. f$ I  I
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ' @% v5 o. C. d, _4 d* W
            {                $ h. C# ?9 g" C1 }8 ~3 s% S
                LPSKILL lpSkill = &(m_aJobSkill);) U# b4 O$ v$ A) [: }1 B
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
1 W( {* N% m' I8 }                {5 }8 _2 C/ W4 w& h( H
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            . c! l' [- e+ B9 C# l+ q
                    if( pSkillProp == NULL )
6 r; w( T. K  d# I, v                        continue;
6 s8 w8 n. y8 s7 @6 g, r) ~                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)8 Y' A; y8 ], Z, b$ e2 K
                        continue;1 m" e, Q  Q2 J: g) a. Z+ C3 {& E
                    lpSkill->dwLevel = 5;( R  l4 b! ^: T- M% Q& T
                }8 l4 K4 P* f1 s0 C4 E7 I* G
            }
* B" x% v$ K) a0 }+ P; R! T' \        }- ^. L' Q; l' m: W
        else if(IsLegendHero())
% s* D& |# L8 Y. L4 \        {6 M5 }# q$ r8 p; x) A" \3 l
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* H0 ~1 @$ R; m# a            {               
  A4 b+ {: J6 j  ~. e/ T                LPSKILL lpSkill = &(m_aJobSkill);0 d% T2 ]. J* e) A, m& m
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
% P) \* t1 n7 d! F" J                {
! R: D3 {6 [( ]. O7 k                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );              H5 j; c, B- _- D3 m+ X
                    if( pSkillProp == NULL )
# A1 a1 v3 |9 ^( d: E: G                        continue;) ]6 W8 R: Y6 J# x+ G
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" D- s" ^3 u* f* u; V7 r, i                        continue;
/ x4 U. k- j& u7 E8 @+ Y; [; f                    lpSkill->dwLevel = 5;  l6 Y9 {& x$ Z" l$ \: _
                }* x% L- U% `# ^3 b* K  \8 W
            }, q  E# U; _; u8 v; k& I
        }
* q+ [- q3 [9 y4 d#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
4 ~8 k5 E/ I# E5 x        if( bGamma )  |4 E2 a# s2 g
        {/ N) C$ U8 v: u
            m_nExp1 = 0;
1 W' C7 R) @) T! n        }) n% A4 y( L# w) d* a
. _/ ?5 t4 Y0 [: p" Z( I
        ( (CUser*)this )->AddSetChangeJob( nJob );
! U$ X) Z( I, A1 K+ ?, L        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );* R5 v4 i  r- n* K* M
3 b) Z( v- J0 E( Q  f' @

* R$ D* G4 j8 @) p#if __VER >= 11 // __SYS_PLAYER_DATA! r% L7 Z9 W5 q! g& K0 z& L+ M
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
  `! |+ C) |$ f#else    // __SYS_PLAYER_DATA
0 w/ \8 }" X7 n4 x8 N+ y/ v# H) J, O        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );. E+ t/ @7 r* \/ \" O( R
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );# S+ J* k, B% \# A2 c6 H
        if( m_idGuild != 0 )
& F' ?, K( r/ o! J! e9 z6 L            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );; a7 T& V( o! x
#endif    // __SYS_PLAYER_DATA
! {0 @: v  @" j& q        SetHitPoint( GetMaxHitPoint() );
2 ]2 L  ]3 \7 V9 L/ k        SetManaPoint( GetMaxManaPoint() );# r1 `3 |7 I4 `! {4 S. {2 m
        SetFatiguePoint( GetMaxFatiguePoint() );
7 Z5 H; l/ {2 Q9 f$ p6 C        if( nJob >= 1 && nJob <= 4 )
" T. u. N6 s( G/ W# W! t' `        {
8 y# C- R1 ]+ W            m_nStr = m_nSta = m_nDex = m_nInt = 15;7 `& ?6 w- X& I' p4 t$ i* J
            m_nRemainGP = 28;$ }: q8 ~; g, n* G
        }9 l  i9 _2 ?7 E8 G+ y
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
. s  {0 A$ K: z) p: r        {- l, I  r8 z, [5 k( e8 d
            m_nRemainGP = 118;* f$ H* Q7 O) o; L; h" p1 r! ~
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;4 p% L3 [7 [, b
            m_nStr = m_nSta = m_nDex = m_nInt = 15;! |# d4 E7 F8 N8 f
        }& h6 \* L. `/ x) h/ I
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )7 |0 ^; S. _4 J
        {
; ~& C3 E2 y- O* O            CItemElem itemelem;
) ]2 F6 a% G) S; Q+ T            itemelem.m_nItemNum = 1;
2 E- D6 `* [2 Z" a* v$ W            itemelem.m_bCharged = TRUE;( k* q% x2 Z! P+ @4 w3 U+ u6 ?
            BYTE nID;" F! z  {) O) l+ f
+ @: O( D$ L: v: I9 T4 k# U
            if( nJob == JOB_MENTALIST_HERO )
0 d4 F8 Y& D9 h8 O5 h# W) u                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;2 `. i/ v0 R6 r9 }# E
            if( nJob == JOB_FORCEMASTER_HERO )
8 ~- g: X) ]8 H' r                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
6 v6 a! h. b. R6 z. ^
, x, n- M$ a! T) S' c) U" o            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
3 t9 o) [: n: ?& M$ k, V$ f+ }& {9 y/ S        }5 A. M# j6 _& r. g* b8 K
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
+ o; j0 [# I4 R7 c! ?        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );6 |7 @+ f. p* }4 k4 t( M
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
$ Z& _( @; e+ W5 [        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
0 g7 I: |! @$ Y& S        ( (CUser*)this )->AddTaskBar();*/
- W1 M; t- s! r  p        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );/ J! d7 j* }8 y( [) ~; K
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
9 G$ c5 G$ q! Q' b% P        ((CUser*)this)->CheckHonorStat();7 e2 |9 J7 h7 E* C
        ((CUser*)this)->AddHonorListAck();1 Y6 {+ S) s$ x8 D0 T1 V- a( I! b
        g_UserMng.AddHonorTitleChange( this, m_nHonor);0 {6 o: @8 b) B. Z1 K/ t
#endif    // __HONORABLE_TITLE            // ′Tà?1 ~/ ^  r$ Y# Z, a2 K; K2 G  N" E
    }" }& J6 H) f: V6 ?
#endif // __WORLDSERVER' G: K  u; F& E
}  . A, B2 ?: B9 q* Y) [

6 l6 J0 Z6 K: r: x然后你进入functextcmd.cpp并添加以下
7 `( `+ I  U* \. F$ ^: S1 j. I
5 H- a) Y: M1 Z) p) d$ d% }代码:4 \6 m. ~' `+ Z& R
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )4 P' F# S( T: w" l5 f' n
下面插入( w1 w+ S) h8 s" \' m# _
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  6 q" a1 F8 L& ~2 T* x
8 W* [# C/ `& h7 ~+ Y8 i$ O
然后你去
: w# K6 v  \2 K+ ]. c, M; p/ n0 c$ P% A; H1 _+ |8 X! U' [
代码:
2 m( W5 N/ A+ \6 }代码
% M( q- j, _3 P8 kBOOL TextCmd_ClearPropose( CScanner & s )
* I8 `4 ]) Y0 Q{
$ Q, o. I5 x# J& B6 K#ifdef __WORLDSERVER6 d  R6 r. Y3 }  {2 D5 a& U
    CUser* pUser    = (CUser*)s.dwValue;
" S& a; \/ q; M5 K- v6 Q, U    g_dpDBClient.SendClearPropose();
# T, i* I+ c' |) K5 A#endif    // __WORLDSERVER
6 D  L/ _" _( q8 ~- q  P    return TRUE;- L6 ^# m& W% Z- P/ k( i
}# r! F: I4 C6 f, y% c- d
下面插入! @$ v4 U; |7 q5 {- L$ E! g
BOOL TextCmd_rebirth( CScanner& scanner )
, J) c( U! ]& \( i- \{
/ R( E7 C& W  a. R#ifdef __WORLDSERVER
1 F8 q  J9 f7 K* Y, |CUser *pUser;5 f# o& t: i9 P* l
pUser = (CUser*)scanner.dwValue;
, G& Q0 l) x% L, z0 r. Y- G# J+ Kif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())9 s3 J- \  w% J6 V8 c3 r
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
$ l# Z  w) T# w$ Oelse
3 H- A3 q4 J% D. M1 A) Z4 ^% npUser->AddText("你还未达到重生条件!");6 Y, s' w& e" E+ R
#endif
0 L! O0 z3 E1 Y' S7 sreturn TRUE;% h+ i7 o1 i5 R  x1 o' \
}  . l1 \( l/ {* W6 f

( ~& a. k! z& P$ C& L8 P$ R1 q$ r) f1 H9 F! T; i" X
8 `( W$ u5 r" E" O! \
) E9 y5 j( j1 H# \0 X: [# F3 a0 _
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-17 05:47 , Processed in 0.060631 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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