飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel  O2 _/ w2 m- T& g+ L+ ~% N

' c% P% z- \# R$ U; x3 M' ZMover.h: r0 Z# r" `7 J3 F# i- |
代码:
* l4 u. Z& L! K& c找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
3 R: [; f8 `- M- \- \) g5 w% [9 U5 O9 r
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
. n1 b' e  W0 q) I/ _
" s0 f3 |7 m1 a7 s然后你去mover.cpp添加2 ^) i  Y3 o0 e5 T7 E: Y

4 B* @. i$ z* t* ?+ L代码:2 f6 Z# b1 Q# L- ^
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
$ u7 ]; _$ Q1 }1 I* j( W' a5 A6 z{0 m  b5 u& i3 N3 p) M
#ifdef __WORLDSERVER
- G; [5 {& f3 T; m  ^( U0 K    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( @) S- Z  c0 P: a7 U1 T+ B    MoverProp* pProp = GetProp();% `7 K$ U% o, f- k- H
    if( pProp )
" Q9 h3 ~2 F# O! X$ B    {
8 E- O0 C  s4 p! K' M% A) J3 x        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
  c8 P  H; S1 [8 D4 w5 n# U9 d$ r- r- s        {
4 l7 V, a3 d0 D0 B" o6 r            AddChangeJob( nJob );+ Z& P! H5 |+ S
        }else{
$ w+ t  U) T# v  f1 V& I            return;
9 W( \9 c+ A: x: M& h" D( J        }
/ I9 o. s5 m2 {  C4 R7 }        int nPoint = 0;
) v! y# V" |! B9 O7 x) t6 h$ i7 w        if( m_nJob == JOB_MERCENARY )
1 ]' [+ y( N1 c) ]% V            nPoint += 40;8 P7 d  U9 t; M. t7 f
        else if( m_nJob == JOB_ACROBAT )
$ D  ~& m! _( O            nPoint += 50;2 S- n$ E3 O4 g$ A! U
        else if( m_nJob == JOB_ASSIST )7 d8 K) J$ Q$ E0 f
            nPoint += 60;
( H6 R8 Y/ U) k        else if( m_nJob == JOB_MAGICIAN )1 d2 a5 T0 y. Y+ l3 K3 g$ g9 O
            nPoint += 90;6 N: F% ^0 f7 b
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
$ H; R2 u0 |% N7 t. k" s! K: U" Z            nPoint += 120;5 O( D; D9 F# C  L2 t* K
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
& g. w6 T3 V* B, j3 R% g8 \4 l& K            nPoint += 150;" w) T, \( H/ z1 y5 `9 A
        else if( m_nJob ==  JOB_RINGMASTER )
3 a5 S9 ~. M& X            nPoint += 160;5 ~4 X! t, e2 d0 |6 j
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )# D5 y7 h( b7 ]% Y' }# ?
            nPoint += 180;
