飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
' x; Z4 B* A3 P5 L$ j% h$ c
/ Z6 Z0 q! `% u1 P4 b' N' AMover.h
5 f" N* c5 E0 }+ R代码:
, d, \2 h, t; m4 ?. i找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü9 [( g4 b  q/ U' _8 l
5 R' j7 U. u3 u! {3 a( X
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  2 g; R$ \+ H. h% h( B, T( R( C! d  u
# p  A* a. M) t1 R  K
然后你去mover.cpp添加$ E7 @  t: D% T# \5 C5 \

( O* S, O1 @: A$ i5 h代码:
* D+ S8 `. u0 z# @. Xvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )3 c7 \* N$ P% Y3 p9 G( D8 n4 b' v3 D
{- k1 W% q7 g- T. d# B
#ifdef __WORLDSERVER
+ I( K8 U2 f$ Z$ X% Z    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
/ X4 F8 u6 p2 E3 X7 U    MoverProp* pProp = GetProp();
2 e( M, I$ t3 Q* e( L) _    if( pProp )
5 [9 Z) Q& `# R2 \    {$ r3 a; E  B# B
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )& a8 u; v' {) U$ I
        {
' P% j* H% G) `/ |            AddChangeJob( nJob );' D3 V& r0 y/ W) S0 h% h% m
        }else{
- y7 d( O5 r: @            return;
1 l$ s2 C0 I6 W$ s        }2 s- i! i5 A  O
        int nPoint = 0;
  n( Q; J8 t/ [+ e: w        if( m_nJob == JOB_MERCENARY )& L8 c: G' j9 m
            nPoint += 40;
/ V! ^: p. Q& z        else if( m_nJob == JOB_ACROBAT )1 D3 {" F) u% @7 h' f$ H
            nPoint += 50;
1 b! T( i! ~% M- }3 S        else if( m_nJob == JOB_ASSIST )
5 x4 x3 |- b0 \0 w            nPoint += 60;
0 V- z. p: J1 s! {# ]2 @        else if( m_nJob == JOB_MAGICIAN )+ p0 p. [) t& ]# [" {; w
            nPoint += 90;
( I  H9 W. I. z; L        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
! `; J4 F7 K, U6 D7 q            nPoint += 120;" t$ s) J6 p5 N3 M- V
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
0 v2 r0 m# `3 _* P4 K; G            nPoint += 150;+ C9 g" X( E( H+ S
        else if( m_nJob ==  JOB_RINGMASTER )
9 C3 ^- @* i* z4 o3 w2 B            nPoint += 160;$ V0 W/ a( L4 \) D. h+ l4 t3 Y
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
6 I3 l4 \9 `3 X: v            nPoint += 180;$ S7 ^6 I) D8 k5 @* m) X
        else if( m_nJob ==  JOB_ELEMENTOR )
& Q! A0 {" Q" }- Z7 {0 \! s- m            nPoint += 390;! p+ |" z: T1 ^; g; h4 |( @+ ^
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )1 s$ U$ T/ m4 Y5 _
            nPoint += 120;
2 W) W7 v8 G1 ~+ l7 G+ X9 H1 {        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
' w. q* N* ?4 p* _) |  ], l            nPoint += 150;
/ r% {6 ^& G: x- N! M3 C  V        else if( nJob ==  JOB_FLORIST_HERO )1 z$ L2 A. u/ H  B  d
            nPoint += 160;
" t% H3 Z% ]+ H- @, r" k# j* F        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )8 X, o" X' t4 E! C9 S+ b9 p
            nPoint += 180;8 P2 b& Y' y# r& p, ~/ e9 m7 y
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )! n! |7 i( |  P/ ]* s4 W
            nPoint += 390;
' k4 F, I+ p9 T( y  k4 k
, S: Z* v6 I/ ?2 j# a; Q1 z4 {" }        AddSkillPoint( nPoint );$ R, \( u1 T% m4 U
        m_nLevel = nLevel;  }' C0 ^1 [5 S. }$ @; R

* k! H9 _2 k" [: u/ a) y! y  n; a        SetJobLevel( nLevel, nJob );3 i3 m9 `+ p# A2 H: w. p; D
        m_nDeathLevel = nLevel;8 n1 j. j( o/ z# z4 E
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans* t' \6 Y1 t+ V) O' v
        if(IsMaster())( w, s  x' j% I
        {# O3 j. Q- x  {4 h# ~
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1082 Z, }( S4 V- t8 \. G0 a3 ]* x
            if( nLevel > 59 && nLevel < 72 )
1 p: q4 l% @% }* F                dwTmpSkLevel = 1;
0 ?5 |: U3 P1 y! E7 N3 S8 p            else if( nLevel > 71 && nLevel < 84 )% l$ w; E( l% }: ]
                dwTmpSkLevel = 2;
6 q; V  L& Z  y$ Z. G4 x2 ?! a            else if( nLevel > 83 && nLevel < 96 )9 h$ {0 G9 x* b8 O
                dwTmpSkLevel = 3;
% ?: g9 H! Z1 N+ _: o            else if( nLevel > 95 && nLevel < 108 )
- d; \5 s4 ?% f# ~; t                dwTmpSkLevel = 4;4 Z% S6 K' D! M8 K7 d/ H* v& H
            else if( nLevel > 107 && nLevel < 120 )
+ d( y" |7 r! C7 d5 @( O1 d                dwTmpSkLevel = 5;/ @1 Q" F3 E( d* ~
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 8 R6 E! P$ E% L& S& Y' N% y& n& n' y
            {               
1 d/ v8 ]( e* Q1 }, _                LPSKILL lpSkill = &(m_aJobSkill);
8 @$ |) J) T7 Y' f  u                if( lpSkill && lpSkill->dwSkill != NULL_ID )
. @/ u# Z' I4 t9 N                {1 t3 E9 i9 B: G/ p
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );              B7 T  f, z& [% a2 w( W
                    if( pSkillProp == NULL )
* F0 ^; D0 C$ q  A/ p  ?                        continue;9 m- T5 L- l0 V7 [/ Q4 ?
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
. h* P. W6 e7 P9 \& m$ D                        continue;5 s" Q( C( o, X2 d
                    lpSkill->dwLevel = dwTmpSkLevel;# N$ q: t0 p, n1 p2 f
                }
# i' F$ s4 `$ ?! V            }
- c1 c. `$ h& n/ K8 c        }3 ?2 J' `; x5 q" w" [; m
        else if(IsHero())% d2 G1 j" r' X; W: k
        {
& V* ~% ~8 K' O3 l            for( int i = 0; i < MAX_SKILL_JOB; i++ ) + E! ~  M/ d6 r! v: Q  ^
            {               
& Z* E1 t1 n5 y1 T# j1 ?9 u                LPSKILL lpSkill = &(m_aJobSkill);8 o: n# e3 |% [: y& j
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
: v% ]8 y) b0 E& x9 O) [2 ?                {* h7 h6 j6 h! w5 P! B0 I: ~+ T
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
" U6 q+ w3 `# y! h' f2 }) Z$ @                    if( pSkillProp == NULL )2 W' ]% z' P* ?3 K3 m3 q
                        continue;9 X3 U$ P; ~7 \5 N3 N, v( C- @
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( \' P  R7 i; M0 H                        continue;
9 m, ?5 w* e2 d- o3 h+ U% @                    lpSkill->dwLevel = 5;) S' @7 T4 e3 {: e' ^' C
                }
, O5 \9 v4 Q% T5 g8 T+ H            }
/ d, R; E- |' U' D: a& n        }
2 u: A9 Y. _+ i6 G% v/ A' I        else if(IsLegendHero())
$ @% _2 m. ~3 w5 q8 [- U        {, R; ^# d1 `. k7 u
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
- _5 W; f8 y1 v7 y5 K0 T. C            {               
# q* g, l9 V6 M& e% Z7 s                LPSKILL lpSkill = &(m_aJobSkill);: ~0 c4 I3 W# }6 J) d  ^
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 Z' Y3 f1 O, l6 X6 |                {
! Z1 S$ Y' s, O! j& B% L- C                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            6 d1 P# G) @8 v. q5 y# z8 e6 n0 |. z
                    if( pSkillProp == NULL )
& h) b% K) D+ \6 @6 o                        continue;
. R* v+ V; [$ s% `0 o+ \                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)) ~$ K) t) s1 d. k# G+ w2 H8 s
                        continue;
4 P2 T( k/ K8 X# b& v                    lpSkill->dwLevel = 5;/ X" A! _% N% I" F4 P
                }
! n  H$ r" a0 Z. d) F0 R, V            }3 m8 G# g7 R3 v5 j- Y+ ~' U
        }) b. f0 F5 G* Z1 @% ]0 D
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
/ Y) K% W+ l# x6 K8 \* X* O. @        if( bGamma )
( ?7 x7 y# k" I        {
6 O  f; C4 O! q5 A& D% d" |0 B4 D            m_nExp1 = 0;
4 ?/ ]8 ^" |' M5 r3 @        }
# o8 Z" n4 {# Q) ^
& ?3 W( [' _  Z1 I% Z        ( (CUser*)this )->AddSetChangeJob( nJob );
! V4 H+ h# X' W* u# o        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );0 ]2 t, i: A5 G9 N1 M

* E3 Z0 S) @6 Y  [3 a) i8 u5 y8 X( I2 ]
#if __VER >= 11 // __SYS_PLAYER_DATA
9 r/ C7 `) V5 G& }( s$ S        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );7 |1 n- |  E: s' |0 p* E5 H2 x% t
#else    // __SYS_PLAYER_DATA. e5 U# B! x5 Q$ O
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
2 _/ f0 ?" r4 y2 F( Y8 M. S        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
; }+ H4 R8 \  |6 e# e2 h( ^        if( m_idGuild != 0 )
% }8 m, ]" s) D- E. S( ]. L            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );# g( H% @* t% v- I" D, R) ~
#endif    // __SYS_PLAYER_DATA
0 q7 `% p! Y* m6 d9 f8 f        SetHitPoint( GetMaxHitPoint() );
/ l2 d* y  b1 \" o0 c$ O  W/ Y: y6 y        SetManaPoint( GetMaxManaPoint() );
% N4 P' q0 k7 L        SetFatiguePoint( GetMaxFatiguePoint() );
$ l" n) c1 ]7 Y9 V6 V; K5 _7 t        if( nJob >= 1 && nJob <= 4 )
( _! Z* L# C5 B/ ~        {; b! C* s6 Z8 Z- O
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
4 V" a, Z/ s+ a6 E3 x/ w  W            m_nRemainGP = 28;
  B+ R4 ]. b1 \0 ^# y. f9 K+ T        }
5 w" W2 t  ?# k        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
! _3 _5 {8 R  B8 Q; m; E* k0 l        {
6 o4 D( t  Y) h  Z0 S# q9 T            m_nRemainGP = 118;
* P% {: w5 O# W. k* v' O* M! H, [            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
  k9 @% _5 n2 v5 l% D" i            m_nStr = m_nSta = m_nDex = m_nInt = 15;. k" n9 Y3 C  I, Q5 X
        }
! o+ B6 e! {. F6 a, X2 E        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 C+ b* _9 }& p4 v; x$ H7 h/ D        {2 x; T* q6 T- `6 v  b
            CItemElem itemelem;* g5 Z3 c& q, ~! f7 {2 r
            itemelem.m_nItemNum = 1;
6 f$ h4 E2 T/ @+ [( {" k5 ~$ y- L            itemelem.m_bCharged = TRUE;
( I9 W* ^/ j6 v9 z- d            BYTE nID;
7 W9 |7 W  f+ D  `" |
" @/ c* }6 B" O! d! O* D            if( nJob == JOB_MENTALIST_HERO )
" Y+ o6 ?3 N& ^# _                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
! x1 o" }4 O" J% S$ [+ |, O( Y5 c            if( nJob == JOB_FORCEMASTER_HERO )4 W" i) b! c+ B* q! P) y3 ~
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
4 }4 B% o) Q7 z+ P
& l- R+ l3 ]9 O5 ]8 V            ( ( CUser*)this)->CreateItem( &itemelem, &nID );( K( r. y! [. l) U; q5 Z0 N
        }0 D$ U/ I0 x  P, V
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
6 D7 I% t5 T" M  E! Y, ]; {        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );1 D6 ]% Y  _6 L' N; J+ F& p+ F: V
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );( t5 U. F% M- Z$ w% u, |9 o
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
" r" n3 r/ y' k9 V        ( (CUser*)this )->AddTaskBar();*/
  @7 ~7 v+ M# O        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );/ l4 q' `, \' R6 G. P2 I" U! U
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?& m; F, S2 \5 M; X' f
        ((CUser*)this)->CheckHonorStat();( c; h3 O! y0 K! e- u" Y% }
        ((CUser*)this)->AddHonorListAck();; V- H& ^; C; q% b+ M7 d( k- o; K) G
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
8 i2 `. R' a! q; ^#endif    // __HONORABLE_TITLE            // ′Tà?6 J: t. R  m' x# q1 a$ o
    }- I! A' E! d4 F, o& I
#endif // __WORLDSERVER3 T: O1 k0 O6 T: t+ h7 M
}  6 b+ y4 E4 N4 G* @% L
' f' b- m! a4 f- O1 n; B, g
然后你进入functextcmd.cpp并添加以下
  N, j5 [, E# Z4 t/ R7 j, z0 G4 F4 `2 C& U7 u7 u8 v( {+ ~- o
代码:
0 O7 g; A: @$ ?# BON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" ); p& h6 Y* s2 _6 v; x# P. t
下面插入5 k8 \9 B( c" ]. z
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  4 e0 W8 @3 J9 Y# }* z* x
+ J1 E% |4 n! X
然后你去- t9 Q: P9 [& Z* \4 D' P
' j! a" H) A0 G! u6 k
代码:/ K$ g# X9 E* c( b% m4 Z
代码
2 n6 j) n' R$ ~3 vBOOL TextCmd_ClearPropose( CScanner & s )- z( {2 l) D, a/ W$ |2 ^* F
{
. X8 m0 Z" p$ E$ k# L# r6 w#ifdef __WORLDSERVER
4 X* H# K! V5 H- I) o  J( _3 f    CUser* pUser    = (CUser*)s.dwValue;
; O" s! _8 ?& K    g_dpDBClient.SendClearPropose();" B6 u, ]; K7 y/ h
#endif    // __WORLDSERVER2 u' P' U! X/ ?- d; y% Q; a
    return TRUE;& {  g3 ~- C9 `) _
}; N4 f' ~" S6 x% x
下面插入* z4 D* _4 F/ D6 h
BOOL TextCmd_rebirth( CScanner& scanner )& n' Y$ `7 }. p+ a7 X- k
{
+ @4 D) A$ k) C#ifdef __WORLDSERVER: M+ p& u9 Q9 a  m
CUser *pUser;# a/ l& @  r: Y( ?; [( C
pUser = (CUser*)scanner.dwValue;
+ n/ K: k% g# c: E4 uif(pUser->m_nLevel >= 150 && pUser->IsLegendHero()): E4 N/ i* a0 q+ N" n7 A6 h
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
6 z+ |4 m; C( G0 ?$ l, t* Welse, u+ z1 j* _+ \8 r) ?" i. w
pUser->AddText("你还未达到重生条件!");
' T! q3 w% {* H#endif
& ]1 ?4 q, x4 W# `3 Q7 n0 A2 |: u" lreturn TRUE;
3 l. Z& D1 F/ ^3 J- {- p" u; U}  
2 y% E$ |$ ^8 j2 O
0 J3 j, ^* H7 p( D% J' D/ z: \) w. A

( l# W4 D* I6 q, ?+ E3 V) H  I, L, s+ ?$ _( A6 G. |* Z5 W" l
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-3 11:16 , Processed in 0.062420 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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