飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
# C7 E) O* {( [& a. s
0 o! o4 A( h2 F* Q( M) D- B' R7 s
Mover.h
8 A' _3 W& s9 @; m
代码:
" n4 J* A, G" E, @/ Q* T
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
- S! |# b0 r! F' J6 B
$ ~ ?6 ~3 T* d2 r( P! `% E
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
! m! I) E5 q. r7 I/ A, E6 d
8 @' ?: ^' y( l; n2 R% k9 T8 ~2 i
然后你去mover.cpp添加
. G- R" Q6 B- B6 s5 N; k
3 G% k* p: L1 x( B
代码:
6 Q4 Z( ^* H+ Q; q5 I
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
2 ?3 ~$ x' t! |& _+ \, r( e9 Q
{
$ i( m& D$ G W( B* v8 F
#ifdef __WORLDSERVER
! S# V) s7 A! I5 o. | _4 k
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
. o; R% x( k3 |2 f$ }' ]) e3 z
MoverProp* pProp = GetProp();
. T+ Z* p! [. L' Z J
if( pProp )
& W7 B4 M S7 Z/ Z- o5 O) K9 O# _
{
" c* n% D( Q, {$ k
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
5 g4 c- B4 d4 l) W
{
" r p3 ~" N$ o [* J' o5 i# X
AddChangeJob( nJob );
5 `+ I0 b, T. l, x
}else{
) v0 P* ^+ ?6 {. s8 w" \* P
return;
/ i8 A3 I) V: t, X
}
+ m; t. K5 [/ d' o. P- G! C4 v
int nPoint = 0;
- j- E& r _/ y9 D
if( m_nJob == JOB_MERCENARY )
8 d7 U/ m6 q9 u% _
nPoint += 40;
. j1 P* L. S, ^* e$ Q
else if( m_nJob == JOB_ACROBAT )
: q6 O8 U4 r! |- y' v
nPoint += 50;
. n( i3 M% x L1 x
else if( m_nJob == JOB_ASSIST )
) j5 U5 }4 [+ C6 A
nPoint += 60;
( x) q3 ?+ L1 m/ V6 `" N
else if( m_nJob == JOB_MAGICIAN )
$ O1 u' z5 T6 X
nPoint += 90;
" l" A5 P; C" D }1 p% W
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
5 A$ h2 l3 U1 R- s
nPoint += 120;
" {. a& _3 B$ z
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
/ e1 p; v9 ?" r& c
nPoint += 150;
- p; c: o5 ^* G) ^. L& _
else if( m_nJob == JOB_RINGMASTER )
3 f4 w- y- G! Z( M
nPoint += 160;
- E# e6 y. ~- w7 p( A
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
q6 ]9 _, ~$ n
nPoint += 180;
$ s$ K$ J$ w% u8 i- N
else if( m_nJob == JOB_ELEMENTOR )
( K q* O8 S5 ^ {
nPoint += 390;
! \# s& O) D( j5 u) \' j) {
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
* l9 T+ [- T# S
nPoint += 120;
8 ?' o* N4 e) h' ~/ M
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
: N# d# y. J3 }& M& ^
nPoint += 150;
E. `' i: c" I5 S1 d# W3 B4 J
else if( nJob == JOB_FLORIST_HERO )
( h! ^8 U9 u+ n9 z+ N5 ^0 E" e/ t
nPoint += 160;
4 I% A) H) ]0 t- u: W
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
* D. N7 k& `1 q% Y& w5 A
nPoint += 180;
5 S/ B9 z8 u9 Q1 t- U
else if( nJob == JOB_ELEMENTORLORD_HERO )
. [) d9 f/ H! B* T8 {
nPoint += 390;
' v9 c. D- ~' Y+ w) Q+ u% {7 B6 H
8 L& q; V" e; M
AddSkillPoint( nPoint );
; T. w7 o! o" H
m_nLevel = nLevel;
8 p6 T2 B$ T, H( B& V7 s5 k; l3 X
% g A2 J( u" f8 R
SetJobLevel( nLevel, nJob );
$ L* S Y. k: ]' B& W V
m_nDeathLevel = nLevel;
% L* h, Z3 H. T
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
+ K' S* {# P% o6 E: A) ]
if(IsMaster())
9 N& J1 f" s+ N7 E& V0 P, O
{
% `) N+ T! a5 ]% y. C
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
g% k v6 h v1 N
if( nLevel > 59 && nLevel < 72 )
2 N7 w1 d; x+ i4 O9 H4 o/ K+ W
dwTmpSkLevel = 1;
8 r c) A) x& e; p8 W0 h
else if( nLevel > 71 && nLevel < 84 )
; D+ E! {% M; h b
dwTmpSkLevel = 2;
' x) m7 S) Y+ R2 Q
else if( nLevel > 83 && nLevel < 96 )
7 {/ i- p/ k/ g( c9 S* B5 C
dwTmpSkLevel = 3;
0 o$ d+ K4 M$ y6 m
else if( nLevel > 95 && nLevel < 108 )
) F) B3 r @8 y& `8 o" f* Y( B
dwTmpSkLevel = 4;
# _% I3 t# ?, a7 C, M8 e8 V& N
else if( nLevel > 107 && nLevel < 120 )
, m) d3 U u3 A# R3 s4 d; \
dwTmpSkLevel = 5;
* E" _& Z( ]2 E! N2 E6 M
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" m/ ~/ q" T( r! M) I
{
* _* _' b; E! A9 c* v/ n
LPSKILL lpSkill = &(m_aJobSkill
);
! n5 i' j7 {0 l2 f
if( lpSkill && lpSkill->dwSkill != NULL_ID )
# n3 w/ n5 B% D5 w! P$ S8 A
{
% _! U1 n8 z2 |/ G/ d
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
+ b$ h7 c( b) Q) ?
if( pSkillProp == NULL )
" F( t/ j/ K* V0 L) j+ C
continue;
% F/ p; H4 B' h' j: l X1 i
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 ]0 b# Z, N# v1 J
continue;
+ C( i. A5 |) d4 W
lpSkill->dwLevel = dwTmpSkLevel;
# G7 ^$ o6 R1 F1 D' x Q
}
' Q/ T k. p( S
}
. c& c& S9 d5 l. `6 G1 R
}
: p$ r/ D2 [/ ?1 {1 v B
else if(IsHero())
# o& a2 [/ Q( I! e" Z
{
8 L2 o& i/ Y) R( R4 I& |
for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ I. H* a L; L2 H( A
{
# }4 T( J f3 l9 p" d7 _
LPSKILL lpSkill = &(m_aJobSkill
);
5 ^8 J+ E4 e1 S8 S
if( lpSkill && lpSkill->dwSkill != NULL_ID )
6 n) k+ ]; N0 S* T; V* g( e; e
{
. j- K5 E$ }* e! H3 b
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% R( W9 T' p9 K* V) }( q$ T
if( pSkillProp == NULL )
8 S- z! {6 {; ^' |5 A
continue;
8 U, r: z$ s& n: V& k
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ K! D, H i9 s
continue;
" N' F! d5 [; o0 w$ z3 s- x
lpSkill->dwLevel = 5;
& W- r* v5 F1 X, _ ]
}
$ N3 @" E: t/ N- c, M% X z( { ~2 N
}
+ }9 g+ n a# v( E3 r
}
1 z, h1 d3 o/ n h* S2 I" B
else if(IsLegendHero())
# `9 O+ e: c5 \; D2 P8 ?8 T5 M
{
6 b p% {$ ^& N' @6 @
for( int i = 0; i < MAX_SKILL_JOB; i++ )
, s( A: e: _$ p0 ^$ n9 s
{
* B! y6 ?5 o1 A8 B0 H' [( u
LPSKILL lpSkill = &(m_aJobSkill
);
; z8 K4 Q6 a8 u8 j
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' i, ^" S! r1 v" q3 H6 V
{
( J9 R5 F' }# A1 I% C( c
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% z2 v5 h+ v; M! C
if( pSkillProp == NULL )
7 u: j0 V9 Q1 B& x
continue;
% r* `+ s1 G: @: [
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
& H: H3 g& Q* Y9 f# @4 E4 ^
continue;
+ X* M2 d% Y/ Z' x: [8 P5 q
lpSkill->dwLevel = 5;
% ]7 }& S& E5 i; m) K
}
& g/ {5 `. e8 L" {; F5 W
}
$ C) |+ J* v! v; V8 g) P
}
+ T( s+ J$ ~' J, s8 B$ A
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
+ S2 H x: L" J+ {
if( bGamma )
! ?- G" Y. A. e8 C% t% H! d
{
5 Z# O% N& ]- u& `
m_nExp1 = 0;
8 S4 s2 @$ U" X
}
" S" A% Y3 Q3 T; _
: Y6 |9 Z# n6 h. n3 j ^
( (CUser*)this )->AddSetChangeJob( nJob );
% H! J' H& Q g
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
1 J$ N, H: ]6 w X1 ^$ T, y
4 M- A5 s+ i: a2 P6 v8 R
9 t: O& v5 Q i) C& M) y$ v) ~
#if __VER >= 11 // __SYS_PLAYER_DATA
2 U9 G% _% ~6 l- Z8 l
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
! G% V% D. m- [8 m( F
#else // __SYS_PLAYER_DATA
% b. q7 P* [- P
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
5 E2 [5 M- _9 r
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
" J. l, d3 L$ [( f6 L, f
if( m_idGuild != 0 )
7 m1 Y# `* g* a8 t1 Y ]& b
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
- v6 \' y. K( e! Z1 P4 ]
#endif // __SYS_PLAYER_DATA
8 ^! r; g# J$ ?; U) u/ g3 S
SetHitPoint( GetMaxHitPoint() );
; P4 q9 @' B C: _ ~
SetManaPoint( GetMaxManaPoint() );
3 S4 p3 a6 d6 o
SetFatiguePoint( GetMaxFatiguePoint() );
3 N1 u4 ]2 d M4 \2 A2 a
if( nJob >= 1 && nJob <= 4 )
6 H0 R3 i @/ Z7 A+ ?
{
; F: g6 [ F; k) ]* `
m_nStr = m_nSta = m_nDex = m_nInt = 15;
. f( W# R9 a. c4 J+ p
m_nRemainGP = 28;
s6 m6 e/ |) J
}
+ y# z& S) H X; `1 d
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
2 s& d3 V8 K4 Y( Z
{
! \( A. a" w# L( d$ w5 v7 R
m_nRemainGP = 118;
# J* H, s) O# {9 v& s4 \" B6 j
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
' H! z, ^6 R0 x* L' |% R* `$ ` O
m_nStr = m_nSta = m_nDex = m_nInt = 15;
) N5 _6 x. @# F: Y2 P$ h
}
! e: g1 a3 c, B3 R. Q# N
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
8 s' e* `) c+ ?8 u. \
{
2 q: w3 E5 ~7 \
CItemElem itemelem;
( F; m$ x( r. C* S
itemelem.m_nItemNum = 1;
) w. t2 s% K0 C) t' W, _7 P
itemelem.m_bCharged = TRUE;
' `% o2 H+ g2 j: p/ E
BYTE nID;
7 W8 W( k+ z O4 S' m
6 `5 s- g/ E* e' k8 _6 j2 x
if( nJob == JOB_MENTALIST_HERO )
8 x* t3 ?& J9 e7 ]7 C" p
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
/ G: ~+ V B' w9 P! A: S& ~( {
if( nJob == JOB_FORCEMASTER_HERO )
" e! Y$ y/ U+ |- i- b; g- S! g
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
' p2 l9 s- E8 ]2 x. a) i
3 |1 R. l* Q3 A" G
( ( CUser*)this)->CreateItem( &itemelem, &nID );
+ T, E9 B6 k1 S4 k4 P* U% r2 p$ n: x
}
6 W9 L* T, i/ z& O
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
3 J2 Q8 e' B+ c( S
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
3 j* @% n2 a H$ z9 E
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
5 \1 a1 ?& K9 j2 ~0 i
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
% X( W6 @4 v7 p; H
( (CUser*)this )->AddTaskBar();*/
; F9 G. G2 Y, W
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
# E0 a0 M2 e; u" m0 H
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
; M4 e% `9 ^- E1 ~' c* C
((CUser*)this)->CheckHonorStat();
9 }( N$ U5 Z' ~* F( z
((CUser*)this)->AddHonorListAck();
( a, A% |9 _2 A _7 \3 l0 J5 _
g_UserMng.AddHonorTitleChange( this, m_nHonor);
% g4 @: I) ^/ |' d) G
#endif // __HONORABLE_TITLE // ′Tà?
) z) Y/ j! M% c8 w
}
3 n: {, j1 y* M; ^3 h: t3 l
#endif // __WORLDSERVER
8 v0 e' e- s7 a& P" `7 I j' u
}
2 X: }' ~! T$ T9 b8 }0 A5 n7 h
- q" X2 c% v D$ r# }
然后你进入functextcmd.cpp并添加以下
9 i, h2 r$ u# d" z" D W% [
. |$ u8 k; Z2 J: y- m% t+ s
代码:
5 ~. o/ \- R% Z# Q: P
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
$ b# P$ ?5 r5 F2 @' x' p+ v
下面插入
; G! O+ f$ s1 W; G
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
4 x: } ^5 j# w* i
# Y# g0 L9 y0 c* V) I) W
然后你去
* O/ X2 n. u Z$ }5 K
$ k% C) g. w \7 l2 ~
代码:
: T& Y2 \* p% i) i' m D+ N1 v
代码
2 m4 O) v5 s- u# Q( e
BOOL TextCmd_ClearPropose( CScanner & s )
. m; N3 S2 Y5 a# F0 N1 f4 p
{
" w5 s! Z8 Y9 a/ p k
#ifdef __WORLDSERVER
- A# K9 d/ `9 c- [! E
CUser* pUser = (CUser*)s.dwValue;
' Q; a# ~$ z6 T) a: j
g_dpDBClient.SendClearPropose();
2 v1 J6 t( C; _3 P4 m8 \
#endif // __WORLDSERVER
0 b# Y) _- l3 s, [
return TRUE;
$ s' o2 ]8 i+ S+ F' k5 C
}
+ e1 X2 X8 t& _8 |: a
下面插入
; Z* h& Y" |- t8 l" I& s7 _) v8 g
BOOL TextCmd_rebirth( CScanner& scanner )
. ?/ f# @ a5 ]: R8 L' K) H2 Q
{
, F1 p/ g8 j+ d+ n$ n- x$ \, C
#ifdef __WORLDSERVER
. v+ C- k3 n. V+ J% p
CUser *pUser;
# T0 M) y+ A f0 t. N
pUser = (CUser*)scanner.dwValue;
4 b$ ~: S. x \. L/ Y" }7 m
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
; m: C2 ^+ F8 d; }/ d8 Y: y
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
9 q5 I) s4 E2 {* ] r( Z% o5 s
else
. G. R. J( F9 S c5 O8 A
pUser->AddText("你还未达到重生条件!");
, k: H% m# h" | R; `1 V
#endif
6 \, \6 `" v- t$ D" c2 `
return TRUE;
: v; h3 D4 J. I5 ]# l
}
7 }6 s: x( m' w6 H
" O) Y$ f7 a1 J0 r' i
7 C" f5 U, @% ?! I! ^. R
) K5 f) D f# q+ ~
8 A! H& A9 U [% @- e, f1 E
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2