飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1070
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
7 c6 S3 G+ B1 m# {4 e$ r8 J. \  d7 @5 R, q1 R; N" y" ~
Mover.h
( J$ K8 J: ]5 z5 l% Y代码:
: |) h, U, r9 h1 v找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü' o) @& @$ D* O$ P8 ]; ]
! j7 {7 [4 `: J- ~3 {, A
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  ( S/ w: A5 c" T0 q: \
& b% ^' J: r8 X. s9 y* r! f
然后你去mover.cpp添加
0 }, x+ A6 X6 `5 M9 K. J
$ N4 G( {! v2 o; N& {- Q% i代码:: z7 s" f. E3 J- ~
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )6 Q" k2 j0 _1 q: E6 ^
{* C) g- \1 x0 |4 u/ [5 r; Q4 O; _& q
#ifdef __WORLDSERVER
/ Y9 C# E" y, @  n3 Y    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
+ b0 O3 n7 o4 u* o& ]    MoverProp* pProp = GetProp();
4 L. I8 {) O; S3 n1 N    if( pProp )9 G, N6 k8 p: i# y5 h% D# s# o
    {
! g( P0 d) }& z2 O        if( nJob > 0 && nJob < MAX_LEGEND_HERO )2 `' q$ }8 O) r% K, l6 y6 @
        {
1 z% |( X+ S' `- h* m1 p            AddChangeJob( nJob );
/ c; d& j+ Q9 x9 M+ U        }else{
- q6 ?$ J2 f7 B! W8 k            return;7 U' q5 h& N. g3 L5 V2 }+ x
        }: b# B( I. ]. r/ m: w" h" n
        int nPoint = 0;
- K9 ]  j0 @/ P% R8 o# \6 m        if( m_nJob == JOB_MERCENARY )7 P9 W: o% y  q) E3 ]4 c
            nPoint += 40;
3 r% b" H* l4 Z, @; y, l7 }        else if( m_nJob == JOB_ACROBAT )% O2 J) q' m; H* y
            nPoint += 50;
3 a6 i7 I- d% ^. \- ?        else if( m_nJob == JOB_ASSIST ); j4 A$ I9 }4 r2 O$ \' W( N6 C
            nPoint += 60;
. Y' E! G9 o4 y8 J2 @        else if( m_nJob == JOB_MAGICIAN )1 L% j4 \# c& q" g6 b5 l
            nPoint += 90;
* j7 w( W. _/ u5 q# R0 R        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
6 _2 H" W) F- V( j* G& J* V" s( T2 M! s            nPoint += 120;5 I3 U+ O4 |2 y2 `) E
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )9 |6 U" v7 w* r! K
            nPoint += 150;
3 ?  P( n1 U* p- t! b+ d        else if( m_nJob ==  JOB_RINGMASTER )
; z) l0 g8 y  K9 e            nPoint += 160;
% B& V$ B. [% Q+ {        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
( L9 {/ P+ Z, k7 S* ?& i" w3 l% q            nPoint += 180;
# ?% F, ]: K3 o        else if( m_nJob ==  JOB_ELEMENTOR ). h. p5 @! _& ^- y$ ?% G6 `3 q
            nPoint += 390;1 [8 z4 T1 l! g, }
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )8 c: t* @  s2 B0 |4 e& p: e
            nPoint += 120;+ s( r" e6 F  {' h3 p" ~! b$ L
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
5 \$ y+ i& s" r, R& \: t. V  l            nPoint += 150;7 ^" r5 H3 {- k0 A  c2 Y5 P' y
        else if( nJob ==  JOB_FLORIST_HERO )* @. }0 }" z& w! e- I. X7 c
            nPoint += 160;9 W7 q7 I0 G+ }0 k* k, g
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )& v3 }% h2 a+ U. x9 ~
            nPoint += 180;
7 D0 K# r3 m% {2 ]        else if( nJob ==  JOB_ELEMENTORLORD_HERO ), s& U0 m# D; ]
            nPoint += 390;
