飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
x! }+ l4 h6 h( R# \. }8 x
t! ^1 \/ C2 h6 ]/ e& C$ c
Mover.h
s, q7 ?8 ^( x) x ^
代码:
& a, M8 S: X) y6 t# q( X
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
+ T2 P. d8 x: \
/ G! a- M) I3 F3 O& ^
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
) B$ q) s( ~; z5 p6 r
/ N ?+ j) ?; S
然后你去mover.cpp添加
) ^0 o3 u, F6 d1 \% Q
4 F9 ?9 ^+ k; v/ {
代码:
B, s* c. w4 R( _ y
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
, I, l* H4 H6 }6 K5 L/ U% N& P
{
) F7 ?; G$ h9 u' Y
#ifdef __WORLDSERVER
5 b: w7 r% Q; s1 K, J" A3 Q# v6 _
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
% d; ~) `. F) \* |; U
MoverProp* pProp = GetProp();
, E1 _0 ^/ T$ F2 g6 H$ z
if( pProp )
$ e7 g! j& M2 @7 M$ `
{
" b1 @9 r, H% u5 F* t
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
3 h+ q L% A6 B' ?7 b5 ?
{
3 m' e* q4 Y9 A, q- u6 U
AddChangeJob( nJob );
X' I+ a1 C2 Z+ Y" Q' |
}else{
) G/ @9 x- [* G1 o+ r. t9 |, b" _
return;
5 G( W% `6 V3 x, s
}
2 [/ {- E Y- K
int nPoint = 0;
. e* l1 ?4 N: J# q6 K) ^ I4 O
if( m_nJob == JOB_MERCENARY )
. t- B; `; k0 e+ l. k6 u: s, n
nPoint += 40;
3 D8 c' V0 }# q; C2 i; R
else if( m_nJob == JOB_ACROBAT )
- {4 g9 y2 ~7 m$ [' U* ]
nPoint += 50;
' r! q0 d8 P- v& X
else if( m_nJob == JOB_ASSIST )
# G, N! e" E6 N g( B- S7 ?
nPoint += 60;
2 i5 C3 {: B" e$ w" g! N; A: s
else if( m_nJob == JOB_MAGICIAN )
g) c" L& N- l. p9 I, D/ N# B/ N
nPoint += 90;
3 f" _% D8 f8 V
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
, f" u' s7 H4 J- t, |
nPoint += 120;
% ]0 L. A# |: d9 x1 V5 Z: {' K9 f
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
( s% U+ g) p* X
nPoint += 150;
% o2 W6 N2 O$ L+ t5 X! S: V7 @
else if( m_nJob == JOB_RINGMASTER )
% o" w+ o: s7 m+ l/ z" a& A5 `2 i1 P) p R
nPoint += 160;
" E' l6 c4 s. \$ P: s( t% [
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
; j8 E1 \5 R4 U* z! [
nPoint += 180;
! ^" |0 j! N9 u8 }5 E; y8 }
else if( m_nJob == JOB_ELEMENTOR )
$ w' u, T, U) ~8 c; K
nPoint += 390;
8 d; ?8 E8 O G8 t, ?4 o) B, U
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
% L/ s4 v/ n& \. C8 i# N
nPoint += 120;
/ J1 M. V% L7 |7 H" ?
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
* d7 W2 ?* x$ m9 B
nPoint += 150;
- m& v# J% U* f4 U
else if( nJob == JOB_FLORIST_HERO )
' j& j9 X* L% d
nPoint += 160;
; }$ r; O9 ]( a% `- a
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
( z! D% I3 Y+ U, Q {
nPoint += 180;
) `4 r9 t/ ~' Y; p' P/ T
else if( nJob == JOB_ELEMENTORLORD_HERO )
/ ]" i, ]( N' g' ?7 n
nPoint += 390;
# w9 ^' }4 g( B7 |1 m) t# h
; ?0 C. I c2 _( J
AddSkillPoint( nPoint );
/ s+ u! B& U+ S* W
m_nLevel = nLevel;
; E% i% v! L. Q: N1 f) r( H4 N
% i' i% }, V& g! A4 O1 l+ B
SetJobLevel( nLevel, nJob );
: q/ b( J: N" A- u8 h' m8 x* P) I
m_nDeathLevel = nLevel;
3 H- }( H. l6 w% r9 [' A6 O
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
; H. G5 ], N/ V: ?$ m: l
if(IsMaster())
" v3 Z$ B$ ?! q: W; H
{
8 \4 @2 N; Z" o
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
) R% Y/ ?6 O2 F. I) [9 D: N
if( nLevel > 59 && nLevel < 72 )
3 V' o% v% N; Z! l4 R
dwTmpSkLevel = 1;
* y/ r/ w5 l+ W4 _* p, t- a8 Y" C
else if( nLevel > 71 && nLevel < 84 )
8 m# y. O& x ^* N( ?0 L( I
dwTmpSkLevel = 2;
, g3 }" A$ _) x; g
else if( nLevel > 83 && nLevel < 96 )
' N, D3 Q" a9 }* h
dwTmpSkLevel = 3;
: g" Y+ z9 H" {9 W7 {$ m
else if( nLevel > 95 && nLevel < 108 )
# }) P4 A- r) e- r& f
dwTmpSkLevel = 4;
. [- M: e. p X
else if( nLevel > 107 && nLevel < 120 )
6 Z6 v- H# \3 F1 _% b, p( F, q- h/ [
dwTmpSkLevel = 5;
2 ?) {" k) C1 T f( x
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' N% z# B4 O' q+ j! r
{
: c' ^0 v8 Z7 b$ ^
LPSKILL lpSkill = &(m_aJobSkill
);
* m& A4 q {; }; D
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' U A3 T, m( ?: s+ K/ u
{
1 n' K" b7 \& Q' d/ j
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
F* z2 ~3 P9 N* Z6 D
if( pSkillProp == NULL )
) U9 M v3 y L" F* O2 O- C' h
continue;
$ @. O9 ~9 y# w- f' h/ p9 Q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 N g( L$ M& U$ _# K
continue;
: O& q/ Z2 s2 U6 x* M& Z3 S) k( D
lpSkill->dwLevel = dwTmpSkLevel;
# s+ Y- D I8 |* i2 f
}
' G' f7 z1 z+ S* k J
}
n, L( f$ t9 r5 E& U9 K
}
( R4 `% y6 e. N2 g: f3 L$ B; q: X
else if(IsHero())
4 x6 c, X, l; A) S& l$ [3 H0 b
{
5 h6 A5 B1 R( b: @9 G8 g3 k2 I
for( int i = 0; i < MAX_SKILL_JOB; i++ )
; P& g9 I) t+ @" S7 m Z6 M3 ]3 ?
{
$ G7 }$ q* P% Q {' v/ g2 |! D
LPSKILL lpSkill = &(m_aJobSkill
);
2 A3 }' ^0 V3 E& \! Q
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% \4 ^% |& n1 F( `" B8 `# P) ]
{
8 v6 ^1 B) Q- l T+ r* z
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 D/ ]# E' e+ m$ [
if( pSkillProp == NULL )
% U4 d4 U2 y; X$ v. H* y
continue;
# [6 e1 R1 O+ B: P
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 ] H/ Y/ W# D F; H' i
continue;
`, o* t+ I, f, G: {
lpSkill->dwLevel = 5;
A3 P0 ]; ?. `" l9 k+ U# x
}
- j C# Z' F) K" a6 v u: k/ d1 K
}
% g6 P2 w6 n8 K) ?
}
( T" R2 `* u: O
else if(IsLegendHero())
% h0 B* y% ^( k& V/ d% d. u: H
{
. g3 l/ B4 y! P
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' W% U3 ?/ O2 \8 N
{
0 \% |, e7 K, h# e# x$ N
LPSKILL lpSkill = &(m_aJobSkill
);
: m) _5 m8 k, l5 | H
if( lpSkill && lpSkill->dwSkill != NULL_ID )
( l! ]( U# A/ P+ @ [
{
# o. [) D7 N6 p: t( z/ F
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 H9 L0 e7 S2 b X" [6 v% q
if( pSkillProp == NULL )
; _+ i2 S/ @0 m0 L5 M8 ?
continue;
B- {, P) a1 ?. \9 V* m2 Y B
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' Q# ]6 t! V0 P8 L5 r8 T
continue;
* `" p5 y5 |, z" W1 T6 H9 G! [ s
lpSkill->dwLevel = 5;
X3 G% \+ W7 ~
}
# u1 D! q; j% H8 U
}
* Q* ?% Y; j& Q- P0 z
}
% s* J; y( F/ G) @1 a* `8 X# ]
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
- z& I# J7 O6 v0 D
if( bGamma )
) a% ^/ w3 z0 M ~& a6 C m
{
$ |; H: ?5 K( g5 d: H; r
m_nExp1 = 0;
$ Y9 I" ] ]! p% [6 [9 O- ~
}
+ r& Z0 E6 K& u! a! _
6 ?: k; s2 \- m7 j; H0 \
( (CUser*)this )->AddSetChangeJob( nJob );
0 P0 F$ V% e9 d- ^, Q' q" d, e( Q
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
9 H& d$ \8 }/ [. F' v: [+ j" i- D
: p7 P$ S4 O$ A6 a1 |
5 v: s) K2 M) y, V$ {: e8 E* i
#if __VER >= 11 // __SYS_PLAYER_DATA
/ n; {7 B! M* ]$ j) i
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
" ?. u1 A& F" |9 {& j
#else // __SYS_PLAYER_DATA
0 B) @+ d& V3 G8 l
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
# B& v4 d5 l, K2 t& `9 x4 U
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
, o- Y8 i2 H/ A! Y% {5 ?
if( m_idGuild != 0 )
% U( w! L- }" q
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
+ p, {9 @; _7 i, C
#endif // __SYS_PLAYER_DATA
6 J- ~$ j1 M% x4 C7 f: a$ b3 S" c
SetHitPoint( GetMaxHitPoint() );
% K, N y: E; _+ ]4 \0 H
SetManaPoint( GetMaxManaPoint() );
- f+ y; P+ F; U5 J3 }6 q
SetFatiguePoint( GetMaxFatiguePoint() );
6 I9 B1 E, d; V
if( nJob >= 1 && nJob <= 4 )
5 z* \# F9 Z( r F- J" I
{
2 K; M. u# `9 t2 K; ^/ ~
m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 @% O0 i; @; {: r
m_nRemainGP = 28;
% D, v/ Q b% n9 h
}
0 }8 ]+ S, Q6 a2 w; `
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
( M8 |9 T) Y, O9 F+ w! c: ~
{
% @$ u" x" u" m& C! n) ]( c" z
m_nRemainGP = 118;
5 n: a1 J/ F* n1 `: |8 w% k$ X
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
5 b$ m& A7 l. L" E8 ^
m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 q& \" c1 P$ |5 A1 W9 e
}
5 {& f0 k/ T* N7 y R( S; T
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 y' T/ _2 | ? g# ~8 q. e
{
* V f* H* x7 v6 j
CItemElem itemelem;
! _6 h# Q- z% \; W
itemelem.m_nItemNum = 1;
8 g$ X6 w4 e! |! N
itemelem.m_bCharged = TRUE;
8 Q: e( K! y |3 O3 z
BYTE nID;
3 H* B1 S* A9 \+ i4 V6 Q4 U7 B
) H/ L/ u3 Q- d
if( nJob == JOB_MENTALIST_HERO )
% \$ Z4 C% Z/ V" u' x( z* a; z
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
- V# e6 }; S/ B9 B
if( nJob == JOB_FORCEMASTER_HERO )
+ e$ z4 A' c% ^) Y2 L8 w
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
' D6 h% H0 i/ ^, J9 R
0 A% v1 T h7 j0 x/ m V
( ( CUser*)this)->CreateItem( &itemelem, &nID );
2 ?1 y S A. {) H/ q# @+ P
}
7 t* e- A7 F* t, m# f# T
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
) [" v/ j+ d% c. Z2 Q, z
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
5 S) s3 n t) D, t' B" \% `
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
- T( |; n5 Y9 U* v C" U
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
' L; o/ X5 h% i g" o7 w; {! }
( (CUser*)this )->AddTaskBar();*/
9 @! j7 J! S& s: h$ Z2 J
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
) q# y9 Z: {) ?9 ?0 |4 m0 |
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
/ A3 T( Z& Y1 V: }3 t
((CUser*)this)->CheckHonorStat();
`" C% M! p2 S
((CUser*)this)->AddHonorListAck();
1 K$ A4 u+ }! }9 _% Y
g_UserMng.AddHonorTitleChange( this, m_nHonor);
3 z( i: E. Q" K
#endif // __HONORABLE_TITLE // ′Tà?
) c8 x! Z$ f" }$ K
}
3 K Y q: e: T& P; _3 F- g, o% J
#endif // __WORLDSERVER
! K, f% E. d6 D3 p2 Q, I
}
' S1 K" R2 U+ D: I* E3 x+ w9 t
. q% N/ k1 S/ D# F- \5 D
然后你进入functextcmd.cpp并添加以下
! n: c- t1 T3 B
1 T p i4 H$ v/ K
代码:
9 V1 b# |* n$ s9 p2 Z) z* `! v% ]
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
4 ]1 S% f+ C: |: u( W- {2 y
下面插入
0 e- S& U( {' {* J
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
' u1 \9 ^; U4 [8 Z/ n; B2 i
& J4 u" v; P. V, ~: K, `
然后你去
^8 D8 s8 y; s* x8 i
3 l! \% c* _9 M8 n9 c3 k m
代码:
8 [$ P8 K ]6 ]1 i- `! |7 B
代码
; ?0 d7 o: H% i, ~/ [; O
BOOL TextCmd_ClearPropose( CScanner & s )
3 A- I; w+ E) }7 j( H
{
9 c8 x( F9 ~1 i. ^; T
#ifdef __WORLDSERVER
6 w' E" w5 ~6 h: z( X
CUser* pUser = (CUser*)s.dwValue;
3 e# r. U7 Y& V7 i1 f& q
g_dpDBClient.SendClearPropose();
9 E) ]* Z- D) Y3 W* B; Q' u
#endif // __WORLDSERVER
# J/ ^! t6 h$ h% g
return TRUE;
+ G6 n* M0 p% b' r% M9 j
}
, b8 x- I' n+ M* p$ ~3 t7 b5 }
下面插入
; I7 q! K8 O+ f) ]: b
BOOL TextCmd_rebirth( CScanner& scanner )
6 C1 e9 H0 S+ Y% ~
{
4 S u; z( K6 ^' e* l
#ifdef __WORLDSERVER
, V+ {* y- y5 A" n4 N, @
CUser *pUser;
, T$ _) @' U- h* k
pUser = (CUser*)scanner.dwValue;
* U |& r2 r* e, k9 I1 [
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
p3 N: a# p R' N; y
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
+ A' B: y% ~6 T: m" }/ S$ l0 C
else
' H( [; ] \$ K9 y
pUser->AddText("你还未达到重生条件!");
* Y. J& _) J5 `0 y9 [
#endif
# E$ D, ]# Y1 J+ E/ @' x2 ]' k) X
return TRUE;
, U' |" b5 d4 c" V3 U7 p% T
}
) R1 K: P3 {+ f2 y2 N- Z
, c5 L* ~: N) F1 B" A
2 ^" {; f; a. c- G
$ e& h6 N* u* h6 _( s* O. K! s
! c @) A1 Q( `- `: K
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2