. i* M( c5 l& L% u3 W( J5 t! Y) N& U        else if( m_nJob ==  JOB_ELEMENTOR )
. A& Q2 n9 ~! \/ ]  c# }2 k4 f7 G9 [& l            nPoint += 390;; J8 G) t$ z, E. a; K
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
" B) ^6 G. v, ~            nPoint += 120;
1 j( B' j; R1 U3 H        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )+ |7 I- |, R. V3 [! @
            nPoint += 150;
, t8 z2 H+ E" T5 b3 X        else if( nJob ==  JOB_FLORIST_HERO )* X& f  A6 ]1 i; p# i. Y8 [6 d4 E
            nPoint += 160;
; ?! J! u' w; H5 \* d$ e% D        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
5 o9 C9 b; m% |$ D            nPoint += 180;
1 D# @/ C: e. _: `        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
; e  q' u  w$ Z: }5 B3 ~            nPoint += 390;! q" w1 f" q7 N7 P9 B

( s. V6 I" R& v        AddSkillPoint( nPoint );: i+ C; ]# [. E; s$ X
        m_nLevel = nLevel;
8 h$ q# i' H9 H& o6 l0 T; M2 ~9 ~( Z" N6 l' @
        SetJobLevel( nLevel, nJob );1 ]) z) k5 w8 K* p
        m_nDeathLevel = nLevel;0 i- m% T& U1 B1 p
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
+ `& p( B/ E7 _        if(IsMaster())
, E; I5 Z  e  E5 Q: m" N1 `        {
. O0 X1 i, j, v2 N; F            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108& V1 e1 w" B% p1 K( n% L
            if( nLevel > 59 && nLevel < 72 )
) u( T2 |/ F6 S: Q                dwTmpSkLevel = 1;
! z8 e/ `7 x3 i4 I            else if( nLevel > 71 && nLevel < 84 )' L8 F( i+ R, I* M
                dwTmpSkLevel = 2;
# R( v3 j  F" g, T5 `/ [            else if( nLevel > 83 && nLevel < 96 )
+ B3 H$ T' G1 h  Y5 @                dwTmpSkLevel = 3;2 M* t7 y' Y7 a
            else if( nLevel > 95 && nLevel < 108 )
* `& E3 _6 @8 d$ Z( u; i/ e% l3 Q                dwTmpSkLevel = 4;
, i. @* Q$ o' Y7 A: B            else if( nLevel > 107 && nLevel < 120 )
) u  P5 s; X5 U, f; o" E                dwTmpSkLevel = 5;
* S8 K: M9 Z9 C& ^( F            for( int i = 0; i < MAX_SKILL_JOB; i++ )
; x9 }! u8 S. h% T2 w* R' M            {               
7 m* @: T9 L8 S- Q7 B                LPSKILL lpSkill = &(m_aJobSkill);
) a* A2 J! [7 H1 @/ s                if( lpSkill && lpSkill->dwSkill != NULL_ID ): i! P1 p- `/ g( B9 @
                {
& d7 K" V& \" _/ b- S+ O# T                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
6 c1 L; b2 t3 G                    if( pSkillProp == NULL )
2 }0 ^- m$ B9 F                        continue;$ Z) T& Z' A  e% Q' w
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 r7 r6 ]) [0 ]- c; m+ N                        continue;7 Y5 K( X: j+ Y- E$ ?
                    lpSkill->dwLevel = dwTmpSkLevel;8 ]7 c8 z6 a" {! Y7 ^
                }2 w; o% T1 U9 T  J
            }
