飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
# t, m) ~9 A) [* c) \( Y+ w  w# ]4 W: C0 B1 \# y) @& W8 w0 }, o
Mover.h# g' W+ Z) \% T4 g( S! C
代码:. v3 ^" V  l6 K8 V
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü3 o$ F) x6 ], C8 _# A1 P4 y3 E/ }
6 x- B0 P2 k7 ^# l8 Z6 a
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  ) l0 U4 d4 ?0 x& Q- h6 r3 Y
* T5 f7 d" Y- o1 S, W  [4 ^  S
然后你去mover.cpp添加
3 |9 L2 E1 u- A* k, p; F0 y. _" u, ~. U
代码:0 w6 @9 ~6 \0 _  s1 d- V2 r# r# L5 ~
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma ). ]3 q% _4 T* S
{
- p% L, \  t- K#ifdef __WORLDSERVER
8 w1 Z1 S& k0 ?( v% |    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó8 x$ C& w- s' A- T- O+ x1 U
    MoverProp* pProp = GetProp();
+ t) |& R9 y4 c    if( pProp )
$ U: l, T3 s- O% M    {' J3 Q  K) W% F$ s* _6 B
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )7 |4 K3 T, f* H1 @8 G3 L# z! h& K
        {) R# g& Z  X# j3 p4 `4 O& J
            AddChangeJob( nJob );9 E* {6 k9 d4 N7 X8 L4 `+ y, p
        }else{
5 p& C. }1 X; G; r+ q/ ~. L9 u            return;
; J- S7 l. v( f, d        }* Q/ V, x; _# l
        int nPoint = 0;, d2 g# K  j& S! ~# D
        if( m_nJob == JOB_MERCENARY )) w2 U% u* X. q2 n( B8 B. \
            nPoint += 40;! X7 D( X# z# b, ~5 h
        else if( m_nJob == JOB_ACROBAT ), `8 _5 }* Z2 _
            nPoint += 50;- h4 z9 R' j" Q8 l4 Q
        else if( m_nJob == JOB_ASSIST )5 Z2 E3 f. M! e% H; e0 U4 D
            nPoint += 60;/ K* n% O9 N9 P1 D2 C4 L; u: J
        else if( m_nJob == JOB_MAGICIAN )' u! F; m" k* x- a. j) k) j
            nPoint += 90;
9 x4 U3 l) ]% V: |3 c& T( i        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )) U: ~0 P8 f+ h% \0 w4 x2 P5 r  o
            nPoint += 120;
1 Z% G4 l% j5 n, M        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
9 l4 W; x/ z0 `% \6 O9 l            nPoint += 150;
6 K& _" u( Z9 v& c. v# I        else if( m_nJob ==  JOB_RINGMASTER )- M& ^5 q. H. N" |+ ~( G
            nPoint += 160;
' F7 ~7 ?" j# n. e! [        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )0 e* F5 q- H/ E+ b: }5 {
            nPoint += 180;1 A; z2 q! G1 E0 h( \
        else if( m_nJob ==  JOB_ELEMENTOR )8 c& Y' M2 h5 X
            nPoint += 390;
' P  S+ O0 q6 X        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )0 w3 m! B: @) a, t! B) y( K+ `
            nPoint += 120;
