飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
6 [8 e& [* V2 x# Y5 n1 O  z$ {: K! C* I; c7 U0 c
Mover.h
/ P9 X8 K* m0 ^5 b* y$ b代码:# g* d$ X; n0 E& B3 X; C
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü) [. Z& i7 T2 J5 ^9 A. e4 j( e7 W
4 M) n. O6 @! j" ^3 R! ~7 y+ E* Z
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
3 q' P8 N1 a. g3 }" }+ O7 W9 b( ]$ |
然后你去mover.cpp添加( R3 T* P) ?  K3 I8 O( c: l4 G
# ^( ?% I4 K" H7 l$ e
代码:
4 n9 P, C' {/ y) N- l; S4 ^5 [void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )% n, V. N/ u/ o6 S! M
{
3 X& ^" y" y. @& h% @2 B#ifdef __WORLDSERVER
9 V0 O1 \  f3 ^  h: I% j    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó9 j* q) J7 f! z: |" @
    MoverProp* pProp = GetProp();: U1 y, t  J5 `9 K
    if( pProp ). a3 G4 Y+ v3 I: Z
    {, _. b' D* d; X2 J; b
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )& ~  [; b  h5 y# x+ y9 E' A& |. J
        {
# C9 c2 }4 U7 L" n1 q, h( n            AddChangeJob( nJob );
- ]6 z5 m! n( Z# L, g. n        }else{
2 J8 U4 g1 r1 _            return;
) F+ H7 \# e& t2 h8 H* P+ {" `        }
9 Y4 V5 N9 @# H/ O/ G4 E2 L        int nPoint = 0;
2 z0 P  v, B! V% o1 z! m& d        if( m_nJob == JOB_MERCENARY )6 N# D- E, [) k9 H, [! c. B
            nPoint += 40;
4 E) O* l9 o$ l8 Z% W        else if( m_nJob == JOB_ACROBAT )
2 \7 @8 o2 `1 G$ ^$ N            nPoint += 50;( \& K! T$ D1 I% A* h
        else if( m_nJob == JOB_ASSIST )/ [& i- T! {0 a' e$ Z9 c
            nPoint += 60;
  V: ^- f8 a% D4 u  a        else if( m_nJob == JOB_MAGICIAN )" r2 U: T) w& R* d. d. w
            nPoint += 90;
# Y) O- Z$ z" y7 k3 G        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
% I' e8 r5 ~. X& g: Q4 [' g* A            nPoint += 120;
9 [7 P$ `5 o' A        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )/ }- T6 x/ Q5 u
            nPoint += 150;
8 T* A, d) v& y7 A        else if( m_nJob ==  JOB_RINGMASTER )
& O) y# O; r4 |3 s( W            nPoint += 160;/ [7 }+ c( l* O# y+ ^
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
8 c# I. d9 M6 Z. n9 l; `% l            nPoint += 180;
1 c* f5 X1 m/ l" o" I6 m        else if( m_nJob ==  JOB_ELEMENTOR )* ^2 ~. k; V  N' _: _0 ], T$ G1 ]( D
            nPoint += 390;& M7 W  {9 y& |) P
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )/ s% Y8 \* |  k5 y3 F6 d
            nPoint += 120;9 q' z7 J4 A& j3 y! V) Z, Z
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
7 R& l& r+ o' v            nPoint += 150;
7 F* W" z  D7 i" U        else if( nJob ==  JOB_FLORIST_HERO )
- M- R$ ~; c2 O* \' w1 b            nPoint += 160;
+ t$ S6 l) s5 S3 s) v        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
; `) `3 J6 @" @/ W/ I            nPoint += 180;$ x/ V0 E( u. m" C- |
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
! ?6 g2 y3 [/ c6 j% _8 i. t1 n+ \            nPoint += 390;7 R/ L# L/ m  D* ~% b0 @
/ {7 Z6 {9 k1 c3 E+ f; S, c
        AddSkillPoint( nPoint );
' ^' L2 W' [" J/ s. f( e3 O        m_nLevel = nLevel;
( \6 Y9 a' Q% k; [, F! c) Q6 {/ n9 i' e) u( U9 E- W( T; Z
        SetJobLevel( nLevel, nJob );
0 n( }# D- Z2 Z9 ^! T        m_nDeathLevel = nLevel;% K9 Y4 y) Y$ p
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans- V2 @) E  B2 F: x* V- L
        if(IsMaster())6 _# F1 v- M( b' k
        {
! w' T$ k  J. Z1 |3 Z3 M            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
" s+ s2 S. G2 p2 t            if( nLevel > 59 && nLevel < 72 )  e6 E5 b3 B1 t0 w4 ?
                dwTmpSkLevel = 1;  T$ c7 ]9 l: z( `
            else if( nLevel > 71 && nLevel < 84 )
" @5 _+ j, O! |# G! J                dwTmpSkLevel = 2;
9 R! N/ L9 Q7 n7 E% ]1 @            else if( nLevel > 83 && nLevel < 96 )  `4 T' M0 ]" T# T. J3 {
                dwTmpSkLevel = 3;0 d) Y6 H; j2 M8 X' q8 [8 s
            else if( nLevel > 95 && nLevel < 108 )  v7 p+ w  ^5 L5 s. z. j
                dwTmpSkLevel = 4;
# R& N; C" C8 v! y- R# h            else if( nLevel > 107 && nLevel < 120 )8 h; ^: Z* k. P7 S5 F6 X* ?
                dwTmpSkLevel = 5;5 ?, q0 ?9 p. O3 v. J: ?/ K$ c
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 A+ W4 \2 T. H, D+ b/ d            {               
( O0 w( S* f% W& k/ n, s7 P                LPSKILL lpSkill = &(m_aJobSkill);8 ~) a7 n$ j3 o3 N& q0 w; k
                if( lpSkill && lpSkill->dwSkill != NULL_ID ): p% p* Q5 F. q* \4 Q" f
                {  W# l5 h$ U+ O- K- J8 [
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            5 N9 h7 s0 D- r9 \: l4 M
                    if( pSkillProp == NULL )
5 ^2 V7 ?* X" K: L2 W5 y                        continue;( |. `5 F  x& f1 u6 W. K* g" ~
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)6 H; o2 G5 F2 V) u0 t/ K$ f
                        continue;
: \3 N& ?) t- x( T                    lpSkill->dwLevel = dwTmpSkLevel;% H4 O5 M! Q* O- F
                }
$ \4 V$ D3 M, D$ M2 ?            }
' ?' J+ ]# |: ^' ]- R5 R& I        }
5 _/ @% g% c7 K0 K+ Z( M) X        else if(IsHero())  C4 l' f, @2 w+ `1 e# j) }. ]6 ?
        {
. I. @3 H1 T: t            for( int i = 0; i < MAX_SKILL_JOB; i++ )
% C% F5 F4 D& C$ b6 J7 R. A" [            {                $ k) k5 C. `* J+ Y
                LPSKILL lpSkill = &(m_aJobSkill);$ E  r, L. u, e2 k' H! @) s
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
  R2 ~& H' M* w$ C                {% O, E/ E( c. M) t; d! H3 I- C& O
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
# b) a8 R8 }5 w$ [0 O2 H                    if( pSkillProp == NULL )& ~7 R/ b% |" Z! P
                        continue;0 F, U/ ?0 `: T$ y2 l6 x1 Z
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& d) H2 V* [8 j+ ?9 p7 z+ W
                        continue;
( E: Q, K; B0 m# g# }! Z                    lpSkill->dwLevel = 5;
7 {. c+ s) _: Z7 U. i- W9 s3 v5 t% V                }. r9 u3 m/ j7 z8 x1 J3 v7 _. H. k$ u
            }5 V" k# M5 u+ r7 S
        }9 G9 X# E- }7 K( C4 Y% W
        else if(IsLegendHero()). C& k. K& ]* J; O5 t" n, I# a0 N; w
        {
' q( _9 {( U; T4 c/ K) e( B: q            for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 z& c! L& _( W: t3 |            {               
% j3 Q: d* t9 h/ f5 V                LPSKILL lpSkill = &(m_aJobSkill);
$ I" @# |# O0 t% |+ c! A, W                if( lpSkill && lpSkill->dwSkill != NULL_ID )% F3 v1 Q7 e; V$ d
                {$ ?, `/ `  l6 s$ j1 w
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
- j5 U; X8 n- c! [& ]+ h; i$ o( D/ V                    if( pSkillProp == NULL )
% o8 H2 v; v( @" @6 b( g                        continue;
* D. U! t# @2 D' _                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# Y, y) ]9 b$ A/ v                        continue;' |( Y+ I6 ]: q& Y' ?1 s8 d6 [3 J/ D! X
                    lpSkill->dwLevel = 5;( o5 g8 n7 |; o# h! n
                }
  B6 }' `3 Q+ |  P# S" u- C! k9 m            }
& a1 F/ K. i/ |& N        }
0 k1 l; F' ~3 d3 m  i+ X#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
: U) C: m/ n4 n9 g( |% i        if( bGamma )
# u* f" E. g& }! ?( U        {
& ~) q! c! ~4 U! g            m_nExp1 = 0;* `# i7 B& F, }, P: r
        }1 K, V3 F5 M+ S3 ?3 B
5 L2 J1 ]) }9 u5 ]* A
        ( (CUser*)this )->AddSetChangeJob( nJob );4 f, S" _( M" T
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );+ D/ [. ?* `& I4 c* w% Z& e
+ `* h6 L4 y$ ]
; c6 g3 y8 f, J5 D5 T
#if __VER >= 11 // __SYS_PLAYER_DATA
" ^" r' b% w! {( S        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );! ]- Y- z- S8 o& q2 c; Y' x
#else    // __SYS_PLAYER_DATA- L- [2 F5 F8 S6 P, D6 ?$ g
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );; E+ v5 \7 t) f8 X$ D, W. a
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );' J9 v) q4 S/ q' A7 A& q
        if( m_idGuild != 0 )
+ g, X1 {, |9 U8 V( m            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
; p; S  T8 \" h/ @0 |" Y( M#endif    // __SYS_PLAYER_DATA
  h( H7 i* H  `2 w# H8 w# Z8 ]4 f2 \        SetHitPoint( GetMaxHitPoint() );
  _/ L9 d7 m2 `0 L5 V        SetManaPoint( GetMaxManaPoint() );1 j& E; l& q8 Q& s/ v
        SetFatiguePoint( GetMaxFatiguePoint() );* z$ l3 l. D! Q+ e) r- E8 M
        if( nJob >= 1 && nJob <= 4 )
* {: ~$ ^5 `' |( ~; }' H        {. N% B8 G( S* n$ B) p* w
            m_nStr = m_nSta = m_nDex = m_nInt = 15;/ q0 H- t1 o1 L% ]! ]
            m_nRemainGP = 28;( y; S4 }! K4 n& f/ u
        }