8 R, |( A! E4 A  [# g3 N! A. \8 m! J0 W, ?+ O' ~( f* T+ X
        AddSkillPoint( nPoint );$ V! |0 u; ^9 t- v$ R
        m_nLevel = nLevel;
+ g. D" q1 V3 q) x; _. c& Y3 T1 e) ]7 P
        SetJobLevel( nLevel, nJob );9 b& |8 b- U5 b- z  N
        m_nDeathLevel = nLevel;
8 t; T& n: D# k0 |& f& W$ u#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# h2 r% Q+ Z* ~5 t+ Z        if(IsMaster())2 {3 \9 }) L) \9 m& @8 Q  h6 m9 ^
        {$ O+ a/ K3 Z0 d  n# b4 r) I* H
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
* r! s1 M/ k" ^+ P* N$ H. L5 r9 ~/ X            if( nLevel > 59 && nLevel < 72 )  L5 h6 m( d- h# U  k( Q5 ]1 |4 j
                dwTmpSkLevel = 1;! `+ \+ ?/ w) o; d/ `
            else if( nLevel > 71 && nLevel < 84 )
$ z7 y: J5 e- N5 `                dwTmpSkLevel = 2;" D# m0 g& Q! t3 ^; I: e
            else if( nLevel > 83 && nLevel < 96 )# o9 b: y6 B2 x7 _* G+ ~
                dwTmpSkLevel = 3;
% l" |' w& V- A; c" M9 ~            else if( nLevel > 95 && nLevel < 108 )7 X' I1 Y6 d! y) Y6 `4 B5 ]0 w
                dwTmpSkLevel = 4;
, U4 \9 y% U- ?3 w8 w, O            else if( nLevel > 107 && nLevel < 120 )) e, n; ?5 M% S4 R5 ]
                dwTmpSkLevel = 5;
