飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
& ~- B& n0 L) D: h7 Q; ]0 O6 V$ L
Mover.h
7 z5 F% u  s" O代码:
5 H) Q- b& [; C找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
5 O5 g, L3 B% ~( y. V2 A
% y0 ]' a3 W4 m, P3 }7 t' I下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
5 \7 @  j+ |7 ~3 r1 J6 ^3 p1 E3 V. O; B
然后你去mover.cpp添加
4 V' c" I$ @+ S# ^9 b9 ?4 A% k8 o* @
代码:
' b# r, g5 Y& b- m2 L' G- G) _void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )4 q( S8 d4 N1 c: H! O( Q: s
{' @! j" D% t9 p( m
#ifdef __WORLDSERVER5 R1 e7 N1 ~8 @' V
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
+ ~) M" k$ e& P    MoverProp* pProp = GetProp();# X8 a. t! x( K. f
    if( pProp )2 n9 f0 y  o! D2 C9 ]6 O5 N
    {
" h% `$ `8 \8 @9 j$ S" |        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
1 C4 o% h; q* F$ v2 U        {+ Y2 h) U) e9 i2 ]* J. J3 V' v
            AddChangeJob( nJob );* Q; D$ f5 B0 A' a5 G' {" b
        }else{
( |4 g8 R* q. ]! _2 r* G5 B; W, I            return;
! S3 X( r% B* C, q' t        }- }- U- _. y- h9 C
        int nPoint = 0;7 f  Z# Y! B$ t" y0 t9 x$ m
        if( m_nJob == JOB_MERCENARY )
( H  o5 |8 ?! `' h, X4 S7 s: G            nPoint += 40;
& t8 S# t3 ?8 j1 g2 T7 j        else if( m_nJob == JOB_ACROBAT )
3 P5 c1 v4 z$ i7 U  T7 M            nPoint += 50;
. a' A" D  J& R        else if( m_nJob == JOB_ASSIST )
( ^0 x/ o! d$ m' l1 M& P7 T8 D            nPoint += 60;
6 t/ Q" i8 U; h: O; Z; C, P9 Y" z        else if( m_nJob == JOB_MAGICIAN )
, t. N9 [  w7 ~8 `/ b# O$ {            nPoint += 90;! o6 H! q' y9 h; h9 @/ t
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )- N$ c! y7 V- ]8 Z; s- Y
            nPoint += 120;
7 x# P* q& |# H& {        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
0 @' t* H* f' h, ]- t            nPoint += 150;- C) D/ W! F: @9 G9 W3 R" |
        else if( m_nJob ==  JOB_RINGMASTER )
/ Y; j- E8 J6 J4 s            nPoint += 160;
+ Q; ~# N. s6 G        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )% a5 \$ L$ Z3 g  c3 X1 M
            nPoint += 180;( b8 c( q4 J" i( a" t
        else if( m_nJob ==  JOB_ELEMENTOR )! \; X& E2 U2 W0 a
            nPoint += 390;
5 w* p, ~) M' ~" V        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
# x* ^: Y& w2 ?% m8 M            nPoint += 120;) a& _( t: o1 C# n- ?
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )6 r' F. i# j7 v" R9 ]: P
            nPoint += 150;
* K* \0 C7 I# M6 g, _        else if( nJob ==  JOB_FLORIST_HERO )+ i( i: ?5 d# L  _3 R) P
            nPoint += 160;
