飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel5 c& G1 I- z! n3 o

2 z% Y4 u& t+ GMover.h4 u. U8 W2 C$ L
代码:
% z# l7 n6 H; o  M4 s; W7 W找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
3 T- L3 o- I. |3 i6 j, P
/ |/ ~! F# s+ |! b" [" c1 S+ c9 Y下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
7 p) ^: Y- i: T- O, p$ Q8 Z8 m; D# S! l+ `, X# F
然后你去mover.cpp添加
" u8 F: n" \% B) s* E9 R' Z" t1 w5 V; F4 V2 V0 B
代码:4 e; K, {6 ?+ Z$ x" \  w
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )2 Z" m) I% y( b# h& M6 q" ~/ p) a
{9 ?6 w; F5 }" m) C1 l8 s9 j
#ifdef __WORLDSERVER% V5 c/ t! W5 ^; u( K7 x  e0 |
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó  ]3 N( W$ u! y5 E, `9 O' g7 \
    MoverProp* pProp = GetProp();- |5 o0 C4 E- u" X. h0 u
    if( pProp )6 E* P3 l) H6 o: X" L0 w
    {( U/ \$ q! V$ W5 R/ A
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
8 @" I% }  w! _5 G0 N7 T; V, N        {, `  M" g" c4 x2 J
            AddChangeJob( nJob );9 ^9 a- z- q) P  m6 i1 g1 a+ L! R
        }else{
# |5 k. W( f8 u/ E            return;
0 A' W$ V+ T& @: r+ ~  r        }
2 Y* G& t& ]( K* ~: J& `" K$ C4 w        int nPoint = 0;
0 C5 ]$ j) S. D( s        if( m_nJob == JOB_MERCENARY )3 l5 v1 T& P& B7 a7 g8 L6 X% Z4 V
            nPoint += 40;  O# S, ?+ S3 {
        else if( m_nJob == JOB_ACROBAT ), O/ H1 \8 {7 }  }
            nPoint += 50;: Y8 X2 k7 ]1 o
        else if( m_nJob == JOB_ASSIST )6 b# D5 [, Q& W+ j& t
            nPoint += 60;% @  E. b. @% a& K
        else if( m_nJob == JOB_MAGICIAN )
* y0 ^$ T0 O: |, s            nPoint += 90;
: `# w" Y2 v% t& K/ ^% U        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
; N& v, N3 K& J            nPoint += 120;2 m; L0 q* t' z: t* z; r
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )  U1 G) n. F0 \/ J+ |1 J4 y
            nPoint += 150;% G$ w! s9 d3 r* x5 Z) G. ~
        else if( m_nJob ==  JOB_RINGMASTER )5 r; z- V7 z0 Q# n% D
            nPoint += 160;
" C9 O' x% z( X4 C* F: ]. m5 F        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER ), O0 Q, h6 j3 g( \
            nPoint += 180;2 J% A; Y0 u5 s, v) ^  K. h% o4 o
        else if( m_nJob ==  JOB_ELEMENTOR )
# ^3 H% y4 H( \" S            nPoint += 390;
4 C" h. \* n1 P6 ]( \        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )% y! r( E- V$ W" R3 `0 k! r
            nPoint += 120;
- V, ~4 u+ c* \) r& V        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )/ p8 u3 O2 E. X% P& g! M# [. d
            nPoint += 150;. I2 Y  q: S) e& ?
        else if( nJob ==  JOB_FLORIST_HERO )
1 @. O6 L2 x5 H: y4 B! N! |            nPoint += 160;
$ S. K$ i# Y( [3 l2 X        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )0 p8 n5 t8 V% h6 }
            nPoint += 180;
2 x: L, ^/ B- E3 @3 ?        else if( nJob ==  JOB_ELEMENTORLORD_HERO ). f  h/ v/ n& j
            nPoint += 390;( d6 e+ I9 k. t, V" R

1 @2 H' V, Y& ]7 n( y        AddSkillPoint( nPoint );# O, s5 S. y# [" Y
        m_nLevel = nLevel;
5 {, L8 l  T) d* \9 }% g; C8 V/ _! K3 l, E
        SetJobLevel( nLevel, nJob );
8 K- `4 y" o2 A, L        m_nDeathLevel = nLevel;
! M4 H4 T9 N6 i4 a6 L& }0 s#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
6 i% v, D2 S  }        if(IsMaster())9 y1 u3 g. A) X5 k
        {
" H9 z0 O0 }# j7 }            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
  K, p  }$ F! O0 R/ @" |+ S% f% T& ?3 u            if( nLevel > 59 && nLevel < 72 )
