飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
' u; B" \$ u+ B4 f' v7 z! x. [0 T: f; l" |2 D
Mover.h
" R) n3 b% K+ d. @代码:
6 ~& G5 i8 n/ _找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü9 w, ^# N- |4 {4 ?5 P$ v( }
; O' N1 o$ m5 d" p
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
! I) }8 v. e4 h/ \- z4 y4 |! V
4 R) q4 m8 h/ |然后你去mover.cpp添加
  V% b, @' y- U  n, f3 ^; M% z$ s" w! Q; [( a* I$ U0 m: u
代码:
  p: g. G/ t' J! ?  d4 _' Gvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
/ ^, {/ E2 i& V{& J9 q0 U& m& Z0 z
#ifdef __WORLDSERVER
2 g, t0 g9 f) N8 S) [3 k  W    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó5 Y3 N8 V% r+ O2 \
    MoverProp* pProp = GetProp();# n0 ?+ p; S) Y9 P
    if( pProp )
0 c' c, b& d' s) P    {0 ]6 n; w4 E; d/ C
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
9 m3 R  V5 Y! J7 Q* c        {6 m/ N* g) m) L2 u
            AddChangeJob( nJob );
0 c% Z: _+ q! U% D/ {4 k+ i        }else{
3 B8 Y0 N% \& I7 |0 p- g8 ~            return;7 r0 @' o9 [5 N% C  n
        }
* H. S+ ~7 e8 }! J! G        int nPoint = 0;
2 R; @( e2 x) G- ]. E; \# V! O* _        if( m_nJob == JOB_MERCENARY )3 y3 N0 K( ]5 {7 g5 \( e
            nPoint += 40;
( V! C; A# \3 f. C6 g        else if( m_nJob == JOB_ACROBAT )$ q) j! @3 j$ d
            nPoint += 50;
- H6 X! I7 N" j" y) M: J        else if( m_nJob == JOB_ASSIST )" V) \: @1 X- Z) r
            nPoint += 60;, {& N6 t& f( d! C4 A7 ~: a1 ?; T
        else if( m_nJob == JOB_MAGICIAN )  \& H1 \& D% V9 u6 y
            nPoint += 90;/ n8 m' C/ b& x& J3 w
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE ): s6 i+ s- b3 s+ N# u
            nPoint += 120;8 A; ]' a+ W1 N4 e/ U: O8 r
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )& s- x- _3 l; l5 V0 C+ k3 G& T* R
            nPoint += 150;+ J$ w8 ], t8 B" z2 u
        else if( m_nJob ==  JOB_RINGMASTER )
