飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel( ?& `  t& r1 |1 k' f8 H9 h0 ?

$ P: x& ?% j0 v, YMover.h
" `6 p. q8 O/ o5 N+ [代码:
" V8 l1 p$ l8 Y: s% \/ N1 ?找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü+ z! Y4 U2 ]1 O

8 f" K' y7 m' ?' e+ ?下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  1 J. R1 N* Y# w# p+ e

) }. @  h; A9 H然后你去mover.cpp添加# U! f0 o% K4 N& X4 I3 C9 u$ F

! p; G  R3 E6 g0 E# ]) Z代码:
; l' ]1 C" ^6 Q2 S* q9 Z4 Z' @0 xvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
8 r8 L5 t1 h! ]/ a" ]6 d+ U& p* s1 W- K{9 N8 F3 G% C3 ^; q
#ifdef __WORLDSERVER. U1 ?) O8 [8 b) x, C$ |& U# F* L) L
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
% p. T5 j. I! s! x- a& _0 R    MoverProp* pProp = GetProp();
/ n" |0 E) Z" A3 r8 M3 t    if( pProp )
9 G) [" \  e* a- ^    {
" U9 l" _! Z; f4 A+ Z: i        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
6 c! ?) d! S3 \0 m        {: G' y2 V6 L# Z" ]% n8 c2 W* S" u
            AddChangeJob( nJob );: z' V/ D4 J# O- j
        }else{3 a# G/ E( J+ R* x3 K1 z0 H: B$ H
            return;
/ z5 b; u/ W- E/ I$ l$ E4 H2 j6 A        }; y" p4 H* ]" E& }
        int nPoint = 0;- f, }& ~7 _$ }0 D7 O# _" G8 s0 o
        if( m_nJob == JOB_MERCENARY )- ?' r3 ]/ n& B# D% v1 K/ q
            nPoint += 40;8 E4 ~. n/ l! M0 T, i' h2 n  @
        else if( m_nJob == JOB_ACROBAT )( o1 I" M) o( J. s
            nPoint += 50;" I6 Z, H/ @, q" h. X/ d6 s- x( |$ s
        else if( m_nJob == JOB_ASSIST )
& Y8 [( ]* u% [7 X! p            nPoint += 60;$ x4 c* D0 V! h( v8 D* I9 e
        else if( m_nJob == JOB_MAGICIAN )
3 [8 @, O7 d6 L1 [3 q- y. C            nPoint += 90;1 b* w# t, K6 ^" z9 E: z
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
8 V1 v+ b6 x) y5 }7 o9 P            nPoint += 120;5 ^0 Z5 Y5 X+ Y: Q* w0 F
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
& l* Z6 U4 U1 m            nPoint += 150;' a6 b; L# O6 @: ]6 Y7 Z
        else if( m_nJob ==  JOB_RINGMASTER )- F$ \0 N2 I! B3 q
            nPoint += 160;6 T: A. v2 ^# q4 r* O' U
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )7 X) h' g* V8 y: Q& |3 m" g
            nPoint += 180;0 e: _. C6 o/ i- _9 z: P6 a* \
        else if( m_nJob ==  JOB_ELEMENTOR )* O8 a& U$ c+ `
            nPoint += 390;
8 t$ L7 Q, v9 \  Y6 S  V4 a; Y3 S        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )5 d4 G4 a# s: O) W
            nPoint += 120;- @' x, W/ K( t+ o& J! C
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
* [, [3 F7 U0 T9 Z4 }            nPoint += 150;
3 C& ^& \2 {3 V) P# R- i4 x- r        else if( nJob ==  JOB_FLORIST_HERO )) ]! }5 U# V- C& u
            nPoint += 160;* t0 y  l& h8 C* x- p8 m. B
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )' I4 j' f4 Y6 E5 n$ I3 P
            nPoint += 180;
$ Q  t# L. ?7 G* B, `        else if( nJob ==  JOB_ELEMENTORLORD_HERO ). @, X+ Z3 V* v1 J7 R$ r  J8 r
            nPoint += 390;
) ~' j' W. h+ p0 Q' x+ u8 g( P2 ?; {$ b' ^+ @: C) v1 u: ^
        AddSkillPoint( nPoint );
& H8 X* Q' g) D2 |* |1 x        m_nLevel = nLevel;
1 r# E4 T! K0 a2 ]3 |/ N& z( u
1 D! O, E: ~2 B; Q, D: e        SetJobLevel( nLevel, nJob );
+ x5 q& m& @0 [" l        m_nDeathLevel = nLevel;
/ G3 o1 P  T3 Q3 C, X$ D#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
" @. A1 z* M/ ~; |0 w: D* Y9 h        if(IsMaster())' R% H5 I5 {2 [6 U
        {" l& |: n* s, A; a0 m4 K% o
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
3 H% L/ ]7 H! |* ^' c) B7 O            if( nLevel > 59 && nLevel < 72 )+ p$ Y* ~+ y! A# f. ^- c
                dwTmpSkLevel = 1;
7 h! s- h3 W( r6 }            else if( nLevel > 71 && nLevel < 84 ): a+ B% A1 S/ T% |
                dwTmpSkLevel = 2;' L/ ~, \+ ?1 Q
            else if( nLevel > 83 && nLevel < 96 )) L0 [- I) M7 w0 S
                dwTmpSkLevel = 3;
6 I5 ~8 _1 g0 X# D$ C- h* B; a            else if( nLevel > 95 && nLevel < 108 )
0 A: w" p/ ?4 f  `7 N! ~% G                dwTmpSkLevel = 4;+ s7 l* `! ?# i# b
            else if( nLevel > 107 && nLevel < 120 )
% A: Y$ H" x  L% i* v                dwTmpSkLevel = 5;; T$ \1 y9 T; b" W1 P1 {, X) [
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
, n  h, x+ m3 \& t) ?) T$ x( _  s            {                & p# j- s' a1 O+ i2 ^1 f1 P2 {
                LPSKILL lpSkill = &(m_aJobSkill);( k, m2 z7 C: `. L
                if( lpSkill && lpSkill->dwSkill != NULL_ID ): b- k9 y; @( O( [% A
                {
2 J! e9 V/ D/ ~0 G1 U: ^                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );              y* `5 q! S- D
                    if( pSkillProp == NULL ); O, u9 r& a  y3 n+ \/ j3 r
                        continue;
9 }# Y4 m) n0 o- G4 O4 q! N                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
& V3 b! T3 x3 H' J- P3 k; X                        continue;
5 [/ q  z# E1 S+ V" ^                    lpSkill->dwLevel = dwTmpSkLevel;. N& L; T1 a3 f: O4 J/ M- V- o$ m
                }3 r" _0 i% l) i& b+ j5 |' W
            }
3 h1 r; g8 j8 o5 a$ S; ~, W        }
  Q  z& ^; c5 T+ U) U- q        else if(IsHero())7 P9 n5 g/ p. [, w! Z: C* \! m
        {7 [: z( \! j# ~5 R  h* J& d+ H. O
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
- o  U, a& c, Y  S$ D            {               
, ^0 ]3 W, ~3 A8 t' ^# ^                LPSKILL lpSkill = &(m_aJobSkill);- p' {1 S# p' x6 o
                if( lpSkill && lpSkill->dwSkill != NULL_ID ). G1 t" V( r/ A, ~1 }
                {2 |/ P7 ~+ _$ `
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
; @. G# L0 J4 O                    if( pSkillProp == NULL )6 G! H( t; D! F! `' _
                        continue;
" ]0 I, S+ d6 {' o" Y$ y& a                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 K% \  P% ?% z2 C- n1 ?( J. z/ c                        continue;
2 z8 |! B9 I# z4 f7 H  H0 B) ?2 b                    lpSkill->dwLevel = 5;
6 W, g" i9 M5 S1 E                }
( n: e6 ~7 [5 V            }8 D4 u7 F" V! z" u0 ]
        }1 b3 v* T5 ]# M' z5 z
        else if(IsLegendHero())
+ p- _/ E8 ]9 k4 I# F        {
& J" i7 O7 ~" v5 _! H% t7 H  e* H            for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 @; p+ E2 {7 }& c# X  I- ]            {               
' t* o% O3 `2 Y) `                LPSKILL lpSkill = &(m_aJobSkill);4 M# i* g7 Z+ Z9 T7 s" O$ j
                if( lpSkill && lpSkill->dwSkill != NULL_ID )* {4 W( ?# n+ F  F8 b% L
                {
6 ]" b0 ^. _- u4 S5 P                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
5 j4 a3 ^6 C' g0 C2 R, i8 p                    if( pSkillProp == NULL )
, j# E: k! {- M                        continue;4 r) n1 x3 K3 J- }$ t
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)/ B9 W) w4 E+ d& B! d
                        continue;; P, P' }) n* e7 o( j* s4 h6 D
                    lpSkill->dwLevel = 5;2 v2 g6 s  |. k; j. t% i& `
                }
. Q1 W/ e  _( {9 T/ K            }2 K- V* {" D- D! V0 L
        }
3 J" i7 ]/ @1 ?6 S#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
1 M* i4 R; w3 R9 X        if( bGamma )
/ s" F  M# `2 r9 a) \        {
/ h4 K6 T" y, _# D            m_nExp1 = 0;
; f$ W+ t6 [7 N3 B, x$ _        }
' G$ U% K* o( u- i
6 B* L) ]" X, b4 ^/ Y+ P$ c        ( (CUser*)this )->AddSetChangeJob( nJob );0 r- B( ?, E" Z" i8 b$ F% @+ d
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );$ [/ ^$ {6 L3 S8 S5 x
5 P4 P4 t! f4 ^3 I* B3 M9 v
, _) F- ?, S" {
#if __VER >= 11 // __SYS_PLAYER_DATA( ]: Z& p) C/ M
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );3 V' H+ j4 _$ H; y
#else    // __SYS_PLAYER_DATA
9 ?. l- @4 _1 U        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
( i7 `& P* P- d$ V4 x        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
" a, v! q0 D- s# S        if( m_idGuild != 0 )3 x0 d! V) ^9 l# g( G7 W6 [
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );# d: R* ~! c/ q& e% ^. [) ~
#endif    // __SYS_PLAYER_DATA  X7 s0 Z5 ]* Q+ [  F6 o6 P# m  H
        SetHitPoint( GetMaxHitPoint() );
" X8 |+ Q& I1 l        SetManaPoint( GetMaxManaPoint() );- K$ s1 ~" C5 a9 Z/ |- |
        SetFatiguePoint( GetMaxFatiguePoint() );
( t$ P/ ?# s# O4 V7 P        if( nJob >= 1 && nJob <= 4 )
7 N  o/ q( K7 W$ k        {. v( v, D% L% D  N
            m_nStr = m_nSta = m_nDex = m_nInt = 15;% b( h% V  M! a& w' m
            m_nRemainGP = 28;
9 J; b+ W6 q% Z7 p& {        }. `; v' y4 I3 r
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ x7 U7 {) g2 q. x. J6 Z        {  B" J) a. Z* @* U8 f: g- i/ V
            m_nRemainGP = 118;
, W, ^, U+ w  I            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
3 o/ l0 M( I  g2 A& n            m_nStr = m_nSta = m_nDex = m_nInt = 15;
7 w4 }6 f5 ?: x0 T( B; x) N        }2 ^: w7 j2 t5 ~2 u
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
& @0 V9 Z  d* |1 V& Y        {
: b, D0 m' D  `) i/ u% |: i9 r            CItemElem itemelem;
! x& |% z' I1 e" c; m            itemelem.m_nItemNum = 1;
8 J' l3 V4 I6 g/ {. \! O            itemelem.m_bCharged = TRUE;2 x. w; W- P' a! \* Y5 h
            BYTE nID;
6 F% d$ l/ }8 V' q9 v+ `
  J; D& }% h$ t+ q* H: e; `            if( nJob == JOB_MENTALIST_HERO )
  B/ x9 [3 a/ V! q3 r, b% `% L                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;  q& Q8 n0 h* e8 l
            if( nJob == JOB_FORCEMASTER_HERO )
0 {. B' D3 Z0 G1 o                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
* _2 ]9 d2 Z) o8 E6 X- f7 e1 I
0 g! G7 l5 H9 R5 A            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
" b$ h5 h  v2 c        }7 P: v$ V, @2 `* D; l, w8 ~) v+ f: r
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );  Y: `, r0 G1 M# `: p
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
* v" `" N, Z2 B/ _6 P& c2 ~        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
$ I" N! a. p1 m5 Z; A3 q        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );3 F! y* j; V. k% v7 T  C
        ( (CUser*)this )->AddTaskBar();*/! _, T' x0 ^( T. Y9 e% ?4 o" ~
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );6 ~* ~' c, H( t1 p. Q# |+ N$ q" m
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?2 F3 p6 s! W6 M8 X. I, a; A, [
        ((CUser*)this)->CheckHonorStat();- @. o! I  [' ~+ r0 A' |. d9 s; k
        ((CUser*)this)->AddHonorListAck();
3 x& a- A6 q1 w  Q8 C; P" H( G        g_UserMng.AddHonorTitleChange( this, m_nHonor);2 E: {) F' J% }1 S7 y
#endif    // __HONORABLE_TITLE            // ′Tà?, ?, n4 u9 n6 `0 m5 X
    }
* c% @0 ?$ E, c5 [+ K/ g" Y#endif // __WORLDSERVER! A+ U7 L5 O6 W9 G! t: N8 O5 u3 ?
}  % f" P9 O' W% J5 T3 @

( H" U0 y( _6 q! O  j然后你进入functextcmd.cpp并添加以下
1 ?3 @1 z$ `; z% t
0 Z3 {+ r5 t. u  V- u: n  c代码:
4 X  _/ y0 {) a# L3 Y; Y. a* QON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )4 S2 b; K: c! i% V9 o, T
下面插入, S1 {5 Z/ N- f1 {" I# t- R
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  4 s4 ~/ n$ e7 [  ~2 E
: Y7 ~$ E# ~8 O0 j% U
然后你去
/ M: F3 a: y& q. D2 Z- s6 z' y0 {5 e1 H  e: u+ b% ^0 l7 i6 u
代码:
4 g" q) U. g% b0 H4 ^# v! B代码  f' I! G9 S# c$ d! I+ D) f# Q+ |3 g
BOOL TextCmd_ClearPropose( CScanner & s )0 J- G9 o4 q  a7 ^6 w
{* g& ^) {; A2 r5 F5 a+ `6 E
#ifdef __WORLDSERVER# J! \% b2 E) s- ~$ {- {# Z
    CUser* pUser    = (CUser*)s.dwValue;) r( d+ v0 |1 v# [( T6 ]+ }
    g_dpDBClient.SendClearPropose();7 \6 J  n0 k* Q& \
#endif    // __WORLDSERVER
# ?% s0 ~! s1 X" `    return TRUE;
. N" k5 S% _+ k  Z$ k* P}+ H+ b! ]( c" H# i8 e1 S
下面插入; ~( y8 w% {9 ]! U( B2 J9 |' w4 ~
BOOL TextCmd_rebirth( CScanner& scanner )) j6 e" z( R, @) c* y8 k: x1 J5 }
{- D2 [( ~  ?/ Y
#ifdef __WORLDSERVER
1 b2 Y4 X2 K: d6 \, H+ W4 LCUser *pUser;
7 @$ _0 j2 F, R" mpUser = (CUser*)scanner.dwValue;
" M7 ?+ A  d3 B5 v+ yif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
2 T6 s& N  w' G' ]( y+ A" KpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
0 J1 w1 T. o# `1 Celse
: L5 ^/ D) F# s' ?pUser->AddText("你还未达到重生条件!");
" _% |- Y. t4 h) L( k3 ~#endif4 D& t3 ~' w% {: Z2 [. C
return TRUE;
/ N7 d. r8 T" F}  
# S$ a3 n# V3 a7 C' G! [4 l& T7 S& |' c
. `! E# e5 `* N2 @* V8 I! v

  P: h0 p+ J8 k- @9 n$ e. z/ D7 o# c
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 10:21 , Processed in 0.064998 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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