飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
& X$ D# P+ K8 P8 R4 \5 |9 i$ o. Z( F  U! V/ k8 }, D
Mover.h
  n& ?& a  y  P, t* c代码:% f4 E- m  D) b. C( V
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü' x, a: z# ^+ \  Q, G$ F1 b
" g. _3 S3 J( a9 D: a
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  7 `2 V0 P8 f* _+ N; M2 r7 U
# a6 s# M0 m, S. f% a
然后你去mover.cpp添加
( p4 k4 I. q2 T  a6 F& V! n, D+ J
* p* b* K  e5 u+ I/ [. x' X; z6 |- `代码:
' {2 u/ ?& k: E( qvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
- p+ I' h4 l8 M{2 k0 P1 a; z. Z3 t
#ifdef __WORLDSERVER% \  F7 R( _1 z0 I. t: g. a, T: E
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
  T! v' l# t" @    MoverProp* pProp = GetProp();- P5 b- V* C7 w( o- s% [% i
    if( pProp )3 ~/ ^* g1 h' i/ O' n
    {0 w6 r! W* a5 k! q) x% K% D
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )8 @, u3 b4 Y+ _( T, ]% O# ?0 O2 f
        {
- r! b4 T' n. J            AddChangeJob( nJob );
+ \5 X5 a! |, v" ?        }else{
6 O: K" J$ ~4 u6 v; K1 ?            return;
) Z9 ~0 d, F% \6 I  i) W8 |+ T        }
) O* O, N6 F* R: V$ f        int nPoint = 0;8 G8 ^0 ?+ J, |
        if( m_nJob == JOB_MERCENARY )! V, d% L/ ~4 h) ^8 Q
            nPoint += 40;( k) l+ W# ?- G
        else if( m_nJob == JOB_ACROBAT )0 N1 f6 S: y8 ?
            nPoint += 50;) J' B7 |# H3 m+ ~8 p$ z
        else if( m_nJob == JOB_ASSIST )
  w0 _+ `4 l3 C+ w            nPoint += 60;
5 e) f( L5 ~7 n1 a  {% |8 z/ ]        else if( m_nJob == JOB_MAGICIAN )) R- B7 g3 d7 `! E4 r! [; \+ w$ N, R
            nPoint += 90;0 C( F* b0 U8 \3 J+ t! ~
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
$ M# ~; L/ L) I+ h+ w, K" H- ?# O4 J            nPoint += 120;
7 ?* _2 A3 b& j- t. d# {        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )) y# ^0 i& {/ L* [- D& I- u
            nPoint += 150;
+ V6 A) j3 {3 G$ R7 F        else if( m_nJob ==  JOB_RINGMASTER )4 e& X4 Y# F: s% a3 j( E# A
            nPoint += 160;
$ {! y# c: O( s) [9 `' O/ F        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
+ ~& D" i* [2 D! f            nPoint += 180;
- v% K" a5 t; x. N' ]: Z        else if( m_nJob ==  JOB_ELEMENTOR )1 ~) }* e) A. V8 @7 _
            nPoint += 390;
6 e! z/ J3 W' I  _" f$ ?        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
6 ^: z: w6 o2 E8 _            nPoint += 120;
( }1 i6 H9 W7 M6 g$ ?        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
  L( ?$ p% _! N( J            nPoint += 150;2 E1 C/ C9 D# S: B4 t; n/ i$ f
        else if( nJob ==  JOB_FLORIST_HERO )
9 K9 h& i6 g9 W; G            nPoint += 160;) a, T: h/ j) O( o  r5 T/ B. d. i6 J
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
3 n& h. @5 W4 H. G# H            nPoint += 180;9 h% u% [/ o) Q1 ]4 a, O$ U+ j
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )' q; D) r, ]$ t
            nPoint += 390;) C5 o* F1 o8 N- y; }& e
& K& W  w. ]+ ?3 j
        AddSkillPoint( nPoint );
