飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel4 b* T  g! n" K3 a; Z$ o& v
  _# m) u# n( }- }& Q- q, u, S
Mover.h
1 w$ G) m2 G  B$ J3 N2 R: P代码:
  T. Q/ e' r; k* q- k找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
" ^' y6 B+ ~  C; O' ^7 x/ Z& Z' R! f& J6 S$ h
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  5 A* O4 G7 a% I3 u$ C# S
* y, D1 [% N6 p: f
然后你去mover.cpp添加
% ]* H5 m7 ~8 z; b( @3 S
6 U# m% c  P! U代码:3 P. [7 [- b- d2 ~8 r
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )) A% w1 n( U& |/ q: r
{
& c8 T9 {$ {3 |4 o) r' a#ifdef __WORLDSERVER" _; c( v! `2 |- Y
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
: O( P! s, }: B1 d    MoverProp* pProp = GetProp();
" s) e% L5 l5 P    if( pProp )
% g/ {0 ]* s( k# J/ Y7 _5 u2 k    {' U) k1 O/ E/ v4 l: ?
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )# m  N6 S# `& i* m* D. B* I
        {
, q; y8 z0 V* C( x: ~/ }# u# V# L            AddChangeJob( nJob );8 `5 r& d/ V) f( {) u
        }else{
$ Z! Q- J0 l* e5 C7 J/ k! b            return;
( l6 i# f% k; H' S$ P        }4 p) I) a: M( Q, N* q7 X
        int nPoint = 0;, V/ Y( `$ `5 ?% I5 M2 W
        if( m_nJob == JOB_MERCENARY )
) A1 A2 M/ G% C% E/ R: o            nPoint += 40;4 R4 l! Y) w8 P) R( W; K  v0 s6 A
        else if( m_nJob == JOB_ACROBAT )
7 @+ x2 X0 v! V: S9 m2 `            nPoint += 50;$ e+ O3 w5 V7 B) u9 z
        else if( m_nJob == JOB_ASSIST )- Y% L+ E7 J" ^3 i2 ?
            nPoint += 60;
  {  x  o" T( Y; P        else if( m_nJob == JOB_MAGICIAN )& }! K2 e4 a* e$ \! [! q9 K
            nPoint += 90;
' y* y& G5 q: f+ j        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
# Y% a4 v# [: H' }# k+ C# l            nPoint += 120;
( f' l+ u: I6 Y& K% o" {5 b        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )7 x& x, _( K+ ]6 K) @# J
            nPoint += 150;
( v0 i) K! K6 d        else if( m_nJob ==  JOB_RINGMASTER )
' s) I) V6 t8 \9 ]2 u9 Q) f            nPoint += 160;
8 v1 s' L2 l' G' i2 h$ ]' @        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )$ H  Y/ M+ I) Y& D: U  i/ p5 U! Y
            nPoint += 180;! Y2 k; X% C) w; P# D" _$ U) T
        else if( m_nJob ==  JOB_ELEMENTOR )
/ f& T( v7 |  i' @  r) U& _            nPoint += 390;" `( z1 N- ]2 z, p
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
* Y8 q% }0 ], J, ~5 o- i5 k6 h            nPoint += 120;
# Y& R6 ?# k- P) F# u$ ?        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )4 M6 [/ A& s+ b3 u; y
            nPoint += 150;
7 y$ x1 Z) c) ?0 V, G9 B        else if( nJob ==  JOB_FLORIST_HERO )
3 K9 j3 v  F: }+ t: A; J8 s' a4 I            nPoint += 160;
( i0 X: L% |3 }        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
  E( [# a5 Q6 S  e2 ]6 ]" P            nPoint += 180;- x, T' V$ @1 p
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
) C/ {4 c4 V, I+ d3 f            nPoint += 390;5 e% X! T# `: R  j+ O3 w; l2 a4 W: q
$ H+ O2 `2 b- Z6 J' u3 q
        AddSkillPoint( nPoint );
) S6 x  K- r  @9 j        m_nLevel = nLevel;
* V$ y  z6 u% y. A# r  X: w4 ]& m% V! E' [  |. ^
        SetJobLevel( nLevel, nJob );4 W% u; l; F( d/ a
        m_nDeathLevel = nLevel;+ i- `4 b) c9 ~1 d1 C
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
. g+ \. r% x0 @  k        if(IsMaster())0 _& l0 _' q/ F+ _9 C6 J4 q! ^9 d6 s
        {/ j, f' k1 E1 `; W# _  g
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
$ }7 r. J! a1 {# x            if( nLevel > 59 && nLevel < 72 )
- R  i9 V- z( f( I( y3 g* b& {% ?) E5 Y                dwTmpSkLevel = 1;
: }5 Z6 f1 ]5 O5 [: K  b6 t            else if( nLevel > 71 && nLevel < 84 )
* b- c1 y9 i# I5 o2 m! c6 C                dwTmpSkLevel = 2;! X0 f0 F0 }2 p4 Q( K3 l0 m/ Q
            else if( nLevel > 83 && nLevel < 96 )
$ Y, s  s8 p% a% Z8 `6 ?                dwTmpSkLevel = 3;! X4 E* L3 K$ q5 j) U, w8 M
            else if( nLevel > 95 && nLevel < 108 )
* M4 w9 B9 s; ?. k" s! V                dwTmpSkLevel = 4;5 y' K6 ^: k/ v8 K. l
            else if( nLevel > 107 && nLevel < 120 )8 h9 i/ K' d1 |! a+ [
                dwTmpSkLevel = 5;
( u8 |1 ]" l1 P5 Q) G            for( int i = 0; i < MAX_SKILL_JOB; i++ )
' h) @! m: I% w            {               
9 w, t" F, [* u- e* P! q& s                LPSKILL lpSkill = &(m_aJobSkill);. N8 C; A% f, V) ]! x3 O0 K
                if( lpSkill && lpSkill->dwSkill != NULL_ID )4 g7 x) ^, @. \5 ~
                {
. K( @' d& \1 K: d, d6 H                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            : v! [8 ?9 X8 a! m7 A; t
                    if( pSkillProp == NULL )* ]6 K" L3 |5 A- h$ U& [
                        continue;
. f7 U  {7 P$ E2 p2 j- `2 l                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& g7 Y5 h/ |. R! \& y' }, Z
                        continue;/ W% A5 V, |& K
                    lpSkill->dwLevel = dwTmpSkLevel;
; ?' x' j) K6 i2 H+ N. {( I. D                }4 u2 y; ]/ s/ n4 ]+ `- {
            }% M/ n3 Z' `$ y: j7 \9 f* x# V
        }
9 j6 f2 E7 S1 L' S% Z6 X6 |        else if(IsHero())
$ Y( E1 Q) c6 b3 L. q# O3 a+ w        {
7 l# j5 E6 A7 g: i' F" g7 o. q            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ d7 P* o& z, i$ X1 o% ~* M; N            {                2 q' }# h  h8 V: y
                LPSKILL lpSkill = &(m_aJobSkill);
+ R  _& v  a5 v+ ^3 \& J: d                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ `1 I% L3 `5 e( c2 d+ R                {
- Z- M: M6 `+ S& S4 ~                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
# \8 f1 c  n$ N& J                    if( pSkillProp == NULL )
5 ]; p' R& n: s0 ^                        continue;
8 c! A. \+ Y5 b) d& [2 w                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
  U- E5 B7 M& H9 T9 x' a                        continue;
. W+ k, h( v3 a% s7 V9 J; n" N                    lpSkill->dwLevel = 5;) z  \5 _  m0 Y+ k) R: L7 @
                }4 K- M" A* k  M9 N, H3 m+ m0 M
            }
8 c9 C% ~' G5 d' C        }& r. j& a+ r, D) v3 k3 A; d1 y
        else if(IsLegendHero())
2 K+ v% P. q6 }        {2 `2 o2 F- `- O. P3 {
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) . @1 p6 g" s( ?$ |; }  z, F  ^
            {               
# u& ?/ W0 {" k/ k' P0 J4 ^                LPSKILL lpSkill = &(m_aJobSkill);
3 _% ?0 P- ?% i+ P) [                if( lpSkill && lpSkill->dwSkill != NULL_ID )* L1 j' C* M& P; g7 E% j2 N
                {$ y9 K1 X  k& |# F% f
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
- Z- [! |" H6 S( x; f                    if( pSkillProp == NULL )' o. K  a7 j8 k4 }4 s- H4 [
                        continue;
) X* b3 s6 ^+ G9 k; _9 J7 h                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" M2 s7 B) I0 U" N                        continue;
* ~' D& J! w9 k# T( A                    lpSkill->dwLevel = 5;, |: j3 e; [8 Q; ?# _+ |
                }
! S: g, a# Z* V7 |; ~            }
$ n' Q/ I1 H; R  L! S        }
7 T6 N8 h, R1 F* n: Y#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
  L7 K' ]+ c$ g5 g, O2 R8 b: }        if( bGamma )0 Y' V9 [* L( o- H$ e& Y
        {1 \" r2 ~( X6 X1 Q7 \( M4 |1 k5 B
            m_nExp1 = 0;
1 u- I* `! L" S0 m        }  |. D: b/ b) J9 ~: D* I# ?/ M& L

- T9 J& f- K4 F6 p! \$ M" }        ( (CUser*)this )->AddSetChangeJob( nJob );: C$ ]8 s' ~0 U: ]' g1 x
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );0 F$ C; d- _$ k
" f9 m7 `- `* q8 u+ Q

+ w) L: u4 M. X: b#if __VER >= 11 // __SYS_PLAYER_DATA- {  Q' `' ^# k! g  x
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
# e9 @" O. A7 ?$ [9 `; Q$ P" p#else    // __SYS_PLAYER_DATA
+ E5 G# s1 c6 ^& U        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );1 O0 d  i$ K. i3 V6 V$ E( b2 Q
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
' ~( L5 F. M7 [3 M        if( m_idGuild != 0 )
; P! ?3 E/ \/ w2 D  Z+ Y            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );4 n8 j4 {  F) k. B8 `
#endif    // __SYS_PLAYER_DATA
/ t9 w/ u  g! r) V) w4 D        SetHitPoint( GetMaxHitPoint() );
; y& y, p& p! M: r        SetManaPoint( GetMaxManaPoint() );# l3 M5 R/ z+ ^- S/ i- D) c2 z3 M9 }
        SetFatiguePoint( GetMaxFatiguePoint() );
/ ^/ m- ]9 n' N6 e        if( nJob >= 1 && nJob <= 4 )+ a% e# [; N# p2 _6 V  [5 ?
        {
& ]$ S; W% D( s. B5 e            m_nStr = m_nSta = m_nDex = m_nInt = 15;
) F5 @+ q- w: m! h* F; H4 ^3 K            m_nRemainGP = 28;! d# r: ^# G4 u' w* ]
        }
; g. @! u' i# C9 i& D, Y        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ }* n2 q5 i% j" G, M        {
4 x4 F! y3 g( m% A            m_nRemainGP = 118;
, S# [/ @$ ^% Q9 D& `            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;0 p$ h1 u. f5 L
            m_nStr = m_nSta = m_nDex = m_nInt = 15;2 V) o, G5 P  k3 M
        }( x/ g3 f/ i4 u/ x1 @
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
; a, i: |. v1 s% M        {
2 b. d, r3 e5 j) _, }* R' \            CItemElem itemelem;  N+ Z. V4 B* C0 {8 {6 v0 v
            itemelem.m_nItemNum = 1;3 {2 r$ A5 d  b. T% }4 c9 w) a
            itemelem.m_bCharged = TRUE;
