飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
* g9 Y |4 q6 W6 D
$ `8 C" c6 }- ]+ W: L
Mover.h
+ X! q, S( T$ n( u
代码:
/ p6 ~. Z( X7 b# o
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
1 m( q: ~! K" L) m1 P' t
$ S: M3 h8 |9 z8 e b
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
6 X6 }) Z% ?' z! `6 D/ k
% Q$ Q+ m7 L r4 b2 v
然后你去mover.cpp添加
$ A* f+ C" e8 q% n3 h$ ^2 t
1 {3 B3 u7 C& ]$ u" k! m
代码:
" }7 M! t6 r o* j
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
1 ]7 {$ n& F( n* D
{
0 u# B( q9 h6 P1 Z
#ifdef __WORLDSERVER
5 i$ n/ F- K( T1 ^+ Y
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
6 C8 G" }1 `( _
MoverProp* pProp = GetProp();
p8 `/ i" c6 B- P: B
if( pProp )
' r1 v2 F3 E: d$ c. }' V
{
1 K {. `2 r, o# n7 ]
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
# |8 U3 b2 r0 _, u
{
( |. c' w0 `; M" D+ N R
AddChangeJob( nJob );
' T) O1 I8 }1 b) c' z0 z0 u
}else{
3 n0 B% m* ^$ L o
return;
9 L' o2 g' |) B$ U% j4 h9 S& O
}
* F$ `: r' i: o1 n2 m
int nPoint = 0;
8 T2 P4 Y o! l( `) D3 j" h
if( m_nJob == JOB_MERCENARY )
# z+ B ^2 ~* \8 F+ J
nPoint += 40;
" H# @- l- i( @7 H3 O4 z( t% M
else if( m_nJob == JOB_ACROBAT )
# H5 g U( |1 t, p' Z
nPoint += 50;
6 b @- V0 C8 w% p8 x% O
else if( m_nJob == JOB_ASSIST )
9 g8 c" T$ h G0 a, P" w5 o! r
nPoint += 60;
+ c \ H0 R! ]1 _9 O# ?+ a
else if( m_nJob == JOB_MAGICIAN )
8 Y/ N. G& E* D5 L
nPoint += 90;
; U' U- `4 N0 m1 Q
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
' k) m1 q+ I/ R) J. ^, U; O! G# b
nPoint += 120;
7 u1 j$ Y# ~; \7 R% \6 H0 E
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
. b4 g# H9 e* p+ H. @9 D! p# f
nPoint += 150;
/ ^+ ~' y/ {1 U# D+ y
else if( m_nJob == JOB_RINGMASTER )
) U& ^& H |; P* U; {& k2 X
nPoint += 160;
) m2 w: A' N1 A& A
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
9 t8 @& K5 f q0 R6 w
nPoint += 180;
# A9 Z- q6 A1 _/ Z- j3 B- a" a x
else if( m_nJob == JOB_ELEMENTOR )
# B: p, Z$ y$ J+ a/ p
nPoint += 390;
5 F: b6 L7 H# B8 K
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
" o4 G7 v! O! A& A
nPoint += 120;
$ k3 @" S- G3 ?" B
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
2 X2 _4 r0 A/ z$ b, m5 V
nPoint += 150;
+ s. M2 W0 d- c
else if( nJob == JOB_FLORIST_HERO )
) r# U; E( Q4 | m% \
nPoint += 160;
. R# h% l' u1 \$ X) f; i# I, B6 B6 m4 c
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
* ^3 W% v5 t% |' p8 v. V
nPoint += 180;
2 o4 O1 c: `6 @+ _) V
else if( nJob == JOB_ELEMENTORLORD_HERO )
! x( i4 d6 Y3 s
nPoint += 390;
0 M* b5 `7 W+ ~% S2 m+ g! B
/ q* Y. x7 d( I
AddSkillPoint( nPoint );
5 e4 a, ~( F, G7 P- _* ?8 R
m_nLevel = nLevel;
8 [. H" h% p3 [4 ], C4 V% _
) }$ y X7 U2 p1 N. E' ~# x1 t
SetJobLevel( nLevel, nJob );
( L6 ]* x7 M# a x$ s# A
m_nDeathLevel = nLevel;
: \8 F) _4 c' u9 N% h, Z& o
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
+ O I! I2 q @' I, h* v/ |, \
if(IsMaster())
1 `7 u9 e7 \! f$ v! [% a* B- K& F
{
! j; z$ J, ^; b2 h2 o4 ~
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
3 Y `# d% u4 t9 t
if( nLevel > 59 && nLevel < 72 )
7 M( t4 u% z. U* d. T5 o
dwTmpSkLevel = 1;
& e1 U# g' G- W+ `' f) f
else if( nLevel > 71 && nLevel < 84 )
* @5 S) K7 J2 ~
dwTmpSkLevel = 2;
4 ^3 \# [" ?$ U: R0 ~: \% M
else if( nLevel > 83 && nLevel < 96 )
8 T% a- g% J8 H) g3 E' ^' g
dwTmpSkLevel = 3;
( R: U, B/ @4 _9 ?: i
else if( nLevel > 95 && nLevel < 108 )
* B, ?3 p$ ]2 w0 L
dwTmpSkLevel = 4;
# I1 C& q' F7 \
else if( nLevel > 107 && nLevel < 120 )
, T# |4 u7 B( U, f
dwTmpSkLevel = 5;
8 l7 _, ]% B+ m+ B
for( int i = 0; i < MAX_SKILL_JOB; i++ )
, K/ z& D- P$ p( K& n, c
{
) M. L* F# I- L, @
LPSKILL lpSkill = &(m_aJobSkill
);
. ~/ C6 u7 G3 r, P" ^ n' m" i
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% z$ j, `" `( \; U! ]
{
+ A+ z0 \6 T. E8 m0 d, ?! n4 s
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: c1 ~' c- b& T9 c
if( pSkillProp == NULL )
: ?( y6 E. K) i, y
continue;
' [! ]2 s/ v, M4 d, O
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' L0 v' C: D: k4 r3 k' f: [( x+ t) d
continue;
& i! O5 @+ N0 z* V/ @- b
lpSkill->dwLevel = dwTmpSkLevel;
# o% _& U) g2 a) h
}
" i. w' W, k& I% a W
}
+ b6 N: _$ g9 T' C
}
2 h5 U) g w' T. u
else if(IsHero())
- b& U- T+ N4 S% B
{
" C) Z: Y. m( D2 h j
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" s4 g3 w+ Q- `2 w2 E. u/ U o2 `
{
% K6 e2 k3 t0 q8 ]; G0 L3 l- ^
LPSKILL lpSkill = &(m_aJobSkill
);
5 g1 g, d& ]! N4 [' g' b. `
if( lpSkill && lpSkill->dwSkill != NULL_ID )
6 U! W! w9 ~ R0 \
{
3 j0 ?' f O. L# e8 S8 L
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
* j. y6 Y- {6 k0 T) @
if( pSkillProp == NULL )
7 i( o# Q# w+ |; |6 N
continue;
6 \0 I0 u( j: K/ @
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' {! g1 i8 L- K# C
continue;
# F7 ]) f5 I$ U+ d5 Y
lpSkill->dwLevel = 5;
" G* i' W3 c( G. d+ d, }9 F2 K+ a
}
) W6 `% W. Z) `# L
}
) O0 A+ ?- V9 |; y2 s
}
" K0 i2 @, r# B( a
else if(IsLegendHero())
, y* v. O" o$ R t. `
{
% q9 F8 y. j" j6 |3 T% g
for( int i = 0; i < MAX_SKILL_JOB; i++ )
( ~1 d8 d/ S7 N
{
# E( Z8 q% D+ B
LPSKILL lpSkill = &(m_aJobSkill
);
; J$ ?- a' Q# V) Z( {
if( lpSkill && lpSkill->dwSkill != NULL_ID )
1 k! _$ b9 S2 U4 J* D2 _
{
( w1 K9 r/ j: m# A0 b' J
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
9 j- z5 A' j9 b
if( pSkillProp == NULL )
8 u! h; d$ g8 `4 _6 G
continue;
8 D1 e" j( l: C$ U; ?2 n0 f7 k8 U
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" }* w& U" e/ h1 o O5 q, k
continue;
0 G, J4 [' @! ^
lpSkill->dwLevel = 5;
: {/ i+ f6 x* x- t' _% _
}
8 U# c- i2 ^3 F0 q
}
: C1 {$ P7 U P
}
% V% {9 i1 ]# @
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
: A$ i- d5 L! H6 E8 X
if( bGamma )
, l R% S$ e4 q ~
{
3 T+ H0 X4 h0 p* W
m_nExp1 = 0;
! j! j& o9 J: Q4 T, s6 p f
}
# _7 y6 K! @% Y+ g' o
$ \7 C$ t2 g0 L6 g- t$ s I& X
( (CUser*)this )->AddSetChangeJob( nJob );
1 e, J! b4 X" i; ~* R% c# F; ?/ w6 l5 [
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
! m8 X+ y$ x% Q7 l, w0 b; Z
* K$ _0 [/ x5 p- n. s0 `# `
- b" `, r4 `2 i& l4 p- z- `
#if __VER >= 11 // __SYS_PLAYER_DATA
3 e! G; Y4 |1 n" ]: L
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
! P7 E; ~+ ?3 f. n$ H, N* Q( T, T
#else // __SYS_PLAYER_DATA
) C& X) O% f( r. w B" ^
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
" G5 R* z4 o! @5 Q7 z
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
2 a# i! I( K T$ W' C7 M9 B8 N9 Z
if( m_idGuild != 0 )
$ w9 U6 I/ r, W3 q5 ]2 A; N
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
" n( S. D& E+ F- j
#endif // __SYS_PLAYER_DATA
: T% q U/ B! u* s) d
SetHitPoint( GetMaxHitPoint() );
& W* y, {9 ^& |. V( n
SetManaPoint( GetMaxManaPoint() );
9 m a) Q4 Z; m6 P, q
SetFatiguePoint( GetMaxFatiguePoint() );
9 E, b/ c) G3 j+ `
if( nJob >= 1 && nJob <= 4 )
# e3 _1 T- @( C4 G
{
) T, u9 y9 ?+ M
m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ h6 b8 [ h; s' A1 [0 T
m_nRemainGP = 28;
0 _ c, s+ g% p
}
$ g. @3 ]7 j/ Q" i, G5 R% |
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
, \; B) |7 q# P: X* K9 x" e5 i! V
{
8 H- f* g: R. t
m_nRemainGP = 118;
* P& u1 H: y( X4 E
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
4 I( O& b! t3 f6 Z. g6 M
m_nStr = m_nSta = m_nDex = m_nInt = 15;
. C3 F5 F0 v) K( }2 j8 Q. c
}
: t( M; K! ~2 R
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
) l2 X) h! W3 L7 d% ?* u1 s4 w
{
4 L9 Y$ D1 X" ]6 _$ O2 M: [% v$ p- l
CItemElem itemelem;
9 J& `- k' [8 V% q4 p
itemelem.m_nItemNum = 1;
6 \$ b; p2 i. s
itemelem.m_bCharged = TRUE;
+ }6 b6 O5 A; H+ v4 y# n
BYTE nID;
' ~% q: B; u( g8 _3 _
: e, |4 T k8 k/ L
if( nJob == JOB_MENTALIST_HERO )
" R/ m7 a! T# ?/ X8 V
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
0 g6 ~6 _* f" y/ q% P
if( nJob == JOB_FORCEMASTER_HERO )
& s7 J2 c. o2 T9 D. I
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
( Z F9 D9 u% I [' w0 ^6 m
1 B" ~; O: [' Q1 K
( ( CUser*)this)->CreateItem( &itemelem, &nID );
! ` x! T {( m- R5 u
}
7 r/ ~) m V' U4 G7 ?1 {" g
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
: N' u0 ~2 f. ~. }5 f
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) t) ~! L4 L' Q" U8 R) N+ k/ y: I
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
% n7 c2 m# @: g0 c/ B
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
$ ]: F+ P6 E) a! ~8 ]
( (CUser*)this )->AddTaskBar();*/
( e. T9 i8 ]) y: v1 |$ w q
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
- C; x- q$ _, B7 t) R. s) d
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
) W% `1 U5 g- r3 {; {
((CUser*)this)->CheckHonorStat();
4 n# G* F, `6 X
((CUser*)this)->AddHonorListAck();
( f( t+ Z/ `5 J9 Q$ Z+ `% f
g_UserMng.AddHonorTitleChange( this, m_nHonor);
, e3 S/ H* r% u( K$ y3 g; |& X
#endif // __HONORABLE_TITLE // ′Tà?
3 `, ~) `# ]; C) v; c
}
0 p2 i# L! S* o
#endif // __WORLDSERVER
) r! A9 |1 [& `# H) v
}
( W+ ^4 t3 T. X ]" K3 o; H
% E; a' j- o! R- J7 N5 g
然后你进入functextcmd.cpp并添加以下
. V1 o3 K' S; ^1 \# ^8 ~
- v* E% A; T; l _
代码:
! P2 p$ g& N& J+ g9 J+ t. N
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
. `; h Q/ ?5 ]
下面插入
2 R- c# [* e- `% X D, K
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
, A) H' }# V7 J* N% T$ h5 m
+ x8 e* J P4 P% [- B. ~7 N. {
然后你去
3 L& j/ ?5 ?% _, z
$ s! J- V7 v3 m g3 C) _
代码:
9 C! d6 h1 M. P0 s$ Z# A
代码
- N4 S0 w1 `& K! d, m
BOOL TextCmd_ClearPropose( CScanner & s )
; @/ V( d9 `# T# F; ^& h
{
$ @1 ^% H9 y4 h
#ifdef __WORLDSERVER
9 e. d/ W# A q$ r
CUser* pUser = (CUser*)s.dwValue;
4 M. d7 H6 f9 Z( y/ R" L) ?
g_dpDBClient.SendClearPropose();
3 [5 }2 k9 }) q5 ?
#endif // __WORLDSERVER
3 k3 W) {8 T, o
return TRUE;
. z0 e( A8 b- \6 N# S. f$ v; V4 z
}
3 `; S$ h0 d4 U9 _( _4 t
下面插入
) L7 K. ^3 S, p& b4 \- n
BOOL TextCmd_rebirth( CScanner& scanner )
- C' E4 [- m( A
{
4 ^% t/ z8 U% [5 `* Y
#ifdef __WORLDSERVER
! L) @, F2 N% a9 [8 M! c- r/ T
CUser *pUser;
2 Q/ ` N7 P/ K+ v% ~3 c
pUser = (CUser*)scanner.dwValue;
0 b+ E z. c+ k0 i, O
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
& K. \) i% t) m2 A2 k! M, K& |1 v A# d
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
$ B- K4 ~* \& d+ _3 J. A
else
{7 {2 w2 @( e1 U% c
pUser->AddText("你还未达到重生条件!");
: M' k! d$ r) D% k! z" P
#endif
' h5 C+ \4 g- _
return TRUE;
. Z. B6 @0 w2 F" S2 G: ?3 k
}
0 @( a% j# P' G
$ \; {: i, @. e2 R3 `
5 l5 D4 l- f" w* N6 D! S9 k
7 p9 _1 L' D7 u ^6 Y! s
) J; G0 f2 B1 L8 r# T2 L+ ?
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2