7 d1 s4 X5 l7 d% J                dwTmpSkLevel = 1;6 ~; C- O7 e2 T: Z' Z, x: v/ M
            else if( nLevel > 71 && nLevel < 84 )" `' _/ d  {) N2 Z
                dwTmpSkLevel = 2;2 F/ i0 B. p1 E  M
            else if( nLevel > 83 && nLevel < 96 )
! K# H- @  T$ w                dwTmpSkLevel = 3;: k2 @' n" K9 n; a
            else if( nLevel > 95 && nLevel < 108 )
6 Q1 Z# `) ~9 l9 z: T6 L; M                dwTmpSkLevel = 4;
8 H/ \5 d" L5 |            else if( nLevel > 107 && nLevel < 120 )4 G1 H8 J$ n. v
                dwTmpSkLevel = 5;
3 Z/ g: a8 O5 r8 l8 x6 R            for( int i = 0; i < MAX_SKILL_JOB; i++ )
. M* @$ L5 v5 A# b3 ]) ^2 W            {               
  p) ]6 u* H0 n& A7 \6 }                LPSKILL lpSkill = &(m_aJobSkill);
; w% H; d2 s0 j- h. p                if( lpSkill && lpSkill->dwSkill != NULL_ID )' y) Y& n8 d  n  \3 d  X8 q
                {
7 ^2 @* f) n. e                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
3 x0 I4 j' C+ b: c                    if( pSkillProp == NULL )
' G3 B" `4 b% F/ y4 w                        continue;( T! s& r( b1 i2 k) i9 u7 O1 Z& V
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! P6 }8 N+ e% p" ?0 d( c) T/ {5 }                        continue;. _' W- s( C1 f' j
                    lpSkill->dwLevel = dwTmpSkLevel;
