飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. z) R1 ~1 [0 F* X5 }, e. E
$ `+ m; i4 ]' Q4 b/ ~+ _
Mover.h
# ^5 P! U" @1 W- a/ |
代码:
. ]0 ^7 c+ j! m- J- ~$ ~
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
! o1 B" V9 B' w9 U5 s
0 i1 f. [. q2 S8 H4 P
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
. O% H8 x" n8 s
% J; f y5 W6 m. ?9 Z
然后你去mover.cpp添加
4 h; F; H5 j& @8 r
( g, R, b9 H$ K; y) _9 {
代码:
3 y! L/ E$ w t. ^7 _1 Y, ]: j
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
0 p) h* l* d5 I2 _8 M/ ~
{
7 _# E# Y- G. K! }+ I
#ifdef __WORLDSERVER
9 Y5 ]5 v9 a8 N0 N4 w" x. N. D
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
" ^5 g' U. ~- R9 H
MoverProp* pProp = GetProp();
/ S$ [& {! M' x4 u* V0 V
if( pProp )
$ t. _- X4 u0 |) V* Y8 f$ g
{
7 h1 Z+ d- `# n7 d2 W( e- Q
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
9 w, s! S& v) i
{
2 o+ C% Y7 @, O$ J. U+ ^
AddChangeJob( nJob );
% J: a) U( y* p: K, v9 z
}else{
8 N5 E/ I z6 Z! J9 c4 Y" g' m
return;
5 @. F6 I G5 k
}
1 a5 s8 u, j ~
int nPoint = 0;
, N3 `, B, [$ U. {: _
if( m_nJob == JOB_MERCENARY )
t: [, I0 m- D5 i4 R) s4 ?& A! W& h( \- `
nPoint += 40;
5 B8 |7 C0 x& \
else if( m_nJob == JOB_ACROBAT )
8 x$ d% l# B- Q/ q8 C
nPoint += 50;
4 s& e2 v( C- W# e- ~- W: S
else if( m_nJob == JOB_ASSIST )
$ a+ W) W# ~/ M, w% y$ m# u
nPoint += 60;
" F+ s! z" v @
else if( m_nJob == JOB_MAGICIAN )
. R- K2 |6 K* o- @' R+ J0 w* D2 Z' K
nPoint += 90;
" R: M, {( Y4 {, v' c; @
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
8 L2 o% {, w& @3 ?, b
nPoint += 120;
7 l7 R( E: \& r8 q; W; O3 D* v! J9 ^
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
- h D2 O( v3 t
nPoint += 150;
; ]( e: v ]# I1 y, \
else if( m_nJob == JOB_RINGMASTER )
: u4 y. ^0 e) s: H
nPoint += 160;
/ \# } \- [* ?# Y
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
/ `, [7 h% Z" {/ f) |
nPoint += 180;
/ I9 D8 A% s' |5 K2 e# q5 K+ t
else if( m_nJob == JOB_ELEMENTOR )
% d7 U, V, z) C! N- j/ M, c& T7 x
nPoint += 390;
* I8 t/ V |. _9 `2 _! m* I' C+ O- H
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
8 U( V- b, ^6 Q, c) U
nPoint += 120;
$ ^+ t! v. M$ q( \" [
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
, U8 X$ Z2 z' @& n
nPoint += 150;
# A* v. q2 h* b. ` d3 l" m) |' C- ^/ z
else if( nJob == JOB_FLORIST_HERO )
4 _% ~" D& K! v" o. f
nPoint += 160;
2 f9 i+ z) K3 y/ }2 U2 p: \, H
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
+ f9 d0 _- J! i
nPoint += 180;
% P( x3 E: ?. b. F# _1 o
else if( nJob == JOB_ELEMENTORLORD_HERO )
3 `) w3 Y1 q& ~2 |( H
nPoint += 390;
5 w+ g i% v$ s; p
+ r5 \, Z2 w R/ F3 e5 i
AddSkillPoint( nPoint );
% B: [( |7 P# }: V
m_nLevel = nLevel;
8 x. ?, v# }8 c8 @/ o; d
8 Z( B$ C3 H- Z* r1 B6 G4 U: D
SetJobLevel( nLevel, nJob );
" R" ?& I2 ~! J5 [: t6 ~1 q6 [
m_nDeathLevel = nLevel;
. E e5 \1 Z+ ] ]5 d
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
: n) s2 t; ], |' r& b& y+ P% L8 j
if(IsMaster())
2 W/ I* N: ]% V; Q; W2 D) v
{
9 m4 w' R5 p: U- {% b0 C( T8 N5 ^, o
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
& F" Y! i7 o m1 a% ^, L% q' _
if( nLevel > 59 && nLevel < 72 )
4 b0 o4 w! t& o1 ]* m; p6 J
dwTmpSkLevel = 1;
S3 a* @ K. D3 X
else if( nLevel > 71 && nLevel < 84 )
4 w8 h/ [8 _; p6 L8 u5 Z& I0 M
dwTmpSkLevel = 2;
& Q Z7 M5 A) Q: L' P) E
else if( nLevel > 83 && nLevel < 96 )
3 W6 u5 C+ N! `' {9 X7 r. ^
dwTmpSkLevel = 3;
' {4 w1 `5 J% l& q- Q0 z9 g
else if( nLevel > 95 && nLevel < 108 )
1 c0 i* f# y+ }; g
dwTmpSkLevel = 4;
8 b7 u4 v. `- h& C. S4 P6 G+ b
else if( nLevel > 107 && nLevel < 120 )
& F) y1 _) r8 d. S
dwTmpSkLevel = 5;
' B$ {; F" P$ ?5 ~' g. k Y8 N
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 e3 O9 ^. n+ x4 @ N: e
{
1 `' Q8 [2 i5 h& ^2 @" u+ q( }8 Y6 x
LPSKILL lpSkill = &(m_aJobSkill
);
( [5 f4 O$ W- R% j/ d
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' ]1 R& z; i. P( f8 n9 b; O* f
{
& u$ D" o( P% g
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
7 q9 c, v8 f* K
if( pSkillProp == NULL )
! K, i% I% Z- B* [7 N
continue;
' D% m9 K N; ]1 Q& Q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
N# `/ M, e& r( }3 B9 _. g" ?
continue;
8 @: q) w( p p( g/ r6 p/ t$ z
lpSkill->dwLevel = dwTmpSkLevel;
( p( S# H D5 ?% [$ i$ W
}
( q ~( T6 l* o$ [0 A: j: J
}
/ _6 H% k ^# @* U' r2 _
}
4 [1 R ?5 Y* e; y1 ~6 q& y
else if(IsHero())
. J5 X3 V3 ~: G) |3 o3 J5 A" T
{
* w' D0 j$ I& J/ o9 V
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% Y" R: \# G- Q b, l
{
4 A* H! D3 F8 [( r
LPSKILL lpSkill = &(m_aJobSkill
);
2 k" `, {) ~4 U; r8 n
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- C. H# d% T3 U3 }" s
{
3 Q; u( f. ?8 f1 N
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
, ?+ j g3 }" a$ R2 O8 k
if( pSkillProp == NULL )
% h% H G: y( T2 ~; U" @/ u
continue;
' ^! h) E) P0 h7 R2 T) e- e+ Z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; ^" i$ e9 y# \
continue;
5 ~; p! a- V" v8 _2 b/ C; D* k; Y5 u
lpSkill->dwLevel = 5;
! c& _1 c& k4 ]9 I% d5 h. _& y
}
3 ~- f4 N( E' n+ b3 {
}
( |! Z! M2 Z* \( e( b7 [
}
) w9 c4 I( s6 ?$ M' @: T* u7 h
else if(IsLegendHero())
6 n7 e4 d; P2 e( z& d
{
: u/ i- P; r+ o
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. W$ \& _/ x2 S5 v8 y
{
) V. }8 _1 \1 x8 u, v( w' p& r* u
LPSKILL lpSkill = &(m_aJobSkill
);
, r! {3 L5 _! @
if( lpSkill && lpSkill->dwSkill != NULL_ID )
e) S8 Z6 z; f8 Q P1 K0 H( A, Y
{
6 G6 s6 o$ i K/ Q5 R$ f. x
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: w. _4 o" Z8 ^
if( pSkillProp == NULL )
5 Z( N4 b% {7 R/ s8 b
continue;
( u$ Q" ], r5 ?, o5 p: b7 Q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 V/ R5 o* d( s& I
continue;
: k- T2 t2 @4 k* ?' P5 s
lpSkill->dwLevel = 5;
0 k; Y" d6 W( o7 r+ W1 U* T
}
0 \7 n0 X' h( O, S! T5 [
}
/ C* c+ T& M9 V: i: K
}
: @! }2 R( f1 p% r6 {6 v& t, d2 N; [
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
! C r/ i {' z! f: G
if( bGamma )
: f/ ]. e. C& N4 `6 y ~5 Z6 T
{
, ^! W/ S* z/ l5 q8 K
m_nExp1 = 0;
5 E# ~/ j" d: J+ A4 N
}
( ^7 S" D! v* i# f* m
( G3 P. ?% Y; |. o! o
( (CUser*)this )->AddSetChangeJob( nJob );
6 O3 b8 z5 R9 T- S" u
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
2 \: } ~. k4 ~- L ]& e
. j" f t& G: i1 k
$ d. L' h1 D t/ _0 H" I$ o
#if __VER >= 11 // __SYS_PLAYER_DATA
3 M3 X" B: G# y8 g, B3 z
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
, q; L7 I0 r% D3 U$ f- x% u" U
#else // __SYS_PLAYER_DATA
, Y- H/ a4 D$ ~/ @, D+ ?" }2 X
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
/ T( V f, e2 _1 @# i
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
c4 t' r1 P9 P% }/ N% N
if( m_idGuild != 0 )
1 B$ L( Y% q8 O7 X& p
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
, s% p2 { Y% z4 v s
#endif // __SYS_PLAYER_DATA
. H4 G7 M/ [$ o0 K
SetHitPoint( GetMaxHitPoint() );
; {( ^- v- `- I6 T- l5 E
SetManaPoint( GetMaxManaPoint() );
1 \9 w# O; j2 o
SetFatiguePoint( GetMaxFatiguePoint() );
" z# ]1 ~+ _/ X4 H! h* T7 t
if( nJob >= 1 && nJob <= 4 )
C+ D3 H) `2 @' C
{
5 J0 f0 z* d! d8 U
m_nStr = m_nSta = m_nDex = m_nInt = 15;
# b1 f( L$ A8 j, t; y3 m! y
m_nRemainGP = 28;
* @9 d( e- h2 c
}
$ c' Q2 p' e7 `, {, d
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
' ^: J+ N4 d0 A! Z: C
{
& D1 D) f* _4 [2 |8 h- I9 X
m_nRemainGP = 118;
6 d7 _" p4 q( [& E% K
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
7 P2 V; V$ a$ C, r" U; n! D
m_nStr = m_nSta = m_nDex = m_nInt = 15;
& T& K* Q$ A: F# v i* R0 d
}
2 X- ?/ t' N0 n9 M
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
- V6 G1 J8 f- O/ O( ^% m
{
% |% Q, |. D0 j
CItemElem itemelem;
. ^6 W: q1 R, x1 ?+ P
itemelem.m_nItemNum = 1;
2 k8 a* d* s0 E8 |) W0 |" q
itemelem.m_bCharged = TRUE;
" M" q* v4 W; _1 Y/ p T2 `: f1 K0 a
BYTE nID;
" @2 E9 s) L/ }; @+ Q2 s" U
) d1 E. t2 ?0 H6 d; z7 S6 A- U
if( nJob == JOB_MENTALIST_HERO )
5 M% }0 L/ B2 }6 O+ x6 b6 ^
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
" {. D* H1 U0 S( M' c% U% R
if( nJob == JOB_FORCEMASTER_HERO )
s2 j" u3 ?$ s& M' S
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
, I9 O+ n8 J5 R: \* |* u
( E/ E9 J K3 t' u1 n" d; G7 z7 h
( ( CUser*)this)->CreateItem( &itemelem, &nID );
: W: o# [1 `3 J, ~0 H
}
$ _7 m4 c5 Y0 l% [7 f
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
* n' Z7 _7 E1 o4 `# s
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
' ~! A. t9 N" |1 ?4 d3 b" L
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
1 t1 u b" |9 n' V, P
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
( A2 H0 o/ t7 p! K. A" {
( (CUser*)this )->AddTaskBar();*/
/ K6 B" R; [! \" Y) G
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
b$ C& A% V1 \$ p* n
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
. f/ E& I) ^" T- m& W
((CUser*)this)->CheckHonorStat();
# W& f1 ~1 ~$ W5 @, [" b' H5 H
((CUser*)this)->AddHonorListAck();
6 W0 I; P: m& n' K* S: Y" T: k
g_UserMng.AddHonorTitleChange( this, m_nHonor);
" z0 u$ I3 y1 e3 Z
#endif // __HONORABLE_TITLE // ′Tà?
7 Y; l& E, F& F7 t7 L' {$ G! [" N
}
* y" R' Z2 B6 g& G# I+ t
#endif // __WORLDSERVER
0 o( T3 O' S7 h
}
7 D% w7 v3 T3 w0 O" n
' o6 U& ^' ]- j/ p
然后你进入functextcmd.cpp并添加以下
/ [1 \: T, f7 ~' C3 y9 Q
- z/ V( v4 Z$ S
代码:
( s$ s l; k: F( r
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
: v" B3 v6 u% u% g4 [; {4 z
下面插入
+ O) Q/ m! w( q) M- |3 V G
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
, f& N% t* W1 m* l7 q5 z+ T
; \& b9 |2 ]/ p+ s" g4 E$ J
然后你去
1 ^/ {4 d$ K) y4 I+ n4 o
c3 G# }5 a0 ~, V; p1 i& F; M9 d( s
代码:
% t& S- G: Y( Y% T8 y
代码
& V% ?$ L4 w9 w' z! J/ M% J
BOOL TextCmd_ClearPropose( CScanner & s )
5 q6 Z, d; D: o7 l3 I6 T
{
& J [+ ^1 b" [; h
#ifdef __WORLDSERVER
: U4 D# M5 f- K7 y$ X; F$ Y
CUser* pUser = (CUser*)s.dwValue;
' Y" E# c3 I: _/ \, X
g_dpDBClient.SendClearPropose();
" m# c5 a. U" f$ D* e9 P( A
#endif // __WORLDSERVER
% P0 W9 \$ @! ^
return TRUE;
b( O8 y. m7 N
}
) W Q; k, T7 z$ j
下面插入
* ?- U7 p3 s& V/ Y( y) p, q! Y
BOOL TextCmd_rebirth( CScanner& scanner )
; U& n$ ]: u, P- i7 {4 @
{
% ?' \. G+ j4 N+ p* t8 X- I
#ifdef __WORLDSERVER
3 ^5 B( I% y& u
CUser *pUser;
& S7 F/ N7 I+ g6 v$ F% p+ z
pUser = (CUser*)scanner.dwValue;
7 u0 ^" E4 }1 X# y4 ^
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
5 e) [: o( ?. y' G7 X8 h
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
1 J0 s, w) X1 R0 L6 p; ~0 s
else
% {2 G, T7 V7 [# Y% v
pUser->AddText("你还未达到重生条件!");
' a( Z' s) _( Z' m9 Q
#endif
( V% L& W8 P2 Q/ q l2 b
return TRUE;
# a, O9 u$ Y5 p1 s' D4 A8 }
}
/ w/ i; N" o% C5 p
2 m! m ?+ L7 P/ D
9 p$ L) o9 B2 p; c" ~9 f5 Z c
# `4 K( _4 o3 K; w- x
- l6 P! N* \: w5 K( h5 A
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2