飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
; k9 h5 |( a' o3 i) U$ a; y
! V5 H: k  a+ \7 J9 o5 y+ Z5 hMover.h
# l- ~+ {! P* D  H* R  J" v代码:
! e: x: v3 p8 c9 Q2 o找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
& _1 j+ x4 _, j0 K6 p) V$ v5 R2 T9 @$ n# c* I
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  8 o# X5 ^. g- Z$ F6 G& a

# U, d6 b% u3 B; i- w6 L  g然后你去mover.cpp添加2 a5 {2 ^/ @/ `" D: |% n

6 L0 P0 U" }6 C' e/ v/ Y代码:
, |) [4 A& t, k, X: R! |3 {8 ?7 pvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )$ V6 j: w7 R% j. K6 G  |" E7 N) ^3 {& F
{, u2 `$ y- w( ?) G9 Q
#ifdef __WORLDSERVER8 m, J) j: F- n/ A8 r# }& @0 ^  y
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
% G; O0 f' a0 V7 F+ b) O4 d    MoverProp* pProp = GetProp();% O5 p% t9 S) G8 \" H, O
    if( pProp ). T: S8 p0 i: V3 @* i- T* |1 Z" |- k
    {, x" D. M; l: u" q; m
        if( nJob > 0 && nJob < MAX_LEGEND_HERO ); K/ l, I7 I) T- M0 W/ z# C8 H
        {$ o% \+ }& [- v. L& {. ^4 X7 T
            AddChangeJob( nJob );6 h6 f- f/ t( v6 p2 c9 g, ^" q% C
        }else{! j: f* }% L9 S# m1 @+ A
            return;
6 c; o1 |1 t/ k7 A        }
" U# p' T* X! |' o6 ]8 U        int nPoint = 0;: Y2 f% C9 L2 X4 L6 a
        if( m_nJob == JOB_MERCENARY )
- I' m" t) @+ a9 A! e4 Z1 Z            nPoint += 40;; J! h8 I, f# K2 ]( e
        else if( m_nJob == JOB_ACROBAT )
1 p/ g' v+ y* \" n2 H  n            nPoint += 50;+ X+ p+ j4 I- i- o7 p. y
        else if( m_nJob == JOB_ASSIST )1 S7 e# ~: Y; }+ m9 g! f& A
            nPoint += 60;/ q, T, T' S1 \: I, d
        else if( m_nJob == JOB_MAGICIAN )+ z. N9 K) K( }
            nPoint += 90;
2 o. E' Z5 M+ L* Z        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
  J: @/ V8 n' b            nPoint += 120;
2 p. B9 f, J& W! t" T        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )/ s2 ^! E5 M5 Y. E" k9 O( ]
            nPoint += 150;
% j& H/ Z% b) k1 F* ?8 I; W$ k2 e        else if( m_nJob ==  JOB_RINGMASTER )7 h% z- U0 w; Z
            nPoint += 160;9 p  E) b2 u- b- c5 V' _
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )4 ?9 T# b8 w( ^3 S( A' \
            nPoint += 180;( u& X- u& G( p9 o% i
        else if( m_nJob ==  JOB_ELEMENTOR )
- A1 N6 r8 ], k) Q9 {            nPoint += 390;0 {7 C( j! p& x& R2 r; A, p1 m
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
6 n( C+ ?# Z/ [$ b3 s            nPoint += 120;: S3 _0 |4 S9 a" G
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
9 b1 t9 J% j7 p" I6 x            nPoint += 150;& x/ m8 d% E# J4 Y' z
        else if( nJob ==  JOB_FLORIST_HERO )
( n- o% i) U/ G. |) m            nPoint += 160;
9 ^8 v/ O' V* i+ p% _) ?/ t# B0 I        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
9 \4 R  Q9 Q2 A( w/ ]            nPoint += 180;
: D$ t8 ~) Y4 V3 X+ b7 Y. g        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
4 l& G  ]* T8 }& j' T* k0 |1 D! W7 C            nPoint += 390;
5 q3 n" E9 B, H+ V  J" W0 J* C9 C: Z; d/ k( o3 I
        AddSkillPoint( nPoint );
, [  I# a0 k  f6 [/ w# ?6 J        m_nLevel = nLevel;
: h! j  q$ u  a  j, Z6 K& n
+ R) ?$ J! C! H1 Z/ p7 E7 e) A        SetJobLevel( nLevel, nJob );
2 `, ~5 n4 G! W0 s9 e4 `! F; ]6 Y! B        m_nDeathLevel = nLevel;8 m+ Q/ d) v# M; U& m
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans! ?, i6 c6 n( k$ L  j
        if(IsMaster())
# z, @5 k  d2 L1 N7 `        {
4 w- X  q" x9 o0 F: I            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
7 \  l* }3 d9 \" y/ L. ?            if( nLevel > 59 && nLevel < 72 )8 |: N2 j9 K  a8 I
                dwTmpSkLevel = 1;
2 j! V  B# A7 A" @% I- C1 O            else if( nLevel > 71 && nLevel < 84 )
# h* r! S1 ~) q- n7 S$ g                dwTmpSkLevel = 2;% D4 L" y6 h1 G: F. t0 G  v
            else if( nLevel > 83 && nLevel < 96 )
6 ?3 V4 ~$ n! v/ f! H: L                dwTmpSkLevel = 3;+ r, m6 I: v% c% H: c3 p% L2 j
            else if( nLevel > 95 && nLevel < 108 )
  O# F$ F1 s8 f  J+ v                dwTmpSkLevel = 4;, j8 Y! e4 H7 B1 c$ H. ^) y' ]
            else if( nLevel > 107 && nLevel < 120 )
) E/ Z# O, S" w9 ?; Y- G  s0 e  f" B                dwTmpSkLevel = 5;- P% O+ _6 ?2 }/ Y: _: ~
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
# a9 m! }: {7 A$ |% g0 @, P, q            {                5 h0 K  X1 \; w9 F) m" D3 y: I& z
                LPSKILL lpSkill = &(m_aJobSkill);; F! q( a$ C/ b! X, l, X7 C/ t
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( T& H& t- b- @) O: v  N# y                {
; m% a. I# g/ q! o                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 x: R- u! t  T8 _; z                    if( pSkillProp == NULL )
' U5 X$ y8 ~. l9 L. t# l                        continue;
; S( o9 ~4 i/ Y; P, m/ D  p& V  F  C                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER); y* c% H& q" r) W( {$ e& K
                        continue;' }( b! N8 `- F* q2 A6 B
                    lpSkill->dwLevel = dwTmpSkLevel;
+ z+ B  R' A7 @* W                }
% Z$ [2 B0 }/ X: w4 d: p            }6 }9 ~$ x3 X- V4 u
        }; A; ?$ c) L4 P3 `' z$ {/ M9 ]3 Y
        else if(IsHero())
) j8 H7 I8 P& {        {1 v- d% `# p- g6 N4 K" p6 k' M+ M
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 0 B( D/ P/ K: K; h3 W; E( c4 c
            {               
6 C6 ^: C% b& t8 |9 J, G* d  T                LPSKILL lpSkill = &(m_aJobSkill);! H5 _; f  B: u, d
                if( lpSkill && lpSkill->dwSkill != NULL_ID )) O) y- H3 h2 o
                {
% w$ d1 b% o1 e5 B4 N( j% v5 g+ T                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
7 r4 |3 U1 F$ u2 E! E                    if( pSkillProp == NULL )
# _4 W3 W$ _% c6 l7 u                        continue;" i, H7 n0 X9 Z. i2 s# h
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
9 b- d% Y& V1 V/ \* P) t# @                        continue;
+ M4 w2 R9 d# ~1 q' v3 O) l                    lpSkill->dwLevel = 5;
' Y/ y9 O, S" R' A4 p" u                }
: T4 V5 }( K; r, ~6 o6 `; r8 p            }
! C( l9 |4 |# e" {! F- A        }
) H! q. X+ B4 O) L- ?2 y( H        else if(IsLegendHero())
, W! e7 \) a8 H# H9 r( W( {        {" c+ V8 r' L, z7 i# O/ U
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) * \0 j2 z1 K, J, i' \" `+ x! n
            {                8 u+ W/ b' J+ {% }
                LPSKILL lpSkill = &(m_aJobSkill);
6 H- c: V  O, Y6 E# ?                if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 N7 q: M) ?) L5 L) y                {+ I9 W* b7 N3 D: G! {
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
2 H8 E4 N- [- [7 p7 }6 B/ a9 |                    if( pSkillProp == NULL )
+ w8 Z  R% `/ \                        continue;4 N% T# P% E. b  V1 Z) H7 y
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)4 W$ j( T! p% [
                        continue;9 ?) o" D- P; v! G& x
                    lpSkill->dwLevel = 5;$ k; x( \5 N# K0 m( z% H9 a* q3 Q
                }
6 G( z1 N0 ^. A            }
0 g- D+ K1 d8 |( A4 c        }6 a. O4 }0 Y  e7 e2 E' I
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans7 W0 V# C1 `; D( l5 ?2 c- e
        if( bGamma ). H9 j  H% i0 M" Y! R
        {. `1 q, z0 [" y% q; [7 c0 U
            m_nExp1 = 0;: C1 z! H" z% ^) F; o  o9 {
        }! q  d5 T! [: U1 [* Z
/ Q) T2 w! |) j  w$ X2 f
        ( (CUser*)this )->AddSetChangeJob( nJob );
) `; Y' E7 ]& @0 K: N: v        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );( L& u! N5 u& j  ]1 e9 U3 F
7 X  }$ p6 R, ]6 x

8 P6 y3 U, S& C' j8 d# J, Y; |#if __VER >= 11 // __SYS_PLAYER_DATA
. k$ ?: R1 Z4 I$ r5 v        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );" d0 ^( ~& }. _0 T5 W! Y  K' q
#else    // __SYS_PLAYER_DATA$ i/ Q6 q2 u2 [; G5 Q8 |7 u
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );( M) U  M; X3 N4 [! m
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );! N6 }% x& v1 @, q/ N0 H' Z
        if( m_idGuild != 0 )+ r+ P1 I8 O$ b& R* y$ N: c* E
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );0 ?8 S' M2 U5 X) f3 J  i3 I& K+ |' S
#endif    // __SYS_PLAYER_DATA6 C! M$ B, R3 l+ B4 n& H0 [
        SetHitPoint( GetMaxHitPoint() );0 t. z  c" m7 A" v
        SetManaPoint( GetMaxManaPoint() );
