飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1082

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1082
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
* i" M5 m: O8 x7 |7 Q% t; X- |/ }* b: C; c5 y8 E
Mover.h9 N8 a# Z8 t3 B/ C' H
代码:, x1 |& ^) C+ v  m+ R2 [
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
/ B0 U4 Y5 Y; D, [& A9 ~: Z+ q" t& t$ I$ G$ V% c4 \
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  . p7 E6 y+ ]/ R. g

1 Q" g' h4 ]" H0 Q+ ~然后你去mover.cpp添加
+ G/ v& c4 g+ @- f1 p  b* q/ T# ~: f$ |. h6 s0 O% B: U& T4 N
代码:# m  C  A& C/ Q
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )+ ]: ^- E( K7 m; q4 Q1 ^) _# H
{
! y# h" P0 A- A* z1 W, K; c#ifdef __WORLDSERVER
  f' E8 v8 k: T8 S; D( l) z    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
  c3 f- X7 U' ^) ~% M/ g    MoverProp* pProp = GetProp();! X8 ~8 r7 d. P; w  h/ k
    if( pProp ). D2 X, p$ k) E" s# Q5 R
    {6 U$ v% S! P+ l$ E& n: ]
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )( ?8 n3 v- J+ U; C$ Y$ s, ]
        {
+ G! G6 F9 s$ {- t# H            AddChangeJob( nJob );" W. R) X; c5 U  w6 P
        }else{) Z- e. e# l9 a  W( J
            return;
$ f; c8 O8 ^( u9 R9 [; a" p, a7 e        }
" N+ @( L* g% S        int nPoint = 0;8 Q. i: c7 |; Q7 {$ O
        if( m_nJob == JOB_MERCENARY )
! L6 c2 A& ^6 ~, t/ T            nPoint += 40;: {- v8 P7 A- O' Z
        else if( m_nJob == JOB_ACROBAT )' h! u- n2 F* `, j  S
            nPoint += 50;, `+ ]1 k6 w& e3 s" B
        else if( m_nJob == JOB_ASSIST )
, S  x4 L7 E; t/ a$ x8 }1 s            nPoint += 60;
$ ]! R2 _* ?7 Z( m. \# G        else if( m_nJob == JOB_MAGICIAN )
. a  N$ x  \$ O4 |            nPoint += 90;
9 U# A) k9 \3 ?: M        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
( C" X. M6 D( ^1 G            nPoint += 120;
/ L4 K# n4 d. e        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
6 _8 G( H: m* P" N% b' o            nPoint += 150;7 G. o! n! H/ j  M8 f
        else if( m_nJob ==  JOB_RINGMASTER )
$ t5 R# r- e+ M( q! b9 R8 [* v& z            nPoint += 160;
# }. q' E. {+ _        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
! n2 q& J' |  |0 U            nPoint += 180;
/ s, x2 b. s0 R        else if( m_nJob ==  JOB_ELEMENTOR ). N3 w9 ]2 y3 E' o& t* [" i
            nPoint += 390;' ~) z+ D' i( n' t
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )2 T& \$ Z/ r4 z4 Y) C3 ?& s
            nPoint += 120;
8 p+ D2 w+ B, O3 A9 p) T        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
# \$ {, ^/ h4 C/ W8 X+ m: r            nPoint += 150;. D' @0 E7 w/ y0 W8 p5 T
        else if( nJob ==  JOB_FLORIST_HERO )
! J" s* s, I% L+ ?: k1 u$ P            nPoint += 160;$ n, |+ {9 E/ k6 Z  n' r2 F0 t
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
5 c6 i; f, t7 o            nPoint += 180;) ^9 p$ g7 ]- S* h
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )! [& X$ B( @) s4 ~
            nPoint += 390;
% O& u) H& q1 a. O( v5 Y6 G6 K! o( o
        AddSkillPoint( nPoint );
9 O+ \; z/ p; t) N9 o+ D* r        m_nLevel = nLevel;
! o1 ]/ i7 z. P
% G  G" m' I/ |/ n' N1 M4 ?2 v        SetJobLevel( nLevel, nJob );+ f+ w1 O3 y. W" Z3 |
        m_nDeathLevel = nLevel;
$ X6 r- K5 L# {6 Y* i! b#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans) _" Z, W/ x' u9 K; O, Y) A
        if(IsMaster())
# s  c( r" _! X/ k: G/ ^        {" k+ `# l% ~) |: [
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
+ v7 }' p8 y+ u6 D            if( nLevel > 59 && nLevel < 72 )
0 T" g7 [. R; j1 l/ H: y0 L. d                dwTmpSkLevel = 1;& ^: F4 w: x0 U: I1 N* ?  _
            else if( nLevel > 71 && nLevel < 84 )
+ _( B7 ], f+ M: T5 q( [                dwTmpSkLevel = 2;2 i" o9 S* l* E$ M' d) i# {7 K; p
            else if( nLevel > 83 && nLevel < 96 )+ ~. c- V8 {  S, B$ u
                dwTmpSkLevel = 3;" p0 `0 i5 y9 x' O) Q; z- f0 g
            else if( nLevel > 95 && nLevel < 108 )# J$ ^" A1 ]3 p) h
                dwTmpSkLevel = 4;- b8 _4 ^, u5 \5 b" ~5 W, h8 E
            else if( nLevel > 107 && nLevel < 120 )5 L7 R* ]# }2 y; a4 Y6 r
                dwTmpSkLevel = 5;% M4 F0 v% z& j. s. @6 w+ i
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 k4 @2 z. A' `6 w( ^            {                - q. v  m$ g6 H0 n4 U% q
                LPSKILL lpSkill = &(m_aJobSkill);
4 d  J( W1 X5 z3 f" p                if( lpSkill && lpSkill->dwSkill != NULL_ID ), A( X# e3 ]3 f- S( ]' E  p
                {
" p6 x6 _1 @+ c                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ) ~4 N( M- d9 ~4 ^4 [6 C% C) A
                    if( pSkillProp == NULL )
9 o$ T) H9 V9 d& X7 o                        continue;
2 v+ E8 O3 p3 F& M; J8 E4 Z7 F                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
9 {" n" H7 F# S8 H" f+ u  l; Z. Q                        continue;
( Z) ]' d( F3 p  C5 }' f                    lpSkill->dwLevel = dwTmpSkLevel;
8 {: E2 ]8 q. l# f" [& b3 N  b/ T                }4 ?  _: O) k9 T
            }
3 W0 N% |/ }( V" V        }' s" |: d- ]0 E9 K* o1 `, k1 d
        else if(IsHero())7 m1 ~5 H+ @+ X$ v
        {
) c" ?4 @, J+ |" ~/ g, m            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 6 L1 B3 d3 y: I2 @
            {               
/ @* ]! ]! ?9 f1 s                LPSKILL lpSkill = &(m_aJobSkill);
0 L/ B8 b. G) n( f2 a                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( o+ R9 l/ m% T3 @7 @6 t! q# m                {
* @9 u: G: c$ w* [                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            4 X. v9 l* B9 G% C8 a
                    if( pSkillProp == NULL )
% y, a% B0 \. a* L5 F/ ]' `                        continue;
+ ^7 w6 R6 N: D                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! X$ v& j2 p2 V/ f# }( a                        continue;) g+ M3 x/ [3 a+ Y
                    lpSkill->dwLevel = 5;
( b$ x1 Y8 c; x) {                }
( ~# ^6 k: E3 C& R$ W* B! E, `            }2 n) K" _& q) `8 @! q- J
        }- A0 C8 a  a! N- n
        else if(IsLegendHero())2 R. P3 {& |+ T- v
        {7 x0 F/ a6 p  C. S8 B
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ' r7 j5 i# x# i& ~
            {               
8 i2 b3 ~& s3 ?& m0 ]                LPSKILL lpSkill = &(m_aJobSkill);
5 ?+ e+ E& e) o0 s' y                if( lpSkill && lpSkill->dwSkill != NULL_ID ), l# ?& v+ v( ?- w& q2 {% K
                {
/ k7 Y: i% `7 N0 `# [/ O; n                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            , Q7 D: T5 F" t# k8 I8 r+ ^0 B
                    if( pSkillProp == NULL )
# W% y" w4 s& ?                        continue;
; P; f6 q0 n; G$ |% L2 h1 e                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
  h4 S0 O9 H3 U9 G% s                        continue;/ s( C2 F- M0 l  A5 E
                    lpSkill->dwLevel = 5;1 I' P+ i, ~% ~2 w6 b% X# t
                }
- J- k" G3 V, s# [            }
% n$ o7 `* M# ^4 x$ l9 ]: N        }8 v7 j: G( R5 r7 [
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans; I8 [- g! G5 x
        if( bGamma )0 Q/ i: |- R$ Y4 D' e$ \; B
        {
9 c! T6 g7 j) l8 o            m_nExp1 = 0;
7 k5 a. o% w  m# R        }" ~; O  u+ t# o- E
3 i5 j  O. O) G; D/ c8 l
        ( (CUser*)this )->AddSetChangeJob( nJob );
  A& g2 c0 `$ v  V0 k+ G/ H        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );1 s$ I: L* t8 E' j
2 P- {" n6 s- E- L- G

4 ?8 A' u' q* |) X#if __VER >= 11 // __SYS_PLAYER_DATA
  b9 B' w" A$ P  c, l        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );/ w* _- y4 J9 M6 r* B
#else    // __SYS_PLAYER_DATA" d, I; m: ^  U$ V' [( g
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
0 f( m/ w  o: `8 H( W  ^        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
8 ^3 H7 V' o3 `( w0 l( P        if( m_idGuild != 0 )3 a! q/ j9 B4 ?3 _) `! v/ E
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
" ?; X: u8 z# F! i" z  e6 o#endif    // __SYS_PLAYER_DATA, K' N9 W+ e* P! P) u) r
        SetHitPoint( GetMaxHitPoint() );
0 _* W/ M" ]. J+ n        SetManaPoint( GetMaxManaPoint() );; m6 [3 h6 Z* _4 x' Z$ W2 z
        SetFatiguePoint( GetMaxFatiguePoint() );7 y; S- n; M$ r( Z, E( r/ q
        if( nJob >= 1 && nJob <= 4 )
. g. c% D% m; ]        {& P7 \$ q# C9 |# u! u8 O3 U
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ M- X$ P+ f' R& u3 I" r            m_nRemainGP = 28;$ p- H8 ~( A" M& _
        }
+ Y8 w6 L# r0 q! w        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )- ?/ @8 r7 v! \
        {
, V! E* v+ a+ @  O- Y; _; i' w            m_nRemainGP = 118;
! a% \) k4 P9 D' }            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;6 @' r+ A9 @4 P% ^  E8 t; c
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
6 V! c- e% t) Y) w$ H        }
/ n, I9 u& i0 t; |, x" s7 c        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
* H! I$ `" J/ L        {
" ]+ D. T5 B# n" z0 H+ j2 D            CItemElem itemelem;" o! l0 @) t+ H) T5 W# z. g) v
            itemelem.m_nItemNum = 1;1 ^/ K$ @: I" Y  w/ b8 w
            itemelem.m_bCharged = TRUE;) Q; {; O! O- D& ?/ o% V9 ^
            BYTE nID;
, X+ S. h) f# @' l$ W
0 Q  g; K8 X5 m% L/ B5 {5 Z, L6 m            if( nJob == JOB_MENTALIST_HERO ): m, B5 r% A7 P$ T3 O! ^5 g
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
' Y/ S2 j' h! o$ v2 \1 g4 e8 k            if( nJob == JOB_FORCEMASTER_HERO )2 _2 L% \0 n3 N" I8 r7 U( u
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
$ b2 v5 X# C- F( ~/ E, h, d7 }$ a& H7 C$ h* N! @5 n
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );) J/ D& O: i0 t  W& g: v# Q1 ^
        }0 N' H$ H5 G+ f0 l& A& y6 q
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! v/ E+ n. ^& _( T! E8 i: \& p- e        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );# `# i+ l, p# L- N
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );' J/ `+ a) U$ p; n2 S
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
: ]/ W* q# q' g0 d        ( (CUser*)this )->AddTaskBar();*/
& Q- z1 B3 p/ e9 I        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );/ G# }5 p" z- I2 q! D/ W: m: i
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
  T) ^- u. f5 I7 r8 y        ((CUser*)this)->CheckHonorStat();. z2 \3 u* w) C: z9 l6 ]& {
        ((CUser*)this)->AddHonorListAck();
$ Q. s- M/ b7 I8 X        g_UserMng.AddHonorTitleChange( this, m_nHonor);
. B' x, c9 c/ F#endif    // __HONORABLE_TITLE            // ′Tà?
" ?% U- H9 g# W& ^    }# `( R1 l8 y4 w0 Y% a- n
#endif // __WORLDSERVER% K5 I0 t6 _2 d
}  " y9 ?3 o' [3 u  x) _0 c
( o, F7 X$ e9 L" Z) l. z3 h* }) E
然后你进入functextcmd.cpp并添加以下6 A" w, L8 w9 Q& l8 p' K6 c9 e
1 f5 \2 s( t9 s, }# V
代码:. ]" D6 }4 d( F  O
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )* C9 {* |  J: X# q& y9 q
下面插入0 O- Q% p, c) W. c/ K0 X& ~
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
# [6 [% Q8 p9 F) n( F; ?3 P. \5 j- A- |* a. I3 ~8 ^$ C
然后你去
* H0 H) @% ~8 h6 N: ~1 }" d+ k- n2 t0 J2 u: n) {
代码:; w" Q. ^/ D- I: N
代码
+ B+ J' b1 H/ Z" O3 t4 ]8 `1 xBOOL TextCmd_ClearPropose( CScanner & s )
  j9 c, I$ i7 [! N- ~{
5 f' N8 n9 H! M, L. p#ifdef __WORLDSERVER
5 p6 |! k2 |- _+ s, a    CUser* pUser    = (CUser*)s.dwValue;
- v! g! U9 c5 S! h9 ]1 Y    g_dpDBClient.SendClearPropose();  \# w* R) Q- M1 `. P) E
#endif    // __WORLDSERVER4 N5 P( M9 d, K' `, F; s9 r
    return TRUE;
0 K- l+ A1 I3 _; b  p1 k}
5 u: P6 o" Q  A* y' \& Z下面插入) d$ D) K. z" z
BOOL TextCmd_rebirth( CScanner& scanner )
& L# H/ ~, {2 ~) M{
4 R* n" ~7 W6 y) {9 v1 r) \7 k1 p#ifdef __WORLDSERVER
/ Q2 z9 k$ B$ e3 @: kCUser *pUser;0 t, l8 n; B9 @' L5 f' x( e
pUser = (CUser*)scanner.dwValue;. w* a$ N) J- h
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())8 Q! \/ H% m5 e) e. O$ v
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);9 M2 l( A% S- {- ^7 `; h
else0 y$ y. @7 w4 x, O4 _& w8 ~2 E' V6 E
pUser->AddText("你还未达到重生条件!");% H3 D0 r0 H# V9 M. A$ J) r" o
#endif/ v& h/ t8 S; P7 B8 |0 r
return TRUE;3 f! m9 n# `4 p8 h
}  , z  z" G7 l0 P1 [+ g% x9 s
' E+ j, U0 d+ ^: b; `5 d, v

5 _& [2 ~4 x4 X1 e2 o
$ N; Z, I5 L2 B! g$ B; e7 I( `, N" C( c3 s( m; B0 v3 O" p
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-4 08:02 , Processed in 0.062975 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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