1 \; s; X8 _6 D1 _& {  C            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ( i7 ^* `+ b) ]$ ~# z
            {                8 I* w. `1 K2 O
                LPSKILL lpSkill = &(m_aJobSkill);
: c: r8 \* [; o1 t: Y                if( lpSkill && lpSkill->dwSkill != NULL_ID )
! S5 S5 ~! T0 Z6 C; j# \, |                {8 P  _! ]( F, }- p$ T- U, }* O  N
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 I% Z2 r/ M  d                    if( pSkillProp == NULL )0 I5 [1 m8 S2 R! S% s& C& V
                        continue;( H2 N( g" O1 A% a3 X2 H5 u7 M& Z
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; s! H* g: C0 s; T( x. R                        continue;' \8 I2 A- o& j( s9 K
                    lpSkill->dwLevel = dwTmpSkLevel;
) m# _4 u& W; \                }
" X; a7 n' q2 Q( P1 E& N9 j* q            }
. G) G+ T) O" m: X% J5 k        }0 K# f1 ?% H9 C0 m$ G: A
        else if(IsHero())) m+ h3 @9 u3 N$ u6 o$ f
        {) ?- i  \1 J" o+ m( [  j
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
. ?; C: l1 o6 l: K            {               
% c; F$ }. W* e* ~5 I                LPSKILL lpSkill = &(m_aJobSkill);  R' @/ k/ n9 c& y  S5 n; B
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
& I/ ?, U/ M( A' Y' {! R0 W                {- `0 y) H+ a% Q9 }3 O8 f' M" H% c
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
/ N+ r+ c& j: J  D7 w                    if( pSkillProp == NULL )4 h. M3 J1 s' i6 ~: @
                        continue;
7 u) r& ^* ]/ q9 F6 G; X                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! M" C4 h! p( i' T                        continue;% o" G. `5 g" U# D% p
                    lpSkill->dwLevel = 5;
" T( J$ S6 f! _4 }5 K" J6 }1 p( g                }
% C. I; e% P, y8 M' ~) U4 D5 }9 F            }" F2 c4 J: ]# Y2 c, Y5 l
        }$ F- t2 i( k4 P
        else if(IsLegendHero()). x% d! H, i+ r  v2 @1 c
        {
+ B# b3 g; _% O            for( int i = 0; i < MAX_SKILL_JOB; i++ ) . a/ ^$ p, j4 C6 M: T7 _
            {               
1 H+ D- H: ?4 p" j9 ^/ J                LPSKILL lpSkill = &(m_aJobSkill);
1 R! B9 r3 M, p8 A3 [5 L8 ~1 v                if( lpSkill && lpSkill->dwSkill != NULL_ID )
# |1 ^' J1 ~) k. v! o: g                {
. g1 ?8 r- N" g% v8 t0 e$ Q% X# j                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            1 c3 {# f% Y* o# {- `' b
                    if( pSkillProp == NULL )
8 b$ B) @+ Q) Q3 {( h& z7 S$ l                        continue;
3 i6 \0 s* W" A8 |& b" z3 E0 j9 V                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)3 e+ f2 N6 c$ q" c5 e
                        continue;- l: k5 T% Q' {2 q  E
                    lpSkill->dwLevel = 5;! [" s+ N, @+ S6 g( @* [7 C
                }
* D; T- U6 G- }9 T7 b            }$ B1 s8 e$ p$ b' B4 U
        }
6 S% z" R9 r+ |#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
! x, v$ [" \9 `* V4 |) ]        if( bGamma )9 F* |) m3 [( E! ^& M& z
        {
2 x/ W& \; H4 R6 |            m_nExp1 = 0;
8 _  r. I" C4 b% ?- e6 s( O. D6 {) N        }
2 I8 n" M5 ~1 t4 ]) ?1 j
7 h$ y* [' Y$ H& ]& |        ( (CUser*)this )->AddSetChangeJob( nJob );
: p8 M; x* d3 d  ]& L3 I1 l' ?        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
. k9 d( Z$ V; Z) S- J3 y
4 @8 O4 \' U2 U- r: [+ ^0 v
4 P0 c+ d2 I2 O% \8 g3 |' ]#if __VER >= 11 // __SYS_PLAYER_DATA( O# w! k/ B7 V' [" E  t
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
- f- M' K7 Z4 _  [* E' c3 d#else    // __SYS_PLAYER_DATA
; [) E3 W' d5 M* B, A. H        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );5 E, z% z+ c8 n! _
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );6 Y& G, u; j! y  j7 o
        if( m_idGuild != 0 )) \& V+ ]1 p! n
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );0 X" W* ~8 }0 ^9 K0 R/ |) L% ^6 R
#endif    // __SYS_PLAYER_DATA
8 r4 ~, j4 W3 _- B1 n        SetHitPoint( GetMaxHitPoint() );6 ^) `; ?" {; a9 E* P
        SetManaPoint( GetMaxManaPoint() );
. _3 {, `( E3 w* V* T        SetFatiguePoint( GetMaxFatiguePoint() );
! T. `( R( r$ ]0 @" M$ B        if( nJob >= 1 && nJob <= 4 )
  T2 O2 b' s7 N- J3 p8 u        {/ F' [4 @, G. _8 N
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
- W- G% l" r7 v- w. [            m_nRemainGP = 28;6 F2 D  z2 C8 z4 b6 U4 {) j/ M
        }8 X  d5 N6 R! J. k9 q
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
. U7 m; Z# V( k- u! K        {
5 s7 w0 s' Q% d; J+ j8 F            m_nRemainGP = 118;% `2 \% s! Z0 {( t+ q
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
2 V# S4 y2 x) \8 D! t* P2 a            m_nStr = m_nSta = m_nDex = m_nInt = 15;
& }8 L  ?, C3 {$ e. Z        }) B& j6 M8 m, t5 m
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
  P# P' J7 U$ d% y        {
6 u; V; w; X  X7 p5 p9 W            CItemElem itemelem;- I- K% M. u; J  R' l8 \
            itemelem.m_nItemNum = 1;
" u) ]) h4 a0 B, C            itemelem.m_bCharged = TRUE;; M+ k" S4 {* I- `+ e& S  f: ^
            BYTE nID;3 c# o$ F) Z2 X; T, J6 T* w% q; [

# ~2 c4 `( A6 O" {1 @# v, G            if( nJob == JOB_MENTALIST_HERO )# E! f2 s% l# Z* ?1 q
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
( O0 R4 }9 Y( X            if( nJob == JOB_FORCEMASTER_HERO )! l0 j0 |; Z, @. f7 ~, j
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;- J0 i) \$ Q: T0 A5 h8 _* M+ }

: n5 `. U) f* U4 m) f3 j            ( ( CUser*)this)->CreateItem( &itemelem, &nID );  ~) @6 _8 |! {; Q" U4 ~" X0 J
        }( m1 }7 V3 v% O4 O4 g7 g
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );5 }% K. e! U2 K! @/ R
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );8 [. F% Z% f+ G  m% x% f; F% U: O
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );1 B# o5 X( |# m7 f5 ?" p5 U
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );( D+ ^! l" `7 d! o7 I# b
        ( (CUser*)this )->AddTaskBar();*/
2 L1 O+ a1 I( H) k        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );5 u0 x$ B% f/ }5 J
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?) L7 c' M. G. ~/ e8 ]$ a: W
        ((CUser*)this)->CheckHonorStat();) t6 U9 K/ K) C
        ((CUser*)this)->AddHonorListAck();6 T0 y+ y' f* v" C# N7 Q
        g_UserMng.AddHonorTitleChange( this, m_nHonor);- g& g& ]9 G4 y: ^8 u+ m- ^