4 ?6 D% D/ E& d$ D        SetFatiguePoint( GetMaxFatiguePoint() );9 g* Q9 E) P+ O7 T8 m9 Q: [' y  k
        if( nJob >= 1 && nJob <= 4 )
" ]4 r3 [, {( [        {
5 N! i8 t3 f: v+ J5 g            m_nStr = m_nSta = m_nDex = m_nInt = 15;
$ ^9 `# ?+ ~: ~9 r, j            m_nRemainGP = 28;
+ D6 {& B6 W) U        }. @" }+ h# A' ~4 j8 ^5 c4 j  z! H
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )6 K% n4 C! s" k" U. T
        {5 ?% r# t7 p. O. M
            m_nRemainGP = 118;/ D! w0 _( N, l& t4 w9 @" g% e
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;9 w5 R; K) P; C) g. h! k* w5 o$ U9 _
            m_nStr = m_nSta = m_nDex = m_nInt = 15;& C& e- q0 I8 g' U, P- B% ~9 w
        }, R# y$ J5 E; I6 T
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )5 Q" U' Z. A5 q
        {
$ ?7 N1 H1 G; \) H1 s7 H) B            CItemElem itemelem;
6 B5 o" H; S% h( v! d; d0 o            itemelem.m_nItemNum = 1;5 y9 H4 R* t1 Y
            itemelem.m_bCharged = TRUE;* ~8 y" Q8 ^$ H
            BYTE nID;  Y# `2 ^! {) }