3 H0 e7 R: w& ?  l; x' m0 W        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )3 m: |. L0 h) q3 f5 t+ v
            nPoint += 150;5 r) B$ p( o" c4 }; m7 B
        else if( nJob ==  JOB_FLORIST_HERO )
$ Z) Z; U2 z- M: N' _            nPoint += 160;
2 R2 A! Y! X; h& T8 k3 u* `9 e        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
9 H, Y  e: d$ Q0 Q            nPoint += 180;
' c# q* o3 Z1 F, b* k4 _        else if( nJob ==  JOB_ELEMENTORLORD_HERO )3 S" Y* z. H3 P0 W
            nPoint += 390;
1 J0 E( {& t$ K$ h
, h, Q! B( {* b: |3 z        AddSkillPoint( nPoint );
6 c9 ~$ a4 S! I* A/ r+ V* Q        m_nLevel = nLevel;5 l8 _! m  C( I

0 j  G( m8 h, _" d& y) j        SetJobLevel( nLevel, nJob );2 V4 O) T( ]* H! P
        m_nDeathLevel = nLevel;* k& C6 [+ A5 p2 Y. e7 w& ?
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
3 W# U/ N- J" d) N# \4 t& y3 S6 m        if(IsMaster())
" z2 P* A: k' S        {& X+ f) B; L$ y
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1085 b/ ~6 |, ]$ J8 ?: K4 s
            if( nLevel > 59 && nLevel < 72 )6 j0 o: k+ [! K- i
                dwTmpSkLevel = 1;
+ y; i  O( ^! l! ]            else if( nLevel > 71 && nLevel < 84 ), d8 ^% Z7 M5 i' D
                dwTmpSkLevel = 2;$ X% V8 E6 ]9 J) K" r& B3 @1 K
            else if( nLevel > 83 && nLevel < 96 )
' u! B# C5 h) |                dwTmpSkLevel = 3;4 o/ _, @+ V- J& y$ ^5 ?9 z( ^
            else if( nLevel > 95 && nLevel < 108 )
# i+ r2 T4 a3 t                dwTmpSkLevel = 4;
9 ^* e" P5 j. T) I9 G" x. ^            else if( nLevel > 107 && nLevel < 120 )
! K7 O6 s" u; ?$ N. Z                dwTmpSkLevel = 5;4 s; x0 c9 x/ b
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ) n5 c& p6 F: X4 [
            {               
' [: G; l& ~' X% g$ I% g                LPSKILL lpSkill = &(m_aJobSkill);
6 n9 N7 M; ~. W2 y6 h; C                if( lpSkill && lpSkill->dwSkill != NULL_ID ). y# m* y  ^# e2 t9 E. m0 I
                {8 l3 i1 d9 T% I7 z2 S! X5 q
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            & |6 d) v. p- h8 `8 k; D! Z3 l# ~
                    if( pSkillProp == NULL )
& A. p0 ~% i6 B9 X3 g3 e# y                        continue;4 K% o& z, y% \# D# R
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 N( z0 l) ^4 f1 ^1 N                        continue;/ ]6 D8 M; ~* q" G
                    lpSkill->dwLevel = dwTmpSkLevel;/ |# T1 L" o5 y* ?
                }0 _; P# P: `% y4 T  F
            }