! V1 J$ |6 ~( p7 Z; u4 ?0 n                }
$ t1 l' h- p6 l9 R- |            }
. X$ Y8 H. R  ]) g# C5 e        }5 L, p3 e: l% v* e) W$ R
        else if(IsHero())
  n* X& J- @9 C  |        {1 [& u- _/ [/ P6 n$ _
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! t/ F2 ?8 _) x; \* l
            {               
  \! e2 s: N4 N                LPSKILL lpSkill = &(m_aJobSkill);6 N  P6 Y$ ?) r, d1 Z' N
                if( lpSkill && lpSkill->dwSkill != NULL_ID )" k! n! c$ A( a) v
                {$ P# ~0 e3 r* N/ H
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            " j1 m3 k2 ^1 G5 F8 R
                    if( pSkillProp == NULL )2 F% p. \9 ?" O, Z0 d" d
                        continue;& y* Z) J# L, [# W; R, R: l
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)! s# [8 y! G2 m* g! G. }
                        continue;( |& w  r4 i" i' {# Q6 S  W; l
                    lpSkill->dwLevel = 5;$ g4 j5 R7 V, I7 i7 I1 ?; `
                }: p. }/ `7 W9 j% w- V2 {
            }  d/ \7 e0 E7 y, p6 V, [. X( j
        }
. q+ i* D) T- p7 j0 h        else if(IsLegendHero())
+ a5 l( L# o5 @, F$ P        {
1 y* Z2 V' m! `8 _9 C- d( L            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! n$ C3 L3 u+ u7 s. c. R& h+ x/ B: g
            {                8 o* Y6 j! V. B) `4 N" k
                LPSKILL lpSkill = &(m_aJobSkill);( ~- B) _7 O; \; j6 k
                if( lpSkill && lpSkill->dwSkill != NULL_ID )* W0 J8 ?/ @; a. f. p. _2 J1 A$ u
                {
6 S! G6 K8 }  e  ~                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
; O* q+ }6 n0 ?% `- y                    if( pSkillProp == NULL )
/ d* r( U5 n* C: J0 F  Y3 {                        continue;
- J4 @0 Y# ?$ U% y                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* @5 Z9 E, ^2 @                        continue;: G" E: i+ a# X  W- [  ~& x7 y
                    lpSkill->dwLevel = 5;
9 Z  A3 @( T" G! Q# p" r& H                }: X; w, \2 A, D$ @0 M" c
            }4 I( M3 e% O4 [8 r1 V
        }  u8 U. q& I$ `5 d6 f
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
$ d8 a2 g2 j/ Z5 _; v        if( bGamma )
$ p, _9 ^% j- }3 P9 x' w7 F  w        {
; |: }2 u) a1 p! I) D7 n- ^2 H! O: S            m_nExp1 = 0;  O; l' r1 u" \1 Q  |1 V2 ?) X
        }  |. _5 l! k& ]' T# l% C% y
  ^1 W$ t/ J/ F+ M. k
        ( (CUser*)this )->AddSetChangeJob( nJob );
4 S$ |* N' z) h* _; w        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );- o+ o# k) F4 G+ N% {
/ B' f" w/ G' E  i) {7 Z5 a

0 h) ?5 Z+ X# }; x+ E' [#if __VER >= 11 // __SYS_PLAYER_DATA
' N) E. D" O) K6 Q5 _! t) B* p        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
  t5 \8 }( f$ f4 K0 o" Z) a6 _% q#else    // __SYS_PLAYER_DATA& ~; W3 {) K" l  [
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
8 Q+ c  u9 D6 S& b3 Y        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );  W# \" Y5 x" r. U. e) e
        if( m_idGuild != 0 )
/ m0 T5 L2 |" F  T            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
& E  E: q' I% r$ P#endif    // __SYS_PLAYER_DATA  g$ p  d! n. K, h
        SetHitPoint( GetMaxHitPoint() );
, _9 j4 a$ ]6 c6 u8 P( d) k; n" A  [        SetManaPoint( GetMaxManaPoint() );5 }% I. W1 J) i& k$ G; R- @
        SetFatiguePoint( GetMaxFatiguePoint() );
: P* x( Y" S4 [1 G1 ]& E( P9 J; P" Q        if( nJob >= 1 && nJob <= 4 )
; y+ k8 l1 @$ Q2 |% B        {. r  x% C6 t" G* j6 O
            m_nStr = m_nSta = m_nDex = m_nInt = 15;, L5 A8 F9 Y1 m9 J+ E; n" B0 O) \
            m_nRemainGP = 28;3 y  ^! o/ N: G
        }# ]$ t  _% a2 F& H+ Q% B2 ^
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )! g" n. z# g2 g# n+ E
        {0 e; x5 B; o. K9 W* s) _8 f) z
            m_nRemainGP = 118;) D  d0 q8 p/ \+ u6 W# r
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
6 ]2 h" G& i" J" _            m_nStr = m_nSta = m_nDex = m_nInt = 15;6 i" _$ a" x  y
        }
# q% O9 I2 u) i0 `* w$ q        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
' N5 W1 {: a2 K" k$ y        {
( [. d- m! g+ |5 |4 m            CItemElem itemelem;4 ^4 }1 I8 w/ y3 |
            itemelem.m_nItemNum = 1;4 e5 K% C' b8 E' M" A0 _
            itemelem.m_bCharged = TRUE;5 C, M9 K) ^6 g! c% q
            BYTE nID;
8 h' ^' @$ u3 Y& i! E! V
5 T) o( q' o& ~' F" F3 t            if( nJob == JOB_MENTALIST_HERO ), \8 C& {  v1 S. a: k
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
5 |9 f& c) t3 j) c            if( nJob == JOB_FORCEMASTER_HERO )
5 L  j4 @  ~. D                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;1 r4 j7 V: m# \; i5 N4 ~. \
! A; ^& r3 ]- e6 F0 O7 N
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
) L; P. F, P, r- p1 d        }
2 F# H. |! f% B+ N        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );  Y0 R7 N  }+ ?7 E4 X6 S
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
3 J0 B/ I4 }- g  H4 N        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );: f! ~3 p4 y" H2 s) `# `
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
3 C1 z; S2 |* ?) ?. c4 J        ( (CUser*)this )->AddTaskBar();*/
4 U8 `) T& C8 o1 X/ Q) o- ?        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );: o' r9 h& H' d9 j  l/ b, R
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?! l( b6 G, {# B) N* Z' ?) J
        ((CUser*)this)->CheckHonorStat();
* G1 R* C5 ]- q. D1 Z4 w        ((CUser*)this)->AddHonorListAck();. A. n  z; y$ A
        g_UserMng.AddHonorTitleChange( this, m_nHonor);1 \" s0 o% D' D0 E7 v
#endif    // __HONORABLE_TITLE            // ′Tà?6 v9 K$ \. B% \$ N2 ^* q, V
    }
' s0 D! u7 L- g$ {#endif // __WORLDSERVER
9 x7 r6 e! Q- t: ]8 p, k1 W$ m}  
8 H  o; M! L* f. f7 n. _1 g+ x9 v7 ]$ [  B0 U. E
然后你进入functextcmd.cpp并添加以下
2 e  @4 [' o2 {
& P$ r9 b3 ?; k5 ?, ?! e" U2 ~8 r9 X代码:$ v( W8 p" \- K' c6 m  g8 |5 c
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
0 W% R8 L5 [, b7 {& ?+ n下面插入
7 j# d( \8 i* D3 U3 d$ E$ SON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  8 A/ t% M$ z% F  z) j
8 h% G5 Z. ?3 u! c, m3 d$ C
然后你去3 G1 E1 h7 K- \0 l6 G
" E0 y: n" ]( y' E4 C1 N' D
代码:& T; z% u) \5 e/ e
代码
' t1 c! j4 d3 j& j4 \BOOL TextCmd_ClearPropose( CScanner & s )
1 R( i6 I% s( `2 l# B{8 c- }5 _( L, I- h
#ifdef __WORLDSERVER5 x2 |, g: d6 [5 p- ~! v; ^& k
    CUser* pUser    = (CUser*)s.dwValue;