6 z  l( L. z9 ^4 o. @            BYTE nID;
/ t$ R  s# f5 M4 r1 \
7 D: F" ?! @' V7 t/ ^3 c            if( nJob == JOB_MENTALIST_HERO )
1 f( G  ^- W3 v  W8 }/ t                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
- d9 F7 F: F; U) S+ q3 ]+ k, e) R) @) ]            if( nJob == JOB_FORCEMASTER_HERO )2 U7 R# _4 y( N; i; Q
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;6 j$ I; I) S$ O5 u- O3 n0 }5 L

: a& C0 a7 y  ^7 J* J            ( ( CUser*)this)->CreateItem( &itemelem, &nID );1 |" p) m1 m( V$ P1 u
        }; V& X' @# W+ I' ?1 y
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
, N& A2 j. ~+ D9 }        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
( H2 ?' K- P# s% h- Z        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );6 x  o* d3 A4 Q7 }7 f: h7 m* ~$ x
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
. Q6 i8 B% K7 g# O( M        ( (CUser*)this )->AddTaskBar();*/
! j( P. I' }3 j; r        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
" M: m) ^6 ]! j7 U3 Z$ y#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
' }1 d3 M  x- j0 G0 H  Y        ((CUser*)this)->CheckHonorStat();! S/ n3 W6 l; l* P( w6 q5 T
        ((CUser*)this)->AddHonorListAck();. O) S) \" ?% J
        g_UserMng.AddHonorTitleChange( this, m_nHonor);+ I1 L0 U: {6 O
#endif    // __HONORABLE_TITLE            // ′Tà?6 z3 ]7 b/ T" n$ L* Z' N
    }
