飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
& y8 F5 _  T0 |5 {! j4 O1 t2 ~* v5 }$ ?5 Y1 J3 }2 ~
Mover.h0 t: u/ r2 |3 b
代码:
1 I# `; U: X# ?8 _$ X) m找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
  Z, Y( x! ?$ f$ p3 W& `! ^
" k2 h; b! Z. K5 e0 n1 n下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  + u7 @. ~6 t7 o2 x& f0 u. U8 J

& w1 `0 L7 o0 ^; a! N5 q7 H0 y然后你去mover.cpp添加
3 p: q  Q) j+ ~+ m2 ?
* h# P% o0 `0 }5 Q4 P" n代码:3 j7 `8 ~9 p# k
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )" e( F; u2 M( t4 |9 f
{
" H4 j6 o* @- N& F( v. A#ifdef __WORLDSERVER
8 |) [/ {0 W8 b2 Q6 e8 n8 t, g    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
; y! e& a, E% l! w7 _- u    MoverProp* pProp = GetProp();  Z; N  {& f5 ?3 J6 R
    if( pProp )/ x: _# ~  y$ l8 v
    {$ M8 ^/ T+ m* b0 j" O
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( x+ W' C0 _, m        {2 x' N2 Y6 r6 X2 H1 M9 f7 P9 i; H' `
            AddChangeJob( nJob );4 w4 U+ |8 D. N, P& j6 _2 m3 z5 E
        }else{) Y, q' j  Q1 n; X0 {4 g$ P
            return;
$ \( v; i6 B& E3 l7 a9 Q        }
4 `8 _) H+ V- L6 A  E        int nPoint = 0;9 [1 e3 F& d- H) s. `
        if( m_nJob == JOB_MERCENARY )
8 G4 c  X- n- d0 y6 t            nPoint += 40;) p5 e: k) |4 U$ F- r3 z
        else if( m_nJob == JOB_ACROBAT )
/ }0 C! E2 e! N2 S. u( Q            nPoint += 50;
" E) G! ?( S6 ]! ^        else if( m_nJob == JOB_ASSIST )/ `4 \( p6 Z6 `1 v# h
            nPoint += 60;7 b, ]0 g5 z1 E3 a8 r
        else if( m_nJob == JOB_MAGICIAN )1 H, B) P% O+ g6 v' p. ~+ O/ B
            nPoint += 90;$ v1 K, ?9 r+ F4 E- v
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
7 _" ^8 a. I8 t& t; e* _            nPoint += 120;
4 b/ a3 ~) i. k4 d4 W        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
$ `; J1 h2 u; m3 X" k/ V+ S            nPoint += 150;  i6 U4 Q8 k8 q, P) W: u
        else if( m_nJob ==  JOB_RINGMASTER )
  t& `" T; A1 Y9 r  U, O& V            nPoint += 160;
" e: `0 N% y) T' I% K! A        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )1 _# B" r4 e7 i: K$ |" p
            nPoint += 180;8 n# g/ R2 X+ P, K; e
        else if( m_nJob ==  JOB_ELEMENTOR )
2 k5 Y+ k! _9 W6 U6 I9 [            nPoint += 390;
/ y) `: e/ }# Y% H( {/ D. O* t0 U        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )7 B: c" ^: _1 q6 G, u. h$ V# A
            nPoint += 120;3 s% k2 S" o8 ~$ `; N
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )) v4 g' u4 t) q  I3 ?* W+ l
            nPoint += 150;