2 d" ?& v) @  ~4 ~6 z+ q$ ~        }( M0 l1 o4 V  V8 C0 e; e
        else if(IsHero())& o3 W! k, C! ^8 J# Y" d
        {( y6 D2 e) N* ^& @  {
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 2 t# f8 d8 y' W) n5 u& h
            {                1 Q$ j! m+ j. M1 w& E% ?9 ^
                LPSKILL lpSkill = &(m_aJobSkill);9 x; o7 ^! t# a
                if( lpSkill && lpSkill->dwSkill != NULL_ID ). B7 k$ w2 R/ V8 V1 \1 p
                {
9 X3 `" g3 z" F7 `% H# O1 h                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 F9 X; W7 V: O. F- s2 b                    if( pSkillProp == NULL )( S* J5 M) p7 b' a2 m
                        continue;$ J0 }# k8 B  m6 j
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
& i2 _6 {; J6 X: g( m. `  Q                        continue;
' M6 v1 m% \( U                    lpSkill->dwLevel = 5;
" p& C9 p7 {; W6 y! A4 d                }
7 }7 m) R, c# Y# W1 c' h            }
, m7 x8 N* g+ Q/ P8 X6 h, X/ ^        }
% P* R/ _, q/ `        else if(IsLegendHero())
! O3 S& ~- B2 m' a0 Y        {
; p7 x" h' T+ \' A            for( int i = 0; i < MAX_SKILL_JOB; i++ )
; y$ M; x# E) a: `            {               
5 U( f7 m8 Y  A' _- t                LPSKILL lpSkill = &(m_aJobSkill);5 p& w. e' T( P
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
; m% r4 S! F* r1 D- m8 x                {
+ ?! A  L" c3 [0 r- M                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            5 e8 r- H3 w1 p7 ]6 ^9 \/ y$ ?
                    if( pSkillProp == NULL )4 i1 K: F0 [) J- }9 e/ \1 y2 n
                        continue;
9 j% @. X/ e+ I+ s/ t                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 Y; k+ E) d0 P2 E& G% Z
                        continue;2 c) T/ @4 V! u9 u, t
                    lpSkill->dwLevel = 5;
& u" J% w  Y% V$ q                }: x8 _  Y* m& G  C
            }" k8 h2 U; F; V/ S; [3 w4 j
        }
+ @% O5 ^) o. z! R#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans4 s8 @* j6 \6 g
        if( bGamma )
9 y: m' k1 T4 b: t2 ?        {7 r. ^, P4 l* x8 D, W7 ~" o
            m_nExp1 = 0;, N$ x: N' _, ~; A
        }
7 ?8 ]1 m4 _6 A8 y7 b) O; h
" M* F' S2 Q- m        ( (CUser*)this )->AddSetChangeJob( nJob );: ^% v/ n+ a& ^3 M
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
( v1 T7 o7 |( e! [) B4 S5 Q9 N9 \/ Z4 w# }; \5 _5 e

& g7 {$ \7 L+ }' i+ h#if __VER >= 11 // __SYS_PLAYER_DATA& C+ P. n; s  V8 y* ]
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );- I& q% w7 b3 f
#else    // __SYS_PLAYER_DATA
  I; P, W) U, c( e, A9 b% {        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
% H( {9 B- T& G1 ]) e        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );/ n3 N. B# [5 m; n
        if( m_idGuild != 0 )
' N% p) ?: D/ f' s1 ^            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
: _0 s4 F; z2 z/ Q# K3 k#endif    // __SYS_PLAYER_DATA/ Y2 I; e! G. ?( j! o7 N
        SetHitPoint( GetMaxHitPoint() );! B. @* N6 u3 T, ^: T6 J* O
        SetManaPoint( GetMaxManaPoint() );
3 c6 i3 m8 k! Y        SetFatiguePoint( GetMaxFatiguePoint() );
' P( t1 y3 ~" r, f        if( nJob >= 1 && nJob <= 4 )
3 p' n- y# E3 [" B1 _( y$ n        {
& {' ^. G  W; U4 f2 e8 ~) L            m_nStr = m_nSta = m_nDex = m_nInt = 15;+ }+ @( p" J( v1 q7 C2 ?* x# P
            m_nRemainGP = 28;
. R8 C# s4 a+ W        }- D3 @: [: s- @+ b
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )1 d. Z1 N/ I5 r* e+ v; F1 {. ]' _
        {8 x6 p* [% K/ Z6 A; X* j
            m_nRemainGP = 118;
; u  U' Q& k5 k5 h6 s% N$ W1 [            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
8 r5 m; W) B! {1 A; [            m_nStr = m_nSta = m_nDex = m_nInt = 15;0 Y. p* ^) \) p- ]5 M: ]; i/ S
        }9 l/ v' r) g. B. F" f: d0 M
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )* p1 R& }. b" J9 N0 e  W9 c
        {
( }* F: v2 g2 L8 c2 |  |9 r' k            CItemElem itemelem;0 I/ b& A, z3 O9 Z, h
            itemelem.m_nItemNum = 1;' ]1 {4 Q7 }5 q0 y
            itemelem.m_bCharged = TRUE;1 g% S7 W5 ]! u: b
            BYTE nID;