. ?, y" l. J6 D8 b4 A1 Y            if( nJob == JOB_MENTALIST_HERO )% t: ]* S% O4 O5 k
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
# e3 i' h  _' `* K            if( nJob == JOB_FORCEMASTER_HERO )
6 ]* B0 ]8 O; ~4 o                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
7 ?5 `, b$ H) Y8 N, F% y$ z! I6 t5 S0 E7 ]
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );; u1 S7 ~( i  G
        }8 U! z) r- l* B
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );! G+ b1 q- q5 [; b% T/ b* ~
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
' ?- ?/ L, h) r$ O& \        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );6 J' U, P; p3 z. A6 Y
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
( K* K# C2 m, w) E0 x# w- G        ( (CUser*)this )->AddTaskBar();*/! K1 B- Z2 o' s
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );; f4 h8 F! n! }+ v9 a
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?4 N5 b5 A  Y2 E, \7 X( g
        ((CUser*)this)->CheckHonorStat();
! S3 y; A* L$ r- I1 M9 A        ((CUser*)this)->AddHonorListAck();
& G. j6 s7 {) o- k+ M( \; S        g_UserMng.AddHonorTitleChange( this, m_nHonor);
, n' Z8 T  q6 w6 s0 q) @5 ?#endif    // __HONORABLE_TITLE            // ′Tà?7 t) P, A9 f" ~# `- m
    }