3 b2 A  V6 t1 X4 w5 l        }' X9 M+ D5 }1 t! N- u: E. E: [1 m
        else if(IsHero())5 J; G$ M3 V* x! b& e0 r+ a; Z
        {, S( R. t) w1 i% f; W
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) & V9 e' x, g* ?2 M! U3 ~
            {                : h9 [. ~6 I* L
                LPSKILL lpSkill = &(m_aJobSkill);9 {0 J2 z* D7 `9 h; ~7 O
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 D5 I/ m" t& L" D8 N: Q                {3 |- {8 C; `- ?! M! R; {
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            $ e( p4 Y6 S! C. ]) s* T
                    if( pSkillProp == NULL )
8 ^1 b- g/ U. e! v1 i0 f4 c# n: D                        continue;
! Z) N1 k  a/ i% \, G                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)  c9 C$ J9 B: |
                        continue;' c% D# D5 `7 T: e* Z! N7 q2 S
                    lpSkill->dwLevel = 5;
. ^! S3 G  s# X% S+ u( ^                }
' B- M. T) e- v6 @7 _$ A! t; D            }
# b( K2 E; Y/ o( V0 |0 a0 v: g        }
( u- k& O  o' C: \( V4 s  T        else if(IsLegendHero())
; ?2 J: l( D3 a7 F) h3 \+ |+ F6 {# Z        {/ l  R* S$ i; G; J3 C2 r2 [6 ?
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 q7 [1 p0 a! q& c9 Z6 n            {                : _1 }" G* o" a6 U: f$ E- y
                LPSKILL lpSkill = &(m_aJobSkill);
, t$ j% g% {  |' P( \2 n- F                if( lpSkill && lpSkill->dwSkill != NULL_ID )7 [+ u2 y( c. P$ K  n  P4 u
                {3 M! I/ b' d( i5 ]: t# A( H( _
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ( G$ C2 c( l; [1 T; J
                    if( pSkillProp == NULL )3 {/ D! u+ U( q; Z
                        continue;
0 k$ V$ R3 i. Q                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)) y% [8 l- o$ ^: P' ^; k! w
                        continue;
; h  w8 r' s, d8 l2 ]& J$ b5 l                    lpSkill->dwLevel = 5;
+ }( d( e! F. o+ a. h: k1 w                }
. x& U% Q1 q& a% R% {! u' c            }
' J( O6 X9 c& D2 @( ?        }
: o: ^2 ^& E$ ?- x2 T" V' E; a#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans5 E/ Y' i' @$ V0 H% |
        if( bGamma )4 F- P6 [1 ~! V
        {
! a3 t+ z$ I9 m+ z            m_nExp1 = 0;
  A/ V# d' ~8 R9 A: i3 q$ p, M        }
) F% @- x2 k0 b3 J1 c
7 S( a3 V& v4 u9 k* ?+ c        ( (CUser*)this )->AddSetChangeJob( nJob );- Y! D0 f# u" |. G. \6 I3 e$ B
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
+ I9 A1 T( k6 p2 u7 c' z' I" b6 o7 _3 _' n: W' l9 m0 d7 n6 V
6 m& q- v; I6 [' q: a1 }. A" O
#if __VER >= 11 // __SYS_PLAYER_DATA
  O5 ~( c' l& w2 ~" D$ M  I        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
+ O1 I( o0 O- h8 ~#else    // __SYS_PLAYER_DATA
9 m7 L5 \7 ^+ t7 d        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
7 Z" g' E0 G" q0 V* z6 U        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );2 n9 t" d+ l9 X* D5 f
        if( m_idGuild != 0 )& |! R4 ~. t0 {6 Y) t
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );7 _0 Y  e1 Z* \
#endif    // __SYS_PLAYER_DATA9 X4 N& E; U/ M$ m
        SetHitPoint( GetMaxHitPoint() );' W" G+ i' ?/ }
        SetManaPoint( GetMaxManaPoint() );8 _8 t/ T; G' T
        SetFatiguePoint( GetMaxFatiguePoint() );- E& [6 d& E# R( N
        if( nJob >= 1 && nJob <= 4 )
$ d4 K" o7 k( c        {2 {' ^: d; G' j) d7 |
            m_nStr = m_nSta = m_nDex = m_nInt = 15;; R4 [9 G. a* r1 D
            m_nRemainGP = 28;+ T$ h' F: O0 n6 P) q0 z! B
        }
( W6 a, N; k( S        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! T. ?* m' y2 `5 p- B* d3 M) {) N
        {3 i& \% L/ V- y. b
            m_nRemainGP = 118;0 f/ P+ N9 i4 U, o4 u9 z
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;2 [6 \/ `$ A( ^6 y) q7 P& m
            m_nStr = m_nSta = m_nDex = m_nInt = 15;! Y$ _9 v9 d) \8 Y4 }# |
        }
, \. ^8 }; p. v; b" K' ^* ^* m) d. \        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )! w9 F- x8 T+ \0 W* |4 E
        {% r% T- N8 i& E) _) x' S1 Q
            CItemElem itemelem;
6 Z2 p7 c  o7 |9 U% z            itemelem.m_nItemNum = 1;  V1 \( s: h9 \6 x! [. K3 d
            itemelem.m_bCharged = TRUE;2 s8 _) ~# `: [! z" ]* _
            BYTE nID;
: f! d/ O. \% h) r2 V( s; |1 y& \+ y2 H# w$ y
            if( nJob == JOB_MENTALIST_HERO )! v- n3 u5 k. d7 p( U  A
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;2 ^" L8 v4 g: U3 x  a% b& ]
            if( nJob == JOB_FORCEMASTER_HERO )
5 ?; Z% T+ c- T$ [* F- R' \: i                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;7 m: d" k" L( b3 o3 l  b3 _) K2 t

$ C5 W  Q6 g9 Y' @: L            ( ( CUser*)this)->CreateItem( &itemelem, &nID );# `* \# K% g. I) l; A% {
        }' e) I8 X3 I3 w0 `  \# E5 Q$ z) e
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
  O3 H& ]# ?5 m/ `, i        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );+ f3 X6 \% B! j6 P7 V) T
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );( t9 l) ^; C/ J3 i
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
+ w& Z. s: e) f3 k        ( (CUser*)this )->AddTaskBar();*/
/ a  L& H1 Z) s  B/ g' F4 T        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
' t9 ?2 W6 z3 f, F6 E* m#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
7 f: n# r5 m0 k2 L  g        ((CUser*)this)->CheckHonorStat();+ {: i% [4 D8 I: y* ^( O
        ((CUser*)this)->AddHonorListAck();
$ _$ d# x, l, Q% X( e        g_UserMng.AddHonorTitleChange( this, m_nHonor);
2 A! n. x; q7 w$ z#endif    // __HONORABLE_TITLE            // ′Tà?
3 w5 L( _! Z  r: k& W    }. X5 ?* q6 e$ i3 T
#endif // __WORLDSERVER* H1 O8 w: Q% B
}  
4 F* A, N. u' G. \0 _8 y& G6 f/ S0 ~! G" e0 F( S
然后你进入functextcmd.cpp并添加以下
+ E1 g# @/ \& x) B: s: {. ?, L  }$ I0 E6 w" ?
代码:
- e% |# b1 V3 g; |1 n! B  wON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
* @, i+ {& ~0 w( ^2 ]下面插入
' m- Q& {1 L+ ]6 n$ j1 H! L6 hON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  6 Y2 W6 |7 F' q1 J3 b
1 U& v" }2 U4 v9 I$ K) C% H. u) `% I
然后你去
" L$ M2 V6 j4 p! f8 {/ j- a* x) N0 Q7 w
代码:9 }' l: c7 G9 a9 z
代码" j" V/ F( ^5 m4 U4 \  ~
BOOL TextCmd_ClearPropose( CScanner & s ): v. K  V# c5 Z7 j+ R
{5 X5 b: P1 f2 Y8 g
#ifdef __WORLDSERVER9 A' n( j' \( {! i
    CUser* pUser    = (CUser*)s.dwValue;$ o" x- j9 A* l+ n, d
    g_dpDBClient.SendClearPropose();
' l- Z1 i& e' _" I; @#endif    // __WORLDSERVER8 ]8 _" W7 U7 q/ H( I. o7 }
    return TRUE;
8 g, X- r. u% }- O9 _3 M( B}
  y  f% o" p) W7 G下面插入8 K9 F7 \; x5 e0 @( A+ g8 t% x
BOOL TextCmd_rebirth( CScanner& scanner )
: @1 h2 U/ E( ^5 C! i, f  B6 ^{0 W6 L# S# k* s! G$ R
#ifdef __WORLDSERVER  x4 N& p6 x. ^9 s) @
CUser *pUser;' |, s; X0 b0 d7 O& W
pUser = (CUser*)scanner.dwValue;
7 f# ^) `1 Q) B2 T8 }if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
; V( F& v7 _6 d! ]* LpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);: [8 F: A( ^7 W6 `0 n' u. s. r
else9 E! k# S" O' x* }: \
pUser->AddText("你还未达到重生条件!");
' Z+ G& ], p6 m2 F$ @#endif
2 G  J+ _- C- ?" |return TRUE;4 z: o% g- D7 z6 w1 Z/ W9 U
}  9 c/ Y( y/ B2 {3 e

8 R: R* C% n  S3 [
$ X+ d, \% ]0 m% P8 C5 z1 p& z7 E4 |
7 s# n0 U! P- u* l! n
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-14 04:57 , Processed in 0.067282 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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