7 D7 a- ]) A$ L4 b$ h/ d0 E  c% f        else if( nJob ==  JOB_FLORIST_HERO )
) n: C5 M1 w) Y; q* {" w2 P" w            nPoint += 160;
( \/ a4 h% t. P- ^        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )- ^8 w2 H3 @9 p: B. ^# g- D5 I
            nPoint += 180;5 {& |/ g* t7 d% V
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
. E4 w& b1 o$ B  V            nPoint += 390;, j* L% f2 l) r( }' I' U5 S3 m
' ^5 S: y- Y- z' _
        AddSkillPoint( nPoint );# ~) A& ~- o/ o: o9 q; g3 u
        m_nLevel = nLevel;/ g8 J) `& {! ]  @+ }# n& F* V

* g3 J7 h! m% D4 y- B        SetJobLevel( nLevel, nJob );
+ o/ v) t3 E! c4 n        m_nDeathLevel = nLevel;
' f' }: ^2 Y, N! T7 W#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
7 b7 |) U4 `! F; s# k        if(IsMaster())! E9 g- i; w4 q' v3 P! g. v/ K
        {6 `* ~! y) n' V
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
2 V4 |) P4 H- \* V; o4 V            if( nLevel > 59 && nLevel < 72 )$ @0 x. U+ a, L; ]$ X
                dwTmpSkLevel = 1;
2 t  z. z( e* }& @$ s7 z* e            else if( nLevel > 71 && nLevel < 84 )
) N5 ^* h/ f, N. Z( U                dwTmpSkLevel = 2;
2 k: \, ^. _4 C) Z9 y1 X* X5 ^* T% U            else if( nLevel > 83 && nLevel < 96 )
6 n2 }1 e7 m+ `) x                dwTmpSkLevel = 3;
/ p. V0 E2 [/ N* t4 F) e/ d' }            else if( nLevel > 95 && nLevel < 108 )
0 E2 N2 m2 F9 v, y- J                dwTmpSkLevel = 4;
# q: y/ W/ {+ T. P0 Z7 D            else if( nLevel > 107 && nLevel < 120 )% @: d' W2 u+ b+ [6 F' N6 @
                dwTmpSkLevel = 5;. W8 M: s" B( l$ \
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 9 ^" }7 j7 ?7 `4 [/ T) o
            {               
# [- t! S* A2 v5 P# R6 k                LPSKILL lpSkill = &(m_aJobSkill);/ Q& m9 a7 V9 }: ]& j
                if( lpSkill && lpSkill->dwSkill != NULL_ID )% I, s  v2 @! U3 O2 h8 T. ?
                {
6 t9 ?1 h7 y3 k2 S/ X2 D2 ]0 B' s7 H                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
* n$ _9 {, C! A; u/ i- H                    if( pSkillProp == NULL )0 c$ T9 t$ ]8 Z& {) ?5 f
                        continue;, l! [6 B- p# W' X1 R9 v
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 }6 r* C7 a* ^% w                        continue;$ t2 `4 R* i- T* R2 T+ B
                    lpSkill->dwLevel = dwTmpSkLevel;
$ j0 l3 D* Q- K% i% k& h8 ~, _# Q                }
; ^0 d# F- o1 I! n; d4 z. ]            }5 K* B4 {1 h% S% X$ _- o
        }
