飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
/ y% k1 w; \' I9 D, B' y0 U9 S
0 Z$ Y9 e: a, T- I* ^2 u6 d; R
Mover.h
# M4 i v' w; e: w
代码:
1 U8 G, K! p, ^( K
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
' R' T w, S* c/ h2 o$ b
' B9 X( r' m+ I2 x
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
4 t- C, O1 q" [
2 S- z9 Z/ H3 m; y6 m8 N2 d
然后你去mover.cpp添加
) r5 e p4 k2 C
) I$ Z1 B8 U* Z
代码:
$ J: B1 q8 ?* ?" T+ c
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
* w; ?0 i, \( u% a- A7 a1 Z: A
{
0 Q! H+ j" k( Y* _, f" N+ t6 [
#ifdef __WORLDSERVER
6 D* ]+ Z4 K+ `/ c. p' l
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
, h& R6 k! m# S- y" n
MoverProp* pProp = GetProp();
$ u L2 u! C, y3 t( @/ C4 n
if( pProp )
: @( l# f' }$ E, L
{
) j0 R+ x6 R8 K0 r4 P
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( V& m0 b& ~8 I
{
( c% U1 y6 c. P4 U# S
AddChangeJob( nJob );
" F2 u3 U# [4 _' P( T4 h
}else{
0 `; Q; r) B6 W+ q3 M; q
return;
0 F3 p. g7 `% m8 G
}
6 G$ L5 \+ A! C) H
int nPoint = 0;
9 K, ]$ a* r; j. m- A2 Z4 I; j
if( m_nJob == JOB_MERCENARY )
1 X) m3 f7 i; ^' l# a. d( P, z! f1 a
nPoint += 40;
- l; r' O0 D5 T& k" T
else if( m_nJob == JOB_ACROBAT )
4 }2 b0 m- h, [$ z8 E: d* d. ~
nPoint += 50;
% R. y% Q. W( s. s8 W3 [
else if( m_nJob == JOB_ASSIST )
$ o% R# X. e( T$ E6 _: S, I9 T
nPoint += 60;
* u/ ?6 e5 W4 N! A# m
else if( m_nJob == JOB_MAGICIAN )
1 \ _7 ~1 v5 R9 o& U4 k2 U
nPoint += 90;
8 L' u+ y; |/ S) O8 r2 g, d& L+ F
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
2 L0 J) o0 l: c6 N- a6 A7 ^
nPoint += 120;
0 H* p5 M- s& y7 |4 ?
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
* y7 l# c5 }1 K& s, J
nPoint += 150;
8 ?, d; N5 V$ F3 o
else if( m_nJob == JOB_RINGMASTER )
; q; t) w0 E! D9 R% ^+ B5 Z6 @
nPoint += 160;
7 I" j, J- A3 \' t. v, ~" @9 [$ Y' @
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
' i) U, `* M- X. \( k( e: j
nPoint += 180;
]( d+ |1 U H, f+ J
else if( m_nJob == JOB_ELEMENTOR )
# T3 }' X9 |0 E0 L$ l% s" f! Y
nPoint += 390;
( O- w9 Y! i4 q& Q7 P) x
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
8 ]/ B8 }& B- O2 {4 j0 ~, A) U
nPoint += 120;
3 W3 u. a3 }$ O5 k2 G
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
* \) q: {( T5 P7 W1 U7 [
nPoint += 150;
( J7 N/ Z) E" w6 z4 `
else if( nJob == JOB_FLORIST_HERO )
2 }& M- ?- j' v$ c# H' Q+ F
nPoint += 160;
7 P6 ^/ B" p# Z
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
" Z" G4 O! U# U$ P
nPoint += 180;
) x% u9 H& c f( W, {
else if( nJob == JOB_ELEMENTORLORD_HERO )
, C6 k: F$ {- w( h' e0 q& g \
nPoint += 390;
; U* H4 W6 x5 e4 n4 a
, N2 o/ Z `3 A, k. p, R
AddSkillPoint( nPoint );
6 ^/ p* r' ]6 t; X) P" T& y8 G0 K
m_nLevel = nLevel;
5 Y t1 n" ?' v5 ]; l H: e
! D+ V& b! D% \* ~' b) S
SetJobLevel( nLevel, nJob );
- i0 |% \$ E. C/ o+ O' e3 f( d
m_nDeathLevel = nLevel;
7 z |6 m! z$ y; C% L7 A B' O
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
* ]% w: |# D( Z
if(IsMaster())
1 c- Y; i8 {7 }7 p
{
2 A8 m, ]& P* q9 Q
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
( ^; @- q. z% U! O/ _+ K# a
if( nLevel > 59 && nLevel < 72 )
# M/ ]: ?* j! D: P8 ?9 y
dwTmpSkLevel = 1;
* I) d* f0 y( g. L
else if( nLevel > 71 && nLevel < 84 )
2 j3 Y$ H; q# \7 e
dwTmpSkLevel = 2;
0 ~- S( N5 F* P8 i" l8 X V
else if( nLevel > 83 && nLevel < 96 )
) I! b) O" x4 o! a3 q r% d
dwTmpSkLevel = 3;
9 J# `6 W6 H1 [& M
else if( nLevel > 95 && nLevel < 108 )
! M) H4 s1 S+ V: z( h3 e
dwTmpSkLevel = 4;
8 @7 F$ J# V9 {% _
else if( nLevel > 107 && nLevel < 120 )
! f, A0 a! h( \' H8 Y( d% x
dwTmpSkLevel = 5;
' E. U( B) Q1 R- k' Y
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" Q" m3 f( i9 M4 g- O' c
{
% C& |" R3 |0 w, p
LPSKILL lpSkill = &(m_aJobSkill
);
7 P) E# \2 P6 _- L
if( lpSkill && lpSkill->dwSkill != NULL_ID )
: @, x9 u6 J( f+ k( S
{
: _+ S1 b) U) J
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% x, Q% r& Z! s) Y a
if( pSkillProp == NULL )
+ P/ _ D, C& Q+ p$ _7 s& e# l
continue;
' w" c- v# q3 P4 w- M
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 `' N# s$ z* N- m6 y
continue;
+ m' O: M* t$ d+ _
lpSkill->dwLevel = dwTmpSkLevel;
^8 s3 a- X# f
}
' Q1 e: ^' g; I5 l
}
* Q4 l, s1 _+ \+ |7 F
}
$ D" ^: d9 d$ v6 P+ u
else if(IsHero())
. Z" R# b* a" c/ P
{
7 G9 \5 Y- N6 Y- k# u: S: l
for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 l: b' _2 g( M% ]
{
$ x# L2 w5 H; y$ r7 L
LPSKILL lpSkill = &(m_aJobSkill
);
6 A: ?# E) U" Q* u1 L
if( lpSkill && lpSkill->dwSkill != NULL_ID )
w$ @3 S* P, B# G5 l* Q1 t4 @% D
{
5 a2 @- T) A+ z! Z
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
# ?; Y. h5 j/ F& Y8 \
if( pSkillProp == NULL )
Q% X' x, d. ^3 q9 ]
continue;
5 t( a0 X) ?; c: ~4 a0 K7 _% l: o
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 m0 h+ S3 N6 z9 H- U
continue;
' k/ E. C2 G) ~
lpSkill->dwLevel = 5;
. O2 H7 E$ k/ W! A b7 y
}
z9 A/ E# Q# q5 D
}
% N5 s3 q3 P* M% n+ L8 V) l- f$ k
}
' ?7 q! z2 S! t
else if(IsLegendHero())
0 _0 R- ]6 r7 r. p+ `! H' T7 A
{
: B: Q, z: A- S: m% e( d# d5 B. r
for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 I5 B" `9 q7 H4 A* k
{
3 ~/ E& f. G) _8 K8 b. A n
LPSKILL lpSkill = &(m_aJobSkill
);
' j+ L" R7 N! B# B w: Y
if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ T4 ?5 n* r) k
{
& u' m/ |( u7 q7 _% b! z
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
' B" u* E( S- W8 u+ F: @
if( pSkillProp == NULL )
' a% L% X$ q+ o) I5 y
continue;
4 B; [. f7 }' L8 V% D
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 Z& y% A1 b7 F& w' z, B
continue;
0 Y( G. X% b9 [2 ?
lpSkill->dwLevel = 5;
9 ?! ]6 `. z1 b9 j
}
' G9 |5 o! n% e( G. w: W# z
}
0 c0 _! \) w5 U5 G) Z- H! n5 |
}
! Q+ @: k1 I, S9 M6 }
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
. s' C y0 V4 g: C, G& ]
if( bGamma )
5 O" H5 v% M- J6 Z
{
# T0 f5 I3 E7 Z$ C, p9 x
m_nExp1 = 0;
& V# }' c' l# r& j3 A1 j
}
8 G1 E* C8 c3 Q' z3 l3 I% W
* H; r5 e/ Z0 Z8 C
( (CUser*)this )->AddSetChangeJob( nJob );
# T! U! O% w9 \8 D8 `) g
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
& v' |! G. R- E7 V+ p5 }
. q$ j* H: [4 U. ]' P; u' Z5 j+ ^' r
* x/ G: ]) U% j- T2 U# N
#if __VER >= 11 // __SYS_PLAYER_DATA
, z& `7 q% K+ }2 g6 G+ E7 U
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
* Y8 v9 i7 r/ d
#else // __SYS_PLAYER_DATA
8 Z' k {2 M1 [# X
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
; d2 y" p4 O# ^" W* V4 i
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
6 e! G- K# V6 D, z. Q" p
if( m_idGuild != 0 )
& k3 h( [% k$ B- G6 m; J) S
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
8 I2 k q! l) ]2 N" w% z
#endif // __SYS_PLAYER_DATA
D% ] J- P% v" w% q* M- C
SetHitPoint( GetMaxHitPoint() );
8 d2 B O3 w% u) A
SetManaPoint( GetMaxManaPoint() );
) D* x; c! E* u; Q6 S5 _
SetFatiguePoint( GetMaxFatiguePoint() );
/ T. g1 R6 [: L V$ [
if( nJob >= 1 && nJob <= 4 )
- Y# p& V' w0 X9 b% h( Q
{
0 d$ {3 w( ~& C9 p/ r& U% [+ t
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 L+ ^# ^5 ?) R# `3 [
m_nRemainGP = 28;
# L3 N. G6 D7 f# \. L
}
3 |1 p6 M, S+ V5 q# a# N
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
) ~9 `0 ~% f4 W. U4 u, F/ m
{
6 U' g+ z' k1 i0 b/ a; g
m_nRemainGP = 118;
8 T; `% G2 [: n* X% S( e
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
: X) _) M; p2 w1 D
m_nStr = m_nSta = m_nDex = m_nInt = 15;
4 k" f8 M+ I* f7 g! G
}
0 _, z+ h! j- q; Y. c2 `* T
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
4 v) N: P8 D* ]- U! ] M' c
{
0 U- |: n7 N7 A) z+ b
CItemElem itemelem;
0 r F+ W! i, B1 x
itemelem.m_nItemNum = 1;
% T) c0 Y8 O. z/ V3 g0 u$ Q4 {
itemelem.m_bCharged = TRUE;
7 e' F/ L8 D4 Q( a* _2 {& z
BYTE nID;
' z/ {; M: o" I6 Q) o9 r1 b
( }# z' I- f5 p
if( nJob == JOB_MENTALIST_HERO )
: v2 s3 }5 h% N1 D$ j f
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
" |( @8 I' N6 `* P% I
if( nJob == JOB_FORCEMASTER_HERO )
1 e) K+ I3 L4 y/ g3 J, m
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
2 W4 N0 y' Z3 u2 p9 }
; e5 ?* Q6 A2 i, r0 m% i
( ( CUser*)this)->CreateItem( &itemelem, &nID );
( B# K/ @. Y7 ~' q" i# R
}
8 z$ s% j1 [) Y* l' t4 [
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
7 v8 q0 e! r" r- x' W' O( J
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
3 d) I Y9 z, p/ k4 _& m
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
- N, w# I- r/ U! p2 Y3 d! N+ y
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
3 P% Z: `# N. Y9 \0 t% ?
( (CUser*)this )->AddTaskBar();*/
! p; j7 s9 w/ m" g5 ~/ I
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
0 Q; Z# Z% l- Z
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
9 {1 J( z* i& [% l
((CUser*)this)->CheckHonorStat();
5 B% D% p" ^2 I6 ]4 A$ J& I
((CUser*)this)->AddHonorListAck();
! Y6 c8 ^: k4 B
g_UserMng.AddHonorTitleChange( this, m_nHonor);
. o" k! R% X# q9 |' u1 @6 P
#endif // __HONORABLE_TITLE // ′Tà?
5 E* `! p7 ~9 j0 Q5 [+ W1 |
}
% | m; Z* \( X5 C
#endif // __WORLDSERVER
' E! l/ R5 n, o. j' ? i& c# d
}
3 ^3 Q9 u5 N7 d6 u
8 \& r8 ^/ P# ~+ w2 g
然后你进入functextcmd.cpp并添加以下
2 ]( l# d# w& a9 k: _. M( S
" a/ R1 e$ I ]6 _' V1 l3 V
代码:
: A' Z5 g! Z3 W0 V5 J
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
' z! c8 F5 b2 @" h/ ~
下面插入
/ x7 m/ t) p6 v! e* m
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
8 W4 m2 O; O( S/ R/ c, ~' V& @
$ A; q6 `5 K! R7 \! F1 z
然后你去
6 h! p0 o4 P# t4 |* ]2 d c' A
; {% g4 M X3 L# q/ K6 p1 t' a( ?8 R
代码:
" K- K; N( v/ Q
代码
a) w9 O6 v* N: z1 v9 e! k, Q
BOOL TextCmd_ClearPropose( CScanner & s )
# i6 I8 l7 n! G$ t
{
) s1 S+ L! P" G. j, r2 ^1 M
#ifdef __WORLDSERVER
; r$ {" l0 F" [& L
CUser* pUser = (CUser*)s.dwValue;
2 ]' K# W( W$ @0 o0 `: \) T
g_dpDBClient.SendClearPropose();
3 ]( h, z7 x/ b3 X4 F6 X
#endif // __WORLDSERVER
/ J4 g1 i$ R+ \- l" a
return TRUE;
6 x% N! K5 U- K& Z+ N1 D/ _- T
}
4 I5 c* D9 l& K# R: z9 k# R
下面插入
" c3 Z) I' F& M- d9 w" P9 }
BOOL TextCmd_rebirth( CScanner& scanner )
3 B) T& Q5 j. Y6 Y; O s+ F
{
8 u: `# g/ r; t" ~' k, K2 D7 B2 G2 I
#ifdef __WORLDSERVER
8 Z% L2 [# @: |2 `3 w* \% F4 H. D ^
CUser *pUser;
/ x$ S3 ?& o3 ~: X+ Z
pUser = (CUser*)scanner.dwValue;
+ _( t( {! T' C2 s& d
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
. P; L# w0 l7 _" c& ]: `1 b* D
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
& _7 B N9 ~# o ~" _
else
. j2 P8 m+ E: |7 Z
pUser->AddText("你还未达到重生条件!");
5 ^9 R% @4 |1 U3 j
#endif
8 T4 i3 `9 z& v" |' x' }
return TRUE;
) d* s8 r' j( a. U% w
}
8 M: G, M2 c: R
3 d6 `0 s1 ~0 L$ b; h+ d" i8 Y% ~! K
{( \( X1 u y/ Q" }5 c$ s
+ u% T$ @3 U6 y9 |4 V) I, H( s
! @+ y1 m1 t. s+ z; i
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2