飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel4 c/ i# e5 ~5 i5 {8 R$ q: N3 q
7 A2 f8 `4 `. p1 s$ f7 x
Mover.h
  N$ c0 b, C- G6 E& J$ o代码:+ P# U! s9 f! [, D0 }
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
1 G& k1 g% H, o9 _; U5 a$ b' I- C# k+ S; c. P
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
7 F" z2 X+ Z) s5 O% l  ]4 U) j3 E6 ^  N3 c/ N/ ~1 f
然后你去mover.cpp添加, a& O9 Z- S, b* h. G+ c8 z

1 Y1 k2 u5 d5 f7 s/ ^& |代码:2 u# h' @, f% O
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
2 j# f7 _; l% _7 P{
3 @9 b2 M' H( O; j) G, \& B#ifdef __WORLDSERVER8 i+ ], o* S/ W2 Q* g/ Q1 c, y# w, u
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó& r' _5 r3 p4 _- ?  {1 b
    MoverProp* pProp = GetProp();
. d+ U! e. o2 z) H    if( pProp )2 Y4 C% @3 ~4 F9 t2 T. J( R
    {
9 ]  Q9 X' X7 t/ U, e. s        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
9 N6 F: C% k9 |' r% Y3 ~5 j        {
7 \$ k9 r/ a2 P1 }! I9 u* E            AddChangeJob( nJob );  E7 Y* A8 m7 }
        }else{+ ?# r- T1 H7 v9 y! U
            return;
5 r3 S, c' G+ m7 a# C4 b        }& F2 d' s* X3 Q9 N
        int nPoint = 0;
2 ?1 U8 x& l" z( A  K, k        if( m_nJob == JOB_MERCENARY )
( p6 K/ @+ @% ]            nPoint += 40;
7 a) o1 ]7 g! D" h        else if( m_nJob == JOB_ACROBAT )
* j4 x. @- n3 i' P            nPoint += 50;
8 d/ I3 E2 x  L0 e1 d# O9 y) V        else if( m_nJob == JOB_ASSIST )" y: A1 o+ D- x/ |/ A) I
            nPoint += 60;- J+ C9 t. Z+ i& \7 \+ n; N4 G- t
        else if( m_nJob == JOB_MAGICIAN )
