飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
8 m. ~* w' Q6 t
2 t N; k7 u$ h8 x+ H6 J6 p% Z
Mover.h
& Z. @2 E _9 h( w/ W. v
代码:
0 W: {& g2 _' G8 p
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
- i+ J0 Z! R4 h
0 P3 S) r. p3 Y. z9 [" K
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
7 N, _5 \3 T; W2 v
; T: k& W# z# V" Q4 O* ~
然后你去mover.cpp添加
- L' W$ r& { Q8 q' s- J3 O+ o" W
. d, @& k5 G2 L2 f" A' H7 S5 k
代码:
* o; |2 m) q" h v$ H
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
& `& N: q) z) e2 T+ n
{
" X6 ^4 U* Z3 e2 O0 D
#ifdef __WORLDSERVER
' }1 w7 t9 z: J6 L% Y
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
6 _/ F x x" k, e* O) f( {
MoverProp* pProp = GetProp();
2 B F7 X, D- d$ l
if( pProp )
- `; s! x& Q' u
{
6 M9 E0 e1 u9 _1 R
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
+ ^+ n3 M7 }- n/ M( J5 B
{
+ k1 h0 x' b/ V* A8 }+ o
AddChangeJob( nJob );
5 x# {, @$ ?! ^8 Z
}else{
9 L" o, g0 H. i5 a, ]4 O2 K0 D
return;
; x8 g2 f7 a3 h
}
/ Q+ [! i4 W3 N9 _' i* g/ Z
int nPoint = 0;
@7 ^/ O9 |/ B. w! R$ r9 D% Z
if( m_nJob == JOB_MERCENARY )
( s! E/ i7 d p9 [. m9 h, S$ i
nPoint += 40;
5 i" F) N6 F* r5 d( x0 w* b3 e
else if( m_nJob == JOB_ACROBAT )
; \+ b3 X+ p$ C
nPoint += 50;
: I: W7 J) V# P/ n
else if( m_nJob == JOB_ASSIST )
, x% V4 e( I0 I; D$ }" A! W
nPoint += 60;
1 P9 c0 n/ m. m
else if( m_nJob == JOB_MAGICIAN )
1 y) N% K3 b2 a+ F+ Z; a
nPoint += 90;
* _/ a7 ~( t& A* U
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
" e$ w+ O7 T2 _2 P* u' a- V7 O
nPoint += 120;
# z8 p' l& b! A9 S/ p) O" Z
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
. d" {8 o5 n+ U
nPoint += 150;
4 A2 w5 d% ?5 S9 Z2 e
else if( m_nJob == JOB_RINGMASTER )
% D' j8 E0 A3 x8 v9 I7 B
nPoint += 160;
' k) f" {* d' \6 S z2 [
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
4 q# A$ f7 U/ C1 w% P, k
nPoint += 180;
% @0 k9 H/ E8 l
else if( m_nJob == JOB_ELEMENTOR )
! M% J! a) D3 e% F2 |( q
nPoint += 390;
. c+ d0 Q6 T& W8 K
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
2 X( D5 c$ V$ e- V: I5 i
nPoint += 120;
/ o5 z( w; W5 ], S5 @
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
* F9 m% b; b1 h7 m4 A: J
nPoint += 150;
0 I0 g- R' R: _0 H
else if( nJob == JOB_FLORIST_HERO )
( a& z4 o) u: E( [4 C w
nPoint += 160;
! _" T- o4 _5 x' H. T
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
( s" f% J; ?5 C
nPoint += 180;
% Q! z4 A! B6 S- m: O! z& ~" p4 x0 X/ \' ^
else if( nJob == JOB_ELEMENTORLORD_HERO )
1 R6 j6 M7 n: p/ [0 \
nPoint += 390;
- F6 t% W* z0 e
4 m5 R* e* Q/ ?% r
AddSkillPoint( nPoint );
! a. q6 ]0 e. ^' p3 M
m_nLevel = nLevel;
8 E& [3 R: D' i6 z1 }3 l* f1 Q3 \ A
. k$ ]+ H; M7 B
SetJobLevel( nLevel, nJob );
. j) V b+ P- j" [
m_nDeathLevel = nLevel;
# W9 Z5 H' U4 U" R' M. O) q6 Y5 D& u
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
. G6 m7 @. R& k) C# o2 i2 m
if(IsMaster())
7 n9 m% i3 i5 j/ b- @" ?, g0 P
{
6 {3 ]: |) P. Y9 }
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
) p6 L- i @" ]
if( nLevel > 59 && nLevel < 72 )
+ x6 U. U8 j, J: }% O
dwTmpSkLevel = 1;
) k A7 |, K, @
else if( nLevel > 71 && nLevel < 84 )
7 L- I! l) x m" n5 m
dwTmpSkLevel = 2;
) }: i6 }: {2 W z5 d8 c, r& e) t
else if( nLevel > 83 && nLevel < 96 )
9 Y2 J( `& @5 u! A' @, {1 Z
dwTmpSkLevel = 3;
& y, L2 o+ X, p8 D" W; Q
else if( nLevel > 95 && nLevel < 108 )
8 c" ]) H3 d- y I- b1 I
dwTmpSkLevel = 4;
. N: [2 `; j# `6 C" m9 t0 Z, z
else if( nLevel > 107 && nLevel < 120 )
) S8 X, {+ n9 M) G# t
dwTmpSkLevel = 5;
8 r0 U" X0 a; g7 Q4 o6 K* f2 E
for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 E& e2 H+ \" b, ?/ u
{
6 a" G' }$ U5 {% d$ v- I
LPSKILL lpSkill = &(m_aJobSkill
);
3 \ O0 g* n9 }# Q. y" ]* }& H
if( lpSkill && lpSkill->dwSkill != NULL_ID )
U. z U8 p% b- q5 h
{
0 `- u Y) m1 G& ~2 o0 O u- J1 Y
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 [4 A& S5 j x
if( pSkillProp == NULL )
( I* r$ j: V' x
continue;
; V- B5 K" `1 P8 i+ v9 r
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
) f/ ~% z# C9 s% D; @
continue;
) k, O! q; T( C( g" A6 o
lpSkill->dwLevel = dwTmpSkLevel;
* x m; K( w% i
}
9 |8 H% v: g! E" }7 i' `% H
}
! Y' W* s+ T# s- b
}
. i1 E* s/ F- J8 O1 y) {$ h
else if(IsHero())
9 }' z1 \' |- k4 \5 V( G; \
{
8 d# m* e$ s: \, B# y
for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 q$ u3 q7 d: J% I2 D+ S" N
{
( J' J. u/ \& q3 ~* P3 H3 v
LPSKILL lpSkill = &(m_aJobSkill
);
5 {- |6 I! S6 |+ Q5 h, y+ r
if( lpSkill && lpSkill->dwSkill != NULL_ID )
& G- ^& d9 _8 l+ x1 w
{
) g6 G6 \" }8 ~5 M s- G
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: g: I1 j" w9 J! l
if( pSkillProp == NULL )
. q* b6 V+ N# I3 O+ \
continue;
" ^% k; h6 i6 E9 v( d
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( h& R: r! F4 N8 c) L" O1 }
continue;
" H+ _+ o: n3 @% {
lpSkill->dwLevel = 5;
# K, T' E# k! f
}
4 C+ ] U6 y* q- m2 p# l
}
`! p" `) w' \7 m
}
1 K4 {5 m9 E& _/ c1 ^5 t' i
else if(IsLegendHero())
" b4 ~, `# [. p2 I; Q0 Y
{
6 M1 L2 m* D8 {1 C
for( int i = 0; i < MAX_SKILL_JOB; i++ )
( i. q1 ^8 q1 [, G
{
9 e' `! m% ]4 b6 e$ C0 U5 o
LPSKILL lpSkill = &(m_aJobSkill
);
9 \( V9 Z, h1 j9 @
if( lpSkill && lpSkill->dwSkill != NULL_ID )
t0 ]; h0 B+ j/ V
{
, }3 n: _( G# s9 l* I- X
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
& L, q }: q: h9 q, m
if( pSkillProp == NULL )
( @& O8 o/ }( ?+ B
continue;
: B; S1 ~; ~: N( H* b* R$ S+ [+ X
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 O/ \2 w6 n% l( m; O
continue;
7 U# `5 a$ }8 E8 Y
lpSkill->dwLevel = 5;
0 \, X6 |& @5 N% r9 i! y4 ?9 S1 i
}
, E( h9 d1 g. v3 o7 z, f w
}
2 F5 }- ?3 E, _$ s
}
6 S9 [- a# ?4 w$ Y# x
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
6 x% R$ {3 H: _4 F5 o
if( bGamma )
: l8 Q: d2 |# ~$ T8 }
{
$ A1 ?: v K' E' }
m_nExp1 = 0;
2 ]$ C" d- u. c/ n4 P
}
8 B; B9 X8 q- }
. Q/ U* m+ s; Z, c
( (CUser*)this )->AddSetChangeJob( nJob );
& _; Z( g' n- N9 {. W2 O3 r
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
* h5 l( j0 M$ m3 b0 a B
, R4 w& u l: `. M! d
: k. Q* ~5 l4 N, W V( {, Y
#if __VER >= 11 // __SYS_PLAYER_DATA
2 ^ \/ N p' j2 h) B$ D; U
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
+ @$ q9 r0 I; o8 \
#else // __SYS_PLAYER_DATA
" U; T! x1 r! S
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
, W8 }0 V6 `3 N
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
# y% B4 _6 O4 K5 Y
if( m_idGuild != 0 )
" z% s: z$ L% d! K3 V
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
9 {2 t3 a3 ~1 ?
#endif // __SYS_PLAYER_DATA
: P+ t @( b4 ^4 \
SetHitPoint( GetMaxHitPoint() );
) C! o6 j0 L1 x
SetManaPoint( GetMaxManaPoint() );
4 G0 y3 I$ c$ J1 _& |+ i
SetFatiguePoint( GetMaxFatiguePoint() );
& H; G7 Y! q [& s5 }$ P8 H+ Y
if( nJob >= 1 && nJob <= 4 )
2 s- z* h* q+ B- | P) h- s p) j
{
, \( F5 p7 e2 z3 P
m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 |! j" j# }4 [) d. V4 F
m_nRemainGP = 28;
+ f8 @5 Q8 l& Q- @% {0 F
}
" @# Y; L- w i4 i B' s3 v
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
5 n: j6 F4 e% @ q r. G, k P
{
% W% [' Q! E6 c
m_nRemainGP = 118;
0 P& }) S( ^( ^/ Y( ]
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
: G) o! b% v+ C! D# U' i
m_nStr = m_nSta = m_nDex = m_nInt = 15;
( J. X5 E6 m5 _' v
}
% Z% V/ s- m7 F( `( v) T% r7 O" U
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
: A: u- m; c2 w+ `1 c: p; [
{
9 L ~: _4 y# C' J
CItemElem itemelem;
: R) S5 T3 ]5 d' b% j
itemelem.m_nItemNum = 1;
- `' A1 w* v( B# w7 y
itemelem.m_bCharged = TRUE;
5 m9 T& `) y4 q$ ?. @; O* i
BYTE nID;
8 x0 r: L, }; t: T" j
+ n) w: m$ P7 |
if( nJob == JOB_MENTALIST_HERO )
3 v7 `7 `/ P, S9 f V0 | y6 q
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
0 j/ K, b4 [3 i% t# h. I
if( nJob == JOB_FORCEMASTER_HERO )
* @. w: P0 N( n; {! Q- }
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
: w4 r) r" v+ [0 i- z$ ]
- e: }9 @0 r% v
( ( CUser*)this)->CreateItem( &itemelem, &nID );
5 Y5 x& a% W" I& _# O" C
}
, C3 H. C" f+ f% @! i
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
5 |. |* H$ N3 F& }6 H3 P
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
6 [8 {% M7 j5 G$ u' M0 A) A# _
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
- w! b i2 i* C
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
# ~( W0 u- q; y" `. X
( (CUser*)this )->AddTaskBar();*/
5 ~% ]7 h* n4 k) c
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
6 B/ f. p3 B9 e# k' G
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
+ L. ]) ~2 Y; v0 W; U5 @8 w( M: [
((CUser*)this)->CheckHonorStat();
[1 ~+ b& Q5 A6 D; I
((CUser*)this)->AddHonorListAck();
3 v0 {. ~" Z: Z* H0 R5 j0 ~
g_UserMng.AddHonorTitleChange( this, m_nHonor);
$ b$ L9 s" Y N" t
#endif // __HONORABLE_TITLE // ′Tà?
. h4 G! B7 r; A" p, G) R. O
}
7 Y! W0 v7 {1 B. T& s( e; [" |( l
#endif // __WORLDSERVER
7 B" T" |2 ^3 [- z# G+ y+ ?! e- }
}
! X! @& p& ?! M9 K7 V
) x7 t+ e! G$ Y0 ]0 p6 H3 ^
然后你进入functextcmd.cpp并添加以下
2 C4 a7 c5 J: y3 @; ~; x, d! M
6 v8 L7 l& K0 F. Q! q7 N' E; `
代码:
7 t6 l) E! J2 B8 O/ J
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
1 ?: s" z( y& u" A
下面插入
. ]2 H( a) g: \; w: i
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
) L3 g6 }! L7 y* y3 Q+ @0 X0 C
$ O* F5 ?' s! Q+ k* P$ @; [2 p* s
然后你去
; c5 a4 w# c8 _
. f7 M1 f$ E7 N. `; H5 q! m
代码:
) I# P* l& q) a
代码
/ S k( G5 P. R- p4 W
BOOL TextCmd_ClearPropose( CScanner & s )
8 H9 D& ^# C& o: _: S2 G) P; i
{
# S' j& C5 b+ p- f8 I- X4 X
#ifdef __WORLDSERVER
5 F6 I; Z" A& c
CUser* pUser = (CUser*)s.dwValue;
; ~6 E- S; [' q5 h
g_dpDBClient.SendClearPropose();
1 R& L9 O) K6 L9 x. D
#endif // __WORLDSERVER
! R" L- Q! |3 o. ]( M. A- j
return TRUE;
7 L" \# u) ^, ^0 B$ U6 M; Z; k
}
% h% p+ R" P. V/ L( a' ^+ J
下面插入
7 L9 r0 u& t! j' X" Y6 R
BOOL TextCmd_rebirth( CScanner& scanner )
" e9 J( |; S6 c q; Q; r
{
1 a8 R' |* x: G
#ifdef __WORLDSERVER
- f) V/ p( ?1 x
CUser *pUser;
6 `4 V3 ?9 _; T& W
pUser = (CUser*)scanner.dwValue;
$ ^* n( j: l( v! J, L
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
& F2 v v4 T- t3 m5 }
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
" ]/ W9 \' @- R8 ~+ u4 m- E
else
. @3 U' n4 k6 ^$ X5 m
pUser->AddText("你还未达到重生条件!");
9 f6 L, D% s/ m3 d, _& s' A5 S- Z/ o* D# L
#endif
4 o- A/ Y) F( j0 @- C& W! n( @
return TRUE;
) q; @* E$ P- B
}
) c* d$ U5 m& z& A: V, X& ^
0 H( \" T$ o. \9 \# c! a
! t6 w( C% c: P) L! z; @
* K" N6 H' x- O
- q/ h6 _; x& u
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2