0 Z/ R* B& K, _' d4 s* P; k    g_dpDBClient.SendClearPropose();6 U3 B" p( [- u( O0 h7 v0 X
#endif    // __WORLDSERVER8 E3 j) w5 v5 X( W4 |
    return TRUE;
4 T. S7 B# \, M- d3 R* r}9 W( o+ f6 q: ?8 m
下面插入
- h% ]5 q$ I  }$ ^4 M' QBOOL TextCmd_rebirth( CScanner& scanner )
6 d# L/ l" H) e, M+ e% G{+ A3 {" N; j6 A" I  `
#ifdef __WORLDSERVER
' v, I/ Y& H! S- OCUser *pUser;
$ J" \0 e/ v; x. H! c- s5 s+ W5 RpUser = (CUser*)scanner.dwValue;- l  d0 j" Y: Z8 Q; K  a
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
, \/ B4 Q* d( m# spUser->InitLevelPumbaaa( pUser->m_nJob-16,60);1 @8 ~3 o7 z" U+ O+ M/ e, w
else0 T8 ^" e- L% ?% Q' Z1 ^
pUser->AddText("你还未达到重生条件!");( U# N1 T& F& E
#endif" e9 Q* l3 a9 q$ ]
return TRUE;
1 `1 [7 D/ x$ Q) s}  
# N4 e; W, g" v# K* ?+ L1 B4 q  x* p( T% E( {* j9 A9 n
' c& q* I- I3 e0 z% ?6 A

( U  j# }5 _8 F( k8 |; p: k; G) f4 O. y( _0 v
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-29 17:41 , Processed in 0.063584 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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