飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
  K% i: U+ {* A$ p  I3 N/ ?% e4 i5 U# s5 g+ b6 m
Mover.h% j" G! q/ b5 K
代码:5 ~. E0 x5 E0 t
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
% p9 K2 v7 x+ h2 _1 P) y) n3 q
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  & I+ x- j' R% I6 i
  I, B! X, S6 l9 a6 l
然后你去mover.cpp添加& J6 \2 B( t# w) o

3 X& I" _  T6 I& e0 \+ \代码:
4 ^1 `! x( S* r3 C- v* t: cvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma ); Q1 ~/ I$ V! U$ X- [
{
! E* B0 l7 }/ z1 Q* s/ W#ifdef __WORLDSERVER
) X' p  z8 Q6 B    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó7 w0 ^6 x$ ~6 U5 u$ U
    MoverProp* pProp = GetProp();
6 C) H8 M* p$ N/ l; c- z    if( pProp )
  c5 u+ T! ^% V; x$ u5 i; F5 t    {: X% a' u% g" e0 ?$ q
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
) }1 @* ~6 d9 `( K) ^6 _        {
' r$ z1 D# v& Y( J) `            AddChangeJob( nJob );2 X) p) S& Q2 q5 a1 @3 u1 V2 f
        }else{
+ O1 W$ ?% ?/ `            return;
% @" I2 M/ {9 ]        }
* F3 j# s, P4 F; S" Q        int nPoint = 0;+ Q1 q3 a! n+ V3 x; n* V
        if( m_nJob == JOB_MERCENARY )& n7 x. f& V0 M5 J) M" E: @
            nPoint += 40;0 \+ z: [* M* s2 W# [
        else if( m_nJob == JOB_ACROBAT )4 `+ z) i1 B, _7 J% C8 b* a
            nPoint += 50;$ }% O1 ]( T, ^8 X4 w" E
        else if( m_nJob == JOB_ASSIST )
4 J7 d) o6 L" y% @3 U) r2 k/ G            nPoint += 60;% J0 v/ K& P" u$ U0 O. ^; x' x3 ]
        else if( m_nJob == JOB_MAGICIAN )" I: M. k7 A5 k
            nPoint += 90;. l- a0 H3 f: S, ~
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
2 c- ~- E$ L, d6 w6 H            nPoint += 120;
. X0 K$ e& R$ r! k( R# Q! r0 v& t  e9 d        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )- I( ~+ ]1 _/ x' t& @
            nPoint += 150;0 I# P8 w) p* i; Y& S7 w( ^6 p, a
        else if( m_nJob ==  JOB_RINGMASTER ): b! N% M3 t0 l8 K. @5 y
            nPoint += 160;
3 Q9 m! Y. }3 \- e5 w        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
: p: ]: H. s) B  @) l2 O! J( y            nPoint += 180;
* t* h1 y; Q) [6 b5 V        else if( m_nJob ==  JOB_ELEMENTOR )! B2 U: F$ u- N  o/ E+ Q
            nPoint += 390;
, U+ y3 U" Q4 Z# a) Z: r5 C, z; Y3 f        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )0 k+ z/ w+ [: O0 y  u+ e
            nPoint += 120;
/ o' t1 Z! y+ _, Y7 `        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
: _' r8 F; c2 Z& m/ ^            nPoint += 150;! s9 v( Z; E/ L1 _& B  q; v; B
        else if( nJob ==  JOB_FLORIST_HERO )
3 z: K2 I/ I, Q% s* w' \            nPoint += 160;
9 A0 d0 d7 J0 b        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )7 F% c0 E5 P0 d( H" G
            nPoint += 180;8 ?1 W- g3 j7 L4 }' i
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )7 O) L8 m, e/ y( H- y; G
            nPoint += 390;4 ^: z8 l- i' b9 h+ C( y/ K" p/ z

# A4 X! J, g! a# h9 [        AddSkillPoint( nPoint );: p6 [* g# H& ]5 F+ S
        m_nLevel = nLevel;
$ N( G$ Z; P' M, G0 T8 W& z* V. {# L! v$ Y+ K$ J4 V) A" q
        SetJobLevel( nLevel, nJob );. ?% S) x1 C0 G
        m_nDeathLevel = nLevel;
1 R3 S  K% M  ~- y1 s#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
/ b+ n0 l' Z6 D+ y, l        if(IsMaster())
% k2 a1 Y( }: `  g9 d  L' k0 k. R        {
5 F0 F  q" V, j# t# c7 g            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108  D! {3 c0 x6 M; P0 u7 d& d' M/ I
            if( nLevel > 59 && nLevel < 72 )
* H7 u$ b# [' ]6 K4 y( ~/ _) W                dwTmpSkLevel = 1;
* h" t9 V9 `% g7 i            else if( nLevel > 71 && nLevel < 84 )" v( u$ S% @( Y9 m  B2 ]
                dwTmpSkLevel = 2;
$ @  `: C7 P: H; U  }            else if( nLevel > 83 && nLevel < 96 )
$ w4 C( l& w8 m: W                dwTmpSkLevel = 3;5 g9 H& }+ W& e9 `" a
            else if( nLevel > 95 && nLevel < 108 ): {5 R% w2 w  L
                dwTmpSkLevel = 4;* u# r& Y" z3 {6 Q& i  I  m
            else if( nLevel > 107 && nLevel < 120 )
0 h8 p4 ?6 U; e4 H/ c4 K/ C                dwTmpSkLevel = 5;. E$ k+ j  w) E3 \
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
: i2 f5 _- d) k& a" [            {                % D1 S; t6 d3 E5 E- W" }; j$ P
                LPSKILL lpSkill = &(m_aJobSkill);3 J0 z  ]+ S) e4 x1 W: h
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( G. T4 H7 F: A6 k9 }$ N# i3 Q                {5 d* E" c: r. m2 Z
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 o: f. a7 K0 N& l) M4 \                    if( pSkillProp == NULL )
& K2 L& f* ~6 o5 Q                        continue;
! O  c1 U# H6 \" x                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)2 K2 q3 y( c% @( s
                        continue;