: I4 q( F+ h" x( v4 o3 z: e" H        m_nLevel = nLevel;
' [6 a; Q1 i& ]
6 V( L* a& P5 ]        SetJobLevel( nLevel, nJob );
1 x2 c5 P% X4 I7 g6 u6 _        m_nDeathLevel = nLevel;
) b8 I9 v+ w( e  A#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
3 {7 J$ q& Z& \        if(IsMaster())
" I9 l9 T8 ^( M7 [        {' i% I$ c6 X* h0 k+ `
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
9 ~9 B3 l% Y2 G+ w+ K' D/ R! `            if( nLevel > 59 && nLevel < 72 )
7 X3 |4 J- S4 y5 P, `; u                dwTmpSkLevel = 1;% @1 Y1 U0 H% ]$ K& a
            else if( nLevel > 71 && nLevel < 84 )* D6 G1 n9 K( |% w9 g
                dwTmpSkLevel = 2;( H) I3 A/ Q' X  @' l9 ]
            else if( nLevel > 83 && nLevel < 96 )/ w" m* P1 f$ M! Y: b) f8 F+ z
                dwTmpSkLevel = 3;
. E0 H9 j: f1 i  k. ~. O            else if( nLevel > 95 && nLevel < 108 )
' N6 a1 O3 D: ~# F" K                dwTmpSkLevel = 4;* ^) h9 R) x# W: o2 x5 Y
            else if( nLevel > 107 && nLevel < 120 )
  V6 D5 I5 q' T; j" X  V2 s+ t% `, o                dwTmpSkLevel = 5;
5 O( ^# T  |8 y  L1 r$ {$ \            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ q9 i; Q0 @- j0 o; Y            {                $ ]: v' A1 d$ G0 G+ \( w
                LPSKILL lpSkill = &(m_aJobSkill);
1 p; V/ u7 b# E6 C6 T, n  Z, ~. d, p7 V                if( lpSkill && lpSkill->dwSkill != NULL_ID )! }) z# ^4 c; `. d
                {) n+ k3 }/ h3 a! c, Y
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            / m- Z" o( v( |
                    if( pSkillProp == NULL ): i: S8 S+ s" G9 c1 T& L5 N
                        continue;. F# E1 M3 I6 r& I6 ?
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' d. S( U, I9 M0 L3 ~7 E7 z                        continue;# N( |: q! B  \
                    lpSkill->dwLevel = dwTmpSkLevel;
3 g/ M- C" o1 g9 {2 x3 i                }) P- ^, p( [; y+ _; x' ]+ W9 ^* t! {
            }
0 b# ?6 w# L6 ?        }
2 g9 g. v- h4 I        else if(IsHero())
, m. D2 L4 m& t: Q% z- o+ D0 n        {0 d( A( y' ?" t$ d
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) " }# _7 V; }& ^9 a* J, ?
            {               
" ^6 N( @- m5 w                LPSKILL lpSkill = &(m_aJobSkill);) Q% O5 N: K5 D- N0 Q
                if( lpSkill && lpSkill->dwSkill != NULL_ID )) `5 w  `% e) i8 O( ~- M' G8 P+ l
                {7 A& y3 |; W% w' G! A* N8 ^4 n+ {
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
$ O- d8 L) z* f4 z                    if( pSkillProp == NULL )# m7 j/ q3 P! y8 S7 _
                        continue;
0 G) N+ l2 ^5 G                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& }: h! I* [! X* b9 f' C" r; g
                        continue;8 S  T1 J0 T# j7 O0 a9 ]
                    lpSkill->dwLevel = 5;
, b/ M4 `; v( O                }  ~' F5 [0 |0 x4 h2 l6 q
            }9 x) Y8 q8 d0 A
        }
, W- Y' T/ Q4 p' u        else if(IsLegendHero())2 l) e! ^& d( u: e, `; J6 \
        {2 w$ x: B* }0 f& T! J
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
" @) W8 X( V$ A            {                9 r  y- x3 D8 M+ u  }# K& p- U+ u
                LPSKILL lpSkill = &(m_aJobSkill);
4 j7 a" U) Z9 ^  r; a! f. z                if( lpSkill && lpSkill->dwSkill != NULL_ID )5 |2 {: j% H& c0 k
                {4 r5 O$ N# W! Q- p+ F
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
  s- _$ v. K6 W                    if( pSkillProp == NULL )
) [5 L9 B$ g3 M# J                        continue;# x% v* L9 i9 H8 t
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 r  U6 }) D) _; Z" j, R, I
                        continue;$ b* }, o: [' X) \3 _! v
                    lpSkill->dwLevel = 5;# c. j& L0 X/ M, i7 ]% V
                }* `3 S: ]/ G7 Q& |1 R' u+ Y
            }
( Y* G. K1 H$ L9 t- s! V6 b        }
& f% Q! C+ h% R- @! Z% l* T#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
/ {- C; J9 \! y. f        if( bGamma )
% I0 M/ T1 l" q1 `        {
' }# c- R, ~- Z8 c9 o            m_nExp1 = 0;7 h! @: [1 m" L% i3 `
        }; h  ]  _) d( L2 n/ |$ {

" Z1 Z5 b7 e6 ^( {        ( (CUser*)this )->AddSetChangeJob( nJob );" b2 P2 e2 M7 G; f3 \
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );+ O+ ?; G" M" v/ M8 `( L
, o7 d: _6 F  n7 a: N
7 {; L' u/ {1 S& l+ Q2 Y
#if __VER >= 11 // __SYS_PLAYER_DATA
2 b  X5 f7 G% d* e        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
. x! b2 M- O. b) u9 [#else    // __SYS_PLAYER_DATA
  m# T$ u  ^9 h! O& j' b# L        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
6 K+ j' a+ y+ o, ~        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
2 I5 O8 K; G( ~/ f        if( m_idGuild != 0 )
$ W) N# l7 W/ l' L            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
0 a* ]& V( g$ }' Q#endif    // __SYS_PLAYER_DATA
8 M* @1 y) c- b, n2 ?; R        SetHitPoint( GetMaxHitPoint() );
0 {5 A, R8 C6 L2 e3 X        SetManaPoint( GetMaxManaPoint() );7 D6 _( O* o& H: J4 g
        SetFatiguePoint( GetMaxFatiguePoint() );" p7 [+ V1 ~2 f5 Y0 Z
        if( nJob >= 1 && nJob <= 4 )
3 m( c% t) Q, m        {
( e% W8 K0 C6 I: o% t            m_nStr = m_nSta = m_nDex = m_nInt = 15;
! i- B1 G" |( p+ E; i            m_nRemainGP = 28;
$ |5 M, ?6 c( b( E/ K  a9 y) o        }% S; m( l  A1 n) I  o& U+ d) [
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )( N% j% R/ l7 V) `& `
        {7 Y3 J# y0 Q; F  f4 X/ [1 B& e, G' R* M7 |
            m_nRemainGP = 118;9 ]' d5 h# U7 g6 s& u
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;# p* n3 Z. g( e9 F; B% E- ?4 t/ t
            m_nStr = m_nSta = m_nDex = m_nInt = 15;0 [7 m" A* }$ B- X9 l4 h: P8 g
        }8 [% Y- H( ?/ D
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
0 ?: l% u$ X) e/ T4 f        {  Q0 a, W5 V; s. a% M( B( C! ^- Q
            CItemElem itemelem;
/ u( a/ E1 M! J7 X2 Z            itemelem.m_nItemNum = 1;! j, s  M; J( b5 z1 q% {! @
            itemelem.m_bCharged = TRUE;" x- o) B6 `2 h2 ]$ o) L
            BYTE nID;. s7 j! B& P/ R* w
