飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel6 q) s! O6 F0 \' O

: m2 ~5 H1 I+ J8 Q7 m" e  ~+ }Mover.h6 R. F/ @- e, {* c
代码:
( X: V, j0 h! ~3 S找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
; G% H9 u% Q3 ^4 `' ^2 j/ u9 ^! r; ^$ u2 P5 }
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
* j1 x6 P( a( p5 ^2 s/ q, E& v5 k6 ]) U3 {# F1 u
然后你去mover.cpp添加- K$ v( k- S! }5 u, ]5 L

4 W- r9 `/ L! h1 O- T/ C代码:1 P( C0 p# ?/ {/ Y4 d8 P! d9 `- ^
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )- y& c$ J. Y8 k: \8 z9 _% X
{
% u  z1 V6 z# H& z#ifdef __WORLDSERVER+ ]7 W; l1 O1 y$ F  k* ^3 p( B$ z6 ?
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó8 x! l& t/ n. i: W6 O+ l5 a
    MoverProp* pProp = GetProp();$ d8 y* T3 `/ {5 H/ u- u4 q
    if( pProp )  M* W$ E5 i3 q+ M8 Q2 `
    {0 E6 z4 \/ A! }8 \: _
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )/ D4 T, l3 T, g
        {
* }0 N9 P9 E2 }" }0 c            AddChangeJob( nJob );
9 a$ j& T% _- X* t" |1 ]        }else{+ \, c  X0 w% w; \7 W. k& m
            return;
; _3 T) \- W7 F$ s        }$ I8 W* j( y2 G* u, c* ]
        int nPoint = 0;
' s  _  M) u$ f! ?. z        if( m_nJob == JOB_MERCENARY )
' b/ s2 J) F1 j            nPoint += 40;6 ~: e* o. J( @! O) }' b
        else if( m_nJob == JOB_ACROBAT )
! ~( j/ r3 T2 U/ s            nPoint += 50;9 u  [; n1 q: ^6 v9 ?3 u3 x
        else if( m_nJob == JOB_ASSIST ): v* K6 }  f( w- |& _
            nPoint += 60;
, D- |# j+ I; Y: h, {( S2 H        else if( m_nJob == JOB_MAGICIAN )
; L$ X$ h4 O; Y; l: p7 c1 k* X3 _            nPoint += 90;0 l) P% ]- J, ~+ R( F) P; }, K" `" a( r
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )9 U: x: s# z6 J& s2 j" m. C4 E
            nPoint += 120;; T( R8 Q: |7 ^, h$ }
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
. X  I$ n: J9 R! A4 j; z3 Z            nPoint += 150;5 g* T8 y7 i: g, i; v: s, b! g0 r
        else if( m_nJob ==  JOB_RINGMASTER )2 M" x. W* Z) w$ p, M6 i4 z
            nPoint += 160;
, \% t( ?$ m( C. N' \) r8 A        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
! ~& t! a8 P) I' r            nPoint += 180;! m- k5 R" t" N, n
        else if( m_nJob ==  JOB_ELEMENTOR )9 S: J# ^+ B( l) k0 x: I( i
            nPoint += 390;% ?* ~' }$ T3 u; F* W( f: Q
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )) E9 r/ {+ M* r% f  C+ @4 |+ w
            nPoint += 120;
* X! D* Q- h' _, `+ H2 k8 y        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
  S, g. W2 r  P) o: d+ R2 d4 M* o2 L            nPoint += 150;
6 }6 B# c3 J9 I1 P8 d8 L8 Y* _        else if( nJob ==  JOB_FLORIST_HERO )1 V" p' ~8 ^: j* J) }4 F9 d, X2 S6 D
            nPoint += 160;
/ u2 S6 X! q' U4 {% ?/ s# y  r        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )5 X+ `& L5 @; O( Q9 w" e
            nPoint += 180;