* p  j& ^% _8 q            nPoint += 160;
5 H" m+ h3 V" ~, a" G! d- v' S2 c        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
* h9 O7 r0 {' x            nPoint += 180;
, G! i: _; H5 @& ~        else if( m_nJob ==  JOB_ELEMENTOR )& x. I2 r0 D6 f6 u% u: g' i
            nPoint += 390;/ H& C( g- H0 {$ w* {
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
8 F  x4 r- i2 ?6 K" @# S            nPoint += 120;  V/ l$ U* U* [, h# b
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )* B! [/ Y' `" X5 f" ?
            nPoint += 150;8 M" X! W9 a2 p9 G
        else if( nJob ==  JOB_FLORIST_HERO )* L( }0 Z( ^& y" B& f7 q
            nPoint += 160;$ y  H  x7 N0 C# k6 Q7 g
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
9 I2 e2 |. t9 \/ V            nPoint += 180;! w) p: @4 O; ^' _( Y9 k% V$ F
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
6 F' j' A' K4 w4 B  Q            nPoint += 390;
$ a0 C$ I! a" s, m2 {0 r
7 k- ^4 E( U& F0 ]$ J' p7 i6 Q        AddSkillPoint( nPoint );) }+ i/ s9 m. J) T0 f. ^' _7 S3 R
        m_nLevel = nLevel;2 Q7 z2 @3 H0 K) P

- c. L) a  w2 Z. e. I/ l  ~, y+ {        SetJobLevel( nLevel, nJob );
7 x4 Y$ ~8 p: w! ?* c9 t' g, v        m_nDeathLevel = nLevel;
& s; L+ M* b6 V5 P#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans6 f% O: G% k1 z
        if(IsMaster())6 |( x( o9 y! A4 [3 q
        {9 ~4 s2 C4 c: s, ]! ]
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
( M+ u+ h$ x) K! P: m            if( nLevel > 59 && nLevel < 72 )3 Y5 A) n4 |2 U, U, B5 q! @3 z! T! ]' ^
                dwTmpSkLevel = 1;- [/ o4 G* R% [1 W5 L5 F# l$ H. n$ i
            else if( nLevel > 71 && nLevel < 84 )8 M/ W( f9 i9 C* H8 P
                dwTmpSkLevel = 2;
2 E( I7 Q5 M0 ~. ^% @- \            else if( nLevel > 83 && nLevel < 96 )+ F6 f: A  \" O4 V, L- M
                dwTmpSkLevel = 3;
2 P: v- w  v) v3 v. A  R: v            else if( nLevel > 95 && nLevel < 108 )1 e( j# l$ G) ?5 Z
                dwTmpSkLevel = 4;
5 @- `/ m/ n% B; G/ s$ i            else if( nLevel > 107 && nLevel < 120 )
3 l  p- K: u- t4 D' o9 s7 d# p( v                dwTmpSkLevel = 5;
( _& _1 U7 d1 C! d4 C! Z* G            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ) _* ^( C& T2 Y4 W& s
            {               
  b8 Q7 F! Z/ E4 g                LPSKILL lpSkill = &(m_aJobSkill);
8 k7 I$ [* g8 M9 x0 m& M6 n; i! \                if( lpSkill && lpSkill->dwSkill != NULL_ID )9 H0 O4 E1 n! g4 m, F' J
                {
5 `" Q% S. `! w* V! o) [# X                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
' E& a0 X) a+ c; \                    if( pSkillProp == NULL )$ E: n9 b& M' w7 b* H" q: }
                        continue;
  Z. \+ J6 w( g. |5 m                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)' j6 o- g  r: g
                        continue;
# K0 I9 Q6 u, n                    lpSkill->dwLevel = dwTmpSkLevel;  J- Q2 }3 U! Z, d9 P9 ^# v
                }3 J: E9 ?9 j9 c6 a0 e' [* I
            }
: d8 s/ h& }3 _        }) F0 l4 ?% a. ]3 ^
        else if(IsHero())- |- L/ p5 u7 U6 T2 y0 a
        {- ]5 f. L! }- n" R
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ) e, z' R4 N3 i5 [
            {               
' c/ {  R/ e+ c9 \5 U                LPSKILL lpSkill = &(m_aJobSkill);$ ^! ~, u/ W4 Q& V, L2 G
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ O& n. M/ c/ {                {* B+ t3 P7 H- a! f- X" ]5 X
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            2 o) n, h/ [' X  q* g
                    if( pSkillProp == NULL )
/ n: [8 v) E6 W/ t* k                        continue;
) v/ g4 g) J6 k, N9 d3 C. ~- K- ]                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)6 K& F. B% r6 o2 B0 m
                        continue;
+ T  c( c- J# z3 n                    lpSkill->dwLevel = 5;
/ o6 c3 Z. s! J7 {+ m1 W% g8 x1 x4 Z                }
3 b3 ~, a; Q6 P  ~, c            }; M' h$ n' @5 `: e
        }
3 q  U" o' i7 {# Y9 S        else if(IsLegendHero())
& K+ b  _9 s$ V+ D1 s4 x8 K        {' F. d- b8 ?) F3 m/ `  [6 O
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ F1 _/ e* A+ M# f            {               
" r( [$ C9 l$ {9 M! p# s; q& k6 _                LPSKILL lpSkill = &(m_aJobSkill);
  D2 E1 a3 y% j) C/ U3 B                if( lpSkill && lpSkill->dwSkill != NULL_ID )0 V+ _, c4 r; w" @5 m* o. y" @: g
                {; m) c/ K' T3 ~; J# a/ s
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            # Y/ n  s# c9 g2 o8 u, X/ `" z7 f
                    if( pSkillProp == NULL )