( N0 T+ X* \# j! |% }7 D
            if( nJob == JOB_MENTALIST_HERO )! F4 R0 D2 R: Z& S) K" {  P, |' h
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;2 i1 }* o9 ]6 L, [7 o3 W' |  [+ a
            if( nJob == JOB_FORCEMASTER_HERO )
! S; ?( M; R! u: Y                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
0 {+ t& c  C4 _0 w  v0 g4 a
  x$ ]0 H9 B, y; B* D- t9 a            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
7 H7 W. M- ]; I        }8 W# @- {% Q3 R6 x6 S: w7 d
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );3 s0 n- I9 n3 _5 ^! c3 t  `# Y) r3 Y. |
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );  ~) q0 W7 W- {2 D# h9 j
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );+ C: p! Z' d; z* q! U* R
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );7 |0 E0 q4 r8 R" S
        ( (CUser*)this )->AddTaskBar();*/6 Z& b  c# W( Q6 N
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );' z$ E) t& M# x% p3 |
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
3 A+ _4 p6 d9 p3 A        ((CUser*)this)->CheckHonorStat();: ]- Z2 A' G, [( A9 e' U
        ((CUser*)this)->AddHonorListAck();  j1 Y7 q! G1 S# z. M1 U& R
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
$ \, K$ Q# V+ y, L8 `#endif    // __HONORABLE_TITLE            // ′Tà?/ _+ H) ]6 ?8 w
    }
