飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
" h/ O6 F b# g7 @ E! h) Y6 O
. g' o+ g% ^, h7 ]: m" a
Mover.h
, w- L1 Z% ~* q6 V- h0 x8 }
代码:
7 H" K+ k: K- n7 N* m$ d: Q3 l7 _
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
/ h- }+ L. ~; |. @% h
& W+ B$ { k; g* K5 k; f; n
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
; V8 A0 d+ Z8 ^
1 N6 I& \ k) J' y7 l
然后你去mover.cpp添加
3 `3 X! I" X) Y2 \$ d
% F# m4 ~' s7 R y7 ^# k
代码:
3 o3 n( X- Q6 M7 @& C6 H
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
9 ^: w1 s4 O/ d% \' p
{
% N1 e! H) d8 |6 N
#ifdef __WORLDSERVER
1 c5 W3 I. U' n* f! b
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
+ ]- D. ?2 Y4 b. F
MoverProp* pProp = GetProp();
3 _5 A& S% e' H4 f& r2 [" q
if( pProp )
- Y% B( d! z# c) `
{
+ Z9 i9 e* p! c+ y% W
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
! \. \; x$ N+ r2 @7 H9 k
{
. i& H( [6 D- m( h) G8 {, d# {7 X- C
AddChangeJob( nJob );
" {. l, Z' S6 G) i+ a
}else{
. h" a/ z' G; `8 g- f. |
return;
3 I! ?. k5 ~+ @
}
s- }) R; i& Y6 F9 j1 Z2 T1 E1 [; r% y
int nPoint = 0;
/ w/ x- s- e( ?9 u
if( m_nJob == JOB_MERCENARY )
- \9 j$ D, @. ^) M
nPoint += 40;
8 O2 s# a4 `) G' P; `' q4 J
else if( m_nJob == JOB_ACROBAT )
- X9 Y" V n; W6 p }
nPoint += 50;
5 \ J$ r- b* F E
else if( m_nJob == JOB_ASSIST )
2 B2 S9 j- D, o' N+ x4 }5 M! _9 w
nPoint += 60;
' ?+ Q. _: D3 O7 n% {5 r% `
else if( m_nJob == JOB_MAGICIAN )
/ L4 x4 |: h @8 U( |# Y
nPoint += 90;
K( v* b7 D9 I- Y+ ?; h/ s
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
7 W6 S' }0 d& r& n
nPoint += 120;
3 }& ]0 S2 k7 r
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
8 u' W9 S& s: P4 n9 Q% Y$ c) }
nPoint += 150;
. ]7 F/ W1 m4 `% m
else if( m_nJob == JOB_RINGMASTER )
) \ N z3 i& c
nPoint += 160;
9 {0 ?# u! y& o( Q% R& y& k4 X7 J8 k
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
! Q9 M0 i" W& A. ~7 p! [: O
nPoint += 180;
- k( B. z, V, V/ _
else if( m_nJob == JOB_ELEMENTOR )
. Q; B L$ s% H. f9 X1 X- W
nPoint += 390;
; n6 w' b" V5 n5 c5 `
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
1 t; ^! E' a- Z9 R) B: p
nPoint += 120;
" C: {& W4 h8 w# w
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
8 h# N1 S a2 y* J4 r, U
nPoint += 150;
1 p( r% P- F$ t! }
else if( nJob == JOB_FLORIST_HERO )
2 C8 @% h8 s( \8 [/ F' ]) H
nPoint += 160;
6 `" l5 o3 W' F8 A0 D7 D+ x* X
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
+ }4 G7 X4 y$ [& R6 H- h" w
nPoint += 180;
% |4 b Z. J1 U8 Y" ^
else if( nJob == JOB_ELEMENTORLORD_HERO )
% ]* K+ W+ k9 ~1 K6 g* @0 F! y2 F
nPoint += 390;
" R1 j/ T/ e+ w- [( z: C
2 p% Q# o$ ]; W( |
AddSkillPoint( nPoint );
. G% f3 L' m" u( n, U9 B- U" A
m_nLevel = nLevel;
) N5 d) `/ n. h l T
5 {4 l3 j9 ] j2 ~
SetJobLevel( nLevel, nJob );
8 B8 ^2 J) u. H1 k
m_nDeathLevel = nLevel;
. O- \" T. w% @5 D, z
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
& c9 F) {2 p* T; W! w3 A
if(IsMaster())
& q/ `' h M( V7 U( L
{
2 \9 Z' F) `: b# O0 X! G, E! D
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
7 `, N. G; S8 S- j( t% L# g5 K) `
if( nLevel > 59 && nLevel < 72 )
9 x6 h5 _ ^- r7 m# Z; C3 @
dwTmpSkLevel = 1;
3 m# _$ {# C% z) \" m. m" l
else if( nLevel > 71 && nLevel < 84 )
. w/ ~$ E/ j6 r) M! G
dwTmpSkLevel = 2;
: i- G. V# h+ j
else if( nLevel > 83 && nLevel < 96 )
) E- g2 |" C( v3 G- p6 l
dwTmpSkLevel = 3;
4 v; \9 y1 R' g! g Q
else if( nLevel > 95 && nLevel < 108 )
1 i' S# d8 e4 p, W: [; m
dwTmpSkLevel = 4;
8 x+ H8 S( H1 B6 J/ i1 L. ?8 A
else if( nLevel > 107 && nLevel < 120 )
! S( E' \/ W7 w& Y
dwTmpSkLevel = 5;
+ f, H; C8 l% p8 T1 K2 P8 x
for( int i = 0; i < MAX_SKILL_JOB; i++ )
& A7 X- D2 q B, N8 G
{
# i2 Q9 Q) T1 P4 Y6 v* ~$ R" w
LPSKILL lpSkill = &(m_aJobSkill
);
: N# b& a+ I5 O. S0 W& {
if( lpSkill && lpSkill->dwSkill != NULL_ID )
@- x$ @! T1 y
{
2 A. G: r C* O3 _9 x
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
/ S: s- [* y% _8 o
if( pSkillProp == NULL )
" f E: @4 Y' T
continue;
1 K, ]8 G% F% U) m7 i
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 C4 x/ D* h4 f, k$ B7 O: `- Y
continue;
1 X- X7 ~$ J3 z- z% o! B/ |( o
lpSkill->dwLevel = dwTmpSkLevel;
! w, F- i D& ~( g d
}
+ V* O( `! a' y- t; Y7 |
}
Y5 h1 X) V9 U# z' Y/ @9 A
}
3 I$ T3 _, M+ t& p
else if(IsHero())
- [ l1 e2 U- V+ a" P5 g
{
' p9 D3 z7 F" F; h
for( int i = 0; i < MAX_SKILL_JOB; i++ )
* ]6 N/ P/ }2 U l* Y/ t+ w, ^
{
- k) _4 \6 s; E: v) |
LPSKILL lpSkill = &(m_aJobSkill
);
0 ^7 n, C5 K3 l$ c; W0 C* M
if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 Y$ B# w9 R; Y! }% A5 g$ P) `
{
6 J. A7 e( o" `8 d- g
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
0 x& ^; f. b* @: ?
if( pSkillProp == NULL )
) i% \- ^* X4 g; e
continue;
# B1 h' \3 j- j' `: O
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* N6 p- m) v5 R
continue;
/ |) @' H& `; n8 A8 @4 e% i
lpSkill->dwLevel = 5;
8 D3 Q+ U# b3 q
}
; A# w! _+ o! z$ [( y, w6 e6 T$ z
}
4 d' D" G3 D$ e- W8 x8 k
}
0 X$ |" [- t2 v9 ^8 ?% r; w
else if(IsLegendHero())
+ m$ T e2 E+ J' _! j7 `
{
, r, E' `7 a* {7 {, t0 R5 y
for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ u! U) Y7 I% D9 _* b" `
{
& G: H* @# x$ x' G' B( t3 a) e
LPSKILL lpSkill = &(m_aJobSkill
);
7 a6 ]4 q3 w7 ]! R# `8 ^: S* w
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; S/ y& v( ?# f
{
7 @7 c) T& S+ Q4 e, G
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: q% \/ i' c# ]+ R
if( pSkillProp == NULL )
2 D z* W5 C+ \" _1 e' N
continue;
$ c% z3 V) t9 ]# j$ h( l
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( }) ~* h4 j' K, S. b
continue;
) G- |0 M W6 q$ k7 W+ {3 D* ?
lpSkill->dwLevel = 5;
7 O$ n3 }. O N j, N
}
9 Q$ h$ I- B5 S6 W m# R! K0 \
}
2 d5 u2 j/ v( c! p
}
8 b0 |8 M0 l* H
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
1 [$ Q. k0 X4 C% w% \' K0 p
if( bGamma )
3 ?2 j- E! F' X: Q5 S% T
{
* d, X# Q7 B _& m; e [& j
m_nExp1 = 0;
9 d* E1 ]$ t2 M
}
6 ^+ p2 w, \+ P) Y# n2 ]
! P, u+ s y1 G4 V9 l' I
( (CUser*)this )->AddSetChangeJob( nJob );
: x3 W! ?; @( w% L& ~
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
" \% D: J8 T5 K2 v1 F0 J8 o
. U) ^) _; U K' W
+ \8 R' k) A8 O) W }8 ?
#if __VER >= 11 // __SYS_PLAYER_DATA
6 f6 _% s( _& B' Z0 G, q& m+ c* c
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
1 [2 S0 a) E9 x0 r @
#else // __SYS_PLAYER_DATA
; w! U* _6 ~9 K5 z/ {% I
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
, C% W! f: I6 s+ M D
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
; [* O& G! p8 b) n
if( m_idGuild != 0 )
% {$ ]4 v1 h+ [- [ U7 E7 C! P
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
' m6 C' `& n5 e) b- R
#endif // __SYS_PLAYER_DATA
$ x" Q6 J7 d4 x" B$ K: y8 o
SetHitPoint( GetMaxHitPoint() );
4 p5 Q2 Y2 X! s1 ~
SetManaPoint( GetMaxManaPoint() );
: }7 l7 x0 `9 |! t1 _
SetFatiguePoint( GetMaxFatiguePoint() );
% N! W: K8 r, Z! i
if( nJob >= 1 && nJob <= 4 )
% k% x8 y6 a& m3 D% M
{
' S+ B, s; y3 l
m_nStr = m_nSta = m_nDex = m_nInt = 15;
, z9 \2 M8 {+ w# s- R$ b3 N
m_nRemainGP = 28;
) T% O3 r% F7 `
}
$ D" C9 F" H) T# E( ]$ K/ s
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
9 o6 u( R5 B) e! i' @
{
1 x [0 f+ v& S$ |6 j
m_nRemainGP = 118;
+ q2 l; k3 {" ^
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
" }: r% n x5 S/ {7 W
m_nStr = m_nSta = m_nDex = m_nInt = 15;
: ], C- Z+ X$ R: t% I' e' K: ?
}
S; z# K: V* R
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
9 ~4 ~ E' Q! e7 P" v
{
9 K9 P! m- ^; y# C/ p, ]
CItemElem itemelem;
$ S2 z3 B. q6 e
itemelem.m_nItemNum = 1;
6 x; H% T" [6 C2 q! |
itemelem.m_bCharged = TRUE;
( a2 t# o, I% R' |. c H/ R
BYTE nID;
1 A; H" T+ L0 @( J8 h/ J
. O8 e( S2 e' V
if( nJob == JOB_MENTALIST_HERO )
% R- j2 @& r j9 z$ Q" \. ?2 B
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
8 b$ |3 W/ W; u5 e
if( nJob == JOB_FORCEMASTER_HERO )
8 D& L) \ a( V+ d3 `
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
6 m z9 B2 r3 ~& e% A' \9 a
( A4 B* N( {* X. z1 O
( ( CUser*)this)->CreateItem( &itemelem, &nID );
2 A' _# z8 B1 L8 t' ?/ t) U; N9 S
}
0 K8 x9 z5 Z: ^- E G7 o
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
5 S7 e' P$ H: `; c3 N
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
, O% u) u6 V/ `; i
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
; L$ n+ X# ]; f9 ?2 }/ g% g D# I
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
" L. l7 p& u" I/ R+ Z# r) k
( (CUser*)this )->AddTaskBar();*/
: H2 J7 A1 n* p# t$ L( o* h1 e
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
! f) a" @6 d' n# E! P9 h
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
- a( t! |& g6 g+ p8 i* \1 C0 F7 p
((CUser*)this)->CheckHonorStat();
: G2 L6 s* @3 L- u V) w
((CUser*)this)->AddHonorListAck();
' v; ^5 V E, I {, E: a
g_UserMng.AddHonorTitleChange( this, m_nHonor);
9 R1 K) m& W: {0 c% J2 t# Y
#endif // __HONORABLE_TITLE // ′Tà?
% A; J6 h; E" n& w
}
) i+ `# E1 h" d; [# W
#endif // __WORLDSERVER
, r* h' g% D& b( O' F
}
, ~( p4 {& ]. X4 j8 p
; A6 M, w! i: m) M; U) s
然后你进入functextcmd.cpp并添加以下
9 o( `# p/ `$ k% M
9 A4 E6 J, G5 Y# L0 x2 L6 o1 S
代码:
+ ?5 y8 \% X) z/ Z) b" }( I5 k
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
5 y- {9 q$ z5 [4 |8 ~& k' z* }* C
下面插入
/ p5 u5 ]# F" y6 w+ D
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
' t/ F$ P6 c8 a" U- b$ q
1 o* q4 {7 X/ `4 V" n, W
然后你去
/ ?: b, M- `1 O
$ m3 O: U" h% S/ m% I2 A
代码:
& f6 ?* H1 L& i) e+ m
代码
^9 Y' I+ N6 e" Y
BOOL TextCmd_ClearPropose( CScanner & s )
9 |1 ]/ j s) i8 V2 T) @) s
{
. A+ |, R0 ]5 f$ E, P4 @1 \
#ifdef __WORLDSERVER
. [3 _; Z5 T* B. i7 ?- x
CUser* pUser = (CUser*)s.dwValue;
; g9 a' K- R: C6 }
g_dpDBClient.SendClearPropose();
& D7 |* V! r0 b/ y+ F* `
#endif // __WORLDSERVER
) H& ` f2 {( d) v* R
return TRUE;
" A8 |! W$ Q. l3 {2 e+ w
}
- |+ |. {/ @# W; z" G0 E; M
下面插入
& o w% J9 Q' j6 W' E
BOOL TextCmd_rebirth( CScanner& scanner )
2 B9 i% X: q; H, x
{
6 c% U/ L) Q0 ~: c
#ifdef __WORLDSERVER
5 S8 v* {" `8 V; P' z3 n; Y
CUser *pUser;
, X4 d2 ]% s' e# |* ~
pUser = (CUser*)scanner.dwValue;
& n9 L) L/ r6 @5 ~" R2 K( P7 A
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
3 Y( E" |, [! n# s4 s4 b9 G
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
, \/ i' K& R8 E! \
else
1 N6 C# q3 F( |: n4 T9 O2 g4 _
pUser->AddText("你还未达到重生条件!");
- M/ P" ?2 b. p
#endif
7 X! o; X( q; E4 i, r) `
return TRUE;
! g# F3 D- L: `$ @
}
) _6 _& ?7 A: \" v. s: X2 ^( U
5 @0 F" b8 o7 F# H2 ^5 c
& P0 S5 P- U" \5 K$ R: [
) g% C, `/ ]* d( m2 Y Y! ]
" P" P: j ?7 z. U+ i( y* K
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2