4 ~, F# D0 ^6 P: @# S        else if(IsHero())
2 t6 S* ?/ \( Y1 M% |, d6 X        {
! T7 w7 G& A7 }            for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 |" v3 k/ n" K% k. h$ r( W1 m7 d            {               
' X9 z* F" x1 @  M, D                LPSKILL lpSkill = &(m_aJobSkill);
7 N) a: X4 `% Z8 ~7 Q' f4 K3 X                if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 n+ ~* y! ?! f, S                {3 F. u" W) N/ {/ q8 a7 O
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
3 o& ~4 c* \( ^, a3 J# E                    if( pSkillProp == NULL )
7 G, K( `7 a: {4 P: \                        continue;
6 T1 ^$ o, v3 i2 B9 k                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)5 S" E+ V# S' e# j; U
                        continue;: Q! j  R5 u4 Z7 k9 Q3 I0 y$ n9 ?3 V
                    lpSkill->dwLevel = 5;
0 D( S3 R: {" f7 R* E% s9 K                }
  ]0 k: w$ [" Q# {. Z! Q  S6 T) K            }
4 \; `& W) p' `6 G0 F! e( b" o        }1 k; z+ H6 V9 W( y1 r4 P- D6 L# P+ N
        else if(IsLegendHero())
& j3 o" W7 q. w        {( M8 y1 U6 A! i( n* N' x6 [
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 @2 b- B; j) q            {                * b; m* E5 r7 A3 K! s* l
                LPSKILL lpSkill = &(m_aJobSkill);1 Z0 q2 f/ W  B" S" c; |# g
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
, P9 g2 B% k" F5 K                {
& |, r1 I8 h2 b" ~8 f                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
) {( r( |% x  a) u4 _/ g                    if( pSkillProp == NULL )4 g  z* s5 k; n  r. y6 I+ F5 c6 B2 q
                        continue;
  h1 x! Y. Y/ l* {                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( s: w% R3 t9 G0 l                        continue;: I9 G6 {0 q. I# Z
                    lpSkill->dwLevel = 5;. E5 ?5 z! Q. t) P5 A: g
                }$ F& p- T8 E0 R1 t7 D6 X
            }" p  b5 p. @( t) s5 a6 e
        }8 f3 h, u9 `. A& L( R8 H. S4 E* j
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
$ c! ~: D% k! B. ^  W        if( bGamma )( ~7 Y& X3 }: B: r+ G! j! C
        {
) a: G' v# X+ L7 t* K0 ?1 v            m_nExp1 = 0;; I4 D; d, f/ K- h/ G% H6 p( e# m
        }- g: O+ J, R' I
9 `8 }) E+ h& P! |% C
        ( (CUser*)this )->AddSetChangeJob( nJob );/ ]& k) W$ x. E6 j0 g" y6 h- l
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 A) ^8 x) g9 G( ~3 A: ]4 Z% k  K9 c0 B7 S

/ w) S7 w0 E( G$ A2 l#if __VER >= 11 // __SYS_PLAYER_DATA- b' U  C3 [5 f& a
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );& Q, F3 a2 G4 J: W: I" i( U: w1 a0 h
#else    // __SYS_PLAYER_DATA* S4 e5 [& W3 d% M. W# U) ^: r
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );8 V! C# M6 T' {# w+ c$ \) K4 Y7 y! W
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
3 ~, w8 T6 l4 y        if( m_idGuild != 0 )1 f" o8 M1 j) ?) h$ U# P1 H
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );; B" @6 n- ]+ U6 N4 n* x# A8 E
#endif    // __SYS_PLAYER_DATA
4 b! A, F2 {3 P5 r. H' B        SetHitPoint( GetMaxHitPoint() );
+ Y) C" D, a2 |# ]  S        SetManaPoint( GetMaxManaPoint() );% l& E2 [8 }4 c
        SetFatiguePoint( GetMaxFatiguePoint() );/ m0 |3 q! c3 ]+ X6 x' P
        if( nJob >= 1 && nJob <= 4 ). \8 \3 ]2 j4 b. {
        {# ~: L1 \8 h# z$ D! D& a  e1 T1 B
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 k% F+ W, `7 [, G( ]            m_nRemainGP = 28;
/ ]. m6 x4 d: V# `+ X" y        }
: W$ q/ n* T( b4 D        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! x" A/ F( q* a! j7 [
        {/ x0 D7 {+ L- W* V1 G/ y  a$ y5 n
            m_nRemainGP = 118;. @" J- t- v: v# K6 l1 e# i0 C
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( z$ a, f+ Z! Z5 K4 y8 I% @$ C            m_nStr = m_nSta = m_nDex = m_nInt = 15;& }7 g3 T( q2 }  G
        }
7 ^) U/ I, ^2 m+ f3 Z# q( P+ s) @        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
7 o4 r( j. n1 C$ Y+ i+ U% ]  P        {
- {4 V7 o  ?. P4 X9 x/ ^: \            CItemElem itemelem;
4 W# h0 g$ n: u% L            itemelem.m_nItemNum = 1;% ]9 O0 X: S, |. G
            itemelem.m_bCharged = TRUE;
: x: a, O3 V8 e* @            BYTE nID;) r1 a% n, J/ `
( E$ w( D9 _( O1 Q5 B
            if( nJob == JOB_MENTALIST_HERO )
- W: E9 u/ Y$ B( l& c                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
6 N- C  _5 h" e, U; Q            if( nJob == JOB_FORCEMASTER_HERO )
: U1 H2 z! O* ~6 L/ r* B; ~                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
# Y* J. q- e. F. b" ~8 }" G, T
  E) \, R5 \& F            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
, l: C1 p! m% w8 O) k        }
/ t6 Y+ \4 s/ o" @* }. ?2 a; d        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
7 k  l; P% r+ `& U$ ^2 T        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
0 ^& J* e5 }. ?: p/ ]        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );" L' L1 N: l9 w# `. P5 Y
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
+ m/ \0 b. E- _8 E        ( (CUser*)this )->AddTaskBar();*/
! t/ t, J# O5 }3 _$ F1 J' ]' c        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );0 a2 J+ Z% d7 u% b8 _6 `/ O
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
# D; l; l; R8 w9 p4 b4 c        ((CUser*)this)->CheckHonorStat();  j# g: M$ f: X+ S0 r
        ((CUser*)this)->AddHonorListAck();0 P+ i: D4 f% I: s2 c- M9 Z1 U
        g_UserMng.AddHonorTitleChange( this, m_nHonor);$ _4 w) W: m; |/ h& t$ ^