$ \6 @6 Y% W3 c  t9 t& i8 u" E                        continue;
- E1 N  G, K/ a5 ~                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 S; _0 y; e$ [, B# k! }7 Q                        continue;3 C: a3 w4 K- m  {' y2 \
                    lpSkill->dwLevel = 5;
* b9 B. g  l+ n8 x                }: e. P# j( d6 U) l6 x
            }
% v: T0 `6 W- H; I9 s: @  M# j        }1 Z, O4 |+ g9 r9 l  P8 S& R' I
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans) |! {; S" _" ?. ~! w
        if( bGamma )
/ J5 b9 J& `$ S0 m3 t# j. Y        {0 J3 t5 {" ~0 q
            m_nExp1 = 0;$ Z) O, h9 |0 X8 _
        }
& E9 p' [; g7 Z/ q; _' F, W9 A/ K; T8 O+ ~9 F
        ( (CUser*)this )->AddSetChangeJob( nJob );
8 I" n# R$ [4 b2 @8 @+ Q        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
. Q0 B5 s' C- G: z4 G2 \! [" e) j8 S1 I9 v6 `2 Z
5 c8 F9 H8 a, D9 O8 t1 y, m' H
#if __VER >= 11 // __SYS_PLAYER_DATA
& l/ F4 p' i3 r4 J* [( N+ Z        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );  w3 W1 Y% p: v9 \
#else    // __SYS_PLAYER_DATA
+ d8 V2 `+ r. a0 c8 t        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
8 K& k& R6 {6 t+ w5 y3 R$ Q        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
+ G# ?0 j9 n, `  M: D# Y        if( m_idGuild != 0 )
, }2 H( ^9 z0 ?& ^9 N* o2 D6 M4 `            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );. Q" H# N4 W* @8 b* ^
#endif    // __SYS_PLAYER_DATA0 h8 n6 l6 @) Q* |( [. k% w
        SetHitPoint( GetMaxHitPoint() );  ^+ x: K( {9 u: [( ~( E: k) Y
        SetManaPoint( GetMaxManaPoint() );' K; F- _4 E) A: A
        SetFatiguePoint( GetMaxFatiguePoint() );! K, a; c; W4 N% U& E1 n7 [3 D. R
        if( nJob >= 1 && nJob <= 4 )
5 ~/ M/ e+ v4 l) C, ]        {& \! @5 a- W& K+ r. f1 Z
            m_nStr = m_nSta = m_nDex = m_nInt = 15;8 y% I( e; @9 R
            m_nRemainGP = 28;/ t6 C& \2 J, L& h1 R- E9 X) ?$ n
        }& d5 a" ^% }4 S6 v
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ ^5 C" N0 V( A5 S        {6 c+ ~6 u! b3 V$ @+ m  P
            m_nRemainGP = 118;0 J8 s2 P9 W; @. p2 R: e; ]8 B
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
/ S" u! A8 d* v  R/ @            m_nStr = m_nSta = m_nDex = m_nInt = 15;
& O; ?% J" G+ j  S1 T        }
5 X+ d9 ?- c. m! R  s9 |        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
: w7 s) c" L  G, h8 a        {2 i0 K6 H$ F3 f9 [; _
            CItemElem itemelem;
0 G6 v9 p; I5 S! [% g            itemelem.m_nItemNum = 1;( h2 W* z' E+ }. T
            itemelem.m_bCharged = TRUE;
0 Y; U/ _! ?: J9 F' _" u2 G            BYTE nID;$ T7 y. e2 T& O6 M; o. l

) m9 U/ {# T5 ?            if( nJob == JOB_MENTALIST_HERO )
& _  U6 H& {8 \                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;) v/ z' L' R1 B7 \
            if( nJob == JOB_FORCEMASTER_HERO )4 P% c/ X! M! h2 o- |1 Z/ p
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
% x: Q5 ?9 F2 _+ ]2 ]$ B/ |+ _
$ f( H! m/ z5 e/ h            ( ( CUser*)this)->CreateItem( &itemelem, &nID );/ @- _2 n) M- `" N- O: @
        }: C* R3 m& g8 `4 z
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );9 ~, b+ Y, [6 ]% c/ x
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );! T4 \8 w5 C) E, J1 e' F
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );. K$ U# s4 w( ?' t0 @2 g5 u' h
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
) ^  l+ Z) W% S' P4 G$ o% Q        ( (CUser*)this )->AddTaskBar();*/7 b) U  ~! m9 v, g/ d
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );& z7 l9 V' T2 }# i( E0 o. o4 M" H: d
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?, @/ T, r1 s0 \/ _+ p7 c" q
        ((CUser*)this)->CheckHonorStat();; @6 w+ G: ^! g/ g7 D0 Z& ^
        ((CUser*)this)->AddHonorListAck();7 R8 d# l6 C( N& z
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
8 b+ O  o# `  h7 l9 z#endif    // __HONORABLE_TITLE            // ′Tà?" m! o3 \- U* L- i! X$ r/ R
    }% }7 m. O6 n& c: a4 V6 T