3 o/ C$ `; W9 C8 d+ Y9 P0 N        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
3 w5 O" Q. m$ q2 m, |" \* U4 d) a            nPoint += 390;) J' E* ]4 W0 \/ s* M) q5 \4 H
7 u, R$ h5 q3 m$ U/ w# p" _2 Q# f
        AddSkillPoint( nPoint );
' R/ \# A5 B) `+ N( O/ G# c$ d; I        m_nLevel = nLevel;
. K2 \  |9 W) V* d( ]
+ ^) D! a- T2 b6 u. C        SetJobLevel( nLevel, nJob );5 b! z9 H4 V' B: m; \
        m_nDeathLevel = nLevel;3 r5 Z1 L" l6 R) h- E. t# d- @
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans1 f& ?8 R1 n1 V* ?) M7 ~- J
        if(IsMaster())& y& V; E, `1 b. T. E
        {
0 }& W* v) s! A( e            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1087 m, a: {$ h$ P+ a
            if( nLevel > 59 && nLevel < 72 )
$ B. |& f; v! j1 ^                dwTmpSkLevel = 1;
" z$ ~' U0 b3 ^- j            else if( nLevel > 71 && nLevel < 84 )5 h! H  O# R; h
                dwTmpSkLevel = 2;4 J4 S7 b6 D3 x  Y' w% l* u4 `& `0 w6 l
            else if( nLevel > 83 && nLevel < 96 )
% f1 L3 P3 q  Q* R4 c) q, a; a# `                dwTmpSkLevel = 3;$ I; ]4 j; i" b/ c  B
            else if( nLevel > 95 && nLevel < 108 )$ Z8 z- \% G  M5 t& F7 |
                dwTmpSkLevel = 4;
1 x5 T( I" G2 N3 f& u            else if( nLevel > 107 && nLevel < 120 ); H# |( K8 r* w: T6 V
                dwTmpSkLevel = 5;5 L) c; G0 R- [& L
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ ?8 Q( Z$ o+ _( p3 o            {                4 @. s$ Q. R  R; W
                LPSKILL lpSkill = &(m_aJobSkill);
! M4 b, G7 i' H6 D# @' i                if( lpSkill && lpSkill->dwSkill != NULL_ID )% n& G2 O$ w! k$ n# L: m- V
                {* G" u6 G3 l5 q8 g9 {  W8 R
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            8 s8 M3 `0 q0 Z0 ^) `" l8 Z
                    if( pSkillProp == NULL )
2 |2 G6 }) s6 b4 {                        continue;
7 v/ \* R6 E  L& q" s  s                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)& d7 K7 F% c/ t6 `3 n
                        continue;
+ t. z0 Q# U/ J. R. F7 ^                    lpSkill->dwLevel = dwTmpSkLevel;5 W! p& n1 B& d
                }
  E, P2 n1 I% e$ o  z5 d5 s$ i" b: P            }) _3 `. G$ {* G. j7 H+ e# H
        }2 D5 ?9 q, G5 r8 a
        else if(IsHero())
9 a/ ?, {" [$ i6 y        {
7 w0 ^2 r5 ?6 @4 J  m: V8 U            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ! I3 D) d* P2 R- A# o( X$ O4 l
            {               
& V& Y0 k- Q$ U$ u                LPSKILL lpSkill = &(m_aJobSkill);
6 z7 g. Q2 E9 k; s' Y+ A                if( lpSkill && lpSkill->dwSkill != NULL_ID )
& ~# F! y- R( o1 \' `0 _                {
% s# m6 P2 `2 S0 ~5 P                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
1 W2 F. x& I; f! L- s* s  }                    if( pSkillProp == NULL )
8 G1 y- p4 o' [6 w( v                        continue;* f/ L- ]+ K( ~& `+ W
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
/ ?, U( e1 \2 ~" a0 \5 K2 \* p                        continue;, v7 a: _% _- f8 s
                    lpSkill->dwLevel = 5;! O0 X! m' Q0 d
                }2 v7 j' K  ?  U5 w0 x( a8 N
            }
0 v6 r( V7 J/ O4 Y% t6 X+ W) S        }( Z& R3 l  U- Y' r% `/ v
        else if(IsLegendHero())& C5 y% e( K/ l/ O! s
        {9 y; T# \' T2 X5 s; e9 J
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 y7 f9 W: R" f            {                8 o% I: [* w8 G8 y9 A
                LPSKILL lpSkill = &(m_aJobSkill);% {% I+ s$ }( i
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
! r4 h7 W# |* N0 t4 Y                {
; ]6 q6 P4 M: d8 \- q7 m                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            ; J) e$ H$ ?; K7 i1 z
                    if( pSkillProp == NULL )
7 I7 t- b7 D& h                        continue;
+ \9 p* V2 }" S: d& i                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
) ]3 q8 P: S( P9 N& D! j+ e: q; x                        continue;
/ c) h4 O9 v* O# Q% ?4 F                    lpSkill->dwLevel = 5;
3 H% Q: C+ t2 A' c$ u5 K                }4 c+ M5 v2 P  u/ V: l
            }4 L" a8 I* \# R7 u8 k
        }3 ^3 @0 \( A+ S+ Q
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
2 q. ?: f1 a( q: y        if( bGamma )1 L4 f" P5 H7 {& f) W
        {
. |9 {( e, p$ ?) C. s( s            m_nExp1 = 0;# V. v. Z6 @) a3 d4 k
        }
. C# w% Y% x9 x3 s7 n6 G3 B( Z! `0 X+ y0 x
        ( (CUser*)this )->AddSetChangeJob( nJob );
% b3 _! m7 }  g! O1 _        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );% B2 A" s' d/ P2 d. z; h0 a( A

3 t/ [- D' v( y' B7 n3 F. W" |1 C% W% q; h$ j
#if __VER >= 11 // __SYS_PLAYER_DATA0 K# Q* A% R+ B7 l) y2 ]( r
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );( v$ R6 I% E/ c2 p2 I6 u
#else    // __SYS_PLAYER_DATA8 U+ H% ~. i& Q- [% G
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );7 r/ ?" P8 @' {6 T6 D; j
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
" K$ C5 W& l( p4 r1 e  J- t( z        if( m_idGuild != 0 ). Y' A/ t% X9 I8 X1 P6 S
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );7 V- ]* w; ~3 E% y% M# }
#endif    // __SYS_PLAYER_DATA
5 F# [2 y) b+ ~( C6 R) s& W        SetHitPoint( GetMaxHitPoint() );6 L2 a$ n, @. M3 N" y
        SetManaPoint( GetMaxManaPoint() );
