飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
' d6 z) ~( j$ M) S4 t
7 J3 L1 V+ s; e7 z
Mover.h
" N' e1 ~4 _+ _ p. Y
代码:
) N8 f$ x$ n' F/ u( v
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
1 j: v9 p* p" b+ Q3 `5 _) W
/ l8 P0 O& L' g6 k4 O, }% ~" @5 p
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
: Z( L4 z7 r. |+ F
- m* u! x: j) N& ]' Z( o
然后你去mover.cpp添加
6 n7 \" a& h; ?7 g" n5 U, v: x) ?
# J. K( ], K& Y$ H" @: L2 m
代码:
9 U' X2 F2 x: |+ f, J( K
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
4 s- O9 @$ D& q3 v
{
; b8 a T- t* M% O7 e
#ifdef __WORLDSERVER
1 z" ]" _# a" f/ [( W
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
3 W5 t" r2 E3 t. X8 K" C9 Y
MoverProp* pProp = GetProp();
: Z) H% R" L* Z8 L* C8 ]4 _4 K, _5 D
if( pProp )
: G; Y; L, D) P. d
{
7 P1 {5 Y7 w2 I, J9 _, _
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
" i9 o1 H+ d2 I {# i
{
$ q$ o* q: @( p, ]
AddChangeJob( nJob );
( O- D3 N/ i3 M+ o# A) t
}else{
8 n5 p3 @ S' q1 B6 f/ r, Y
return;
m) Q6 O) h5 Z+ j3 i, Q; ]
}
( Z" m1 Z3 H- J- C; |" Y6 d
int nPoint = 0;
9 ]5 X2 C0 x$ E) i) T8 O) j3 o* E. K
if( m_nJob == JOB_MERCENARY )
# e) @# \( A; F7 R/ r5 O- X
nPoint += 40;
) S1 x! Y- N- I) R' n
else if( m_nJob == JOB_ACROBAT )
3 T: m7 ]7 Q( V( F; ?
nPoint += 50;
# B+ E1 f: b5 Q6 w; k
else if( m_nJob == JOB_ASSIST )
' y6 r* h1 I& V1 `$ B- K
nPoint += 60;
' O3 ~# X* z( F+ O9 n, s
else if( m_nJob == JOB_MAGICIAN )
* Z9 s- P, c" ^) t2 Q
nPoint += 90;
! J# L. I7 D1 ?! ]" k8 E+ A# g; g
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
& F* f0 S' w" W9 j
nPoint += 120;
* Q, i$ C+ a0 U: a8 x4 d
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
4 }+ ?; O- U$ J9 }( Y" e5 k
nPoint += 150;
" ]. t8 S3 l4 d, W1 m# f4 G
else if( m_nJob == JOB_RINGMASTER )
1 R- K1 m% h7 b. C" F% D
nPoint += 160;
9 {* x# g1 r _, w
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
6 ?+ ^0 q# x+ o
nPoint += 180;
6 J! [; I Y* h$ C$ a
else if( m_nJob == JOB_ELEMENTOR )
) f& H( K A9 b% g4 D
nPoint += 390;
) ?+ x! S) ~/ Z( K1 J7 I# b
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
' ^& U; \; k" I2 k
nPoint += 120;
% `3 @$ g* N1 h' m9 R
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
& v% a7 w% `2 q& Q. ~ b/ i, `
nPoint += 150;
G& k c9 V; _) D5 S
else if( nJob == JOB_FLORIST_HERO )
/ P0 B) B) Y" c+ ^. m. d1 o
nPoint += 160;
$ A; j+ u i+ T3 I
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
4 [5 [6 A$ V. V/ y7 l
nPoint += 180;
: k9 p2 u# R( H
else if( nJob == JOB_ELEMENTORLORD_HERO )
! r" R9 L8 q: E7 V# i, a
nPoint += 390;
) g2 y, r% ~: y
' ]: q* f% J7 Z5 o3 X
AddSkillPoint( nPoint );
* s9 T5 u0 H U( t' t8 {' t% x) C
m_nLevel = nLevel;
0 |) x. H' F" Y/ U
/ D( w) ^: C0 I8 ~* O5 H
SetJobLevel( nLevel, nJob );
; I4 h2 F% h9 l4 t# k
m_nDeathLevel = nLevel;
3 w' u. z! Y0 N
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
3 `) j5 U4 u& J8 z
if(IsMaster())
7 Y1 A8 }, t0 @8 n* I. O( l
{
. N9 K% f' R( o2 \1 S; b
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
% R" `4 h5 Z1 \/ `+ u3 L) W" \, a
if( nLevel > 59 && nLevel < 72 )
7 N+ y# D; V5 P* f
dwTmpSkLevel = 1;
- \- `) `' g4 g3 l; @
else if( nLevel > 71 && nLevel < 84 )
/ V2 t2 w9 p: ^9 r0 Q! V/ j
dwTmpSkLevel = 2;
3 w* }& @; v* \5 M7 Q0 L
else if( nLevel > 83 && nLevel < 96 )
* m7 K. E( F2 F: E8 U' i: m5 ^
dwTmpSkLevel = 3;
: Y5 U; S0 U) q* F& l# l# U
else if( nLevel > 95 && nLevel < 108 )
7 ~# F4 M. C" ?; _% X0 }. |$ ?" D' J
dwTmpSkLevel = 4;
$ r# g) H- Q: [
else if( nLevel > 107 && nLevel < 120 )
$ H- ~& \: e: |4 L5 J$ }" T! ]$ F
dwTmpSkLevel = 5;
( n7 B( k9 P0 \9 {: J9 A k
for( int i = 0; i < MAX_SKILL_JOB; i++ )
; b l, c/ O( a' J
{
9 o4 `* q [$ o& I
LPSKILL lpSkill = &(m_aJobSkill
);
! ^+ h1 m0 B) C0 V
if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 V1 o5 o" }- ?( G4 L
{
2 q6 u& P+ T0 z6 d
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
! K- ]9 R7 U/ y* |/ B* Y: `" c
if( pSkillProp == NULL )
$ f) L X; z- X+ d2 E2 P0 y: P i
continue;
. U; V3 i2 Y* w6 k
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 H0 a- ^! J" q' f/ u( [
continue;
8 t! V U! _; I) \$ G/ j N
lpSkill->dwLevel = dwTmpSkLevel;
! }0 L& E' d# k3 T, C
}
5 |% l8 t0 Z& ?! I
}
d# F- E4 J8 y5 ~4 @, P
}
7 H# D0 z) @6 ?$ p, `3 p9 X
else if(IsHero())
( R M9 Y1 Y, Y3 ~& Z4 e
{
1 m# ~/ R1 j* `5 h
for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 x6 V( {, t6 ^1 ^+ T& ?
{
0 d4 d+ s: b, t/ N5 \& n( m5 J
LPSKILL lpSkill = &(m_aJobSkill
);
8 c: p3 @3 g) F1 X4 s& Z. C2 a
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- d% J! ]* X! E: Y( F4 C4 q
{
- N; T; v, u# G r1 H
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
/ K0 o2 c; L* o" o3 ]0 {0 v- S
if( pSkillProp == NULL )
g R6 s, b! w- @
continue;
o; B) a7 c; L: l/ a
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( c9 X. c6 ?7 j7 `0 M5 `$ X. a, |
continue;
5 q& c/ S! L4 J8 V8 G8 s, g
lpSkill->dwLevel = 5;
8 {0 \& a: C3 F7 r
}
5 ^8 |) ~2 w9 o5 n
}
' x; r/ s9 `8 Q# ~' O1 m
}
5 [$ L* W7 \! v' m0 V' {8 X) x
else if(IsLegendHero())
3 w# d" V, O- ^8 m
{
3 I$ _3 ]! d b" L
for( int i = 0; i < MAX_SKILL_JOB; i++ )
, e8 B4 j9 C g6 o9 x! V. c& Y1 ~
{
; b9 d& T& I6 {: k
LPSKILL lpSkill = &(m_aJobSkill
);
5 A2 M6 K3 B2 ?5 M1 t
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- p' D, E% |: g5 n* s6 j; P3 Y7 P
{
# K, L/ V* I* e6 z' Y& |
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
) S1 A3 z0 ?5 @+ q
if( pSkillProp == NULL )
, G: h6 h* {& W. ~4 j
continue;
: r3 w2 \/ o M& D% w! |) y
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- b/ w8 ~& P( J/ X7 i s
continue;
: Z! ~' M; f6 N4 f5 y
lpSkill->dwLevel = 5;
# V% k$ ~8 f# q$ Z" n/ A, c$ G
}
$ t; C8 C3 b7 e$ @6 e0 n; B8 _
}
6 O3 x4 Y T, p# K
}
$ a! m) F5 v+ e3 O9 K
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
# |2 ~2 O7 }$ Y/ R
if( bGamma )
1 B# ]0 f! j4 O$ A4 w
{
- ~+ [( y9 M2 h: I* ?# b
m_nExp1 = 0;
7 Z2 C8 L* ?7 Z6 f
}
T, s, @7 H; [% v- a
- ?2 _4 y- o; F5 U: e8 y: E* D2 n2 o: a% M
( (CUser*)this )->AddSetChangeJob( nJob );
7 j' x0 J& }5 @3 a u$ }9 d
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
0 x* d! _% N4 g! J, r
5 W4 ^; u1 u! v. \, N7 r
1 M) }, R1 @) V+ s- E
#if __VER >= 11 // __SYS_PLAYER_DATA
3 E+ P! Y1 N* I4 A' G/ h' y
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' h2 }- j% j$ }8 P% w, f: y& [
#else // __SYS_PLAYER_DATA
/ J/ @& _( B- @, D1 }8 e* Q
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
/ E' r1 {0 E7 R8 v8 l
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
8 @; }3 v, ^' M3 A$ o
if( m_idGuild != 0 )
& N1 w( `8 w& V% G, { D* e5 N
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
8 o/ B$ O8 K5 I; Z
#endif // __SYS_PLAYER_DATA
2 {0 ^0 Q c# q! H+ L, C6 w
SetHitPoint( GetMaxHitPoint() );
# b! `1 @* v- ^* p" C% R
SetManaPoint( GetMaxManaPoint() );
* D* g" N' B2 B, ~
SetFatiguePoint( GetMaxFatiguePoint() );
. g" I4 a! K+ _" Q
if( nJob >= 1 && nJob <= 4 )
0 U1 R& _; ^6 _' i3 P# ^5 {& J
{
1 d0 K" j& B" }- Y+ N- u* d- u
m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 K+ V/ U$ b2 Q/ o8 G# v( K) V8 a
m_nRemainGP = 28;
( q) C7 p) v, j
}
; x/ a" u4 z( f4 R( A' ]: y
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ o# Y/ K* A' y n" h/ F
{
a% q' f5 v M/ a
m_nRemainGP = 118;
: U6 J+ O' S+ e( O
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
& q5 ^ j, @9 v
m_nStr = m_nSta = m_nDex = m_nInt = 15;
* o S1 c$ ^ x. T B; Y
}
+ Z) ]+ \; ^9 w
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
6 S, M0 z3 e3 j2 Y) E0 e6 f
{
$ \, x; b/ O+ O$ P: t V2 E) v! \
CItemElem itemelem;
: k$ |& p( m! `4 N2 w. k- y
itemelem.m_nItemNum = 1;
0 q h0 @( B) c0 W6 ?
itemelem.m_bCharged = TRUE;
3 D$ X* G7 T6 J, n
BYTE nID;
+ S& ~( g2 a5 j
- t' [. M. d( Z9 H5 y8 X
if( nJob == JOB_MENTALIST_HERO )
% M F$ e( Z3 k( W9 ?2 o' s& K
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
8 `. E& g0 f* ^7 G
if( nJob == JOB_FORCEMASTER_HERO )
2 p8 @. `( ~, O* P
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
2 d4 ~! t; {2 |( `, b' F
! p- Y) ]) a% w, v ]2 N$ o
( ( CUser*)this)->CreateItem( &itemelem, &nID );
4 n( A& C2 E# K* ]5 r$ t$ n; J
}
7 C! a4 V7 ^+ c1 V2 d
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
% U; J+ r/ Z: B
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
" K4 ]% c5 C5 Q M7 [! e
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
4 [# C$ [+ O( b# w
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
1 f+ m0 h2 J5 C8 V: G7 R) T
( (CUser*)this )->AddTaskBar();*/
3 ?) ?- o0 Y2 R
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
) o4 k3 M! v. ~& R6 ~; P- y$ h
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
! U [; [6 `) d/ j2 h# k" U2 x
((CUser*)this)->CheckHonorStat();
5 Q; `/ [& M; a/ h: c' \6 y8 Q7 p' w
((CUser*)this)->AddHonorListAck();
7 P! r7 _; a7 X- c
g_UserMng.AddHonorTitleChange( this, m_nHonor);
) D" O! w3 y2 ]7 m0 y0 J3 R6 ^& }+ k
#endif // __HONORABLE_TITLE // ′Tà?
6 U4 x" v4 {3 J) q
}
$ g2 }% B+ c$ N% Z: D0 M
#endif // __WORLDSERVER
v6 q' X9 L6 u1 a
}
$ g* R" M; o& E% h
6 h* H0 K) X$ Y- {) i8 F4 b" `3 Z( P5 C
然后你进入functextcmd.cpp并添加以下
# |" _* z, Z- S& A- H
4 J* K. V$ A1 P% b, J
代码:
2 R$ T& j8 E0 A- {8 r3 s, }
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
! ~- D: R6 [1 Q" G, Y) [: a
下面插入
+ Q, {; C( j: N( d+ Q
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
% E' J, V$ \5 R. Y' o
6 g8 u, z# v, [% |
然后你去
* f" j1 r* B; E% n2 j w% J3 j! P
6 O* {$ F8 F( h5 f5 b2 \
代码:
' P' `) R) M& b, v- l( S
代码
( N/ Q4 @) J3 B W: L
BOOL TextCmd_ClearPropose( CScanner & s )
6 f( g8 E+ s/ [( P& c- e
{
: E2 \2 I& c# S+ q- p
#ifdef __WORLDSERVER
1 @$ w0 \) T% s$ L$ n; _! j
CUser* pUser = (CUser*)s.dwValue;
$ j& A8 Y: _3 L! |% R
g_dpDBClient.SendClearPropose();
% U& t" v2 U, q4 z
#endif // __WORLDSERVER
0 T4 s3 x% E/ _. Q% N
return TRUE;
' b ^7 B, N* e* u" j! ~, O) Q
}
7 s. @! B- t& O/ \
下面插入
+ v6 `' r6 Q3 M5 Q; Y" c
BOOL TextCmd_rebirth( CScanner& scanner )
$ }8 Y" v5 s4 [: b Q( p+ {) z
{
8 G# {. Q7 G3 r7 O$ V" C( K& K( K
#ifdef __WORLDSERVER
h) s+ L8 ]0 Z! l) F7 n* b3 e/ T \
CUser *pUser;
% F( V+ a, V3 c) D/ c
pUser = (CUser*)scanner.dwValue;
: F2 B X4 @* h$ g
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
! B7 U1 J# l# b$ B6 J4 s
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
1 V6 k- T1 x( \8 ?; Q2 Y, ^
else
/ H7 I6 X0 e* e% H& s
pUser->AddText("你还未达到重生条件!");
8 u/ [& ~/ z+ J5 F2 p9 m) ~
#endif
" I' [' K: u5 e+ R. w; d0 A
return TRUE;
) T8 p, M+ s" {' g) `+ q
}
5 `: [% C' j* u7 c- G; q, O
0 v9 _: g9 y! g9 @/ J6 N5 p8 H ~) c
* y" Q6 A2 | R3 F
4 i7 w; S( j: n( e7 u0 F
7 F% m" @# B2 B& Y E. |5 R s% K% d
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2