$ V9 f# S, t) o) A5 s+ z8 m#endif // __WORLDSERVER2 z. q/ n' S6 p
}  ; ^7 v0 B) W: l" B, X8 w' t

6 _/ D/ t# B# }% W9 c1 H. N- j然后你进入functextcmd.cpp并添加以下. V) H# b4 z6 z7 R+ u4 O

+ C7 C* ?; w  J  F, P0 D代码:& T( Y9 ~; `& {5 U5 \- t$ o  _, j
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )" E5 C  d9 W) ^2 S! V9 w" r
下面插入
( C& ]7 c2 K# L0 V1 {! z; @: qON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ) ~5 Z1 g. v$ b/ Q1 H
) N% j% @  Q$ T$ D1 y
然后你去  {8 n/ x" W0 g

2 L/ a4 f1 ~; Y* r" X代码:
3 R" |  r! L! N. k& f! [代码
8 W+ k) A3 o, c% X2 |9 Z+ lBOOL TextCmd_ClearPropose( CScanner & s )
3 e+ s; q( q( L$ K8 h6 g{/ }4 A  c7 G% }/ Y4 H: K* k: u
#ifdef __WORLDSERVER& w, _0 z" w" ^, C) k
    CUser* pUser    = (CUser*)s.dwValue;
0 g% U8 y, f; |6 @% p    g_dpDBClient.SendClearPropose();8 Y1 Z2 \- ]- V1 [/ s& z
#endif    // __WORLDSERVER
6 @2 k! r4 K& N( `" x& |% A    return TRUE;
, ]5 ~9 s3 M! j: j}0 j6 \9 _6 R* g: ?
下面插入
; U0 J$ S; |) D. Z. G0 Y& yBOOL TextCmd_rebirth( CScanner& scanner )- O+ z2 M3 }8 Z
{  q% s6 v0 _" Z. M4 J% i0 `9 W
#ifdef __WORLDSERVER6 i7 J. I: i) Q& v
CUser *pUser;' u% I( `6 F  S5 V
pUser = (CUser*)scanner.dwValue;1 ~  b0 ?; O% Z4 i
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero()). @+ v+ S* I9 V& Z' a! f
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
% D/ J; d) h7 l/ `else
1 Q, {2 M2 k7 k7 ?& }pUser->AddText("你还未达到重生条件!");
& R& m7 _: T6 e, \  z. C% F#endif
& y6 W' |3 Z; q; D; B+ V/ Preturn TRUE;
$ d. k+ v- ~9 F% S/ }}  " i8 [% `" C! X. I; N1 X* o& D
+ p' l' K1 ?4 ]& D) v5 H+ ?+ h

2 g: P. K6 c. }$ ?2 g8 h4 x) p$ e, ?9 \' b/ g

" s- o5 {* f  n
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 16:10 , Processed in 0.066557 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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