飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
& d' d3 w5 p+ ]: `
. [6 H g* g1 z. M) S4 c* |
Mover.h
6 i% v+ T% U" f( L' p
代码:
0 g1 b: N5 r, C
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
8 p5 t3 K+ j8 u' A
1 O5 D5 H: {( W6 Y' e6 o: w
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
. q8 G9 _, G" X7 E
* L; K0 B; ]5 Y) W
然后你去mover.cpp添加
. a: l2 Z- ]. R, o2 p1 j: O7 J
1 }3 k# K6 h+ M( u, [; h* Y
代码:
8 P9 J) [9 V6 f" b3 A
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
+ [* T; I% U4 e; }; e) y
{
: L1 ^0 `) i4 B1 R9 U) }( I2 n# n' P v+ p
#ifdef __WORLDSERVER
: a7 a* p) y) R# U
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
" O2 c# V+ Q) a/ X) [4 e$ s
MoverProp* pProp = GetProp();
1 H# F8 Q# K. A( R# q1 C
if( pProp )
* x# E6 Z3 E0 Z5 l) d, S
{
: }9 v1 F! X; C2 `
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
- z3 V: f4 n: A( _5 L2 D$ Y
{
7 G8 z# H- r, d$ Y- A$ {
AddChangeJob( nJob );
+ l& _. r+ n* i! e; X7 ]: i
}else{
9 C7 e/ @" F. @% U0 A
return;
) z. M: p" w4 n2 t: o$ t
}
- u" d0 q* Q1 x% n, [
int nPoint = 0;
4 n: ]6 I# ]: v8 F
if( m_nJob == JOB_MERCENARY )
6 c+ ?# n3 {' ]4 W% d
nPoint += 40;
, |' z0 w4 n8 w- v! g7 r/ s
else if( m_nJob == JOB_ACROBAT )
- e$ m, ~# l2 b, v9 i* _& M
nPoint += 50;
' H0 N# H; d( N) M! U
else if( m_nJob == JOB_ASSIST )
! O2 _. l! P! \% N4 e9 T" x
nPoint += 60;
; _3 Y- E+ A- h) _
else if( m_nJob == JOB_MAGICIAN )
% l4 X: m5 H, z
nPoint += 90;
/ b* v9 y. y5 t. {4 a
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
7 N+ N4 u: H* [- b
nPoint += 120;
( B/ Y( u+ E0 X) w; v
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
0 z* L( \9 x0 f
nPoint += 150;
/ z! l. x$ ?+ p) L9 h! o
else if( m_nJob == JOB_RINGMASTER )
- i( _( q2 }; A3 w- l# K, S
nPoint += 160;
8 j) }0 s: L: ^ P# X6 s8 q
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
3 E* \/ ]" |/ T- t7 k
nPoint += 180;
/ _: }9 j1 B: @4 `) R6 D% Y
else if( m_nJob == JOB_ELEMENTOR )
# }: A. k0 X* A8 N1 j; @# K
nPoint += 390;
( R0 p6 H( a) B' u5 Q$ r4 V
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
: g# r. L+ M$ s
nPoint += 120;
- e4 ]$ q: G/ e$ T2 }) q+ D
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
) f( u# U/ ~/ `4 f' X- j& ^
nPoint += 150;
# M' H# {" E" K" z
else if( nJob == JOB_FLORIST_HERO )
3 c" `2 }/ g) T* C7 ^5 g" E
nPoint += 160;
7 U7 E. W) }# y
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
G; l3 G& ^/ ?, w$ ~ G- O) @
nPoint += 180;
8 a' R t+ M* }2 W9 i+ r
else if( nJob == JOB_ELEMENTORLORD_HERO )
& Y- J5 ~( m) _0 Y
nPoint += 390;
% s; F# [4 W+ k5 f6 y
) z9 b' P7 } @' P; D' a
AddSkillPoint( nPoint );
3 F& i6 @3 R/ T
m_nLevel = nLevel;
5 m( p. I) F0 \
* m" t' } m# T( z7 }7 l
SetJobLevel( nLevel, nJob );
# r5 @% I* _: v8 K+ A+ }
m_nDeathLevel = nLevel;
3 G; k% A' A4 q: `& ^# v, t
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
, l/ ?' M9 T9 o" Z$ _
if(IsMaster())
6 J$ I' s9 j) E F. |
{
9 f# o9 ^9 Z: G2 \
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
' J9 c S& \/ E) S" i w
if( nLevel > 59 && nLevel < 72 )
; @% ^4 F" g5 B) @7 U& y3 @6 J
dwTmpSkLevel = 1;
8 Z3 J) `, u# e
else if( nLevel > 71 && nLevel < 84 )
1 T+ j. ^6 t, S4 Z" e5 c
dwTmpSkLevel = 2;
, r- A' `# W; U; E( I1 `- ]' p4 i
else if( nLevel > 83 && nLevel < 96 )
2 l% k! z# ?5 {) M
dwTmpSkLevel = 3;
' g/ \1 e9 z5 l) Q" W5 N) N
else if( nLevel > 95 && nLevel < 108 )
o# E$ ?, L# H
dwTmpSkLevel = 4;
4 V) x' T/ v4 d. T
else if( nLevel > 107 && nLevel < 120 )
8 w6 R: z! {" x# C+ ]! ?
dwTmpSkLevel = 5;
+ v% L4 i2 z" b* ?& w9 o+ g2 ^
for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 Y7 ?1 b2 W9 {" ?5 l3 c2 P* w. G; F
{
$ d' o* m6 _/ ~/ g! s L
LPSKILL lpSkill = &(m_aJobSkill
);
- f4 `* z, d+ [2 R% a# X3 N) A q
if( lpSkill && lpSkill->dwSkill != NULL_ID )
# ^3 ^! ` s9 k5 f( Y: q
{
% Q. s) _# ^# y7 U* J* a8 e* c5 R
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
, G+ [6 U& p+ B& U# ^
if( pSkillProp == NULL )
# ^9 v" o+ ~5 W6 n( b
continue;
3 d1 t+ w! ] n9 x
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: W5 K7 k9 y6 H B' E5 p5 R3 {
continue;
) L' W- L2 z! n* O+ K6 I
lpSkill->dwLevel = dwTmpSkLevel;
: h5 s' s3 g, ]" A/ y
}
; N) ]6 f, k$ D2 L7 F: A, t, V
}
/ l7 V0 U8 d6 `8 I/ N
}
( \6 O, x3 N$ X. P3 q2 @7 z
else if(IsHero())
9 r# q" `6 t" t6 P2 M
{
0 p& G9 f3 p* r1 C/ Y" w3 c
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' _' ~; U, `* T
{
- q6 p, |% {, }- k! m$ Z
LPSKILL lpSkill = &(m_aJobSkill
);
- _% |" i: R$ ~4 P: \4 N
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. ~6 d" l! l: ?- N" E5 ~% X
{
4 Y; K# `' U$ X8 b8 q/ U+ W0 y$ d" _" Y
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
?5 o' W" E H! O8 L/ U
if( pSkillProp == NULL )
5 Y; b& X! A, q0 @' P5 n8 i
continue;
" v& d& S( p8 |6 r
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 W6 X) v' f2 o& F7 b x
continue;
$ j% L8 r* l" u( z) B
lpSkill->dwLevel = 5;
% `1 S2 z' X3 u7 [" M
}
8 A/ H4 f& w* e1 d. k O
}
T t8 r4 @8 x- s( M
}
: `% Q+ G, r: e/ k: C
else if(IsLegendHero())
9 V; ?/ Z0 j5 ]
{
" G+ P. t( x' Y2 m: K' K
for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 o7 e& |; `8 C) W
{
3 r9 v0 o0 s$ ~3 j+ N' _) p
LPSKILL lpSkill = &(m_aJobSkill
);
8 D* {5 U$ w1 P5 Z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
5 T0 X y% [5 B( e
{
& s. ^9 z; X4 n6 b
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
. d. {0 k& R8 O1 e9 L- I8 `
if( pSkillProp == NULL )
8 `+ Z# b9 Q0 p: g7 k
continue;
. i. ]9 u6 {3 F! @. z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ _: {! c! E1 [ h
continue;
1 s3 c# w: [% ?5 o1 i6 ?' t
lpSkill->dwLevel = 5;
6 O4 _2 v8 r$ k
}
! B8 F; L# H( d; ?, }* ]
}
' ^8 A4 Z4 @( F1 {
}
9 u7 V4 @7 u0 f F7 r( d8 O
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
0 |$ T/ ^* M: U# `8 |
if( bGamma )
$ n" T! L E6 _9 n
{
$ F% @+ x# @' j8 F: O& \9 k% o
m_nExp1 = 0;
, ]: W0 {; c. e+ l. u$ L: M
}
1 [. v Q+ `8 ~1 [
5 O: [, \% a9 X+ d1 E( \# w
( (CUser*)this )->AddSetChangeJob( nJob );
( R1 |+ ]+ D1 S' o$ l8 j
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
" |" d, g! _ ], i# c5 W
# J4 H" R9 Z+ v1 f
" D5 p' |/ E3 `6 y$ [& F: R4 E
#if __VER >= 11 // __SYS_PLAYER_DATA
- V; U% u' b# G; C9 P4 x" l
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
2 E3 m( z) _5 T* M4 a
#else // __SYS_PLAYER_DATA
7 ^6 r0 U Z- ]2 @' [
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
( Q) @" ~1 N: x! ?- E
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
$ m0 d! i5 S0 D# w7 U- B4 o& y% U9 K6 q" O
if( m_idGuild != 0 )
( W9 E/ E( a' [$ S7 B7 K
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
) T/ ^8 l9 D; O, D
#endif // __SYS_PLAYER_DATA
$ X% G) @- p% B4 g* ]
SetHitPoint( GetMaxHitPoint() );
1 F0 A% p! s1 a1 v
SetManaPoint( GetMaxManaPoint() );
/ |! X% ~' {6 `7 a; p) O
SetFatiguePoint( GetMaxFatiguePoint() );
! {, N0 v4 R; o E0 M* u% D) @
if( nJob >= 1 && nJob <= 4 )
8 P s# {: V3 i& D7 g
{
* N0 o0 C, K( J' ~1 a X
m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ Y8 d* ]. t. A
m_nRemainGP = 28;
$ }* Z) I5 T4 `% d& @8 V: v$ A
}
, Z" R2 R9 e5 E( _* t3 u+ _/ N* w
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
( S. M/ U/ F: H0 _5 i7 e% N, i; R
{
! k. t% v" l0 j! }9 s8 }
m_nRemainGP = 118;
6 h1 g% k& G4 f
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
, T- y4 Z' h4 ~5 y) B
m_nStr = m_nSta = m_nDex = m_nInt = 15;
. [7 C) ]/ O4 w+ f% a& O2 ?
}
/ D3 Y V' a! C1 K" C0 Y) K
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
4 m/ c4 i! e$ }9 \5 Y f H' @
{
9 k# j+ q6 s6 W: _2 }
CItemElem itemelem;
% z- I7 v) P l m
itemelem.m_nItemNum = 1;
! T* k- F: I8 N# Q! I& E
itemelem.m_bCharged = TRUE;
" u* K( S0 l* ^' z+ F2 |+ R
BYTE nID;
% p) Z6 u: I+ d4 ~
6 u M. ~) N) t# b
if( nJob == JOB_MENTALIST_HERO )
, x; w5 Y _7 ]" h" W I' }
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
7 h. {% Z& j+ |9 T* X* N3 m
if( nJob == JOB_FORCEMASTER_HERO )
# V% W* `* [* q, d7 v( j
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
8 ?5 v, K/ V2 X: o$ @
, l" K0 l6 ]- R' ?& y+ c
( ( CUser*)this)->CreateItem( &itemelem, &nID );
+ x3 V! o( F/ g/ R7 g
}
- o0 W' N% I) t5 G4 u o# X
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
( L, U6 I" Y$ `) W" q9 \
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
# E& |/ c" W0 Z& \* p
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
7 }; w$ A9 B+ N" [) Y/ ~
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
' D2 P. z' c) S1 o& ~( d/ r
( (CUser*)this )->AddTaskBar();*/
! g7 c& P8 Z6 n% O, i, U# D
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
5 @8 T5 a ]. q' I7 @
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
; b7 v2 s; p% N2 r' u: [! }
((CUser*)this)->CheckHonorStat();
" C4 a# W) B2 I5 H
((CUser*)this)->AddHonorListAck();
+ [# ] E! m" T w9 z. ~
g_UserMng.AddHonorTitleChange( this, m_nHonor);
2 X4 ^# F3 |6 G6 \0 c- w1 n/ f
#endif // __HONORABLE_TITLE // ′Tà?
8 j1 m( m6 K# B& v9 ]! w' l# c
}
% m# W/ `, d6 t/ O! t
#endif // __WORLDSERVER
0 x- m" L x* ~
}
' M7 \% X8 C; U. N- S' s7 A( e( W5 i0 X
4 E$ l1 R5 } F, R ?9 ^
然后你进入functextcmd.cpp并添加以下
2 A$ f0 x% @; f0 M$ s
# E, H7 D# N# ^; ]5 h1 n8 w
代码:
" m# A+ N" m1 Z- l
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
% M" Y: x' ^# k: Q! ]9 s
下面插入
8 n" Q! [& R$ Y) ~8 @( [* }
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
, O0 _3 s) {4 N* H6 ]: H
! A( X3 @- _) N) {7 o" T5 F; m
然后你去
& @8 C @- ^0 W0 D5 B0 v
, K$ ] J6 }; ?/ m& C# m5 C
代码:
6 g4 \. B1 k, |/ o
代码
' K- X, t; \% [1 ^; [. N, ~3 Y4 ]; J8 v
BOOL TextCmd_ClearPropose( CScanner & s )
* Z! D) k" n9 B- i. r# B
{
4 i+ p2 h8 ~$ L
#ifdef __WORLDSERVER
8 Y0 G* ^6 d2 r
CUser* pUser = (CUser*)s.dwValue;
- m Z( A, ~6 g$ T! E, m8 q
g_dpDBClient.SendClearPropose();
; l: B" T: ?3 J" a: v- R9 B
#endif // __WORLDSERVER
& B! P& H1 n7 t2 Q
return TRUE;
g* o+ _# V: c2 B6 P0 D* A
}
! t( |) I1 N; w j" {) Y- P0 S
下面插入
7 b7 b9 R C0 B% y) v: b2 M4 ?4 L
BOOL TextCmd_rebirth( CScanner& scanner )
; T p. P) Z. \6 V
{
9 M# E4 ]( L& [- r$ `( M' [
#ifdef __WORLDSERVER
$ a3 \. \* N( f; I. W
CUser *pUser;
, K/ `2 N) c. c0 c" M. X4 w4 U/ U
pUser = (CUser*)scanner.dwValue;
* o, M5 f# l. v: v/ G
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
$ A# d* I0 l. R
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
; Q) K3 w& C, m! S2 o" b
else
y3 s1 K- l! F( E$ f$ u) e# U
pUser->AddText("你还未达到重生条件!");
% N9 j! G0 V, D( c; R' ]
#endif
4 O6 c+ D* V$ d; K7 F2 n5 O
return TRUE;
; ]8 ?2 Y& V: z6 z4 ~# M
}
% z- }# |1 T, d- m! T& S
2 ~4 D- @( y4 O7 v- |, o( j
6 ]* d1 H7 S) [) M
, Y" Q# s5 P5 O% C3 H9 }
7 }& A0 G2 _! g' e1 Y
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2