飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
! O3 y% N' [0 z7 Q$ W4 m
" ]) S/ x: N o& f/ a& g
Mover.h
& F( L# x9 p1 F2 o
代码:
0 U" H$ g& J$ F* T: w$ O/ D
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
8 [: A! [/ @2 p( M) n: I1 @
7 n% @' k# L% r0 t. c/ ?( m
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
# U- ^/ Q1 c# P; t) K" C: `2 z
4 ]+ f9 c$ h/ E
然后你去mover.cpp添加
, D L1 h9 W: Z
; T0 D. h+ X5 g' A* K
代码:
8 a9 W; \- `) Z: J( G7 P @
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
- Q& a' c5 } @) D ]1 h# ^) a
{
0 i, Q* f; r+ f% K0 T
#ifdef __WORLDSERVER
4 D9 R& T. y( K0 h- V
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 x& V0 g d! L" a/ R! u9 Q
MoverProp* pProp = GetProp();
8 [4 H: j8 ~4 [* C
if( pProp )
: X" z3 m3 P2 x: P \2 T3 k
{
) x6 ]6 c& c" T7 S# Q, ~
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
' E& M3 p V. R1 R: ~; w- O
{
' M/ g" |+ d3 J% T" J& I4 f" f
AddChangeJob( nJob );
$ A" s4 v. G7 k$ m5 E5 M9 e2 m
}else{
) K% t: }/ i2 r/ A% a
return;
+ ^* j4 \5 ?' g; J
}
! c F2 S; e5 H F; ^; N! G
int nPoint = 0;
/ a& ~' C2 _ H
if( m_nJob == JOB_MERCENARY )
$ v( w( a6 y/ |8 J/ z) S
nPoint += 40;
/ |/ s1 r2 j) @; B( y: o1 a
else if( m_nJob == JOB_ACROBAT )
: z2 J; ?6 o& F3 E9 t8 k
nPoint += 50;
. h% G6 G( v8 @1 i5 e
else if( m_nJob == JOB_ASSIST )
1 e2 @& `& w- u, V/ v* q$ }& U- c2 n
nPoint += 60;
: ]& f$ A2 x1 ^; V
else if( m_nJob == JOB_MAGICIAN )
/ u1 O" l: g# @% l8 |; I
nPoint += 90;
- }0 a9 T. G% F1 @% p, ^; Z/ i
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
( [5 W4 s+ G) M' m' c
nPoint += 120;
& h$ K2 c7 K/ H3 j- X$ g9 S
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
' [3 f& V9 q! } P8 [4 ], P1 r
nPoint += 150;
9 p n: J K, d1 w+ }
else if( m_nJob == JOB_RINGMASTER )
+ H' r# u, B, {, N9 s
nPoint += 160;
4 A7 A" G I& J* P: D' C
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
) M+ |0 m0 c! ]
nPoint += 180;
* o: n& g9 Y7 S
else if( m_nJob == JOB_ELEMENTOR )
* w" h3 [, d( s0 n) k5 o
nPoint += 390;
4 E( Y/ H& d3 k! \+ \" |
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
4 D! v+ M# v: }# f; o
nPoint += 120;
( P# Z/ m3 e7 B% r
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
; W7 i$ v* W$ S
nPoint += 150;
; S' P' l; _# u6 r: P
else if( nJob == JOB_FLORIST_HERO )
) s9 f x [: A4 N9 |- v+ W
nPoint += 160;
4 T! F- u, Z4 {+ @
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
1 r: c% C o* J* v/ H1 {" L) t
nPoint += 180;
) h/ Q+ t1 C- I. c: X
else if( nJob == JOB_ELEMENTORLORD_HERO )
8 D% z7 ]4 |+ R3 a0 P
nPoint += 390;
8 }1 H& @1 W) D* o
; V9 B' @0 X# F" F1 l* }) B; ?
AddSkillPoint( nPoint );
. X1 L: I1 s' b% j/ o% b1 u( x
m_nLevel = nLevel;
$ }" c l4 u( x; q: x7 N
, f! p# o5 X, o( c6 g- d; V
SetJobLevel( nLevel, nJob );
: C) R2 m0 P. X* A- f6 o7 h
m_nDeathLevel = nLevel;
* P! l/ X8 F1 U5 z- J W
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
; d% t. l4 R& G4 Y5 s! L4 W3 J P
if(IsMaster())
0 t* z2 W D6 x' R2 g& Y
{
: P8 V7 P& N( _! C4 d* c' P! A4 K! k
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
) Z. a; n* `( T2 k3 d
if( nLevel > 59 && nLevel < 72 )
1 Y% f; t- Y: S* `2 u! [
dwTmpSkLevel = 1;
( n% w& P0 ?. S% u" y
else if( nLevel > 71 && nLevel < 84 )
: U- `2 s7 i5 ?
dwTmpSkLevel = 2;
" {; g" H( T% \% j
else if( nLevel > 83 && nLevel < 96 )
! n F7 K1 {' g" S) b5 D' H4 |
dwTmpSkLevel = 3;
2 K% u; H/ b% O# A0 q
else if( nLevel > 95 && nLevel < 108 )
5 F' t( o3 \: ^ Z, s8 l T f
dwTmpSkLevel = 4;
1 Y* Y3 W5 a! g& N
else if( nLevel > 107 && nLevel < 120 )
+ o7 `9 D. E4 C ?0 P8 n, ]
dwTmpSkLevel = 5;
8 {( K5 u; g$ M# k8 d9 z- D
for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 x M ?7 Q8 u B- v2 p
{
% W) y0 L$ b6 C
LPSKILL lpSkill = &(m_aJobSkill
);
! V7 q! B: R7 P" B# w( @* @6 |
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% Q: X, e6 D3 y3 Z2 g. S
{
8 j' v8 |- D. H4 C) {$ U* j
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
5 J8 V* ^0 U9 U( ~$ M2 Y; q8 r+ e6 c& V
if( pSkillProp == NULL )
- `3 T, E- h/ x& k+ \8 k2 j' K
continue;
" J8 O; J: n' F- l/ T( W
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
. Z$ b( J- u% ~7 E, q
continue;
( w, n+ k) z# W6 S' {7 B% E" B0 G
lpSkill->dwLevel = dwTmpSkLevel;
7 Z1 A2 u5 ~$ u- f
}
9 r# W# q/ @/ w% L+ i f0 R
}
% m/ S6 b* u6 C( [3 b
}
* N! E3 s/ L z# `/ Z
else if(IsHero())
4 b1 y+ X" P- M$ [6 w
{
0 o4 U* `1 ^ M* t. L
for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ T; N+ x) x% N- ?9 X+ [7 \4 m
{
0 U& ~& ]$ c. ]8 B: z9 j
LPSKILL lpSkill = &(m_aJobSkill
);
+ s6 b& o6 o, V- H% K' N
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' O: \- R+ G) w [, L. b6 P- U
{
1 f( n+ i8 U1 {5 L9 l' L
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 }3 N: S/ g1 b0 n2 l7 p2 P ]: X: H
if( pSkillProp == NULL )
% d0 S4 r4 a- N- U2 h, s0 J4 v
continue;
2 Y7 E- R8 S, G3 Z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, O; B) J1 e3 o. [
continue;
/ Z5 w4 \( S* l( u, E1 K; t3 k4 B& b
lpSkill->dwLevel = 5;
1 q$ P' l- }' F+ c
}
5 o* C# N [8 z" f* N2 K* d1 ]
}
' d0 g# E2 m. P5 y& l/ I+ U
}
1 S# B4 e4 |: c3 P S
else if(IsLegendHero())
2 y- \% m- K! T
{
9 z! j/ a# V1 f
for( int i = 0; i < MAX_SKILL_JOB; i++ )
1 `- B L B I+ `! }4 L
{
' C$ }2 B5 y' }, c7 A( j& l" j
LPSKILL lpSkill = &(m_aJobSkill
);
: G, n$ D* i, X6 L" a
if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 c+ K r+ o# x; {2 y( j4 t
{
, g! v' F$ H+ i/ j# B2 J
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 h% O" m: U2 ~
if( pSkillProp == NULL )
5 q9 c3 s8 i( _
continue;
8 G6 X f. x. m9 V5 J! x. R, @
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 l5 j$ D; {; K* t* {" H
continue;
+ M& r" ^* _8 R
lpSkill->dwLevel = 5;
8 O, V5 Y' p9 z6 E/ M, N
}
2 g% h. ?/ h, A6 F4 L" {& B* k
}
5 \! @* d. G' T2 Y: i
}
0 }/ @ ~% v9 K+ f
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
$ V& K; P* t' z4 i
if( bGamma )
+ F: U4 V% w& @5 ?! g! c. _/ b
{
/ Q4 r9 K E5 r3 E. m7 s) Q
m_nExp1 = 0;
# S. [; ?7 ^8 q- B a2 o
}
9 w7 ~% H$ M5 D X( r, O" d
$ i+ u) r; |! j1 i
( (CUser*)this )->AddSetChangeJob( nJob );
$ r, t' c% j: H* v; o0 t( h
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
# w x: x, k, ~5 u
/ `# T" l1 o9 f. N3 D8 H* v( A$ |9 ]
# P* H" P# R1 Z3 [+ o! v; ^
#if __VER >= 11 // __SYS_PLAYER_DATA
! H8 [6 u8 o3 G3 ?2 ~8 Z# [6 L/ g, D, d1 L
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
& Q+ D. U8 [5 p- ^# a( K, h4 P+ G
#else // __SYS_PLAYER_DATA
4 ~0 Q' f+ j' S' [( l
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
: R, f0 K( P1 x% ~1 d6 g
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
+ U0 J% w* @ V$ M3 W; h4 P1 o
if( m_idGuild != 0 )
6 i8 E' b3 N1 [" i2 i8 q
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
W% Y( A- V7 L+ [
#endif // __SYS_PLAYER_DATA
# P; y' S/ f- l1 b1 `! ?
SetHitPoint( GetMaxHitPoint() );
5 {: D. U4 H% z0 a0 c
SetManaPoint( GetMaxManaPoint() );
5 }2 T( Q' E6 `" t2 t5 N1 g" m' J
SetFatiguePoint( GetMaxFatiguePoint() );
5 K2 \) f$ z& X
if( nJob >= 1 && nJob <= 4 )
# A2 ?0 s; g/ d- y2 C$ D$ Q
{
3 n' F' p9 B; f9 l( C9 o1 V. h
m_nStr = m_nSta = m_nDex = m_nInt = 15;
! [4 v6 M; p- l* q& b* L
m_nRemainGP = 28;
1 D! L' M4 ], c' s* s# ~+ o" |
}
x# D( x6 }8 W8 ^2 y( M; T
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
/ v* S) _) {- f6 w8 T! H/ A
{
- m9 R2 E5 v" z) Y- o
m_nRemainGP = 118;
- }& }: a& W' Q$ x9 S. _9 j
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
- E- @; R/ h0 F) l
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 K3 s. f2 w0 }8 d2 _/ O2 `
}
6 R" u) x/ D7 \8 E3 b" y1 N+ ]4 _
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
* S7 v4 C8 V' C: U {5 z
{
* z: s% `9 b" M( t: q) h' l
CItemElem itemelem;
6 r# `% Z* X$ k
itemelem.m_nItemNum = 1;
' M2 h" c5 w; g2 [4 s+ Q- Z, p
itemelem.m_bCharged = TRUE;
3 Y u0 n% ^$ t) {0 {8 I- ?
BYTE nID;
; _- u3 j5 w6 d3 Q/ P* Y
; ~# l' V( L& E" E
if( nJob == JOB_MENTALIST_HERO )
8 |/ |# m4 ~: Q) ~; D j+ E3 ^& h
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
% Y4 M/ [' \" ~+ o( y/ f
if( nJob == JOB_FORCEMASTER_HERO )
1 A7 S+ o* d/ R# t5 d% y; [& [
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
# C7 Q$ X3 l* o: ]% }; N: o' U: r$ w
$ O1 Y! Y m9 R1 G0 V; O" r7 b
( ( CUser*)this)->CreateItem( &itemelem, &nID );
- x9 [( y- s% X/ S7 L, x# y3 b
}
& T1 e+ x* b n( N# G2 K0 C& Y9 A
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
, [; S: n0 B& H' p6 {" A5 }# N
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
- f& r9 e2 e) b- K
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
8 p, \" u9 ?3 A; Q2 r0 r
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
7 ?: k! {( c8 ]6 G: P/ o, _
( (CUser*)this )->AddTaskBar();*/
! a' S! |1 b5 y+ t) l- Z
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
( Z4 |( K: X G6 B" }/ q
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
' R( C+ M* V# u+ O
((CUser*)this)->CheckHonorStat();
) \7 {6 v% m0 R
((CUser*)this)->AddHonorListAck();
4 e: w1 R" G E9 F3 y! L
g_UserMng.AddHonorTitleChange( this, m_nHonor);
% j& I4 U4 C, @
#endif // __HONORABLE_TITLE // ′Tà?
! _6 |8 u4 b0 }2 A8 u; y( G
}
2 C8 i% T ~: W' k; }% Y# \# i
#endif // __WORLDSERVER
: S7 x) W9 ~( K1 ]8 O6 k' [' H4 F
}
4 E; ]3 W% T @. Z0 f* a: Z
6 l0 y9 b' N0 ~# A- _. V4 I" g
然后你进入functextcmd.cpp并添加以下
3 w; H) Y3 V9 h- K
2 b& f1 m) l; j' k- A
代码:
+ o L" B% {( t' _
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
* y' j+ n0 I, e: M' a5 z3 R
下面插入
$ [# o* L4 z; B3 k; z: {+ T
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
( {% u( {) @- l3 [) G
7 K \3 w/ v/ d, \, f0 q: {
然后你去
8 `1 i2 e! A3 U( ^, O
# k& o" m) X. ?8 ]
代码:
. P* s- D" | y/ i# b G
代码
9 J/ n1 Q# |& P ? \) `/ W9 U6 d
BOOL TextCmd_ClearPropose( CScanner & s )
e; L, a& Q+ X5 O* g% I' |8 e7 A
{
# j: Q( a6 P6 g- N# V
#ifdef __WORLDSERVER
) T7 C* @/ ~3 E$ v
CUser* pUser = (CUser*)s.dwValue;
5 [4 R& a* U( U
g_dpDBClient.SendClearPropose();
% H$ w. o1 ~( o% X6 u& u
#endif // __WORLDSERVER
; ^( S4 y# v8 ^4 ]8 \# `0 I) O6 f
return TRUE;
- G: H) V7 W" m7 x+ E( C, z
}
5 U+ A1 O. a4 I. \! n( A6 K
下面插入
/ W7 ]) o/ O, _: G6 O( ? P" N
BOOL TextCmd_rebirth( CScanner& scanner )
$ K. p& P8 U/ L; K2 X
{
6 S0 y2 p7 g$ s) K
#ifdef __WORLDSERVER
! A3 Q) l# I# d. G8 Z
CUser *pUser;
9 e4 z) t) E* u+ Q, r" d
pUser = (CUser*)scanner.dwValue;
% L2 ?0 F6 x6 O
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
' g+ o: h: f+ ?2 W
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
# z# U+ n& v* _
else
- L! v: W1 v: H
pUser->AddText("你还未达到重生条件!");
% o. |" a T) ?' U- p
#endif
. b2 I4 ?$ B7 S! J/ B- W( \3 K0 x
return TRUE;
% m2 T% ~ K9 S
}
6 m- D: Z+ m. I$ p* l
2 r9 Q1 c B. v9 T& U
4 |" q( g0 e1 h1 d' k; ~1 f
* ?) L+ f6 j* n6 W$ |; H4 B& a; p
& U6 S) r9 ^1 s* s7 ^6 x
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2