- R$ C1 ]; {$ s6 R: O#endif // __WORLDSERVER9 m5 v4 X/ n* v* @* \. f
}  
: k1 S- f* a! \+ k0 @7 H. t/ c" N
% h' T% ]* |1 k' J. c然后你进入functextcmd.cpp并添加以下6 _2 ?) t& h( n" U
5 C3 N4 O, g; ^- K
代码:; g% m3 d* h7 C, X" f/ i9 Y
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
) ?, A" ]: o1 L! @8 p+ M: s  y2 G# c下面插入
, G; G  L7 H' E+ v! }4 C; T4 JON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  ) f- T( P6 b, d  `  k8 @* I
2 Z1 J/ `& S2 F: j
然后你去
, P, e& J7 B! v1 [' m" I; h, W+ o: @7 T+ c6 E$ Z4 y
代码:3 t: L# ~+ g0 }  r" o. G8 L
代码" h7 k, k! U/ U
BOOL TextCmd_ClearPropose( CScanner & s )
& W  H1 F# z; _# P{
. T2 c* x3 ?- O; Q  p#ifdef __WORLDSERVER& Y/ D1 M7 r% B- J$ ^& u
    CUser* pUser    = (CUser*)s.dwValue;( |' z& P5 ^. a  @; w7 c8 b: p* u9 v
    g_dpDBClient.SendClearPropose();, ]/ ]4 ?& n  R9 u5 _, g% a
#endif    // __WORLDSERVER4 O8 V5 c; A( f5 C# j
    return TRUE;  K9 ^  A9 z5 o# U& O. v
}- Q% [% l: b6 ]# g; ?$ P/ i% n+ I  J1 b
下面插入$ N. v  [) ~" L1 [! {4 u
BOOL TextCmd_rebirth( CScanner& scanner )
- h! L# a9 ~8 ^0 K{
7 m7 O. U% A  n6 D#ifdef __WORLDSERVER
* F9 o8 O5 S* i% f$ a' h8 eCUser *pUser;
0 b  e2 {! \: K, o, Q5 _9 \* qpUser = (CUser*)scanner.dwValue;3 l* f" E  A+ H! E
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
: b( ^' M, I/ N4 n2 J2 dpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
! j" ^7 Y( v2 |5 C# [' m0 belse
8 |* w5 z8 k/ l+ \5 j4 OpUser->AddText("你还未达到重生条件!");# E  S6 F/ Q/ r( l1 i. ]
#endif
) g  R& P' ~; Ireturn TRUE;; N1 [! i5 t" p* z* j3 Q2 o
}  6 a$ j) x5 T" v- a

& v4 a0 O5 K& s2 j5 q5 {$ m7 r
# Z. J7 i  m6 u; l0 |8 X& R3 O+ ]: {, B8 |  q7 N
; A$ T% \. f: `% K; e9 {0 a- H
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-18 06:40 , Processed in 0.067250 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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