7 |. Q8 P! q, o+ G) ^        SetFatiguePoint( GetMaxFatiguePoint() );
" F4 d0 z# i# N7 y' G, c) H. T5 N        if( nJob >= 1 && nJob <= 4 )
# R; U+ _* ~& p. W4 w4 n: `        {0 ]8 ~! D* l6 y$ P* F
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
1 A" J$ x  D: A$ i& \/ ~            m_nRemainGP = 28;
* \4 _! O  J1 z2 y        }7 \4 _! S/ ?+ K$ p9 w
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER ); ]9 G( I5 t8 M) p. [
        {
. R7 h3 _- P1 n& n/ k' v, k            m_nRemainGP = 118;* S4 D" A* c7 Q. ?: k7 [
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;; t' D7 @$ j: u1 l" Y
            m_nStr = m_nSta = m_nDex = m_nInt = 15;3 q1 C  k7 ?4 Q1 n  ]' e8 S2 K7 p
        }
( Q2 B$ Q$ y+ k" H; \" Y; K% f        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )6 A1 G: Y- o8 x, R% G
        {+ a( V. O$ C9 F' ]
            CItemElem itemelem;
5 z! ]; K. m0 n" V$ D            itemelem.m_nItemNum = 1;2 h7 Q+ b7 h1 A) X) X! u2 I6 \$ S4 D
            itemelem.m_bCharged = TRUE;
# T$ }1 D+ `- G* T            BYTE nID;
1 r8 K9 u: ]0 A$ ?) g( G
% i1 W5 u. \4 Z            if( nJob == JOB_MENTALIST_HERO )
* _5 z. H  T" Z- Z8 v) C. b# L7 ^3 N" @                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
" C& {4 `( b/ _, H7 K' u            if( nJob == JOB_FORCEMASTER_HERO )
3 t, R  B* J5 G. g* x( I                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
( p+ `5 ]+ m/ L7 g+ D
: o( I0 B8 V7 r7 T0 T. g; m7 I; b9 a            ( ( CUser*)this)->CreateItem( &itemelem, &nID );; K+ X& [# n# S, p# G: ~6 [
        }
6 F/ I7 c0 `- N9 t        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );1 B9 W3 W6 e: u$ T- N
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );# W* V% p5 s0 J. r) j
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );% @8 e) j- ~, X
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );+ ~: d0 m2 a1 a( ~' x- P, N  q
        ( (CUser*)this )->AddTaskBar();*/1 U  W% a+ l9 a. ]9 G
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );2 C/ W+ r( Y# H& ^& \% r1 @
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
9 @' i0 R! D+ m9 ~. H: x: _        ((CUser*)this)->CheckHonorStat();
& C  J3 l5 m! K, f1 G        ((CUser*)this)->AddHonorListAck();
$ V" o* S& q1 K$ F3 \9 K        g_UserMng.AddHonorTitleChange( this, m_nHonor);
$ C3 N" A! T; j! g9 v  ~#endif    // __HONORABLE_TITLE            // ′Tà?/ Q/ b6 ]: j0 J0 p  w
    }2 [, ?# A' a) c- N
#endif // __WORLDSERVER9 q2 V5 ~& h" ~+ Z) \
}  
) U, |, L& m6 X" ^3 }$ U2 e& Y* g  a, J
然后你进入functextcmd.cpp并添加以下7 v2 a1 j% i# Q0 u- ?. P