7 C7 Z! q) X7 x7 e% j5 x            nPoint += 90;
3 I7 t6 w0 t. r3 S4 Y        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
( M$ O) o+ `8 S% ]0 B+ i+ o* d, H            nPoint += 120;
- F3 Z/ V% \% a! l' n/ M2 Y6 O        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
! v3 F! E) P" o, F% }2 H& A            nPoint += 150;
" N/ z: s0 C. S0 B+ T$ n        else if( m_nJob ==  JOB_RINGMASTER )' w6 v+ f! h) ]" y( ~, n) H* m
            nPoint += 160;
5 P; `) }! ?' [. `        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
: D$ [- t& p2 Z! {# B1 g# _4 Y            nPoint += 180;# ?  v7 l* f  q! @/ y
        else if( m_nJob ==  JOB_ELEMENTOR )
/ J  s. `, ?3 O7 [8 X) R& M1 A. z            nPoint += 390;- ~; U3 ]; o7 B  h  {; N
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )& Q) c. a' C9 Z5 P0 G
            nPoint += 120;& u( d' }1 e5 {' ~: c
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )6 Q2 p* r  v  c# u' J* b. _
            nPoint += 150;
! ^" n, I: A; Q: U, F        else if( nJob ==  JOB_FLORIST_HERO )$ `  \  D$ y- o, M  o8 |3 T+ e; W
            nPoint += 160;
0 ^0 f( |+ t6 {8 p2 s( K        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO ), e2 D' D0 q' W. L7 P; c
            nPoint += 180;# A5 S, V& X9 l% D' {6 r2 {! e% F
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
7 D/ w; H, ~' {% |8 k            nPoint += 390;
7 a7 |/ }0 Q3 R3 R
4 W2 N% I" L( ?) b  g5 J, }) ~& Z3 Z        AddSkillPoint( nPoint );5 s$ q/ P# ]& X$ c& n3 s: N
        m_nLevel = nLevel;
2 s# ?& g; B: Z9 X" q
/ O$ Q. f9 o$ G- w        SetJobLevel( nLevel, nJob );
% G( h7 d' g. b        m_nDeathLevel = nLevel;. B. Q2 ?; [+ h; {4 @& k
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans# o% U2 t6 e* h' f+ C
        if(IsMaster())/ }, K0 V5 v( W
        {
1 X: f6 N+ ^  K" M            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
. _) G1 }# Z' N/ Y! @1 k" x+ [. J% Q            if( nLevel > 59 && nLevel < 72 )
* P. H* y, d3 [* \+ y' b! E+ \                dwTmpSkLevel = 1;7 r7 V4 Q8 h9 ~+ t: R" s$ e5 j' E
            else if( nLevel > 71 && nLevel < 84 )
  Z! J' D" o$ F& W                dwTmpSkLevel = 2;$ Q& Z& L: `; {; g4 M
            else if( nLevel > 83 && nLevel < 96 )
0 h; J- `5 e- @: `. a                dwTmpSkLevel = 3;9 f1 w0 @+ z3 g$ w8 u9 n
            else if( nLevel > 95 && nLevel < 108 )& o3 n& [: o7 w& K
                dwTmpSkLevel = 4;
- q3 s* n$ n+ ^8 _/ q; z; U            else if( nLevel > 107 && nLevel < 120 )
" e6 e# ^7 d! T: k                dwTmpSkLevel = 5;
7 g6 y3 `9 H  G            for( int i = 0; i < MAX_SKILL_JOB; i++ )
3 _8 y6 N8 z& C/ H7 v: h            {                1 [* U8 t9 d# K
                LPSKILL lpSkill = &(m_aJobSkill);
+ S$ Z  k2 R/ x% |3 `+ I0 ]                if( lpSkill && lpSkill->dwSkill != NULL_ID ), w( i3 A9 ~2 Y! H
                {
8 ]% C2 [5 M2 Z: }                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
; o& ?/ n$ Y( }* m                    if( pSkillProp == NULL )7 [6 P% M3 ]9 {5 [( u1 A/ ~! q$ T- A
                        continue;. A' t! s' z9 y
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)% s2 b$ Q' k7 ]0 H+ A
                        continue;
9 q6 s& ?. b5 C3 V7 w5 ?                    lpSkill->dwLevel = dwTmpSkLevel;
8 B1 Q5 I' `" S- O& h, G                }, U1 u& w/ `6 J' Z4 _; J* p2 Z
            }
# f# h' N. k' J1 U        }
8 [* D* P4 A( q, N! j  a        else if(IsHero())
( }' n& @$ h9 q) d        {$ M" O) Q( `( [: H" n1 j
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) $ C% p6 [" _& r% c4 L& L4 f* _3 L# I
            {                8 g; l, C- j1 h% V" }8 O- ]
                LPSKILL lpSkill = &(m_aJobSkill);
1 A8 o! Q# q+ M" I& E4 l                if( lpSkill && lpSkill->dwSkill != NULL_ID )2 o/ o) I! G6 r# {6 A: G
                {  e# x) i$ U% s
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            2 F6 L# g2 X/ E. t' ?# s4 P
                    if( pSkillProp == NULL )
" i! h, l2 e' X2 k) K* s' |                        continue;
3 C" `8 E7 l; ~, d/ X  ~4 _                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, y( p* x3 I0 V! g6 W6 q                        continue;: ~! T$ p3 r5 [7 E  d, I* q4 D
                    lpSkill->dwLevel = 5;
1 Q7 E- @  m1 I, y: u- |                }
+ G: D. O1 o; u2 y            }
6 {: j6 J6 E6 R0 C# n- T        }& f2 v% C: w; e& m* w& \
        else if(IsLegendHero())* l8 z7 l- p7 k# e1 q' v' v
        {" \, Q6 P1 C! F& Q
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) - f  o0 h; h0 q& ^! @' g+ N6 [. [
            {               
% P8 a: U$ E* ]) N, b( Q) `                LPSKILL lpSkill = &(m_aJobSkill);4 }# B# l) h" `3 `5 H/ p( b
                if( lpSkill && lpSkill->dwSkill != NULL_ID )% M' I3 ?. m" j" b  `
                {
+ ~3 L' r' h* x0 ~                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
3 K7 z; z$ k8 n0 f- \9 q                    if( pSkillProp == NULL )$ l& i6 @5 b. z/ c. I. ^8 O' D
                        continue;# d  }2 y# ^- D+ m
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* U: F" r% H( W1 f+ S5 b4 ]1 c                        continue;
" N  D8 A8 _  Z1 f# y  p+ X' N  H4 n                    lpSkill->dwLevel = 5;
  e: p2 d4 N3 t4 y                }/ E: n& Z) B( w" {0 \3 z7 X  c
            }% C. Y; L, O8 I( U
        }
$ ^: y! W* n5 l% K# S# F: \#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans% ]# g$ {& S# p! R, g6 X) B3 g, z
        if( bGamma )
) s7 O+ r) l+ [8 A' Z- p; w' y& c        {/ K# @6 u, F, y: ]2 O" p4 D' L5 _
            m_nExp1 = 0;9 @; Z2 }' }6 V7 ]$ b' N$ x% H
        }
  {* i/ i) s6 M" a; O: W' L
3 E  Y+ D+ f) P  ]        ( (CUser*)this )->AddSetChangeJob( nJob );
2 J2 Y  J+ Y: \) F: _$ E. i, _        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
3 `3 d- O5 S: y$ Z* ^# t6 N5 ?, s7 _$ |

) C# L7 r; R2 }0 _#if __VER >= 11 // __SYS_PLAYER_DATA
+ i9 F* m0 E( d7 u) F6 y. ?( v        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );3 p' [; t. k( ?! S
#else    // __SYS_PLAYER_DATA
& L5 _. ^3 o- Z& E+ {% w. `6 z        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
, s. @, q0 v& y7 {6 K        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
7 V* D/ d2 h5 ?) ]        if( m_idGuild != 0 )9 B( w7 ~8 O+ k5 ?& i
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
" r) T$ a( ?' W' d7 ^#endif    // __SYS_PLAYER_DATA
& i! v; c  P( j& q" y+ H        SetHitPoint( GetMaxHitPoint() );, w8 L) m# i$ D# g
        SetManaPoint( GetMaxManaPoint() );
, }# x9 A; p5 o  L& n        SetFatiguePoint( GetMaxFatiguePoint() );
) _# Y- o; ?% v0 K/ U        if( nJob >= 1 && nJob <= 4 )
" S: K" d. s6 k1 B& \4 X        {
7 ?0 d% x* P: {$ Z- L; b# `$ Y1 |            m_nStr = m_nSta = m_nDex = m_nInt = 15;
4 l5 i( G/ e, S. E6 I            m_nRemainGP = 28;
; G0 R0 Z4 l7 S        }
9 z- O9 Z: W. _5 T5 o/ d: I3 a        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )* O2 j7 l8 S+ x: F, z6 @
        {! |% F0 Z6 ]9 L& `# o! |
            m_nRemainGP = 118;
/ r7 f9 W4 {' ^; g8 K1 {            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;7 U3 c4 Z8 N  _/ b  y# ~/ h: z7 [# c
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
* i3 ?- L: t( A# e        }
  f: R$ S3 ]" l  ~        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
+ ]* I2 @; F( e) \+ D        {8 P% S6 K) p/ y
            CItemElem itemelem;
: b$ [. I5 t* M( n) q7 n            itemelem.m_nItemNum = 1;1 o1 \% S  V  L1 i4 L' [0 O# G
            itemelem.m_bCharged = TRUE;, w2 ?0 T) B2 ^* D* N& A
            BYTE nID;
2 q& W6 s* w/ p" R6 G" I
2 o% k( x- ?3 N- r/ l            if( nJob == JOB_MENTALIST_HERO )
1 \5 g+ N5 _9 _8 u# {                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;6 X1 O6 N' D6 u9 J
            if( nJob == JOB_FORCEMASTER_HERO )
3 {2 h4 @5 N  R' R1 _! V' ^4 a5 y# o2 k                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;. S; h' Q# o$ R' G

: a8 }% K: M) b; g4 e            ( ( CUser*)this)->CreateItem( &itemelem, &nID );& c8 n# ^4 R6 ^5 U( c$ P7 {6 ~4 q
        }
0 M; X6 t6 ]% v! Q) m        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
8 D# M2 L, i8 [. l  T( V; l        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );9 Z9 p3 i& A/ O3 p. b0 o
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );4 e. b+ ^# Y! j7 G$ X8 B
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );9 z) I8 Q9 u% T) n( r+ m5 y4 Y* f5 u
        ( (CUser*)this )->AddTaskBar();*/* Z1 @: [) f& J# I! i3 H
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );" B" v) l* c& O+ R
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
& Z& p+ x( ~/ K; @6 t( K; J# @6 q        ((CUser*)this)->CheckHonorStat();
6 U0 M3 ?9 J+ b" D        ((CUser*)this)->AddHonorListAck();9 _% X- y7 m. N! T5 d3 [1 ^
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
8 D: I+ S- Y& k7 F5 |3 A#endif    // __HONORABLE_TITLE            // ′Tà?8 M/ T" s. \4 ]0 |0 ~
    }3 b4 M5 x+ I5 n8 i. }
#endif // __WORLDSERVER* \% f' H1 a. n7 A
}  4 w' _. |7 a" X+ a
! Y0 E+ |4 x  _/ Q1 S* |* A) J2 b
然后你进入functextcmd.cpp并添加以下
( L) X8 a! R1 G' p- L0 P
8 B4 m6 I8 F! x' e代码:0 e$ G- p1 ?+ ^; {/ F
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
7 V+ _* A0 u3 Y6 \, `8 J下面插入  d4 M" l* V. R6 K( F. {) i
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
! r' S) W+ n) e( t6 a$ C; t; }" p4 W/ {5 ?( K! o% R
然后你去
4 n/ S0 p$ _5 L. o) n7 m8 @8 r, @8 ~
代码:& ]0 U6 @: S# ^1 M) i
代码* s& M9 r+ Q; J7 q4 l/ d* k
BOOL TextCmd_ClearPropose( CScanner & s )
; A0 N4 K! ^$ I; X: Z0 ~2 |7 `$ ^{# ?7 n# E5 O+ @, n
#ifdef __WORLDSERVER
5 d0 m* u3 y& M3 |    CUser* pUser    = (CUser*)s.dwValue;3 o$ f  J" M' [2 y2 `$ p* Y! b
    g_dpDBClient.SendClearPropose();, i4 B4 _( L! H. [- m/ P. V4 P% k; K
#endif    // __WORLDSERVER
9 k& v& Q0 u# T    return TRUE;
, P2 _1 }/ x+ E$ r}3 E" S0 _4 Y1 Q8 f1 `6 n5 g. J
下面插入
6 S5 m9 s, P% T9 tBOOL TextCmd_rebirth( CScanner& scanner )0 f8 q, M1 R- Z; l8 C6 I4 C8 {# T! i2 Y
{  \* U  N, {0 R
#ifdef __WORLDSERVER
; S/ D3 M3 ]/ wCUser *pUser;3 h% Z1 Z/ I  s
pUser = (CUser*)scanner.dwValue;
' o  g. b" J& j4 ]if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
# m$ P- k7 j. {pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
$ l) O0 K5 u6 K1 i' W6 F8 Lelse
3 b  t$ O% R# V0 npUser->AddText("你还未达到重生条件!");0 ]; j6 s3 t+ M1 B2 |$ F
#endif
* F* I3 L& o; v! q# C  M" h2 Kreturn TRUE;
/ L* f$ Y) l) Q! I$ f. L2 p}  ; N$ G. m/ @6 ?: U" Y2 Y
. Y0 X3 A2 J. e3 G; I

1 l: p8 J, O% |( x' x2 f
: B" S  Z7 B+ v5 G* e. l
6 t# T- Q: o( R( }
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 04:33 , Processed in 0.060124 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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