#endif    // __HONORABLE_TITLE            // ′Tà?2 p: J2 g$ W  y8 W6 f# [% n7 b; D3 |
    }
6 b7 u- [0 {8 e#endif // __WORLDSERVER- K1 f5 a0 b% M' S3 F; X
}  
# F9 k/ t. f1 t: X% Z; C8 J* B* j/ P- \+ r
然后你进入functextcmd.cpp并添加以下
( _; p5 v* p. O1 ^: ^+ |
* v+ y. C9 v" U; S代码:
8 Z) Q% r' r+ y$ U6 z& RON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
& C+ M, h5 ]' [. Q, p+ [# c4 v) e& w: m下面插入* a$ S/ i' t! h& F0 m* g
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  4 N# r/ o, p& x' w6 d* Z1 V
( j2 F8 k: F7 t! V4 X
然后你去/ [1 _% M& E8 a! x

* V2 U* b1 a1 i( `6 U代码:; g- ?" ^/ T; L  V
代码
0 s  J2 P! ?6 T7 m+ E5 U# OBOOL TextCmd_ClearPropose( CScanner & s )! o$ o4 {2 g% Q7 c9 p% U! p
{
( x% k2 y. i( c5 `#ifdef __WORLDSERVER
0 I# g; y' @9 z' J; X    CUser* pUser    = (CUser*)s.dwValue;& P/ H6 d! `9 t$ f% S1 T
    g_dpDBClient.SendClearPropose();7 j+ k( Q6 T' x
#endif    // __WORLDSERVER: R6 N- ]& _; |; M0 J9 e
    return TRUE;
( n$ Q4 l& \5 \4 E; G& {}! k( a$ k. G; Q* s: M, e. y
下面插入
; e4 {1 c  }5 s" K3 |BOOL TextCmd_rebirth( CScanner& scanner )
( F) p; M, e! I% f; q# k) S{
8 F* h3 ^: `' r$ S" P8 c#ifdef __WORLDSERVER
9 A* L  A: S4 NCUser *pUser;; P5 R3 Q( D+ o+ Q# d
pUser = (CUser*)scanner.dwValue;& M9 V/ Q% K+ ^& \$ l8 Y
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
! m$ C$ k6 b0 E: T4 r: ^! A5 opUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
% W; M; J0 ?1 l7 Celse+ b3 h& M% I2 @, q% G
pUser->AddText("你还未达到重生条件!");3 Y3 ?; o/ i2 q3 Y$ H
#endif# B# A- |; O1 Z3 o& V
return TRUE;
% w6 Q3 Y- k* s' V+ @' x}  . \! @7 m+ C, V( t( e: ^5 ^' c8 B& m, o7 s
- J; l4 y# D6 x/ j& A: V: J

% _" _6 ]5 W- Z: ?& d
8 R+ f% p; y. Y
" Z$ h( V! o* ]6 [$ k. g7 t
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-21 16:20 , Processed in 0.061363 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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