9 X8 J. l3 M7 X9 g4 {% o( |! F) K代码:6 ]+ O& k+ S9 o0 R0 @$ e
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ). ?& V( l: P5 s+ o$ Z
下面插入( f  ]) B8 o  `
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
5 }0 J$ N  s+ Q  C3 ?: |' A* o* H& [" P+ f* n! F
然后你去
  D. d4 C* y! A# N" F0 I
/ U! s. y, p, h  T( k代码:$ [, Z3 l- N/ ]$ p4 s
代码0 e+ @. A% |6 {6 V. i
BOOL TextCmd_ClearPropose( CScanner & s )  j  O9 h3 e8 }  X/ \4 o& }
{
* G2 t/ W$ `/ e! V  B3 a#ifdef __WORLDSERVER
& l, ?; Z  E. Y    CUser* pUser    = (CUser*)s.dwValue;
0 _+ l/ |; K; F5 l0 Z* A; F    g_dpDBClient.SendClearPropose();- N; e( ^5 ~* \; g3 C4 q
#endif    // __WORLDSERVER+ w  {! C% V8 N
    return TRUE;
& V+ P! N: M! M9 ]) n/ h- l; M}2 V& t( z( t" b. A7 D2 p! a
下面插入
0 x+ N# c# d$ b: U/ U6 ]$ pBOOL TextCmd_rebirth( CScanner& scanner )
4 Z* k  u; h9 P& `, I( ~3 W{
. S- e8 v  t, A/ x# _( k#ifdef __WORLDSERVER
( t" U8 _3 Y- I* l, [4 l. A3 @CUser *pUser;
# w& o4 |$ u! L3 d: t4 a6 [pUser = (CUser*)scanner.dwValue;  W0 k. S; v$ h3 k& X( y
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
1 ?7 a: }1 F& l6 \! p& s. h1 [pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);% ~+ F$ ^. ~4 J1 ]- E
else
1 [2 N8 w3 Y3 T5 PpUser->AddText("你还未达到重生条件!");7 Q# @. D9 g7 b
#endif
8 }2 V" Q/ H3 v2 ]return TRUE;# k6 u- O& c! H  B
}  
" e: t, n, V  ~3 {( W# k" K  |
7 t7 y+ z& I' n$ h3 B9 O7 ~7 T5 w
' P% q9 K+ w: m4 F

8 ^7 @/ O8 K4 G0 k( b' O) i; f; \
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-13 11:04 , Processed in 0.064474 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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