9 A% P/ k/ `) X% a$ e5 y$ ~#endif // __WORLDSERVER
, a( @  q; b$ }4 o* ^}  . O( k% V/ D9 m7 k; L! P- b0 r0 K
/ Y" k) \5 ~8 o* s
然后你进入functextcmd.cpp并添加以下
+ B& ?& }, z' f- ~9 a+ p# e8 ]/ O" V  Z/ z- J, v1 r
代码:3 j, v2 D+ g" i# ?: C
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
5 H4 l) S$ t  c) y下面插入) m2 u8 y; W; i7 X( b/ d; [
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
) x( x+ @" }4 Q" M5 M( z! W3 C3 f; i- m5 B1 M
然后你去
0 f3 w3 X9 r/ E/ c  K5 k( _
' f+ v9 b1 N4 g( H6 G# j1 `3 x代码:$ E0 x$ t' a) m' x5 g, R
代码
! s- u( a3 {( B$ HBOOL TextCmd_ClearPropose( CScanner & s )
, N$ Y! ~" ~. B) n! j) Q1 s& j" p{
3 P* W% H" W8 w, t#ifdef __WORLDSERVER
, S7 m: d3 D7 Y: V2 g    CUser* pUser    = (CUser*)s.dwValue;
' [; }# U3 t- J5 V  @. E( v    g_dpDBClient.SendClearPropose();
) s. x) V/ x0 A#endif    // __WORLDSERVER  p# h2 m- V% d1 S! e
    return TRUE;
; ]; z  @& S% f$ y& t/ x}
8 c: S4 L! e- F# ~$ X' x: D/ S下面插入
+ R1 M- x* v3 yBOOL TextCmd_rebirth( CScanner& scanner )
/ B" B& J) {( v0 Y5 J8 K{
# z) u. z4 U) s2 A) R2 D#ifdef __WORLDSERVER
, I0 ?+ B: |5 _* hCUser *pUser;; Q5 {: D0 ^- i1 J
pUser = (CUser*)scanner.dwValue;
6 A0 G$ `% X. `* f( c/ L2 cif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())0 R! T6 B1 L( s* n
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);3 Q/ ]5 U; ~" d$ u: d+ p
else
# s* v( H4 U" u9 i* VpUser->AddText("你还未达到重生条件!");
# W& x, ~' U9 d#endif
: g9 t# c% M' `" T1 y8 A$ b5 A+ Zreturn TRUE;9 ]: a7 H' ^6 j5 a
}  
1 `) m% r1 {2 h  l
, R. r  Y- W5 }% j
6 k* s! y+ d. @9 t$ s& R  n+ J. R4 u. d: r. @

' Y& Y) \# w' E+ l3 d* A6 o
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 20:54 , Processed in 0.066721 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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