+ ^( S( e: E4 G6 N: j
0 v9 k9 g2 C: E! u( [2 c' ?' v1 @            if( nJob == JOB_MENTALIST_HERO )
% }; f  J& p! B5 [8 ]                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;, g9 p: ^& l: n+ p$ K
            if( nJob == JOB_FORCEMASTER_HERO )/ V/ Y% z: E1 s" o. l' y
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;) ?# F8 _% _/ o- T

; x4 L" ~* c" C5 ~* d            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
" }/ P  `. l: I1 A$ x# l' l        }
4 [& x- j8 |& [5 C: t        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
2 D2 c* G/ X* g& `/ A7 S( |: {        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );  G2 H2 D& i& I- k
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );; B# E! Y, G8 K7 \5 E% i# k- N; }
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
" Q9 B5 W* Y: [9 f        ( (CUser*)this )->AddTaskBar();*/+ @( u; J$ ^8 V7 ?
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );0 u3 g* C" m8 O+ i/ D1 D+ \
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
. ]" H) k' a9 P        ((CUser*)this)->CheckHonorStat();
; J9 c. ~/ u  e0 s. m        ((CUser*)this)->AddHonorListAck();
3 O8 n* }& N: M9 R3 i        g_UserMng.AddHonorTitleChange( this, m_nHonor);
( G, _0 i7 I6 \( q#endif    // __HONORABLE_TITLE            // ′Tà?
& O( Z4 y; U& S3 _: C    }
) G/ c7 r* M* B: n( b#endif // __WORLDSERVER
9 X2 j; }/ O4 M+ [}  
: h( h; a4 X* ^2 K/ S% G4 ^0 v' g7 X- o- Q
然后你进入functextcmd.cpp并添加以下
6 j( X* `& G. ]/ r1 ~. O3 D
% b* q7 ^  y! @, K2 L. W代码:
. R3 x% j4 z: u2 |) x# B4 jON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )9 X2 h; ]- G1 B- R4 K
下面插入  x6 [+ G% \# D7 t+ g: c2 S
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
( O) [( P) z5 d: v2 P' p0 s  i. a
2 k" [7 f4 M, ?/ l0 a' L然后你去
" q$ q/ c, \0 _2 d, f9 C& E0 q) t5 y  K( O; U3 L9 V# i
代码:  n9 B+ z. c) G% n
代码
. T! f7 r4 o* z" l: NBOOL TextCmd_ClearPropose( CScanner & s )  E# p- t) l" F$ {: W3 O: f8 x
{
' }: w6 A  Q! [6 Y/ r$ Y#ifdef __WORLDSERVER' ], P5 W% _" f/ V9 T$ X  Y
    CUser* pUser    = (CUser*)s.dwValue;
+ v! J) Y3 q9 P1 p# H3 m! N    g_dpDBClient.SendClearPropose();
  }9 S6 g: U  p& u8 E8 s  {( x" X#endif    // __WORLDSERVER6 s- j  l: y* w' m" C
    return TRUE;# d5 W0 t. K) f& Y5 P9 ^
}
0 d( _) v+ @+ ~* D* f6 n& V下面插入
1 V6 o/ r! A- DBOOL TextCmd_rebirth( CScanner& scanner )' ^2 D$ R* A  g! C, ?6 G, |
{) R. i5 H( i) ]+ L( y+ U! M  F
#ifdef __WORLDSERVER
1 v- m8 T6 \  BCUser *pUser;
0 j0 L; P" h- m! h  J, B, b$ UpUser = (CUser*)scanner.dwValue;
4 `9 d+ S7 x, M6 d' o8 C# {6 [if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())8 g3 G1 K; d; T4 Q0 L* Q
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
: h* ]) z# H7 Celse
2 V$ a4 b0 q1 i/ r2 ~6 E' h; |pUser->AddText("你还未达到重生条件!");
0 }! @8 u" S3 z( c! ~; {#endif3 p  O0 d' x; ?# p1 _% L
return TRUE;7 n0 F% i$ F: C. d
}  
& Q9 s& @, p3 B; T) ]' S1 x* o& x9 B% V  i& r
3 @' I2 x3 h1 Q) e: l: l7 a

1 ^1 M% {5 |3 z# J: S2 x% K% x1 x
# J& ]; z4 m! y- }- ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-4 14:31 , Processed in 0.142899 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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