飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
5 D7 N0 N5 D" Y1 [
. u! R3 K9 @2 ]! \* Q P
Mover.h
# T% {9 g2 y& e4 N& U7 F3 \+ p
代码:
~* u$ ?: w. ^ v! W
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
2 w# O' M t' ]( \) q
- R! L9 u) Q4 ?5 ? Q' y
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
& v1 P. e/ F" f: M
% C+ o; J" L- O
然后你去mover.cpp添加
' ~( G* y9 V+ _; L- a( d( q; ^
; {9 F, g) c; G. l# v/ w: q
代码:
2 ^9 @5 a! D* k" a c% F+ y
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
5 p, U5 j/ V* B3 N0 z, |% Z
{
? N4 [: S* L3 J% X- p
#ifdef __WORLDSERVER
4 a9 X$ T6 C2 K0 Z( U/ Q# z
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
3 e1 I0 I6 n# ?7 [3 E
MoverProp* pProp = GetProp();
; j. ~( _3 [& z( ]
if( pProp )
# I" a) N _2 ]0 R! g, g* s
{
/ G4 E" V6 y* G! j; \6 x
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
8 _; r/ Z" {. y- q8 u
{
. w2 o+ B0 F5 y7 a1 z
AddChangeJob( nJob );
5 b5 J! C% f3 \7 q: [; M: l
}else{
7 w/ N5 j8 w& ^1 |% m
return;
1 ]/ ?5 q8 ]- U& z9 I
}
- A( g4 k4 ]% C1 U/ P
int nPoint = 0;
3 [ t) d, s6 n& i8 H& R
if( m_nJob == JOB_MERCENARY )
1 N/ R. E5 b# P& `* j
nPoint += 40;
6 f% b1 U2 b; G# v3 x1 s% u
else if( m_nJob == JOB_ACROBAT )
! O0 Z6 N9 |# n4 o0 {+ t8 i% c
nPoint += 50;
( S" P4 ^3 \9 o# V6 i. ]: |. J
else if( m_nJob == JOB_ASSIST )
' ~% l$ c- ~# W
nPoint += 60;
; I. d' R& a4 C, Q8 f& y7 r8 P
else if( m_nJob == JOB_MAGICIAN )
; t8 Z( c$ [8 \$ }4 @1 l
nPoint += 90;
* m. q' |( C! I/ \. J, G! y
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
8 n, c, m5 ]& u/ p5 h
nPoint += 120;
5 |# g0 t" D; _$ l0 F: |
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
% P/ e4 }- y1 I" \% @6 x
nPoint += 150;
/ G1 M- f% L) x* s& v& J- q
else if( m_nJob == JOB_RINGMASTER )
: r. z8 I' q, c, J# \
nPoint += 160;
0 ?+ F: l& s7 x. W" b
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
/ z* Y+ P0 y& r5 R8 Y; N+ h
nPoint += 180;
6 ?6 ?6 n* n) O) O; x9 m
else if( m_nJob == JOB_ELEMENTOR )
$ z1 r5 `% S# B. J" Y. U4 D
nPoint += 390;
' u0 p; r* P6 c8 z6 D3 L! ]" D
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
8 u7 y9 \/ X7 w" I: z0 E0 Y/ u) ^) z4 I/ C
nPoint += 120;
) C8 m$ o" i* ]& r
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
" A4 V4 m8 b9 F4 O" i7 E* Q" v
nPoint += 150;
* P4 Q* H4 d+ K% ~ p* n
else if( nJob == JOB_FLORIST_HERO )
8 n5 e$ M$ p' x: B" @" }1 b
nPoint += 160;
3 t2 Q7 `7 ?* L; t
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
3 |* D* Z6 P/ X
nPoint += 180;
# w! H( N6 Z* |) a* _0 i: u
else if( nJob == JOB_ELEMENTORLORD_HERO )
- v6 r- O3 I6 a! o3 g- C5 b8 B" a
nPoint += 390;
. W" H! o ]& z" G2 F
9 l; Y+ z) ^3 G5 B
AddSkillPoint( nPoint );
9 m* u2 u9 @1 Y) D
m_nLevel = nLevel;
+ q7 d) ]% o# ~: l) a4 _
- R% u% @' |1 f# E7 b( P3 O
SetJobLevel( nLevel, nJob );
. W6 j! q% o; k1 v- M/ @! n
m_nDeathLevel = nLevel;
' K: L# P3 J% J) ?2 O' [% P
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
! Z7 W+ K9 i/ V9 `9 y
if(IsMaster())
- H o% _ V1 m e
{
: _$ }! |' g5 p* X9 K+ D" v
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
6 Q* J5 w7 h: L9 A, c3 V
if( nLevel > 59 && nLevel < 72 )
! }* s* _3 {5 ` f4 Y
dwTmpSkLevel = 1;
) ^2 E: ~# v# u9 ~0 w
else if( nLevel > 71 && nLevel < 84 )
* c# X7 c4 W! y* z1 L
dwTmpSkLevel = 2;
+ Z9 E% y7 a8 W2 s2 Y9 ^
else if( nLevel > 83 && nLevel < 96 )
$ G: {. O8 m0 z
dwTmpSkLevel = 3;
' b5 A! c. a+ ?! k
else if( nLevel > 95 && nLevel < 108 )
5 v) `5 _0 T. p
dwTmpSkLevel = 4;
4 ?' d3 x( F# x, m
else if( nLevel > 107 && nLevel < 120 )
7 e8 m5 @) ^1 S$ f
dwTmpSkLevel = 5;
3 ]6 h- c0 I8 O( N
for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 ^: a# l% u- B! z3 A1 J
{
( ^* V' e W" z
LPSKILL lpSkill = &(m_aJobSkill
);
* @& ^- L/ k2 L! m; W9 X
if( lpSkill && lpSkill->dwSkill != NULL_ID )
6 f& {+ v9 U9 V5 V; w
{
& P1 O( T& L( L
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
4 v( c v9 p0 b# @8 X. d
if( pSkillProp == NULL )
/ J0 ]& o. z' N* H6 }
continue;
: r; q4 O5 L3 h5 R! k2 \; i, Z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! w1 p1 e6 J! B' n
continue;
3 [7 ~0 v' q1 }! g& U
lpSkill->dwLevel = dwTmpSkLevel;
* i$ T% v* v8 T/ A Z9 z j
}
8 S/ |- N$ C1 N8 c( d- j
}
8 @4 p! Q' r. U( B
}
- O% P3 v& h" a
else if(IsHero())
" Y7 H4 X0 S5 X) m6 q4 Z
{
; m' V7 S3 T5 j4 H2 d- B
for( int i = 0; i < MAX_SKILL_JOB; i++ )
& `5 @" J/ |8 T
{
- T7 n `8 O& r z
LPSKILL lpSkill = &(m_aJobSkill
);
G* |& a; L! S6 Z, q) t
if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ Y1 i* j9 X4 q6 u- m4 t8 X
{
* z) c8 c. q _ M
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
6 f v, F* Q2 C- C. ]5 w2 h* H; J! w
if( pSkillProp == NULL )
_; m$ M* W- z: O) S4 g& W
continue;
2 j( p3 y: G8 F" v/ s
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' n: ?8 a4 \. m1 d6 o$ F
continue;
. v3 D3 D) U3 R2 I9 M8 h! t
lpSkill->dwLevel = 5;
6 l H: B) w" }* t( K0 ^5 q
}
$ n5 [3 V% V, J: R
}
1 d6 s4 a& H' K6 z7 j% Q
}
8 S" k- L8 f2 i2 L
else if(IsLegendHero())
; [1 O( o" v' q1 D
{
( o2 E& [$ ~( g
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" t* r5 Z/ l$ ~# i
{
* x% j) B1 H, B a
LPSKILL lpSkill = &(m_aJobSkill
);
7 Q! [' [/ ?! x) U% X
if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ ?& Y; k7 k& G0 `6 ]
{
4 ?0 V5 v1 P' X$ _ q# f5 P2 y
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
+ G- v J* e+ a* O/ B9 {
if( pSkillProp == NULL )
' ^# T0 W6 Z2 k. J, i# J
continue;
" P# K1 b4 o% M
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 z+ }: n _* R6 u: [) h& G
continue;
4 u# c5 ]. x c* M4 j) T
lpSkill->dwLevel = 5;
5 n0 `3 [$ d$ R0 T' g% J; U% T$ {
}
. T* r( U. v: z: Q/ R4 F
}
1 M: Q. r% W% T Z R
}
$ ~& G4 P6 l3 e' w& S+ M
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
7 O$ A; `; a3 t& X
if( bGamma )
$ D7 z- y+ Q2 p2 y# |) m# t
{
. R0 c! O1 e- o1 n
m_nExp1 = 0;
* H$ F' [. S h' w7 N
}
' a1 N2 ?8 G+ ]4 v! x
4 \+ [" k, @- p- L: r
( (CUser*)this )->AddSetChangeJob( nJob );
7 t, h' y4 {' S4 z3 \) z3 K0 k9 j
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
* P$ H5 k! }) J! U4 ^" o8 e: M
6 r$ p# h) X ]8 E' C6 Z- p0 p" t
Q: Q: W. u- x) Z, j! R% @ k
#if __VER >= 11 // __SYS_PLAYER_DATA
8 `0 ~' X# e+ J4 q7 t- D& G
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
3 K' n" e& ?! @5 J- M/ R% \
#else // __SYS_PLAYER_DATA
1 a0 ?3 m5 ^$ M( `
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
& K) Y$ \: Z ^: I0 d
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
/ E5 j2 A6 R6 J
if( m_idGuild != 0 )
& ?/ w. S" T5 W5 ?3 ~
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
9 f* l; b* i7 n* z
#endif // __SYS_PLAYER_DATA
8 t- B5 X; @2 r% Q- Y/ p
SetHitPoint( GetMaxHitPoint() );
/ q; S) s& B4 e. M. d' s/ B5 G/ a
SetManaPoint( GetMaxManaPoint() );
% q# _ ^4 h: i+ T9 l
SetFatiguePoint( GetMaxFatiguePoint() );
& Z9 r5 L6 u7 K) L/ o
if( nJob >= 1 && nJob <= 4 )
: j& ~+ D; n: y' c
{
+ @2 ^4 C/ J* f9 Z& J- l k# o
m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 c% q5 N1 T5 t C& i2 `
m_nRemainGP = 28;
+ E. W' i2 H9 L0 H. ?
}
2 L' L, n! m- T% ]! Y4 Q
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
7 y; p% G' D0 l# m. l7 o
{
7 p' J- G1 r9 j& F/ ?& g T
m_nRemainGP = 118;
+ x! Q" D5 r/ A7 Y, I( W
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( ^3 B* p) D/ ^9 s
m_nStr = m_nSta = m_nDex = m_nInt = 15;
' S. y9 R$ f- H9 P# z1 ?
}
1 Y T5 E/ R8 K4 c6 ?# z
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
5 r% K" m& K4 s/ H4 T
{
' Q( V$ h0 ?2 Y9 x/ P, X
CItemElem itemelem;
0 R2 q$ [, S9 q/ U5 L
itemelem.m_nItemNum = 1;
- [# x# \6 Y+ n3 | j2 v
itemelem.m_bCharged = TRUE;
6 o0 }5 d1 ?+ G: y i/ F
BYTE nID;
% _# k' @0 R# Y
6 x0 {& S- d9 \9 |: T4 D
if( nJob == JOB_MENTALIST_HERO )
; M! H, j7 t8 _( u- u3 H
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
h) `% S& }1 s% ?% z* p: a! v
if( nJob == JOB_FORCEMASTER_HERO )
. \- ^, t+ s7 s
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
( d6 q. I# _+ {' v, V% \, B- J
2 U X6 Y8 b9 `; h: Y
( ( CUser*)this)->CreateItem( &itemelem, &nID );
7 P0 ]4 O3 v$ f
}
R9 S: G9 F% J+ I, O3 Z/ N! t
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
: }7 S/ J% ^7 |6 f% A
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
6 H$ ]* q8 c" ^ p
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
+ R( S- e3 ?1 q) x. y8 \( V/ s
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
5 C' l! ?# D* ?- t; ?! E* \% D
( (CUser*)this )->AddTaskBar();*/
$ }7 o9 ?/ d! W& C. J% }7 u
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
' H! f7 C7 J! M% B J' R/ k, @
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
: B+ [0 u8 r+ @( [- x% r
((CUser*)this)->CheckHonorStat();
* [8 z* e7 @4 i, h
((CUser*)this)->AddHonorListAck();
1 v1 x) c% x" O6 k9 |+ A% n
g_UserMng.AddHonorTitleChange( this, m_nHonor);
* v* s4 k8 z$ C4 d4 j7 C2 P
#endif // __HONORABLE_TITLE // ′Tà?
% X% t/ _! L* [
}
5 S% f( E) D) F' ?. P% t7 F
#endif // __WORLDSERVER
9 f$ \: u9 Y9 [5 l; a
}
4 k! U- _ V m2 u
6 _; g( T, t, m% O
然后你进入functextcmd.cpp并添加以下
3 {/ x6 S% K+ E
/ Z- d, j- F& `
代码:
' \7 |3 C4 R, {0 F0 Q
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
d# e( t5 T# h+ p, F J
下面插入
, y3 Z! K( ^7 a) ], t
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
* W, z$ K4 O r: H$ J: G
( e0 \$ W! i ]6 A j* @5 G4 b$ S+ J
然后你去
2 Q$ q4 i1 a5 H9 V% ^+ K
8 ?7 D) p7 d, m0 v' l* H
代码:
- o( D* g V F( `7 P/ Y
代码
9 h, R6 Y& M2 K! S# F
BOOL TextCmd_ClearPropose( CScanner & s )
$ Q0 n# q: O/ `
{
8 r( `& M1 z: J# S$ _- o. b5 z
#ifdef __WORLDSERVER
) @% K3 f6 _# b/ X- e& t1 k
CUser* pUser = (CUser*)s.dwValue;
+ i. Z% a- {( k% z: {/ v
g_dpDBClient.SendClearPropose();
5 [3 R# p, V7 p4 ?5 \5 V" |
#endif // __WORLDSERVER
1 Y6 n# H }) i4 Q$ I+ D
return TRUE;
% T) E3 A1 g4 t6 r7 q) a2 a( U& i
}
! W0 P/ e( s" G7 u# s& K
下面插入
+ _4 a+ }7 Q) V3 a
BOOL TextCmd_rebirth( CScanner& scanner )
" ?8 a5 \ j' q6 {* n9 { v
{
0 _0 J9 s+ S( h" W% l
#ifdef __WORLDSERVER
7 _. C8 @# p8 b5 C6 x
CUser *pUser;
! P$ a9 Y$ u {
pUser = (CUser*)scanner.dwValue;
; u( B4 _# r$ O3 i# Y, @* y
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
( ^4 K4 K r+ L* z
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
) b6 ~# C4 O4 e% k' a
else
; p7 ^- x9 r1 P3 g- j4 U
pUser->AddText("你还未达到重生条件!");
4 A8 I8 c6 Q& p' D
#endif
0 b+ r2 b" g& G( ]
return TRUE;
: N1 r8 B% H: P6 ^4 c' N5 J7 {
}
( l; H* ?, r' a, S2 P0 _
; n& }" u) S' t) e M1 D* D" @
2 K2 D a# X* N" Z0 X% o3 {' {
v+ A5 b" e4 m5 q+ x
4 f! w: u; P, U
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2