飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
0 k7 G. [: u) s! u: A2 Y/ L
. I( F. g3 [) f+ h Y7 F
Mover.h
/ {7 }$ I* i% K) H9 t5 Z
代码:
3 g9 w2 S+ ]5 } G
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
5 n v% }8 N& u# G" c1 \+ T* Q
5 w3 Y+ n. c! c' y( J. \ @3 P
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
; X+ J+ h+ {6 i S
1 [. f$ t$ C5 C2 c- Y
然后你去mover.cpp添加
" S* y* R7 k2 ^/ ^& w7 I: ]0 c
! x+ N) L4 c% |1 v- D8 m$ |; g
代码:
& u! D! A5 v, u3 ?
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
( a; u5 r: ~2 l
{
/ t1 S4 \# B+ a9 C" U8 V( C% M% {
#ifdef __WORLDSERVER
& |0 D. `6 u+ N% \( ?6 g
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
. C7 r* s( s1 p( B1 R
MoverProp* pProp = GetProp();
& A: S/ v! K0 j7 A
if( pProp )
! O; l; |7 d4 J* O
{
, _4 b1 _8 w1 z& i9 U4 b
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
, A; `/ p+ }: t* B
{
2 h. ?+ {3 l9 t4 u
AddChangeJob( nJob );
+ e1 {1 j# U: i$ X/ z, p* @
}else{
" D( G9 L# k5 ?
return;
. l# E3 i3 x! b5 F% R
}
, K$ n. d) Z7 G9 @
int nPoint = 0;
3 O8 s/ B& c9 v1 @7 {
if( m_nJob == JOB_MERCENARY )
2 o+ y! `& y# A7 {! Y d5 ?
nPoint += 40;
# x- R. ^6 C0 _- s+ v# _
else if( m_nJob == JOB_ACROBAT )
3 |$ w9 u" T7 z/ [/ o; ^1 p* K9 }
nPoint += 50;
* R/ m! K8 `5 B" T4 E9 h
else if( m_nJob == JOB_ASSIST )
. S. X& c+ X8 Q! D& I* C$ Z' J
nPoint += 60;
5 F# _* Q2 J: A. o9 b* U
else if( m_nJob == JOB_MAGICIAN )
* t" R* e1 j+ o& o, p" _
nPoint += 90;
6 X, ~; k6 m( K
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
1 V$ d) k) E& {) L) H+ M' t) A/ k
nPoint += 120;
& S9 h2 e- s0 A; N
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
6 p' _$ p3 ?7 R1 W8 i
nPoint += 150;
% i1 M/ k, `" l1 s
else if( m_nJob == JOB_RINGMASTER )
( C. N( n& w' s; F8 |0 u2 O
nPoint += 160;
|1 h' ~7 Y( w% L8 g7 h
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
e% I) w) j. y6 F7 \' g- O
nPoint += 180;
2 T1 p1 N2 w' Q
else if( m_nJob == JOB_ELEMENTOR )
$ b/ t! V t3 J6 i9 e% O
nPoint += 390;
( j/ h q z& H* D) W+ K J" `: J
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
. X( s9 Q; Q; _7 t# j
nPoint += 120;
/ A: n1 b' @7 r( L$ Z
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
1 y6 P y3 E' P J, P
nPoint += 150;
1 h$ P3 N' t0 L1 s
else if( nJob == JOB_FLORIST_HERO )
& F/ B2 J- h0 Y; W! }
nPoint += 160;
& G. U9 G+ G* B7 `7 z8 G3 W7 T
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
* d7 X9 f5 ^$ S
nPoint += 180;
/ }, r* h+ ^8 x$ Y7 t$ N
else if( nJob == JOB_ELEMENTORLORD_HERO )
4 j, a. q" M% D; m/ c
nPoint += 390;
$ I. f$ c! {2 U
, P2 q4 p1 R" Z
AddSkillPoint( nPoint );
& w7 n5 P$ w3 K w
m_nLevel = nLevel;
, [ [% q; P- p9 y3 s+ s
: S% f- }1 G" |" c6 w! e: N
SetJobLevel( nLevel, nJob );
& t* z- w3 h3 r% C
m_nDeathLevel = nLevel;
6 }; O& ]: l+ I, V0 q2 h
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
8 C3 ^& y0 P7 D/ z% n& v; Q
if(IsMaster())
/ b" b: c# `+ S8 o. U/ o. h
{
2 `( a/ _4 n3 l
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
. I& X9 M5 N8 `4 w; O* _( E
if( nLevel > 59 && nLevel < 72 )
. Z" ]( Y o) ]" W; \6 f) a0 B
dwTmpSkLevel = 1;
0 _* F1 P2 ^9 g& p7 G9 J
else if( nLevel > 71 && nLevel < 84 )
+ K& H& [/ R& S4 e
dwTmpSkLevel = 2;
4 I# d0 u$ O' S/ N
else if( nLevel > 83 && nLevel < 96 )
- M* R9 C5 {8 A) f! {* b3 @9 v
dwTmpSkLevel = 3;
6 Y9 ]. H s9 R7 t
else if( nLevel > 95 && nLevel < 108 )
0 _* \# h' y Z) S& Y9 d
dwTmpSkLevel = 4;
6 Y; K& s- E& e# \& X
else if( nLevel > 107 && nLevel < 120 )
% x0 u9 A+ I) H1 _5 j6 D- {
dwTmpSkLevel = 5;
& m) @- t# I; x( d4 E( v. u j/ t
for( int i = 0; i < MAX_SKILL_JOB; i++ )
) t1 f' Y: _0 ^
{
8 \4 _5 {, v w, @6 t1 d
LPSKILL lpSkill = &(m_aJobSkill
);
* {% v2 H, F( L9 I9 Z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- f+ w$ Z; f* D" \0 L/ K: u
{
' {! A3 `( Q) s% M1 y) t- s9 ^
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
H8 ~" [, ^ L! V9 E. Q
if( pSkillProp == NULL )
" G7 T: A/ ^# f
continue;
/ S! J q; f6 D- R
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" X( }$ a: ~7 p* n5 V' l
continue;
5 C. f& ?# O" m" g% q. {; i
lpSkill->dwLevel = dwTmpSkLevel;
4 ]; A$ c; [. V- w1 r2 u) ~
}
+ ~; @: u+ ~, F3 n- Z% }9 n
}
' o }. C) m7 M- _/ n
}
% C( j* B5 r9 b5 [, q! O: m6 D
else if(IsHero())
$ c* ^7 Y: X: p* o9 V7 x9 F
{
5 X$ _% Q% ~4 D; g: ~4 y6 O# |
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% {; w; B# F+ e* e+ u4 U! G
{
/ b& d m$ v0 V9 `8 \
LPSKILL lpSkill = &(m_aJobSkill
);
# e, k0 ]( E4 V5 x" q- h2 D: E
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' c, Z) V: [& A2 B1 ~! i: a3 a$ w
{
# |2 n+ V9 B e$ o, x
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
, v3 o4 s& M J4 d) |
if( pSkillProp == NULL )
% |+ L* x; a; b9 I9 f, w7 K
continue;
* F) [" M" v8 k* [' V
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 d1 p% ~! X5 C u+ @* L4 z5 [
continue;
! H( b0 z% o/ w) j% d$ T; J
lpSkill->dwLevel = 5;
5 m; L: g; B M0 k
}
, j" y/ Z3 V; R: Z2 E7 S _
}
3 ]9 M$ H; o3 ~; A! e* q
}
7 J' G( O- ~* Y5 W7 I
else if(IsLegendHero())
; e- I2 `! o! j. p' }
{
/ |8 z5 T' P/ d, i
for( int i = 0; i < MAX_SKILL_JOB; i++ )
) a' E G1 P; V( U+ o4 P2 p
{
) }. ` J* d; W7 N+ w- \
LPSKILL lpSkill = &(m_aJobSkill
);
4 M q# ~+ w; { u7 g8 r
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! s% ]( w. c8 m2 s/ u% l2 e) K0 O
{
, O: [/ a1 d, }3 E6 O
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
8 j" g& \4 J, V$ F% \) n; \
if( pSkillProp == NULL )
7 ^6 v, Z6 A) e' W( k9 w
continue;
# d6 V/ R! F0 c* R
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 I) ?7 H2 s8 @. N& K
continue;
* R. w: w+ d* y4 t5 C: J
lpSkill->dwLevel = 5;
7 |7 I6 k2 U* U& H1 X3 E H# x' \
}
% |: f$ J) ^+ V) q4 v W Q) ^
}
) B- l, n: r0 c' x, r5 c4 c
}
( J/ d+ f( n5 J. y; c4 I
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
! \6 j$ w \; p; Y8 U/ Z b
if( bGamma )
G* B' V8 b S7 R. }
{
7 [4 `' J$ k+ K# d1 o7 }
m_nExp1 = 0;
! T' W4 `2 i$ r: v. @! C8 ~2 \# w/ G
}
/ F7 o( _, h6 f7 a, G
3 ~; a* {) J! a! v
( (CUser*)this )->AddSetChangeJob( nJob );
2 G% ]. P \8 Z% k
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 `7 K+ {, b7 X- r
, L7 ~" J* m. s6 |# X; b# k0 i
1 ?2 S" F- s" Q L1 E
#if __VER >= 11 // __SYS_PLAYER_DATA
5 c. T* ^0 p1 n
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
! }. C7 e# F8 G4 ]* M% A6 J* G
#else // __SYS_PLAYER_DATA
! _+ x3 B3 K G9 h; v
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
. ^* f5 O/ ~8 Y* l6 I9 @
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
2 q Q) F, [6 f$ ]. }- j
if( m_idGuild != 0 )
9 ?& V0 ]+ Y+ |; V# i7 F) R9 e; T
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
; o4 O! [8 e: n! `* }
#endif // __SYS_PLAYER_DATA
8 C0 z: Z6 C. ?3 S, f$ \
SetHitPoint( GetMaxHitPoint() );
; A$ W& |- }; s0 w: \ R/ Y& A0 W% U6 H
SetManaPoint( GetMaxManaPoint() );
2 ^& s* R3 x1 f4 s' b
SetFatiguePoint( GetMaxFatiguePoint() );
$ e4 T2 J: F5 y1 S
if( nJob >= 1 && nJob <= 4 )
' X% N! W" i1 `2 F/ p6 D5 Q4 Q
{
- U# z2 O9 d6 w5 d
m_nStr = m_nSta = m_nDex = m_nInt = 15;
( p3 A# h) S+ u6 B6 z7 v$ O
m_nRemainGP = 28;
1 Q$ A# S9 C7 ]# |& |, W
}
9 G( D* _9 `3 O6 ]+ i4 W
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
, I1 _$ R0 R* x2 @0 L
{
9 L) n3 P% E, F6 f, o
m_nRemainGP = 118;
* K! I7 v1 m" ~1 L% A' O4 Y
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
8 U$ Y0 z3 }8 ?! U8 K5 A
m_nStr = m_nSta = m_nDex = m_nInt = 15;
: K [- L. u, I7 H
}
, ]* |; p; ^8 |6 A$ h
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
8 ?( _" j+ n: U+ `
{
9 R5 s0 N& S$ `8 M- y% g* q
CItemElem itemelem;
6 G; U( C2 G) K: v" J$ i8 q
itemelem.m_nItemNum = 1;
% k Q( s* l. D$ c" I1 a
itemelem.m_bCharged = TRUE;
2 y+ T* b6 l* ?- g
BYTE nID;
' f- o" u- O" ~# }- r
- R# ^ D0 @9 b% Y8 G2 Q E
if( nJob == JOB_MENTALIST_HERO )
& f* k/ u- B9 b5 c; T) b# E
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
8 p( R- u: R3 c. v5 W2 v- b# e$ [
if( nJob == JOB_FORCEMASTER_HERO )
* I! e4 n9 U2 ~$ `
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
9 y; m' q+ L1 F4 Q3 l
7 l! k6 _( b6 B" a6 @
( ( CUser*)this)->CreateItem( &itemelem, &nID );
* |0 [( V$ X% D5 i0 j+ X
}
4 o$ C* `/ l; v$ |! {+ z, p. K) [5 Y
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
3 {% x( b9 C0 W* i8 w
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
, X- I7 ]! t1 G f, H
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
) I% W0 K; C3 l* G
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
0 L4 ^+ m4 ~5 g6 ^+ Y7 V
( (CUser*)this )->AddTaskBar();*/
# _: ^1 J; w( o1 x$ K( G/ {4 g
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
0 A. N: h' Z7 c: P+ M) g% [: M
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
9 h# D7 ]1 U" a6 n7 H
((CUser*)this)->CheckHonorStat();
/ R4 B* {0 L5 Y g2 B- Q+ a
((CUser*)this)->AddHonorListAck();
) j0 z6 h% r0 H( r. ?; V
g_UserMng.AddHonorTitleChange( this, m_nHonor);
5 J h6 n! P3 B1 ?1 w: T
#endif // __HONORABLE_TITLE // ′Tà?
& e3 p! q; h) b
}
" U& a0 A3 ?2 t/ t7 j) O" [& ]+ O% C
#endif // __WORLDSERVER
5 P8 r# E$ i- B2 u2 o
}
/ B' j# D' m3 a! ]$ p! k( W! I
M# z* I3 n9 K% h
然后你进入functextcmd.cpp并添加以下
+ A0 j3 v3 u9 Q( {& V3 B, }
5 ?2 p1 c' [" a8 a0 ^( g/ [
代码:
/ A& @5 L& R& @/ z
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
4 g0 z: m/ O! ] k( [1 ~
下面插入
$ X3 E% M7 l% n% F/ w/ e- ~
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
( u2 e7 d. ^- m
* M) \) E% q6 j: M2 a( }8 V$ s
然后你去
6 @. W8 [5 ]3 M/ }* I- p, y
: j7 c- I+ v( ~2 f% K7 n3 X
代码:
( @, X' D2 G' H, S! ]
代码
: p9 ?7 m- h2 p
BOOL TextCmd_ClearPropose( CScanner & s )
3 X8 a8 t$ e! j' _7 U( N! a5 R( {+ c
{
( ~" S! Z! ? O; W# T
#ifdef __WORLDSERVER
7 f& W* S& Q$ o8 b3 H- t0 I/ E" ]
CUser* pUser = (CUser*)s.dwValue;
c, K5 }: s- j
g_dpDBClient.SendClearPropose();
& c7 J/ \% R0 x" ]* J j7 j6 }3 U
#endif // __WORLDSERVER
6 [. a) `; A/ M3 Z7 j
return TRUE;
! @- x- p8 |' b) Q; K
}
: |, v8 u9 E5 K5 W5 y7 [
下面插入
4 W- m2 e- i8 u. C
BOOL TextCmd_rebirth( CScanner& scanner )
/ [) _1 A, t1 ^5 ^# h* D
{
( s" e1 D& t" |! D
#ifdef __WORLDSERVER
% ]; k% j0 i! o+ @: `/ d
CUser *pUser;
. u( G2 @) Y) ~$ i& l9 ~' @7 [; o
pUser = (CUser*)scanner.dwValue;
+ Y; V c4 B) I" D/ R8 S
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
( e; z/ J* T) @3 h
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
2 k a: f9 K. u( X) J* P! R
else
* J( t) w5 H* `+ c' D" E9 o
pUser->AddText("你还未达到重生条件!");
! q0 N, m5 G X( x6 M" v5 B
#endif
2 u* S, L3 c; H
return TRUE;
8 b' w# Q+ I0 w5 R
}
9 w& o( l; {) s
. ~2 K6 `% ?& ~# U
4 @- x# J/ y* K- L, t
9 j% Z: K( D$ W, @9 l' E1 B8 Z
# X1 P/ f, {4 _' X. n d" T
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2