# N- G6 @- y: `, i- G: M; i5 m# V        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )0 ^, L# h, V$ ?; e6 ^; p+ e
        {
& p7 j% e( y1 `# [( Y/ s+ N            m_nRemainGP = 118;
$ C) e/ Q9 g+ I& j3 ]5 E            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;# q5 }0 l# |3 @! H" Z
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
  O+ v+ @6 j7 U        }/ U! X% H/ t4 \/ W' c, [
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )$ k$ s! o4 s, ?+ e% E" X
        {
6 d! f% O9 g  U) {            CItemElem itemelem;) m* ^$ Z' W# A9 U1 ~
            itemelem.m_nItemNum = 1;
# h: @  F- H# F5 b            itemelem.m_bCharged = TRUE;
7 Y# x  U, e" b+ o1 S( k            BYTE nID;- ^" @3 f9 z' S# o
1 d/ A4 X. k6 ^/ D; o$ h7 b4 {
            if( nJob == JOB_MENTALIST_HERO )
* t7 s4 O! M4 m; g! m                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;& I) Z9 {9 J+ T0 N
            if( nJob == JOB_FORCEMASTER_HERO )9 R  ~& j) L) |' A
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
1 o) o! r7 ]( C
: V6 h/ C" }$ W            ( ( CUser*)this)->CreateItem( &itemelem, &nID );  S' H- z  k- g5 ?% R, L, _
        }
' _4 a/ f4 u) W% X        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );, U- ?9 `, |) d- i/ u
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );7 Q1 N) Y! C& v1 Q8 u
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
+ \5 ~  s( j# n; u! z3 ^6 b4 w& \" D        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
, q( r! b0 |: V5 c        ( (CUser*)this )->AddTaskBar();*/. g. A" y! d0 F$ u; d' H
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
" c1 s: ?9 \: T6 w  z$ L' b* W0 E#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
8 ~8 |$ X. B* L8 t& ?8 [- C- q% J/ w        ((CUser*)this)->CheckHonorStat();, {  }' d) \, g( j! e( B; r% t. _
        ((CUser*)this)->AddHonorListAck();7 p% f! j# h; y  n: H6 O
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
" i+ k& i9 t6 P! s#endif    // __HONORABLE_TITLE            // ′Tà?
2 J( D6 w9 H8 k* Y5 O    }: x) t* a* O: h5 p& g9 ^* ^" S* w1 M! J# R
#endif // __WORLDSERVER
- j' Z9 W& Q+ r9 \+ n}  : O4 i/ j' Y3 I$ G, P

: q! q# i2 G) |. H- Z1 W然后你进入functextcmd.cpp并添加以下4 W% y# V& {! X8 f
$ V% i& R4 q4 z' m0 O
代码:' m; \2 x, j* |
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
' ^) h5 x# D& z% B: L3 K2 i1 m下面插入
. s) n1 o. C, |5 A; x+ VON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
1 i+ P1 ]) O! e0 y  u5 b( [2 P7 w
3 V' ]9 ]6 U3 V  P- L# D然后你去$ S& }! A1 \7 U0 q" w3 t$ Q5 g

6 E3 ~, Q7 T+ f$ \. W代码:
) V) h% C% f$ K代码
: E, P* A5 C; ?: {* Y. Q, f9 l% pBOOL TextCmd_ClearPropose( CScanner & s )
1 [+ {& `; ?* u4 R6 {{  p3 |% R3 ?1 e2 K  J2 G4 c
#ifdef __WORLDSERVER/ s0 D# T. H# A
    CUser* pUser    = (CUser*)s.dwValue;; ?9 C) o$ o# w" l/ D$ s
    g_dpDBClient.SendClearPropose();2 }7 q; L9 D( I; o  `) A* f% I% R- n
#endif    // __WORLDSERVER1 j0 h6 w( R7 w! j3 g7 C' o
    return TRUE;/ p" f" P/ u8 a# s
}  g. O. H$ L  Z3 G) G# b
下面插入
$ b# k% b8 s5 Z) E* E" c5 W7 YBOOL TextCmd_rebirth( CScanner& scanner )
+ Q3 g; h4 I0 T! Y, w{/ K( ^2 Y1 S, }9 u
#ifdef __WORLDSERVER( q3 {. J, k( y, z; |
CUser *pUser;
3 X* \. y4 L* V5 [1 opUser = (CUser*)scanner.dwValue;
9 E% f$ k! a, v' k% pif(pUser->m_nLevel >= 150 && pUser->IsLegendHero()); L& X8 n  }9 x8 @. k
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 c8 i4 z2 x5 x% selse- j" f' |. L+ M: A1 ~" r
pUser->AddText("你还未达到重生条件!");' J2 a7 m% N, k2 K
#endif
9 x/ W) U; K, e; I5 x/ i$ preturn TRUE;
0 t& ?% P2 ]0 P7 L}  * b; {0 ?8 h" N1 h, a
! v/ N, V9 ]+ O0 |. w
- G* J2 p% d( y# l8 o$ D8 t

- u" y, P! n/ _9 P' Q) O( f' q) t
/ ^+ w/ j; h* q8 v1 o
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-15 21:24 , Processed in 0.064063 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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