#endif    // __HONORABLE_TITLE            // ′Tà?
5 q$ c, Y. \8 J8 Y" `( m    }& a2 Y, a2 G4 R* z6 C" i
#endif // __WORLDSERVER
. e3 f7 q5 u- h, t- N+ F}  
: E8 Y/ Z1 }2 _0 V# c8 t/ @' P: L( w, C4 V' q( m
然后你进入functextcmd.cpp并添加以下7 A/ s+ Z8 U( q# T' l; j

8 i# x  [, F6 b1 I# e代码:! ]4 M5 X0 B7 |# {) h* u' s
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 y. B/ b1 F+ I) `7 ~; J+ a. ^下面插入
) h7 P2 E( T  J& ~+ W7 CON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
5 v2 h) ~) Q4 V* x
1 k) G* _' C$ `; b$ }; k4 o& J' ^然后你去
3 I/ ?5 @- N- _; m6 S* P1 K; {1 M# g% z/ D  Q' Y) p
代码:
$ [( Z5 W! V8 X9 P( Q7 L& F代码3 `- x5 E& N( f( u) E
BOOL TextCmd_ClearPropose( CScanner & s )
. V4 R* e4 R" T{
1 B% b6 x: m1 [5 w* _! H% A#ifdef __WORLDSERVER7 a# Z) Q. f) V- x
    CUser* pUser    = (CUser*)s.dwValue;
6 m8 t( }) O+ f& S$ Y! m4 z* `+ N    g_dpDBClient.SendClearPropose();' z- p# I) T3 z9 j# G' g7 i5 ?  H
#endif    // __WORLDSERVER! c& A1 e8 d$ ?$ L; r2 b, _
    return TRUE;5 Y; P. }! E# {2 o# `, e, ]
}
! \- p( j" C) X3 c7 o下面插入
, f+ B& i- e# c; ~) m7 y5 j; i5 fBOOL TextCmd_rebirth( CScanner& scanner ). z% n" ]4 ~4 m4 X
{; |; {: u- m4 h( N. n
#ifdef __WORLDSERVER& p# E7 X' F$ `! ?* S8 W. ?- d
CUser *pUser;
+ k0 t4 Y! u4 TpUser = (CUser*)scanner.dwValue;; B4 s# X$ F% i' i4 R
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
5 _$ [" J4 }2 t' [3 g& M; npUser->InitLevelPumbaaa( pUser->m_nJob-16,60);3 O' F0 H0 S/ ~
else+ \5 Z# t1 r4 |3 b% q' V0 }" U
pUser->AddText("你还未达到重生条件!");
* V7 z% g( [' L' B#endif5 e# N- n$ E/ @$ c6 o( X7 v
return TRUE;
- B8 O8 U  z- L/ z}  
. V$ b" T* X: R# u* D; B2 M* ^6 s$ Q: F: j, Y7 O- D
/ L6 u1 F+ J$ y& u. C5 k$ x5 t

$ k& |7 z( ]( h. a
) S" ^. `! M. z6 d
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-19 11:52 , Processed in 0.076402 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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