飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
4 \- K e+ c) I, L# h, m
! h9 V3 i( m5 ?7 f7 Z+ b
Mover.h
+ n" j9 ~" {# T) H( O! g! j
代码:
6 F5 y6 [, Q9 O/ _' p
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
( e1 ~2 a4 d3 _6 I( v
# L3 M4 A6 |* z* ] ?
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
) s8 o$ k. |$ Y$ H' y5 D
1 W( [* U3 S' i8 B' w
然后你去mover.cpp添加
, f! O; ^) G0 c+ X2 \7 a
5 h( _' w+ I1 g# n7 n& i) G4 M
代码:
" H; u; H* ]5 K: m
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
8 P9 Z) Z+ `# ~9 D5 @# n/ |
{
5 f* K# r# \* d0 L& w y
#ifdef __WORLDSERVER
5 j+ A, v- c4 m9 j
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
* W' b ~3 B1 G6 x' F+ m
MoverProp* pProp = GetProp();
( F# I5 b/ `( C G: o) Y
if( pProp )
/ J4 P. G8 ^5 V, u+ a5 ~, q6 |
{
% Y0 \$ ?7 m! c* s, H' t# X* S
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
0 J( K; f; j6 R8 Y7 L. h' R' O8 i# v
{
5 W( {5 x+ M) r! v8 X4 s" Y
AddChangeJob( nJob );
^" Q6 z# g$ }( h% t
}else{
) B" [+ k2 P0 D' [! @0 [7 B1 A
return;
/ O' h4 W* u& O; F a" c
}
! J& Q2 @6 n' p0 f, A. D9 n/ _! V
int nPoint = 0;
- x$ p; d6 r3 ?: Y6 `. w$ x9 ?
if( m_nJob == JOB_MERCENARY )
" x m- U3 i7 |8 v
nPoint += 40;
) R2 ^. p k5 N, R k* ?- t
else if( m_nJob == JOB_ACROBAT )
( G9 v2 e. m! D2 E" U6 R: T8 k8 w& }, b
nPoint += 50;
' e+ o/ R! h/ d1 t! Q/ s) n% ~; f
else if( m_nJob == JOB_ASSIST )
0 _; e5 ~7 r4 b7 ]5 E2 B! y/ L
nPoint += 60;
* q2 c, C2 X$ n) @# r' k
else if( m_nJob == JOB_MAGICIAN )
4 r- z) X: c4 k* Q! Q. r
nPoint += 90;
# f: n2 ]: J* ^, B; x- `: r
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
/ b m% u J& n
nPoint += 120;
9 U2 a8 S! M3 P8 v: k/ ^# t
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
7 h5 Z+ O$ k P3 p7 p( S
nPoint += 150;
* j, `4 O# e8 o& U; {
else if( m_nJob == JOB_RINGMASTER )
1 }* {0 ~3 y; A- B- l" a
nPoint += 160;
# p" H! J4 i5 E1 ^; K+ X
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
1 }4 m- R3 l8 m4 ~
nPoint += 180;
# |" n, ?. T* k* ~: K. v, x
else if( m_nJob == JOB_ELEMENTOR )
6 I9 V& w. u- J' i/ F% ?
nPoint += 390;
2 `& V! Z: f* @; b) {
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
# g2 a- Q% K8 x
nPoint += 120;
q* ]4 ^4 a7 K: ^
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
3 d! c+ B! F) w& n# p; M( v
nPoint += 150;
4 {0 d7 i t1 e3 o' e* G+ y' h2 U
else if( nJob == JOB_FLORIST_HERO )
1 G7 A6 s" c. a' B0 f% B3 ?) U. k
nPoint += 160;
4 ^" C1 o p" L2 N3 c
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
, P5 O+ O; ^: }4 T4 y
nPoint += 180;
3 \) u, T" U. C/ d" g' x1 y) G8 X
else if( nJob == JOB_ELEMENTORLORD_HERO )
9 w) n- J Q7 G6 \, w6 m8 s
nPoint += 390;
9 y2 @" ]9 A# ^% n4 j: R
: c$ u6 }# _5 w1 P
AddSkillPoint( nPoint );
6 i3 ^5 [/ O3 {6 M( q
m_nLevel = nLevel;
8 @$ {1 L! D: X$ T2 N" D
- ^: H2 o$ T* ]; e# {* n3 B
SetJobLevel( nLevel, nJob );
# R, }0 \# \, C+ ~8 H- }
m_nDeathLevel = nLevel;
9 @3 C+ l8 H- y7 Z! x0 U6 M
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
- Q8 k" v% [( h( c+ ]
if(IsMaster())
5 e% m; q. w/ H& }; h
{
% d) n4 J, \0 N+ ~, B/ D7 q
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
# a2 M' K/ G6 ]0 B
if( nLevel > 59 && nLevel < 72 )
0 Y6 y9 K! M0 N* R# `' R
dwTmpSkLevel = 1;
- m. H+ u) K0 M6 D# s/ N2 D" X7 D
else if( nLevel > 71 && nLevel < 84 )
* d# S$ I$ V8 \
dwTmpSkLevel = 2;
3 G/ I) r; \8 c6 a5 M
else if( nLevel > 83 && nLevel < 96 )
; n$ d7 O# u+ T* J0 d
dwTmpSkLevel = 3;
# c8 @" e7 V/ B! }" ~ E" g
else if( nLevel > 95 && nLevel < 108 )
! I/ n" Y0 r5 m- L( U- [/ H1 u j7 r2 P
dwTmpSkLevel = 4;
& U' O! ]. q- s, K& C
else if( nLevel > 107 && nLevel < 120 )
; {: n8 g4 G- S7 `) }
dwTmpSkLevel = 5;
4 w" B5 v# b& l- `) h! P
for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 t& N6 y7 K/ h5 ^6 a
{
, ~* O7 K) n8 @
LPSKILL lpSkill = &(m_aJobSkill
);
# d1 Z% C. Q* g6 G' d# H
if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 k6 R4 f/ Z% U1 ]: J
{
; W# Y2 A1 Y, T7 E% o) Z0 D& L
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 N4 i$ F8 B% O1 @! h- K
if( pSkillProp == NULL )
, O: ?. I- Z4 v
continue;
; |0 S7 a' A3 k- F0 E
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ ^5 Z I2 i% U/ q$ V
continue;
f7 N: ? A3 u U( a0 B
lpSkill->dwLevel = dwTmpSkLevel;
/ B, E; _- g6 _, g7 n( K
}
7 \! d c1 D& ?9 {7 v% Y6 x/ s
}
% ^- J- v) a! g' `' s
}
1 G" d' P3 D0 x7 R' D: N4 r
else if(IsHero())
1 c8 }. t* |1 s( @* f
{
/ a4 B3 p# ]$ T+ A r9 Y8 H
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 y$ G' `! ?: V
{
/ ?8 h" j% Y# a( O
LPSKILL lpSkill = &(m_aJobSkill
);
- G4 f3 M% a$ u0 c, Z1 Q4 R
if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ v' O/ y' h, B6 V/ @- O# T
{
' m6 l( C G/ r6 @% y; R4 f
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
* q7 z3 e8 Y2 y/ E, v4 x
if( pSkillProp == NULL )
9 s7 h8 v0 z* ^; L$ l% W+ Z
continue;
L% j. { x2 D
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
0 f% ^' [- Y# H `$ O9 c
continue;
* ` Y- r2 Y4 r2 t0 j) F2 \
lpSkill->dwLevel = 5;
) s) B3 H/ k! H; F
}
+ P/ \: z* @- D: C' i1 ?
}
0 G7 R0 `4 [9 c4 a3 ~ S
}
& |" \: |4 q; b5 u
else if(IsLegendHero())
- l9 Y( h7 c: E3 e8 [
{
" l, k" w4 g& H5 F
for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 q% x7 K# c6 d+ v1 c& g
{
/ r% a! w! F! ?8 m s- _
LPSKILL lpSkill = &(m_aJobSkill
);
& j/ {$ Y8 t# Q5 P+ x
if( lpSkill && lpSkill->dwSkill != NULL_ID )
) l0 P" Y# T' M2 S$ T- F; \6 _
{
0 h' O3 N+ Q2 l' M
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
( ?4 B# [9 W i: f. l" I2 S7 |
if( pSkillProp == NULL )
$ \& r; Q% J U) w- a, Y& |
continue;
, ^' J8 N' N1 u4 ]0 V; O8 O2 N. b
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
& |7 u6 t5 n. E8 N
continue;
+ C/ z+ ], O. E
lpSkill->dwLevel = 5;
# f3 X" j5 f, z/ m2 X% U
}
* d4 C: l8 N! f8 c; ^/ E
}
& w. c/ d/ g3 K' n
}
- x9 N: H; L/ p& h# `
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
Q0 u4 l% R6 [
if( bGamma )
, h' l- B2 \& H/ y' n" @
{
' H7 F. x+ T v! R/ n9 ?! C. E$ z
m_nExp1 = 0;
6 S: H6 b, T) {3 K% [' y" B' t) S
}
$ F. O* g. k2 W) a1 G% V1 N, O
( \* [! T& |, M1 [# |1 ?( d, d. Y
( (CUser*)this )->AddSetChangeJob( nJob );
; I3 B: m% K% T4 l" c+ h
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
3 Y+ u# X6 E: g P- y
$ t4 K3 N6 _! p1 {1 g3 M& l
* i) }! u. U" S0 s
#if __VER >= 11 // __SYS_PLAYER_DATA
$ X: V/ `, F2 M$ i% h! c
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' R) f9 `: |, s$ V6 s3 y
#else // __SYS_PLAYER_DATA
) K+ m& l/ n' X, }: _* K
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
3 m1 P3 u2 N {/ v1 q' p
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
( |) q5 ~( D: i4 g
if( m_idGuild != 0 )
& v; I! \. E7 c/ h, ~
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
& t9 e6 j* C# a, y
#endif // __SYS_PLAYER_DATA
+ y2 H: X! m) B
SetHitPoint( GetMaxHitPoint() );
: N$ y& t( O# K5 j8 l
SetManaPoint( GetMaxManaPoint() );
: L% u( J% e4 G+ l3 ]' o; J. r
SetFatiguePoint( GetMaxFatiguePoint() );
% f* [, s9 `$ V; _
if( nJob >= 1 && nJob <= 4 )
. D( Z( G w$ S) Z
{
* H9 w5 p; o( S" B' o4 H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 j6 e D0 d7 w) x' W
m_nRemainGP = 28;
" W$ _4 ] q! b) g! R% `8 H
}
1 R+ A& K+ ~. E
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
0 `# n( M! y& N; [3 ~2 z
{
8 z+ Q. A) r$ P
m_nRemainGP = 118;
p/ y p" v8 N/ Q$ d
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
% u! y9 y" q1 j9 E- m
m_nStr = m_nSta = m_nDex = m_nInt = 15;
7 O* S& e. D; P1 N- j1 [1 G$ e
}
& j4 E$ [! k7 ~/ T
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
* g* @4 a& {! @) F; m; f
{
$ {- W- k8 E) ~5 a+ u: U( K7 A+ X2 R
CItemElem itemelem;
5 |7 E" I% b$ d6 i2 x# ~7 i
itemelem.m_nItemNum = 1;
& r, i# N5 A7 t9 y$ A
itemelem.m_bCharged = TRUE;
$ [: h5 v( Y# V( J, q) ~% @
BYTE nID;
7 p9 b( P6 |" L$ H9 d' B9 d- ~) P
0 I7 M, S2 v' C; Q6 ^3 s& b
if( nJob == JOB_MENTALIST_HERO )
8 d1 Q6 @4 {& {# f* e9 Q' a' E
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
4 f# {" U \5 g& o5 ~6 t' u9 D
if( nJob == JOB_FORCEMASTER_HERO )
" N; F. |# x: @7 S# Y4 s: ~
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
/ E( k) D7 ?/ G" k
8 L; `7 a0 R6 T( ?% h1 [ V) T8 s/ u
( ( CUser*)this)->CreateItem( &itemelem, &nID );
0 J& g; `0 T: d: e8 O! s# P
}
$ u! a! h& h0 h
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! X6 `: H5 C2 N7 z) H
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: ] q/ t5 ~5 o/ g
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
3 g! W$ a* M) u, c4 |
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
2 ?; E; a4 L5 m/ h) l
( (CUser*)this )->AddTaskBar();*/
+ ]/ w; O% h0 ^# d- n$ H
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
6 p' K, ?7 a8 f/ p* M
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
{ L1 k/ `) E6 `. q
((CUser*)this)->CheckHonorStat();
4 H* b. X5 c3 g" F. B0 v0 L
((CUser*)this)->AddHonorListAck();
" u3 K$ x. X4 V
g_UserMng.AddHonorTitleChange( this, m_nHonor);
4 P! L5 s9 \! W2 y+ L" ~& T
#endif // __HONORABLE_TITLE // ′Tà?
5 U6 h; h4 W2 J4 S7 H8 {
}
* J5 x: @ m3 P5 Q+ d
#endif // __WORLDSERVER
5 U+ j8 _ G3 h$ ^% n* i, }
}
% o& I; d7 X2 W9 e5 r
! s8 {" k0 T. K, y+ c% G
然后你进入functextcmd.cpp并添加以下
4 a* [* Q3 M! W6 Q! K
1 h0 u6 U* a& N% k' X
代码:
, j: G+ W% J3 L0 H- `! V
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
+ i0 L H v% T3 g) D B2 `1 j
下面插入
/ t/ N6 Q, }. @8 {- ]: q Q
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
; A/ b$ F9 p* T, Y6 P
9 G Y: Y) Z5 J4 R: `+ [
然后你去
4 y% d j2 Q) y
y$ _7 M" {0 f' C
代码:
1 G+ S4 c0 v2 r* N; |
代码
" F* m. K0 K$ n3 {6 Z) k
BOOL TextCmd_ClearPropose( CScanner & s )
7 U9 i, q8 t0 C2 E: q. C
{
n. H; ~1 w0 S X0 W
#ifdef __WORLDSERVER
, @ y- {! |1 e" W. c0 q& N3 a
CUser* pUser = (CUser*)s.dwValue;
5 k8 j! K) a3 E& d5 C
g_dpDBClient.SendClearPropose();
9 d0 u* ^+ M0 i# n
#endif // __WORLDSERVER
5 p9 |4 B2 ?, C6 M
return TRUE;
9 P9 k& r, q) H+ S# k6 f7 h7 j/ `
}
/ v0 W: F' ~9 q& _0 n' Y- G# I
下面插入
# V) U+ c2 z* i" |& t
BOOL TextCmd_rebirth( CScanner& scanner )
" ^2 z4 o3 x% D0 c) M$ u# a
{
* `/ ^2 ?8 y5 a* F! [& c
#ifdef __WORLDSERVER
( P- n2 b+ V: A% j S! F; @
CUser *pUser;
; l1 ]; S: C" N3 P9 u
pUser = (CUser*)scanner.dwValue;
( ?' w4 p& C$ O
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
a& n& c' @2 |& u5 J9 g2 k9 q
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
2 T0 _: T4 [+ J+ H
else
7 H: e8 v, {+ I/ V
pUser->AddText("你还未达到重生条件!");
+ y( ]3 ]- R; b0 L f; L
#endif
( T* K, T" E& G% m' ]
return TRUE;
3 B- ~% n5 ~$ y' h* Y! Y
}
& F3 w: c+ ^7 u7 ~* H3 T
4 t2 u5 F+ k' w' J( j
9 u: ^+ G; r( l9 S6 ? Z, C
/ M4 e' Z2 _- A3 A; P3 d
' |- P$ W! _* {8 ~, O u, v
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2