+ {+ u0 n9 W0 R) c) s        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )8 J& _2 K5 [1 |$ h2 y4 F
            nPoint += 180;
( K' L. ?/ R+ x( p& a/ P4 M! A        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
; L: s" z3 s6 [            nPoint += 390;- m. s. g  [+ r4 b
& M- `- c$ i! v7 R& @4 u
        AddSkillPoint( nPoint );
$ V' e9 ]. d  g        m_nLevel = nLevel;/ \$ x3 H6 w% Q1 c
! p" K. N/ `# Q" y8 f' O$ e
        SetJobLevel( nLevel, nJob );! L$ x( f) _( \( _6 h6 {
        m_nDeathLevel = nLevel;
. |. k( O" }% W/ F6 w5 n#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
/ y) K- }+ s" K: n        if(IsMaster())
5 q8 z9 ]# b0 j$ L        {2 \) W5 {- ]. z( x0 _# q- l- X
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
& K. W0 [0 N% g* L: B            if( nLevel > 59 && nLevel < 72 )
9 p* `$ c4 z7 Y$ y/ D                dwTmpSkLevel = 1;
( o- O, ]5 S$ `$ B4 t( i  e            else if( nLevel > 71 && nLevel < 84 )& p$ C3 a& A: J3 l
                dwTmpSkLevel = 2;
7 |2 D3 O8 T2 t: Q; _& m$ Q# ?            else if( nLevel > 83 && nLevel < 96 )
: M, P6 E3 f" R                dwTmpSkLevel = 3;
7 |/ P. n' i8 @- y4 f) k) `            else if( nLevel > 95 && nLevel < 108 )7 g7 `  O" i' d5 z6 a. q
                dwTmpSkLevel = 4;
( V- h. j' G8 R& @9 E            else if( nLevel > 107 && nLevel < 120 )" @( f" o: Y8 d4 i) |
                dwTmpSkLevel = 5;9 U$ h8 q+ J, `5 P: g2 {# m
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ' u+ q; i  W9 k$ G
            {                ) z1 ^" J& V  V+ ?/ N. [, p8 R: h$ `8 H
                LPSKILL lpSkill = &(m_aJobSkill);
: W( t" n& }/ x$ I1 H0 Y3 h                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ X* {* W" a( ^+ o( p* n) n0 U0 L                {
) t8 I5 K, k, X1 W' ~; a/ u) y* H                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            & E, t' W% B1 |9 T0 _
                    if( pSkillProp == NULL )! ^3 |8 G6 x: ^( E! Z
                        continue;
% C. G# W0 Z7 Z+ _  x5 |9 C                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER); m3 O8 \" t1 J3 t7 v
                        continue;
- z+ r, Y, d& }- n) z% M# Q                    lpSkill->dwLevel = dwTmpSkLevel;
4 B% f  x! K* J8 o6 H$ R                }/ ?; ]+ W% |4 o" j: L
            }
, H- a- H- |7 B/ Q+ u" }        }7 I2 E" I5 d. w, U. s
        else if(IsHero())
$ g2 j8 l6 r  v7 ?  O        {
- e5 y  P( ~6 S. z# _: V8 E            for( int i = 0; i < MAX_SKILL_JOB; i++ )
! _5 i) o, A* i9 T7 w            {                2 L0 L4 v9 {& y9 F. R+ W
                LPSKILL lpSkill = &(m_aJobSkill);& J1 h2 {7 e5 z# I3 }& ^
                if( lpSkill && lpSkill->dwSkill != NULL_ID )5 U& i+ ]* _$ V/ e  ~2 `
                {
& B! D; L. W/ L4 u/ U                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            0 P# O+ T7 g' d. E) {$ E
                    if( pSkillProp == NULL )
9 ~3 j  G1 v" {- q                        continue;8 c; z' F7 q6 I5 B/ J
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 I6 D# O' w) F8 ~: G+ N4 s                        continue;% |: N0 p$ q  v
                    lpSkill->dwLevel = 5;7 ~8 Q1 A: L! n# r
                }
% I% i* _. N7 H0 a2 s/ f            }! b. r) ^0 m& |. `1 o, T
        }
; k3 ~0 c; g1 K/ i        else if(IsLegendHero())& }: {  K2 ~6 S! y3 ^
        {
1 Z# A% [4 b7 m! N9 }            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ' T; r/ l! N# i! V6 S3 @
            {               
6 }' e& C/ A8 R9 M                LPSKILL lpSkill = &(m_aJobSkill);
* w, p! w9 @) p* E+ b                if( lpSkill && lpSkill->dwSkill != NULL_ID ), ^8 h' P5 g3 S& D* r
                {
* _: q* ?$ Z" e- l4 K& f8 j3 g. g                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            : D/ Z% J) G- V, c# S: [/ s
                    if( pSkillProp == NULL )
& |1 t* ~7 _: m                        continue;
1 D9 d2 z; x! D7 W                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 I) v* o7 ]5 H, o3 z: b                        continue;
+ E; D( ^. g  ~' {. |                    lpSkill->dwLevel = 5;+ i; q$ G- n+ B
                }
) h1 ?. M$ s! I5 g" Z            }2 r! D6 f& i7 y
        }  H& M( j, C2 r* J: K! _( m/ A: Y) z
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# Y, T  x2 s3 o$ c: V; I        if( bGamma )# f1 A6 ^0 ^& a7 W8 o3 V
        {
' @& h. f2 P* x            m_nExp1 = 0;
: C1 h" p, j3 M8 A; g) |        }6 X: Q1 v" H. n$ f" y2 N
3 m+ j8 k- w* c& [" Q
        ( (CUser*)this )->AddSetChangeJob( nJob );
4 V" H. q3 c/ _* `0 ?        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
/ {0 v: f: t5 y6 W7 t4 `1 z1 N, K- Z1 f  D+ G

2 i+ b4 j8 n, D# o# I9 c( f& a#if __VER >= 11 // __SYS_PLAYER_DATA
2 _1 ]* X) o8 ~8 B+ P0 @9 v- _/ L        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );- {( K' y6 ^4 c. A5 Y) [
#else    // __SYS_PLAYER_DATA' f# G7 s* G9 u  j9 M0 ~2 ?
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
7 x" r9 F. O4 I, @# e, G4 j0 Z7 X' ~$ \        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
9 Z2 m; ]6 C7 M( n; l0 r6 k        if( m_idGuild != 0 )9 [/ C0 x) h9 u2 D2 j- o
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );+ O, m0 m9 T- \$ ^$ m
#endif    // __SYS_PLAYER_DATA& X9 Q. S' {5 |; F: Y7 }
        SetHitPoint( GetMaxHitPoint() );4 i, r! K+ k; D& G/ k% H
        SetManaPoint( GetMaxManaPoint() );
% a& O1 a, |' N% b% z        SetFatiguePoint( GetMaxFatiguePoint() );
; a+ D/ I* I) N, t% s        if( nJob >= 1 && nJob <= 4 )
2 K( a4 M! M4 P% p' }+ X2 c        {8 I% G9 n3 G9 @* o. _
            m_nStr = m_nSta = m_nDex = m_nInt = 15;' \' X! u. ?0 ]  }. }
            m_nRemainGP = 28;
0 v0 T, T% E6 V  J) O        }
, }7 Q* Z, S# ]; ?5 b$ s$ F        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
" ?1 o, M  t# o' L6 q, G        {
8 F+ q7 Z- F6 N0 h* Z# r/ `            m_nRemainGP = 118;
; T4 E: g% C6 I* V            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
8 T* Q! y; A: @% X: |$ r$ S            m_nStr = m_nSta = m_nDex = m_nInt = 15;6 R# }5 ^2 x) ~) I" e
        }
8 t8 n2 I+ j! a* ~: Z( `        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
( {. e: M9 ^% t. j        {) k* i0 A+ B0 Z
            CItemElem itemelem;
% ?% ^) A; Z; Q. @; b" ^1 c0 j            itemelem.m_nItemNum = 1;/ B( h+ R& N& z) ~
            itemelem.m_bCharged = TRUE;
$ a9 p" ~$ m0 a' [+ x            BYTE nID;- M  h& M$ g1 [! w. q

) e4 Q( s0 S: q$ m9 c, c            if( nJob == JOB_MENTALIST_HERO ), q: C# B2 o+ z
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
  N6 H5 X. T% y: I            if( nJob == JOB_FORCEMASTER_HERO )6 W! D$ N- B4 t, S* k- _( T
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
% K$ H( |# k% Y7 E5 x1 |8 t! E& _1 S( J
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );% _& H8 @8 r0 P4 r9 K/ ~! m
        }7 }- U, f+ H2 U* Y
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
7 q3 ?/ x0 e1 B- w0 B" j        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
% o" h; Z1 _1 V: U! P0 T3 d; U        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );# E* F5 ^! L/ K0 L8 w8 U- b
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );0 H  c  N/ f9 w& d  b: I7 s) S
        ( (CUser*)this )->AddTaskBar();*/2 R, U6 @# I0 b+ a1 w5 X/ R
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
9 E, @% J- _# `% G6 c9 y2 f#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
3 Y4 O0 t+ n  \; ]8 T- x        ((CUser*)this)->CheckHonorStat();
% I3 G* ^. c* G: m        ((CUser*)this)->AddHonorListAck();% B: e, H. I& X. I; _9 {8 e
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
: Z9 d* `' X* J" e- J#endif    // __HONORABLE_TITLE            // ′Tà?5 |5 b7 T7 n2 z" I3 Z
    }
# @+ y9 D* ^2 M' a% v" K- f#endif // __WORLDSERVER3 n( Q. [& y& B3 |9 A' h
}  ) W# ~) O6 H7 g

3 r8 c6 o9 G4 Q$ W5 ~, v8 J" {然后你进入functextcmd.cpp并添加以下+ ?' [8 u6 ]4 t. v! k4 }# S

5 M* b' y0 K' c; z) G& L  a; b代码:7 X; K: f( J0 ]' |
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
" g0 Q! m$ b7 g. E/ \  s下面插入& c" h' ^! g3 `: n4 n
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
( E8 e; x6 x4 T2 _# m7 h% p& M  ^9 u, R9 t4 @3 Q6 m4 E- a
然后你去6 D$ C+ h& Y8 k1 |: P7 \3 P: L

4 C" Q0 T( m0 o' ^$ G9 e6 ~' U$ U; R代码:1 J' a; I+ o3 L
代码
3 P6 |. n0 n  T5 Y2 mBOOL TextCmd_ClearPropose( CScanner & s )( ?, j1 A% C( H4 ?1 O
{
! `" u7 z- {5 R, R* N3 Q6 c#ifdef __WORLDSERVER& r) W7 @6 m: Z1 F
    CUser* pUser    = (CUser*)s.dwValue;2 ]6 d" U1 z* J+ Q
    g_dpDBClient.SendClearPropose();
3 y' G9 ~5 e; k8 w% `) K#endif    // __WORLDSERVER$ A- F9 @# H  y
    return TRUE;
$ U+ T/ Z1 e* U# P$ {, [0 I}, q" c5 T8 G4 ]# X
下面插入
' I  X  O. ^5 O7 d, D( LBOOL TextCmd_rebirth( CScanner& scanner )3 r  Y0 ^6 V0 [! v; l8 |& c
{4 ~% o9 v: A3 _: G0 Q
#ifdef __WORLDSERVER
& ~4 q9 Z9 r% k$ x  T9 u1 ECUser *pUser;
: U, \% A$ o3 [pUser = (CUser*)scanner.dwValue;) c, b( |6 ~) s" R. A
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())1 m" \, ]$ e( c0 j
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);! Z' G/ l3 W/ }' k/ j% D6 p
else1 g% J( ~* n! E5 M: L+ f( G
pUser->AddText("你还未达到重生条件!");$ w; z3 z. L! d/ s* T+ X& l$ }2 n
#endif: e+ i6 b7 l) Z  `& o: W
return TRUE;
8 ^! q5 {  M2 \7 s}  
& X1 K; c1 U: A$ v8 p. I8 p" ]5 S4 k$ |5 f; d$ O* ]- e8 c

! r* x: O/ P: b/ D* y
! K$ T0 S& g4 t* O* y- z: K, C! `2 P: k( W* Z% v$ B  h
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 05:32 , Processed in 0.072631 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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