#endif // __WORLDSERVER
" K7 x8 u# H" j( h) |3 C}  
: s( R: u) I! {5 v9 @
  m, ^  h  d& S$ V- e4 I& Z然后你进入functextcmd.cpp并添加以下
5 T7 b( }$ ]. m6 {2 R' |8 F# b3 T" K
代码:' v& `" @+ K- ]- ]9 c4 N6 U3 q
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )! O% h& I( r- z9 g. N
下面插入  F6 N8 V0 P3 {
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  . S- v) ], L% S) B. a
# i) A# D8 U6 f, Y% |, V
然后你去
1 E6 V6 a' k& H# i) V$ J, R. `5 s* \  j6 Y6 O, D6 c+ y
代码:) d. h& \' A! c) n9 V
代码& I& h7 P9 s( N$ f! ^
BOOL TextCmd_ClearPropose( CScanner & s )
6 b# ?% I3 b, y# Z{
  K0 {$ [' G! T8 R: y#ifdef __WORLDSERVER
; E: Y, G8 C( C    CUser* pUser    = (CUser*)s.dwValue;
5 X9 V& e, @/ Q    g_dpDBClient.SendClearPropose();  I: l6 x+ h# W, }
#endif    // __WORLDSERVER
' a4 q0 y# v' m3 q" W    return TRUE;6 M. H- D' z6 G4 \+ e
}  e; ~1 Z* b$ ]
下面插入1 }) P% k# V5 z4 f4 p5 c2 n2 @
BOOL TextCmd_rebirth( CScanner& scanner )' \6 h$ y' W. [! G9 g8 Z
{1 ]+ ?) ?1 E; n6 Y  Z
#ifdef __WORLDSERVER
5 r: n4 e& D: J% @% O/ \, g; ECUser *pUser;
1 X# b! Y4 E3 O' p. A! tpUser = (CUser*)scanner.dwValue;7 H3 P& W8 d+ W# ?% ^& C: A2 N
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
5 c# S# b( E* \0 L! Z6 |4 g2 T  xpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);: Y" t) h: L5 i
else
* ?! ^3 {( L8 {3 k) `0 _# xpUser->AddText("你还未达到重生条件!");. S/ b7 _( I. @
#endif
* `! M  L8 C2 R2 N: M% treturn TRUE;
, \; ?( l1 m7 _  p" M. u2 [+ j) X$ g}  2 F, |0 q+ `& j1 H

0 E  Z7 E# f9 N; M' ~+ H, p% V( q: d# u: T) [5 D; W0 Z

1 j" X+ v- S# P" @! C% d! D% V- Z1 y4 u  B
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-6 05:59 , Processed in 0.066522 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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