飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. w0 ] [, k& p0 n' c
/ j( z6 I8 j! |2 \
Mover.h
3 L, ~- P5 V# ~- }& O
代码:
, Q3 y0 j6 F" D# [ }& k$ V" x
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
1 c1 w' l6 ]" _, s
- Z0 W8 P) S3 I! f9 H
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
) ?9 O! ?3 a- V4 K# C1 q2 U
% \# m0 z O6 \
然后你去mover.cpp添加
: i2 u) n7 w' E+ R0 _+ |6 c$ X) H4 \
9 K6 S6 o- [# P4 ?
代码:
2 R# |+ `9 i y7 R
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
: [6 i X/ _5 Z# k& R& [
{
5 R) _6 x6 q. {% v3 N
#ifdef __WORLDSERVER
S: X* r/ b& F1 I$ t
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
; x3 F. ^/ T9 n* t) h
MoverProp* pProp = GetProp();
' \" ~6 K8 a% T2 \/ v
if( pProp )
6 P' h& G. `/ v0 P6 |1 E5 t, J9 Z$ k
{
% k5 M3 M7 P- ~: Z
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
; J( X! a {) j
{
% I0 F8 p% K2 V0 s7 \5 i
AddChangeJob( nJob );
- g- v; U7 F1 R9 r- A* t- c# b
}else{
2 f2 n- k0 l( L7 Z- S" v& v+ M
return;
; L+ w) l# U- y0 ~, R
}
5 e7 D9 L$ f2 [2 V# K
int nPoint = 0;
5 d' V: d7 }/ _5 b( ]
if( m_nJob == JOB_MERCENARY )
7 ]1 q/ W1 w( u4 O/ _/ d- Y
nPoint += 40;
. B1 Q( Q6 @1 i9 S9 ^
else if( m_nJob == JOB_ACROBAT )
" M! W2 _1 f* d9 `
nPoint += 50;
0 B" J- H: S' q6 C
else if( m_nJob == JOB_ASSIST )
& K6 e$ T8 v/ I5 R' \. E. P
nPoint += 60;
# A: [) f2 l- ]9 e
else if( m_nJob == JOB_MAGICIAN )
' W2 H& H& W0 w+ x
nPoint += 90;
5 X1 X; |$ K% m x
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
& L* C& F& i2 b( n6 W$ W
nPoint += 120;
( L" Z$ u5 }6 T" q: l; ~4 @7 G7 o
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
* a7 _) J- ~5 \! l$ P9 b/ H
nPoint += 150;
/ k. X0 x8 W3 }" r# a8 p# V1 v- Q
else if( m_nJob == JOB_RINGMASTER )
! i( I+ ]$ x6 T; W& p
nPoint += 160;
8 p6 N- B- D9 u
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
# k: N; Z( f3 [! @1 m8 s5 w" n
nPoint += 180;
# c0 Z; v* R/ ? O; ^% Z* T9 c
else if( m_nJob == JOB_ELEMENTOR )
& t/ B/ x: h* k. x5 T" m' }
nPoint += 390;
9 }( a2 f3 O0 A! z. p0 @
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
/ B+ g- g2 d; O; x5 p2 O
nPoint += 120;
6 h, q5 A4 E: r7 Q2 A+ q# v
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
2 u4 y5 U; @; B- p( T) s
nPoint += 150;
V" X5 b$ V. n5 s. S! O
else if( nJob == JOB_FLORIST_HERO )
3 [* Z& u, K1 b) `4 z" G$ i- ?
nPoint += 160;
2 D. S% y' B; U0 K }
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
( w% w1 ~* R4 H& ?
nPoint += 180;
/ O& \0 i1 F8 W
else if( nJob == JOB_ELEMENTORLORD_HERO )
& p& _" W! D! x# E# O' p4 p. E9 k
nPoint += 390;
* f0 P m* J- @3 t' a7 g; o. o, N' a$ B% x
& S5 I1 m3 a& U1 M0 h% s8 Y# C
AddSkillPoint( nPoint );
6 S+ G5 B7 V7 c( t- V& U0 n
m_nLevel = nLevel;
@ _* ^4 z* k& m
9 }6 E8 v$ i9 U# S; I A
SetJobLevel( nLevel, nJob );
1 u4 Y! u$ Q" D# p# B
m_nDeathLevel = nLevel;
1 _* N5 p( M4 p. ~, v
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
5 n9 O. W( n5 ~* I5 o6 E
if(IsMaster())
# W# i7 ?8 @. N/ c
{
$ K8 m+ J5 R7 m( t
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
" h8 l; R, h6 `
if( nLevel > 59 && nLevel < 72 )
% o- q# g# O& t. h$ w1 J! I
dwTmpSkLevel = 1;
6 O' z: t2 w) T
else if( nLevel > 71 && nLevel < 84 )
: A+ d* S5 y0 I$ g4 M* A
dwTmpSkLevel = 2;
% X4 E2 q7 Z, T6 {7 Y
else if( nLevel > 83 && nLevel < 96 )
6 G0 \* q( G s/ N% N1 Y
dwTmpSkLevel = 3;
8 b. p) K/ P7 s% L9 y
else if( nLevel > 95 && nLevel < 108 )
) w( V& A& W2 o9 ?! ~1 g3 x
dwTmpSkLevel = 4;
% o' a' u* w: b/ p
else if( nLevel > 107 && nLevel < 120 )
3 I* k4 }$ [; `3 `% J0 l$ K# f& g
dwTmpSkLevel = 5;
% m$ \* ^7 @. F9 L2 v K
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. A, X6 p4 T! g" \1 g7 G
{
/ E+ n2 Z8 E8 e3 ~* c
LPSKILL lpSkill = &(m_aJobSkill
);
! I2 K$ M4 A* l0 E
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! `* j* V B% D3 y a
{
, k3 E7 k k7 w# X
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% {& k0 h. x6 v5 }
if( pSkillProp == NULL )
8 G- y* D% p/ x8 N8 @) O0 q) r
continue;
5 g- a9 o, x' k5 e7 R2 \
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ f# `8 p! l, N1 v( G( s+ B
continue;
, M9 v4 U0 W5 G% k+ }
lpSkill->dwLevel = dwTmpSkLevel;
; K& l* e- l. `' I+ M% g
}
8 Q' N; W7 v, h$ }& ^5 a* A
}
' s* u* p) s" a0 M$ W2 ]% I
}
1 l( ^, D) v1 f* z$ p* G7 \4 l: Q
else if(IsHero())
% f9 g# `3 L/ ]4 `5 g1 \
{
) [ ^/ r( t; H2 d1 k7 }
for( int i = 0; i < MAX_SKILL_JOB; i++ )
- g& Y# q& Z6 O9 {; v2 v. [- Y
{
% J; Q" h& a) N7 k
LPSKILL lpSkill = &(m_aJobSkill
);
2 H t8 G: [/ k. [" J
if( lpSkill && lpSkill->dwSkill != NULL_ID )
* W4 u( a, E% Q& B" N+ S
{
' p$ y0 ]" ]5 r: b: P- w
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
/ ?0 {/ o+ H& B1 y* l, D; R: T+ s
if( pSkillProp == NULL )
& b: y6 X0 x. {- F9 {4 Y
continue;
m% n9 q' ~; K3 ]( {8 R' G9 y% I
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: F: a) w/ p0 A. J2 u+ ]+ Q9 \8 Z
continue;
* Q, w7 e$ o" k% A$ a9 H7 u* O
lpSkill->dwLevel = 5;
& z. n+ o9 [* |4 r* I) ~2 a
}
9 U* F( K6 H6 j) I5 S" D! B$ g
}
7 s# F7 t( e/ S1 l
}
# B* S& G& q) _+ d3 u3 L+ t
else if(IsLegendHero())
5 f% }1 {/ C' I1 d
{
% f, ?9 j, e0 z5 ~
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. O" n5 U9 D% B- F
{
# Y3 T- e4 ^8 n
LPSKILL lpSkill = &(m_aJobSkill
);
# S) }* ?/ h% _2 ]
if( lpSkill && lpSkill->dwSkill != NULL_ID )
* g+ N$ r: X8 i& [% g2 e
{
. j4 V9 u' M4 U2 ?# R4 e+ s
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
0 ]$ I; Z' M: i# |3 R
if( pSkillProp == NULL )
1 R1 b* @/ d* d8 F0 v: H
continue;
; \2 w0 y' h" Q i' T
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 h+ \ T% q- O$ b* D) d6 W# b
continue;
+ f/ F/ ?! M! `8 ?' l$ r! l
lpSkill->dwLevel = 5;
, h! C% i& ^* n- r* a3 y# h9 j
}
- b$ s9 [; G( Q- r1 D
}
$ |4 K. M/ `2 J" L4 o5 V9 R5 w* N
}
! U# ^2 `8 d4 V/ N& |0 m
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
1 Z" {- G- r7 l# }$ d$ a& o
if( bGamma )
( ]' `3 Z4 h* a+ f( \
{
1 T2 c- n5 D( ^
m_nExp1 = 0;
: x' _- H5 X. ` W
}
& D% B) S" @% ?0 M+ H, S- K
) [! J5 f7 u* J1 Z
( (CUser*)this )->AddSetChangeJob( nJob );
% T4 b" y) C5 E2 s3 a2 |
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
2 B9 [9 U6 y- q9 j3 H5 v
$ @3 K. {$ y* l
3 d. F$ `. |& p2 D$ U4 U) v
#if __VER >= 11 // __SYS_PLAYER_DATA
: U1 _6 i( Q. B( Y. s+ y
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
( l" y! ?4 Y; t7 b6 {( g- X+ s
#else // __SYS_PLAYER_DATA
# p; H% `# J& a9 D' M+ _* v. v
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
$ S+ |: p$ B2 ^0 p! }2 m
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
3 E2 T) {3 |* n' r) a1 A
if( m_idGuild != 0 )
) p1 P$ }7 g- f. j6 d; X7 ]2 K
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
0 v' {3 w: Z7 a( B
#endif // __SYS_PLAYER_DATA
$ l; G, f2 e. v8 x0 @. D- p
SetHitPoint( GetMaxHitPoint() );
8 G: G; u% j* U M
SetManaPoint( GetMaxManaPoint() );
6 d4 ?+ F: t8 {+ ]
SetFatiguePoint( GetMaxFatiguePoint() );
; T$ o0 l! `0 B, N+ G5 B
if( nJob >= 1 && nJob <= 4 )
( ?$ P: l0 a( N
{
0 o3 j! U w* O a. K7 X" F5 `* @8 H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
: E ?) W0 p7 f! J9 }
m_nRemainGP = 28;
9 D! @3 Y" ]6 h' q# Q' Y) Z! @2 p
}
7 d/ L! P" S X2 R8 I
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
- m. |2 \% i/ y" c/ a7 i
{
& X+ u. U- Y5 k1 ?7 B3 \
m_nRemainGP = 118;
/ y2 V7 b2 k$ W6 e6 |- P, S
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
& r/ y+ B7 e1 K% u& E7 ?: H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 G# k0 m7 X _4 {( p# t# L9 E1 n. X! n
}
% q4 V, W/ m! \8 a6 A5 ~- Z1 v4 e
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
( L3 N. L2 z1 t9 L" c4 j- Z
{
# m, Y) l5 f! Q2 J& z/ k
CItemElem itemelem;
& \% y6 B1 O& P
itemelem.m_nItemNum = 1;
; z" `' o0 C" x4 F2 q$ p5 ^* G
itemelem.m_bCharged = TRUE;
- g& i* L5 E8 Y& B4 V! F
BYTE nID;
2 h: ~# W N7 v- }/ x: }
9 x- l: v. x8 e5 F, G/ R
if( nJob == JOB_MENTALIST_HERO )
6 r5 r6 h: D) p* o1 ]; Z
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
; ~4 ?7 J! k* y/ l5 P% b
if( nJob == JOB_FORCEMASTER_HERO )
$ W1 e2 I" `# g# p5 G
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
8 M0 J* n$ _7 I
! r' i- G- H3 [0 ?
( ( CUser*)this)->CreateItem( &itemelem, &nID );
" u# C: V2 _1 @9 d, q4 }+ T% i
}
h9 q5 V0 T n4 r: r5 \
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
5 K3 S2 y: E3 q* |$ j
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
, Y4 W9 S2 w( J; x/ W2 z; `; M
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
5 H3 g9 e; [: L. O/ B
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
0 k9 n# X( u0 d, M
( (CUser*)this )->AddTaskBar();*/
8 A3 N3 m9 \) [4 L. T5 P/ S
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
& p- W7 C8 p) y
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
2 ?/ ?5 z+ ~3 ?* e4 K
((CUser*)this)->CheckHonorStat();
: z8 J \! y% e7 x6 D4 ]8 ?5 w: `
((CUser*)this)->AddHonorListAck();
$ v. |0 ?' v' e j- f8 x% T
g_UserMng.AddHonorTitleChange( this, m_nHonor);
~9 w( u, k; G
#endif // __HONORABLE_TITLE // ′Tà?
9 V9 K: g! v# u j
}
9 h4 O( K% Z2 i5 U2 ?* Z
#endif // __WORLDSERVER
$ R. Z) O4 [ P5 r0 Y
}
4 v" ^8 @+ L% ~( h( B8 o4 |, {) C
# b% F+ G' P" m2 x) O) k
然后你进入functextcmd.cpp并添加以下
/ t6 y1 E" s/ w E: {: Y2 R" d
5 y7 U2 _5 @8 n7 Z9 N
代码:
1 f" G }3 W3 q
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
7 i' ^" l- r5 c0 C$ j, c* H( N' \
下面插入
1 L8 `' u I7 {# ^1 B
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
2 b( \: G c6 s' ^: ]9 Y$ G( n0 Y
) n, I; G9 E( i- a; u8 ^. [
然后你去
' k+ |+ a) P: J& ?8 `/ Z1 K) f
% K! c% C% h+ r! e
代码:
: E5 ?( g+ Q4 O
代码
b0 |6 ?+ t" |8 K+ F: P
BOOL TextCmd_ClearPropose( CScanner & s )
7 ~/ g- D! M8 x$ P/ F
{
* k2 b- s' v x( Y; V( p. d
#ifdef __WORLDSERVER
5 }5 `) h' \7 ]
CUser* pUser = (CUser*)s.dwValue;
) l6 m' k F7 K5 N+ ]
g_dpDBClient.SendClearPropose();
2 w2 o M) P( j. h- o4 Q
#endif // __WORLDSERVER
' ]1 ?" o( L6 s8 @2 C9 ]
return TRUE;
0 {0 W) |# B4 z3 U* Z. ~0 f
}
! \% w& O. x5 G; ` {
下面插入
' `% O, U" w# ^. O, B# {
BOOL TextCmd_rebirth( CScanner& scanner )
9 Z/ t& ~; k9 {: U0 i
{
, j: `" y Q, G3 u' D& `
#ifdef __WORLDSERVER
5 v- w+ C4 H. i) s& f
CUser *pUser;
( R U9 C2 G5 K' i" _
pUser = (CUser*)scanner.dwValue;
- t# d$ w& h" }
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
) K3 t6 K; p0 G5 O0 {
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
3 Q* \/ Z( f1 G1 R& U( x
else
4 r4 n2 V7 y1 j3 U1 ^
pUser->AddText("你还未达到重生条件!");
# P% R# v+ S3 V9 Z( M9 `9 V
#endif
3 I- H$ e1 u+ N' t
return TRUE;
8 p+ G6 N! ]! Z# k8 ]
}
( h* O! N/ e& O: k( U: Y
% @9 {1 x/ E5 |0 i9 _4 X
( G0 P6 @3 b% x! n" C- t2 n- O
+ b( k& s+ o7 I
1 m9 L: v7 f( w
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2