飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
+ S  y$ r+ ~- Q3 \  D  T* h1 L; d& O" \; M/ v- V* x, S
Mover.h" @+ q; j8 s) Q7 g: A
代码:6 E8 b: ~, t1 f+ W% O7 G7 q
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
: y0 y! K" ^9 y% ^
4 i1 T0 M( Z# j6 X' b- g下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;    C' O6 \. M' }; ^

4 \" E! k+ g6 t然后你去mover.cpp添加
2 _# I, P# C: n" U2 {! m  A) V  p8 D& p, S# y1 {: T% g
代码:
' ]) ^7 w# K* ?  G- s* @void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )! y* |# ]9 d$ a/ w( g
{1 `; t, R% r3 v" G5 W" d0 q
#ifdef __WORLDSERVER
' g- T! B8 t& v7 ~- V3 M    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó2 U8 x& h9 c9 l5 |) u7 @  T! R
    MoverProp* pProp = GetProp();
' w4 y9 o% O5 @8 h: @& U$ A; U    if( pProp )& b  p: B' ]2 t% V( S9 K( @; m! u
    {6 F) N) |" `. K7 Q$ N3 m! N
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
4 @3 g" o, @8 N0 g/ j2 h        {1 T& [3 X& _# l  E2 v
            AddChangeJob( nJob );
: n9 b. @- j6 g; L        }else{) E3 f. i8 q/ Z
            return;
% B2 ?; i7 g9 q) H7 N        }" S' \7 ~- t; m% z" ]' s
        int nPoint = 0;; r5 q7 e. b1 D0 d( z  r$ ^
        if( m_nJob == JOB_MERCENARY )  ^$ }! K. Z! \# _! X+ Q. d" D
            nPoint += 40;# F- P7 X+ v2 E
        else if( m_nJob == JOB_ACROBAT )1 W) ]) I5 q8 R; {% @% w( {# ?
            nPoint += 50;
4 y2 q1 V& j* x1 e/ i7 E, t        else if( m_nJob == JOB_ASSIST )
% B  @$ C9 [( D8 o' ^7 F7 L' y            nPoint += 60;. F7 A' }/ e8 R, }1 k( N7 R. c
        else if( m_nJob == JOB_MAGICIAN )
( w% G/ {! s1 g! g8 }. F% r            nPoint += 90;
3 Z4 A. W& I* F        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
$ D$ w, J# X% l- E            nPoint += 120;
; f% c! }( t+ p/ Y( V3 l; Q        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )) M* S- ^' t  Y' d) G
            nPoint += 150;# s! u& q' f/ d! c" X. D! O
        else if( m_nJob ==  JOB_RINGMASTER )
) M: U( w/ a8 @* f9 K% z# m            nPoint += 160;0 J/ D' o0 v/ _8 S* D
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )- L. I* {% r$ u4 {
            nPoint += 180;
* O, X& X+ p$ ?) _6 d8 R        else if( m_nJob ==  JOB_ELEMENTOR )
4 p$ Q, q9 P$ F6 y5 V+ w. i            nPoint += 390;  {4 Q3 n2 c2 Y- h3 F
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO ). t) R" c2 y$ q; r2 @  M7 n" {
            nPoint += 120;7 n/ \# U& C( s( y9 z, \
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
. \: U- h) ~. K+ a- u, J- Z            nPoint += 150;
+ _# l$ N3 Y* W2 |7 k' t! w        else if( nJob ==  JOB_FLORIST_HERO )! b6 J, M5 G; ^5 }8 Q1 C* n- C
            nPoint += 160;
* h: @& z; v% W# E, k9 ]) l        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
6 @, r# C3 P8 N1 Q4 S. m: I            nPoint += 180;
5 d, `! o  N' @) V3 ~        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
, c2 c3 ]; N0 a. c            nPoint += 390;. r7 O4 h5 M; D5 y, g! p

+ L& P* K) N2 C! B# `# g        AddSkillPoint( nPoint );
+ J+ M0 z4 R/ O0 F        m_nLevel = nLevel;% s2 H1 f2 r8 s  }& w9 S

7 \' p2 _8 N% Q# C; Q- a        SetJobLevel( nLevel, nJob );
9 f: d! [/ X( h; f& X" a6 d        m_nDeathLevel = nLevel;8 ?1 ]" q6 [  N% T
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans7 K% O' D8 u" v; w6 R$ k  Z5 A& }
        if(IsMaster())
# x- B! w! X4 B$ S0 ?1 K) c: X        {: P/ c( U) a3 q* w
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108" P: T1 l& u. W
            if( nLevel > 59 && nLevel < 72 )
% e! G  ~& j  L" H" h) N                dwTmpSkLevel = 1;
: {+ M9 ?$ t2 M% u/ I            else if( nLevel > 71 && nLevel < 84 )
$ `8 W( Y# B" |                dwTmpSkLevel = 2;0 G: w* A! i2 Z& ~  S- ^8 F" y5 |
            else if( nLevel > 83 && nLevel < 96 )
7 J& Z  G+ j0 w' X6 d+ s1 M                dwTmpSkLevel = 3;
! [* x. P9 S; G+ t! z            else if( nLevel > 95 && nLevel < 108 )" |+ X$ R0 C+ }: z# g4 p. g
                dwTmpSkLevel = 4;
, |) V# D- R" k* O6 Q3 T" ]            else if( nLevel > 107 && nLevel < 120 )+ h% P* M, X% H/ R+ D. v) Y! s3 E
                dwTmpSkLevel = 5;# y/ h5 N: o% M2 Y0 }
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 t1 P% p( U5 P2 n3 s, a; F- x. G
            {                7 y' ^5 |; G& Z, o( x
                LPSKILL lpSkill = &(m_aJobSkill);- G5 u% t7 A7 q( n( i" I. n; ?/ P
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
( z- c' ~6 _$ ]1 P; N: C# y, T' |                {( e' a3 i2 l6 l8 k/ j. B
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
5 o2 Y# a& }0 K! `3 f# B* V# z7 m                    if( pSkillProp == NULL )
3 z) {, U6 ^5 @1 V' q( v$ S* A                        continue;
/ F( S/ F! T7 y7 Z( ]$ x; d                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)1 P. Y9 R) H0 r0 X/ t
                        continue;
$ M' w& C% d9 l5 |                    lpSkill->dwLevel = dwTmpSkLevel;- O* q1 |6 u! w1 V4 K
                }
* W3 F' T: l8 P9 a5 b            }/ J! C6 j! P2 S- K# a' B; Z
        }* I% @5 p* s. n2 b
        else if(IsHero())
) p$ T% i) r; B! r% K        {
3 a# R# Y" Y, T$ {7 ]; Q            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 0 }% v3 ~3 u/ r- p- h+ a" z; a5 y
            {               
' ?% b. e" q. h* p1 R                LPSKILL lpSkill = &(m_aJobSkill);
& K  g) f# I* D  D! a; Y                if( lpSkill && lpSkill->dwSkill != NULL_ID )
& g) w% L+ |, c                {
5 Y5 x! z+ s! Q5 f; E) `                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 S& W, Z+ M9 W8 q3 Z4 A                    if( pSkillProp == NULL )5 f- ~6 z- U5 `
                        continue;/ r0 I! O+ ^9 a
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
/ F1 h, F$ y; v- J$ r                        continue;
+ l0 W' _. R/ ]  t                    lpSkill->dwLevel = 5;
3 B# H9 [8 d% r8 l8 v                }
2 j; k% d/ L4 ?# n5 o$ E$ H            }' c6 ^/ N3 q/ l8 w7 p% `0 w; v+ f
        }! V- M" ]5 X# p- C
        else if(IsLegendHero())3 b7 ~2 H% g' c& v4 a" L- T: {4 p
        {
# O+ V4 J- u5 c2 M: g# L            for( int i = 0; i < MAX_SKILL_JOB; i++ )
& Y. v6 u* k8 b4 o9 O            {               
5 R' @& G$ ~& t5 K: V% I: @                LPSKILL lpSkill = &(m_aJobSkill);
- R. M" P: s, L" r" {* C1 k                if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ S* g% R& f! C6 [  y                {, \* E  z# f9 z9 L$ ~
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            1 M$ U3 M0 o( p
                    if( pSkillProp == NULL )8 m1 ]- N6 j& P3 ]6 [+ Y  i
                        continue;
  x* m5 R9 Z. m8 S9 i8 X                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ ]6 z& |1 F4 l, L                        continue;
$ T( p8 G! T- g& M; T$ [                    lpSkill->dwLevel = 5;
7 o4 K+ G) b; @$ |9 T                }
* G  M% y" e, N' @7 Y            }- q/ z3 c* f, h) \, j& O
        }# Q, F+ @" p' j* |
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
. _# ^% c2 ?1 M3 z7 K/ C        if( bGamma )
& M0 T, ~- n/ e# k4 D        {
$ Z2 t1 p& q3 @6 }1 [            m_nExp1 = 0;# c5 b$ B9 s2 a) v0 ~( B
        }  y% [& z1 V! g
1 m6 Q3 F* z6 P  [5 n1 q5 k! ~
        ( (CUser*)this )->AddSetChangeJob( nJob );
! ^3 F3 \, i$ `$ H* Z% C        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );* m  g/ I/ x9 g+ ~7 A4 m

* z. _0 ^1 a" O. f; f8 V! J" U/ M1 G# r* r
1 d: U: W; m, @! z# p+ k; c8 Q" D#if __VER >= 11 // __SYS_PLAYER_DATA1 ~3 c) c0 Y  Q" j4 i
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
0 Q/ Q" v3 _+ c#else    // __SYS_PLAYER_DATA7 v& N7 R: W5 g7 k' t* I8 I( W
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );2 S- r3 v3 f( d; D" E. l
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );3 f( G+ a) g( Z8 k: E( A& Z& }
        if( m_idGuild != 0 )9 I9 K$ r! O; r/ u4 E: I6 t- @
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );7 B4 F4 R3 D- ]
#endif    // __SYS_PLAYER_DATA
' U! X' E$ R0 e0 ]6 M: V: j) {  |        SetHitPoint( GetMaxHitPoint() );
  j# c+ {! |/ _/ j        SetManaPoint( GetMaxManaPoint() );; \, {4 V% ?# K; q  t' Z( i
        SetFatiguePoint( GetMaxFatiguePoint() );' D% O4 r. L9 }$ t
        if( nJob >= 1 && nJob <= 4 )+ r2 \- }0 k6 |8 R. I
        {0 N$ ]% j" f8 j5 B
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
  h" @( k) w& h            m_nRemainGP = 28;0 T# X1 }" X* L9 ?4 [
        }
  ^: Y9 R# \- Y0 C        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
) X- L! h& l4 o2 \        {
8 o8 ^) T& ~+ x9 s7 O; M            m_nRemainGP = 118;/ B5 ?6 \, a$ u# G" W, ~' X
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;4 A/ D% F) x' A! r1 [0 _2 x
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
! ]! Y' U/ @! U' ?, G9 I, ~8 `8 B        }
8 V8 a1 I# P# Q' J        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )$ O8 `" J9 H& d. y
        {
8 U4 f& H+ b: ?; Y            CItemElem itemelem;  Z8 f1 ^2 v( [7 }
            itemelem.m_nItemNum = 1;4 K2 ~2 C! e6 ?' \
            itemelem.m_bCharged = TRUE;
; d3 h9 q' G) }) u            BYTE nID;0 O6 w' W' K# I6 Y$ k9 a) _
# v6 o+ A3 X1 E. F
            if( nJob == JOB_MENTALIST_HERO )7 T/ R! T' S  A5 q4 u6 a8 Z
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
& x) G0 B' ~8 {8 X4 O            if( nJob == JOB_FORCEMASTER_HERO )
5 J' u2 H, t/ ]$ @                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;% U% H/ G/ t( E0 i9 V4 \# I

. o$ l, i1 q+ V, p% f. l            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
7 ~: P3 @7 U" H5 s6 q        }
2 Z6 u: V# w( S+ _        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! b  F0 f* N* j- z# [        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );: J8 z$ y+ f& K6 _% v. I+ |
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );1 E) J/ n' }! D
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
& u. d4 F' f, x  t) I/ k  ?2 G        ( (CUser*)this )->AddTaskBar();*/7 D4 I8 b  |3 H- J8 G& i$ x
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
, E1 _) Z4 P9 h" V3 F#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
8 @9 J6 ^% \* u0 ]* _7 e        ((CUser*)this)->CheckHonorStat();
- @( K9 J, {1 F% A        ((CUser*)this)->AddHonorListAck();
. U; p  `7 _  ?' b# c        g_UserMng.AddHonorTitleChange( this, m_nHonor);1 p( M& q) i" U, n
#endif    // __HONORABLE_TITLE            // ′Tà?
+ L4 P9 K. {9 O8 z3 G8 _  P    }  p) U' B: d3 S0 f6 c! S
#endif // __WORLDSERVER5 Y# M3 P* q# p9 J  g' y- H6 P! n1 M
}  
8 S( l. a3 E" ~! P9 B0 y9 V6 z9 T3 n" r9 `! N7 ~
然后你进入functextcmd.cpp并添加以下
/ k* Y' E$ W+ V$ r& m" b; f/ d: V, j: s4 _1 z
代码:1 g* P* ~; o5 P$ u1 f0 d
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )9 ?) c0 T6 h( J  q' D
下面插入) [8 l8 @% S  O+ K% a0 ?
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  2 U5 K1 v- Y! f# e9 S
+ [+ u1 t- q5 K
然后你去
0 g* c5 |7 }! L4 }3 i: Z, |5 g" ?# o5 s2 p: y- ^. o# C
代码:4 r! |' @* e' j! ?! s* Q* T$ w# k
代码9 b# ?6 F# O8 l
BOOL TextCmd_ClearPropose( CScanner & s )1 o: D( M" s. @: I
{
3 q9 a' }4 x6 @1 L#ifdef __WORLDSERVER
& l+ g; }/ h' Y) L3 F" m. v  e0 A    CUser* pUser    = (CUser*)s.dwValue;3 W: J6 m* D- o; l
    g_dpDBClient.SendClearPropose();5 z* `6 g  |5 `( G/ w: Q
#endif    // __WORLDSERVER
* z& n5 v9 `2 W+ b3 W    return TRUE;8 s! F3 X/ l' b7 W" M7 ]
}
9 t: O7 O! C1 U0 I7 q下面插入
2 s4 z. s: ^6 b3 l) R9 l, P: P5 JBOOL TextCmd_rebirth( CScanner& scanner )  B! v; C9 \4 W# K5 A; k; X
{: ^! `# C# |7 n0 u8 Q
#ifdef __WORLDSERVER0 H/ H9 r4 y" B4 t! J
CUser *pUser;
5 `% |) y' I2 Y: d* i0 fpUser = (CUser*)scanner.dwValue;
# B. |& M. S) ?  a. {if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())" f: e5 O. k$ `2 U& B
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
6 m$ L1 g, @8 L& ?9 m0 r# x( \else" V6 d. v2 Y5 i' ]7 y
pUser->AddText("你还未达到重生条件!");, [3 C! z4 G0 m" i/ R7 ~
#endif* a* Z* \/ d7 T
return TRUE;
( l& @0 g, d" x  ^* E}  
0 [. @) O' O. H+ W  U% n) p' n& `1 b0 u! F( E

" L9 b$ l* W/ j! c
3 @) [/ o3 J; M: L/ }0 a9 C( `% K! i  b: |0 h7 W
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-24 05:38 , Processed in 0.060770 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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