飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. V7 [2 s; T3 W' a% f/ N
9 E" f9 |+ p& G, t: ^7 y: g
Mover.h
* \& i: R! Y3 H
代码:
1 b, a$ r2 {7 `: m3 ~5 e! S4 N
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
9 [* d# R" I) V Q t
0 b' P( t7 T9 }* e2 e! }5 `
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
2 A8 U) ]; P7 Z! R: c7 W
* t4 n. n& }: c# l Z+ y8 J
然后你去mover.cpp添加
3 i" g2 x" ` x- ]) }
D, O) A @# }2 G; t7 G
代码:
( R, A* N7 R1 t. H
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
+ S$ O. i4 _ r2 ~& g" s) t: D9 u
{
( ? r2 q1 |0 O0 u3 r- R* h, L
#ifdef __WORLDSERVER
* ]3 S7 @* O+ Y: ?6 n8 s
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
2 {( @$ f& J% |, ^- L
MoverProp* pProp = GetProp();
1 Q0 K! n5 y7 T) m) r# L3 m. G
if( pProp )
% r8 R$ T! {' h8 B. q2 c
{
. C+ d" p, w6 u# l' Y0 D* P e
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
! a6 m, [% i- ?5 X! ]
{
/ {! a9 ~, V- N. D
AddChangeJob( nJob );
7 \. p% M6 L; |: r
}else{
]' ^7 Y! H' L( y
return;
2 D' w4 n* r- N! e" K
}
u( x( b+ @7 q- O0 @% k+ k
int nPoint = 0;
( n4 V8 `8 v3 k( {* C
if( m_nJob == JOB_MERCENARY )
9 `# A1 w# v& F2 V: I3 r
nPoint += 40;
# f# A# P* _! ]4 r
else if( m_nJob == JOB_ACROBAT )
: z$ r5 ]1 ]6 p* H# [0 X
nPoint += 50;
, T, ~' o" ]& I, O# ?4 d
else if( m_nJob == JOB_ASSIST )
# x4 m# ~# {$ ?1 W. G3 c$ U5 G
nPoint += 60;
F0 X; v* E: C; [4 G! L; r8 w8 f
else if( m_nJob == JOB_MAGICIAN )
( E4 \, x+ R# b: l+ R
nPoint += 90;
L2 G, Y* \5 k4 h$ v6 [
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
3 w, ~9 g8 l8 V z- L' \1 _& `9 a3 W
nPoint += 120;
# G% |. ^5 {1 F* P7 g, g
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
8 B: d! x' S: {. K% T
nPoint += 150;
0 C( U* i, e# m N. }8 c+ ]
else if( m_nJob == JOB_RINGMASTER )
0 ^# I) I# w, _! m
nPoint += 160;
S( D; o0 u3 y2 u; P
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
9 w; @: p, U$ p4 Y" H5 B5 H
nPoint += 180;
; s: i/ n! B; ~
else if( m_nJob == JOB_ELEMENTOR )
+ m: } \. i( @# M! p
nPoint += 390;
, L* k5 ]' F$ W, c* W8 L: X6 }
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
+ {9 m$ c* ^. L$ U7 a
nPoint += 120;
E0 Q: n1 S/ v5 S* ]7 r
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
4 F! N s/ h& H2 K; H9 [$ N
nPoint += 150;
5 i3 Y, |0 l: _$ Y! e
else if( nJob == JOB_FLORIST_HERO )
3 _5 F3 i$ T/ L9 C
nPoint += 160;
. T/ V8 i9 c0 _
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
- K) [+ k/ s& i. L
nPoint += 180;
1 r3 _+ w: N* q' }6 v7 D0 ^
else if( nJob == JOB_ELEMENTORLORD_HERO )
( R* n# F$ @' `9 ]+ u" j
nPoint += 390;
( q; Q5 ~% r* @3 J0 N
8 ~, F4 U9 {4 t! h' e
AddSkillPoint( nPoint );
6 W! _! X( H3 S& S$ T& Y
m_nLevel = nLevel;
( s2 M9 j# j1 O- g1 m
# Z- Z# |* a, Y9 K0 F% f* w
SetJobLevel( nLevel, nJob );
& n1 \4 V' E0 f4 B4 Q
m_nDeathLevel = nLevel;
" t/ a8 o6 F; u |6 X, l
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
0 X. D* ]/ h2 e3 o2 B4 T$ q* [
if(IsMaster())
! r C$ y$ U* d" P
{
8 F' [( @+ E4 z2 B: h/ D ?
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
' ]' N8 F' h6 P `( g& t
if( nLevel > 59 && nLevel < 72 )
4 |& H0 @0 x' ]' r
dwTmpSkLevel = 1;
# k( |; n' _: x$ [1 p
else if( nLevel > 71 && nLevel < 84 )
1 M6 |9 `( L5 K: _6 T+ T% J* u1 ~' {
dwTmpSkLevel = 2;
" x; N/ p2 _. L" \) D) f
else if( nLevel > 83 && nLevel < 96 )
4 d4 p8 a1 e. \1 |- `
dwTmpSkLevel = 3;
; I. {6 |: L6 ?' \9 F
else if( nLevel > 95 && nLevel < 108 )
" _. e6 |7 z9 E$ V
dwTmpSkLevel = 4;
" s9 J2 _; k# j5 q$ T8 R0 @5 f$ J
else if( nLevel > 107 && nLevel < 120 )
4 t ~# M6 d, v, l1 D1 n+ n
dwTmpSkLevel = 5;
7 | l6 O% }, a
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 U5 ^: G0 f$ y8 S% e, l$ S3 q
{
9 M9 u2 W9 e3 {' Q% @
LPSKILL lpSkill = &(m_aJobSkill
);
* r7 B+ [( z: ]! ~! a: [
if( lpSkill && lpSkill->dwSkill != NULL_ID )
5 ^+ T7 @0 ~' J5 O/ ]
{
5 E$ ]8 P- t8 o1 x/ t q* J
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
9 m% L" d& `2 v9 H6 A9 Z
if( pSkillProp == NULL )
. o9 i' e2 z% j0 W- k- T! ^: N v
continue;
& K, k) I! P/ Z( P' `' z- o/ x
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
0 N8 \1 ^! r- q6 M1 x b
continue;
5 p5 D' q5 N6 ~
lpSkill->dwLevel = dwTmpSkLevel;
* n# Y7 p X9 t+ s5 d6 n
}
+ q: {- V7 h4 O% ]. K8 e
}
+ m( b4 ~, x4 }# E2 {
}
$ `( |1 C8 U$ [6 j# E1 G; j
else if(IsHero())
& y3 I& G) m4 I
{
0 m+ \7 L" f: v+ z2 i6 I9 R
for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ ?- r, A5 W- L) d
{
. y5 m; A0 B0 a r
LPSKILL lpSkill = &(m_aJobSkill
);
; _; c5 m3 R( m1 u
if( lpSkill && lpSkill->dwSkill != NULL_ID )
0 c+ y' j) T, F
{
s1 Y# b7 ~! h! c. m J
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
W2 `. Y% [& q+ @
if( pSkillProp == NULL )
; [* r K/ U7 G! T7 a
continue;
. B; Q/ R5 Q3 F& a" g( b. L
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: P2 }- J! T8 [8 K0 D/ }7 T K i8 G" ?
continue;
# k/ a$ }4 u2 n/ K
lpSkill->dwLevel = 5;
. C7 d+ n5 p t! _* n3 A5 ~
}
/ Z0 s9 r. C4 V6 K4 h9 N
}
& u+ t& w4 I2 I, ~' {8 q
}
$ I9 G9 B+ b6 Z- o% z
else if(IsLegendHero())
. }5 X$ _ d9 U* [
{
7 F0 c. q5 ]1 c0 P
for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 }. Q/ K, q- T! ~
{
% g; O2 ^1 Z" {
LPSKILL lpSkill = &(m_aJobSkill
);
. j6 g4 P/ D- Y* m: O, @" n
if( lpSkill && lpSkill->dwSkill != NULL_ID )
) u' l6 x L* q9 m; ~1 O7 P) F6 W
{
( Q* A0 s6 y* v8 L3 H* G/ D
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 L2 U3 J+ S7 v* w. |2 s j
if( pSkillProp == NULL )
7 E8 ]/ P# ?+ r# M
continue;
0 c6 I* E$ X" ]9 s% ?2 Y, r
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ a3 n8 j7 ^' T. h2 A
continue;
/ Z, K7 E1 n' |9 i ]3 p
lpSkill->dwLevel = 5;
1 c( A5 s& T/ b5 J4 o. F
}
: v( `! ?& B/ A1 d. p, t
}
/ u1 e& _, b, G- l$ I$ I) s. S% {" ]
}
?7 Z$ j* E6 Y2 O8 v, N5 I
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
8 f7 e/ \8 I6 }7 Z0 t, b
if( bGamma )
/ a5 `! A8 p w/ l* b+ f
{
9 S; L! q5 i) D7 R
m_nExp1 = 0;
, g# s: A' }9 a1 l$ e
}
& ~8 t+ F3 j- [" s0 |% B# b
9 n; t# o0 v4 Q# p* D
( (CUser*)this )->AddSetChangeJob( nJob );
. k7 R1 L# S, j7 Q: n# |0 \
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
( Q! v/ B- Q8 g8 }) w! L; L
( h, @; O' L% Y# O8 ]
- I7 G3 y) t6 J1 v B
#if __VER >= 11 // __SYS_PLAYER_DATA
) `; l$ y3 K$ o: P( q" G- K
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' Y3 Q, K; O* b
#else // __SYS_PLAYER_DATA
, b+ m* u2 @9 N- `% X9 V5 ^
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
3 `/ d4 H% {6 z. j' A# v! X3 w
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
! A0 Z+ h u/ R8 `: b
if( m_idGuild != 0 )
* c7 c8 j1 m% g6 V; ]
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
- V, Z6 Y% Q0 d. ?% }8 \( S
#endif // __SYS_PLAYER_DATA
& W: ^& `% ^* W3 ?" R/ l( F
SetHitPoint( GetMaxHitPoint() );
: T% I# F/ b& K8 e. \
SetManaPoint( GetMaxManaPoint() );
. b" w* X; m3 [! G8 c; ^$ |
SetFatiguePoint( GetMaxFatiguePoint() );
6 m0 c# K) \4 y. e
if( nJob >= 1 && nJob <= 4 )
+ a+ i* |- r9 ^& ~: ~' y1 p6 J
{
- o6 v% P* [5 ~* N9 q: @4 A
m_nStr = m_nSta = m_nDex = m_nInt = 15;
# A- `# h1 s n o1 `
m_nRemainGP = 28;
" \6 i9 V5 h. l3 C
}
' N) o2 N8 d& z$ r' }9 u/ N
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
, d8 \3 F' ?+ g8 S' l2 X
{
: L8 W" a W# k
m_nRemainGP = 118;
4 B- E& {# P/ o& X
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
9 G y0 Y! n$ a" o% w2 U3 V
m_nStr = m_nSta = m_nDex = m_nInt = 15;
' B9 G5 i! S: G) h4 J
}
, ~' Q# j6 P. s
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
? B2 ~ k* F4 W. f6 X
{
- b7 o5 r4 o3 g2 {
CItemElem itemelem;
0 J) F$ F2 f1 A* |/ L/ x
itemelem.m_nItemNum = 1;
, h* t3 ?! P, f! m1 c$ k$ _
itemelem.m_bCharged = TRUE;
' g! O% r! f# [( D
BYTE nID;
1 \9 A4 c* c$ R$ V: s# z
4 D- h/ n' u- \8 x U3 d! O9 \
if( nJob == JOB_MENTALIST_HERO )
( r( @* h( b6 N+ \' Y0 ~
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
]0 P* h p: w2 b0 c8 r. V
if( nJob == JOB_FORCEMASTER_HERO )
# W1 `$ \; d9 Q, g" ^- w! h. f9 m
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
" l8 h& k! _ o" @% O
" a$ n- a! K2 c
( ( CUser*)this)->CreateItem( &itemelem, &nID );
+ s% W3 }8 s1 C8 o
}
8 {+ Y1 I4 k5 l1 }% D5 o
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
: p4 M) m' R0 ]/ x2 L# G# j$ i
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
9 X' `$ X, i3 O; `, y. q
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
" x1 i+ g- | r
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
4 q* @# p) J8 Q1 E2 d# L9 c
( (CUser*)this )->AddTaskBar();*/
4 H8 f# g K* n: X
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
, w6 C5 {4 f# L0 y3 b' L6 f
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
. O, ?0 }+ J/ |- w
((CUser*)this)->CheckHonorStat();
6 E. r, J) F$ s, q m/ m! u
((CUser*)this)->AddHonorListAck();
% p, |% f: X Q+ Q* o" f4 Z
g_UserMng.AddHonorTitleChange( this, m_nHonor);
. Z% y1 q( q3 j+ G! b+ K% i, h# V
#endif // __HONORABLE_TITLE // ′Tà?
: P E$ e& s$ R L3 D% y
}
' s( X3 f; a9 I: o- u3 m
#endif // __WORLDSERVER
7 E) ^. L! c! z, F4 \/ `- o
}
- L/ I6 G* h2 E' ?; ]+ @
( B* _0 F/ y5 s% e4 d. B" S7 h
然后你进入functextcmd.cpp并添加以下
# T- X$ P ?4 E) b# y- e
1 y3 ?5 ?/ H- X( R, \5 U3 m
代码:
3 j8 w' z" m. f v$ ~2 _( {) d& ~
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
8 C( {# y3 M9 K9 m4 l3 z6 ^) N
下面插入
7 \& `/ b: P7 N$ u- ~
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
" D: A5 L9 K" L- M T9 ~& ^
) Q' {& I" {8 v, ]
然后你去
& a9 l( L. t; x( f, X% r+ f
" e. ?2 T- }1 G
代码:
$ o- ~/ B7 b9 r" H
代码
) ~4 ^; M$ j' w3 U9 E( j
BOOL TextCmd_ClearPropose( CScanner & s )
9 ]; b" P' D6 O
{
% o- K( M+ p o# E
#ifdef __WORLDSERVER
; ~( Q0 E) ]* [8 y" `# x
CUser* pUser = (CUser*)s.dwValue;
1 w( F. L! B S) D$ \; {& K
g_dpDBClient.SendClearPropose();
5 f/ ~$ w) w8 J+ _% B6 N% [, e# c. p
#endif // __WORLDSERVER
+ W8 D3 t' O5 x5 ^8 h; O
return TRUE;
: h! A; q0 W. N& Q
}
% |# E: q* q# H# S4 u* z0 L
下面插入
& f4 R& Q1 Y. r* D4 H( }% |1 V
BOOL TextCmd_rebirth( CScanner& scanner )
+ l) ?% L) l- G! I, T( x2 ]" w
{
+ k' |* a! I7 [4 k
#ifdef __WORLDSERVER
" b' [# J6 k( l6 B+ C
CUser *pUser;
" U8 H3 T0 c7 s- @; P) e0 b4 F% A9 d
pUser = (CUser*)scanner.dwValue;
^4 j0 U, ]3 q* X5 m
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
: _. Q/ ~9 H2 A9 O* n( W5 ^
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 E- X7 v! J9 E# @2 b' t* u- a
else
, ~! H0 k/ a2 M! _$ G: L6 e
pUser->AddText("你还未达到重生条件!");
5 Q& {3 J Z9 M2 V x
#endif
- C; Z/ H/ q! }* F
return TRUE;
' a9 M- o9 k( T$ t
}
8 O# r% }# H8 C
) Y, Z( p; H& _5 l* ~" s
( u. A4 o+ H/ h. @
. U5 t% J+ B2 D. a5 E/ i; Y# `. k' C
+ n# i' l; t) G% l/ k
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2