! L2 [7 N4 }7 ?                    lpSkill->dwLevel = dwTmpSkLevel;0 G1 m6 e- k0 n) X1 f) E- z( y
                }) o0 E2 h/ m5 V1 i4 z* n
            }, c* d% G  x! i9 D2 q+ f! N
        }
- F" R  J1 k' Z# g6 z% s( o        else if(IsHero())% G1 P" L. a- f5 y/ A) K! q9 t
        {; ]; e+ {/ @& t7 u  f
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ V$ w0 x9 U- a1 ]            {                2 c+ _8 x" ~# V! C4 d
                LPSKILL lpSkill = &(m_aJobSkill);$ ?8 c/ v5 e- l
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
& [4 ~# l( j4 Y: q5 p, s  v- ]9 Y                {* C, t! C& A( P8 R
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ' G3 Y6 @  \0 v" [& E
                    if( pSkillProp == NULL )
! r4 a" n7 N, \# e                        continue;
/ W5 @* N( y; g/ O. n8 W                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! R% J2 h+ F* G7 X' A                        continue;. ^5 E* j; H6 u2 I" u: y- ^
                    lpSkill->dwLevel = 5;
/ [9 m6 Q  p; c3 D                }
) J& }6 D5 U2 b9 K" r            }
# j* e4 i% ^- e/ |) G        }
6 w" v$ T% i5 R( r: @/ h2 H8 Y$ x        else if(IsLegendHero())  o& G8 O, M% k+ G! X: c6 e" g0 p
        {5 r1 ?: G  ^7 M. m
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ; e2 }% W9 I3 k- s& q% d  ]0 @1 U
            {               
+ H) B9 T* O( f' q( P2 ^7 U- U                LPSKILL lpSkill = &(m_aJobSkill);9 Q( |9 h$ m/ v6 I& t
                if( lpSkill && lpSkill->dwSkill != NULL_ID )! c. }4 ^8 t  @+ @3 r/ ^0 M
                {
* z. w$ N. Z1 g- {5 ^                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
& L* A' L9 d+ p2 b: Y                    if( pSkillProp == NULL )9 q- _8 h  K, z" S3 w; F* W
                        continue;
. N8 `, Q. K) A% E                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)0 m- ]3 {: m  e
                        continue;
6 f% S" D( o6 L; o, N2 O                    lpSkill->dwLevel = 5;7 J% p4 c- t  L0 Q. e7 c
                }
1 e  M# J( h8 n* M/ n            }) a8 p- W- @" {/ d  Y+ J2 f$ ?
        }9 j8 z! Q! k& e7 `8 j( e! e  k* H5 n
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans, G' C( o0 ~. L2 S9 h
        if( bGamma )2 I: m( M+ R3 N  O( l- T. t9 v/ p
        {+ g$ ~$ }! g9 q
            m_nExp1 = 0;# H* K+ n* i- Q$ @" u3 H; ]
        }
: H7 V% |+ x) K/ M! V; T# h/ ^6 s; l) T) s6 C
        ( (CUser*)this )->AddSetChangeJob( nJob );
8 ^" s) X$ Y7 W        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
" t$ B6 P$ ^, ]1 @2 @
9 o) }+ r, ^4 _; ?" j' W/ p  Q- E$ L4 Q+ c7 m5 e  \# a5 T% a' {
#if __VER >= 11 // __SYS_PLAYER_DATA, N8 }% s# p# u4 H7 A( O' ^
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
; R  \8 E+ J7 a& F( w  I) A$ @#else    // __SYS_PLAYER_DATA# P5 Y8 X" L' u, V+ {3 I
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );* N; O7 O+ {9 W5 u9 C) c3 S7 d& p+ a
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
1 n" f1 m0 a6 C6 {) D        if( m_idGuild != 0 )
# _$ ~& l; l6 x% q  ?/ @' {            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
8 e( l9 w. Y# R$ M#endif    // __SYS_PLAYER_DATA
5 Y% E) r/ z! `8 k- }        SetHitPoint( GetMaxHitPoint() );+ O" [1 @8 R; F/ ^6 P+ l0 I
        SetManaPoint( GetMaxManaPoint() );
" G! p, R- ]' C: B7 a, P" K$ w0 Q8 k* B        SetFatiguePoint( GetMaxFatiguePoint() );
0 F% _) O5 z# }' d- N+ j        if( nJob >= 1 && nJob <= 4 )
& w# `: D6 m( k        {
% k7 O1 S" ?$ D, R) m            m_nStr = m_nSta = m_nDex = m_nInt = 15;3 n5 V7 P" [5 Z
            m_nRemainGP = 28;
/ f% ~; O4 y, I6 \        }
/ F. e8 g* A/ o1 _8 N' g, b7 T* N        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )$ U0 Q; |0 J" z( m5 P% `
        {: Y1 q7 f% M1 r
            m_nRemainGP = 118;3 t2 u( S0 K7 a
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
% N( \/ }2 J& J/ e8 w$ [; q            m_nStr = m_nSta = m_nDex = m_nInt = 15;0 T- [( Q% w8 y) _( B
        }% [2 k, X: A0 o5 [+ I
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
, W1 N7 Y' S2 P8 K; P+ [6 u        {
, g" Q' v0 }9 Q            CItemElem itemelem;  b# G) A$ t* N) S
            itemelem.m_nItemNum = 1;
: t8 j  F9 p5 D            itemelem.m_bCharged = TRUE;
7 Q! H  m7 \! I' f8 @            BYTE nID;1 ]% p1 c/ k9 k* Z* V4 C
3 h% \' S6 J5 Y$ N
            if( nJob == JOB_MENTALIST_HERO )
: a0 Q& v! J3 ~4 j8 z* _* u                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;2 D% i  H" R) \$ l) P
            if( nJob == JOB_FORCEMASTER_HERO )
" R7 U! Z; k( n  S3 ^7 b                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
* z6 I0 |/ d2 l! p+ Q1 L( f# q7 w5 q5 D( e. T
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
. @. F3 A# z, b9 @, q  f: p        }# @0 r1 N  w" z8 Y# ~: d
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
; o  K$ c6 Z, S6 [        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
4 {6 p7 w# h; Q6 s        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );/ T- d( H9 ], Y
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );/ i" n1 X6 {( c- B
        ( (CUser*)this )->AddTaskBar();*/
" [0 y. d6 p4 |/ s) Q        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
2 F: I- t2 J( P! g+ o6 {#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?2 b& X4 u8 p8 n$ j' B+ H
        ((CUser*)this)->CheckHonorStat();0 H$ I' ~7 b' K  [3 W& d
        ((CUser*)this)->AddHonorListAck();* f* F+ L) b6 H* Z
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
+ A+ d: k# y! d#endif    // __HONORABLE_TITLE            // ′Tà?
, f1 e. p7 j! v7 O. U    }
* S* t! d3 L. e4 g$ r1 L2 K#endif // __WORLDSERVER) u! K/ T/ A! V5 v, M
}  ; u1 a! ~- |: d( h2 _

; p! r/ g: G3 p6 J然后你进入functextcmd.cpp并添加以下
$ f0 Y) D  `# ?: m# z7 ~4 M
! A( w" C9 e: p3 G7 Q, w代码:$ n* x/ M4 F  d  b
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
5 `* p$ J( [1 m9 ]% Y2 Q' u9 m2 ?下面插入
5 k! H8 x: z1 f2 FON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  # G" k9 M' l" l8 O+ y
$ T0 C: z) Z9 `
然后你去- f6 w& }$ w9 Z

7 g5 ~% ~) ^! o. r代码:, Y9 D& H. Q# c0 {* N- E
代码) C: _, f6 ]+ s  r( y  K
BOOL TextCmd_ClearPropose( CScanner & s )) v" `! u/ |5 P' V
{
- Z8 P- T. O4 f! G  }* H. a#ifdef __WORLDSERVER
/ g; l+ z9 U. q! `9 c8 F    CUser* pUser    = (CUser*)s.dwValue;& `, H" f4 r- h2 I7 V* m5 o2 i4 N
    g_dpDBClient.SendClearPropose();
7 d& c; Z, A  _' l- R#endif    // __WORLDSERVER% f6 ~$ J; D/ L4 K
    return TRUE;- g4 q6 Q7 W( P* Q
}" l2 G5 F6 T& X
下面插入
% W5 |! C& Q. mBOOL TextCmd_rebirth( CScanner& scanner ), F/ R1 [7 Y; z: i+ p
{
0 Y. A7 ~: X- d$ Z#ifdef __WORLDSERVER
- D" ~: Y! S3 o1 W+ q" M2 E8 aCUser *pUser;
. V/ x4 x0 [8 U" q7 i! S9 z+ BpUser = (CUser*)scanner.dwValue;
/ E) Q  c% d" Q2 `. A, pif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())6 a" u9 {: W0 _& c) {* t
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
; D8 A' O4 e4 q- W5 Q6 gelse4 u% {7 i. S9 }! D0 d2 K
pUser->AddText("你还未达到重生条件!");
) W6 U) V" Q. z6 O9 X#endif/ ~# e' E! X4 h$ {
return TRUE;& J! f- z# f6 Z/ A
}  
/ E# W! W  H; k4 O* Y$ ?
  Q0 c) e1 d' u( q3 t+ W  x7 x% K% C+ O& ~- K, f, |

$ n- D8 Z; s, i. u
+ b1 \6 s: T: D% S2 k
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 14:00 , Processed in 0.062837 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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