飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
1 [1 w) d. \2 u- _! V5 q( p- o
, |6 o% D- c4 J, [( L
Mover.h
, X6 m1 W1 ^# O- R8 R0 ]" c- o
代码:
2 T/ O' V; G3 g* V% ~9 W
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
7 X0 `$ ^9 z( i7 ]4 g
4 Q1 m1 [% \7 E( u6 z; t7 X
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
2 Q, w3 s2 q# _3 r% U
1 y" P: p7 r0 g* P) {" m: I, c
然后你去mover.cpp添加
5 f! e+ A; n% @: G% Q, q
; b( S- e/ \4 R" V) [
代码:
! g7 [6 A$ p: U
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
1 P! y$ H, ?3 J* D
{
0 C6 v+ x* G U$ z! _7 h2 p; X2 i- K. D
#ifdef __WORLDSERVER
; Y: a5 T1 j4 z. c* H4 C0 o
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
; \' s; ?1 a& P5 \* H7 I& i! R
MoverProp* pProp = GetProp();
2 I5 l; K" b7 p- `
if( pProp )
' h( ]: e, W8 P' E- U1 ~( A9 m
{
7 d3 P3 q0 h" }: ~) h5 k* O( \$ C
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
: B" K+ |9 E0 ~( z5 I
{
7 N/ {& B8 m+ O* n; H% T6 F
AddChangeJob( nJob );
" E/ K6 z/ i5 X# R
}else{
* I# Q2 b; k4 D& p2 V" Y, r
return;
: Y8 \+ Q3 M. N& j6 J& u
}
2 Y" i+ T# ~3 w0 d2 ]
int nPoint = 0;
% t+ c; {( ~4 m8 L' P" l" B/ c
if( m_nJob == JOB_MERCENARY )
) `. i; ?+ _0 w! I
nPoint += 40;
1 ]2 [1 w$ T& r
else if( m_nJob == JOB_ACROBAT )
8 a* i+ v" a+ f5 Y& M, Y) L
nPoint += 50;
# U" @: V" p3 G' W! n! G5 s$ K
else if( m_nJob == JOB_ASSIST )
5 O# ^5 h9 G! R2 w- x
nPoint += 60;
0 ?6 j* E9 b+ x* ^/ ]5 W/ n& d
else if( m_nJob == JOB_MAGICIAN )
: z8 k" j. R, T0 l1 c; R6 B0 \
nPoint += 90;
. N0 q! N* @" o* {& Z
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
+ B! ]$ n- I5 F: `
nPoint += 120;
/ Z0 L) n" B8 U8 j. R# g
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
* b3 ~) ^# U& }: l/ ?9 f7 \6 F
nPoint += 150;
. _8 d+ W h I. }1 B
else if( m_nJob == JOB_RINGMASTER )
- }" C0 W9 K( ~" B
nPoint += 160;
1 `/ K O1 \+ ^2 K" T. l0 K
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
& k7 L) I3 L7 Y( [" F2 |% f
nPoint += 180;
- A) v4 j3 I2 j& I& q9 F$ b
else if( m_nJob == JOB_ELEMENTOR )
: v/ G' T% A) X6 V. e- I, J! |9 T
nPoint += 390;
* B* U/ g) W: {* L
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
9 s& s0 T N9 p4 E6 y! ~
nPoint += 120;
2 P1 m7 X% D3 Z0 x
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
, z' }# C! P$ M+ W. e0 e; S
nPoint += 150;
$ L2 R b" Z. u5 `: z' i/ q: ?( B
else if( nJob == JOB_FLORIST_HERO )
+ l1 U% I% h( S$ W
nPoint += 160;
: O( c, Z; V0 y6 k
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
# N9 \, t0 W8 f9 M( N
nPoint += 180;
' ]) d& n+ e0 D- S
else if( nJob == JOB_ELEMENTORLORD_HERO )
% F4 v1 M. s& |6 a2 e! Y1 h* W; V
nPoint += 390;
$ u& V- r1 n6 k0 ^6 p
h* s: |0 x; ]7 p" q" X5 V/ W
AddSkillPoint( nPoint );
$ N" ^4 u' V6 L$ g4 L/ ^
m_nLevel = nLevel;
0 |7 n" \; o1 V( P
) [# W3 p ~$ E6 i
SetJobLevel( nLevel, nJob );
) \7 [6 t% [8 E9 Y$ q
m_nDeathLevel = nLevel;
5 k/ x2 s1 N7 n5 q: F$ A0 T! @
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
: X9 ?1 @% k0 B
if(IsMaster())
" D4 b& T7 r- B
{
& Z& q5 E0 g! h: C1 l6 B7 p. K
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
. j& s% u$ ~0 P3 I9 m
if( nLevel > 59 && nLevel < 72 )
4 m/ I8 ]% q0 l J/ l9 ~( P+ f0 w
dwTmpSkLevel = 1;
6 q0 ~) b4 X5 R" \3 y8 Y) p9 Q% U0 T
else if( nLevel > 71 && nLevel < 84 )
! ^* t! W+ J: @3 p& X
dwTmpSkLevel = 2;
0 M& x1 C9 l$ h5 k
else if( nLevel > 83 && nLevel < 96 )
- q* {. S7 Z4 ]& [
dwTmpSkLevel = 3;
) W$ H9 D( n+ g
else if( nLevel > 95 && nLevel < 108 )
! b& n3 u3 M1 K4 O
dwTmpSkLevel = 4;
% \) S6 B; _( X6 \% i
else if( nLevel > 107 && nLevel < 120 )
$ P7 S! y$ q9 K8 H6 D3 v
dwTmpSkLevel = 5;
( A6 \& K$ d1 [3 O" R
for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ I8 [# z- k9 R. E& j8 g
{
3 Z% C( [% V: ~ U D5 |2 K
LPSKILL lpSkill = &(m_aJobSkill
);
- T! X& g! l5 O* ]: H/ i
if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 u. L o, ~; e6 U8 }- L- @/ X$ ?
{
5 Z& Q8 v5 L0 _
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
. Q& Y# f5 S9 x- Y$ R
if( pSkillProp == NULL )
0 ^1 v, ?5 E8 H! x
continue;
. R) U$ a5 ?0 }% p" i
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ V, h) @$ D$ ?/ N% K: c, j& j
continue;
4 C9 G) f2 {6 x5 v/ E
lpSkill->dwLevel = dwTmpSkLevel;
9 M7 G4 @% Q- q1 k, S
}
1 J$ H! A" J- z+ F: r* v
}
" S/ o1 M' W3 \# T* p
}
: h7 c# B) k- s
else if(IsHero())
. ]8 m j3 Y* X7 o5 }9 m9 ], |
{
# W! C% r) d) K
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' M: _. A$ i% S9 ^2 Q
{
6 K. O/ _, P* g! G9 h
LPSKILL lpSkill = &(m_aJobSkill
);
# L4 c$ }3 ]: I- G* Z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; A6 O4 ]' s& E2 L6 u% y7 K
{
/ v0 y( \. I2 V c4 E$ a
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 k+ c U. v9 _- O& \
if( pSkillProp == NULL )
# x+ Q8 W; w1 j9 }; _" a7 h
continue;
3 o) F* Y% O$ F$ B( H* ]
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 C, g7 }3 T; V
continue;
' r2 u3 p& R' n& B
lpSkill->dwLevel = 5;
5 ]+ Y! T2 s" V& M/ g, z
}
: `; V2 @2 v8 c& w2 m6 v
}
) D& F' V, e1 j
}
) d; ~$ {* x6 N1 W( X8 Q
else if(IsLegendHero())
6 W$ N' Q, I: d- o7 o# @
{
& C. M( ^3 z# V8 L' K
for( int i = 0; i < MAX_SKILL_JOB; i++ )
( z, p0 Y7 @# L% }& i# i' t
{
1 w" k* \% J0 M- k
LPSKILL lpSkill = &(m_aJobSkill
);
6 _" J" @& d" q0 C- {" u
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; e/ P+ A- r2 j; X( R; }
{
9 j1 h7 p7 p0 c
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
7 H3 c! U1 k& v4 x) Q$ v- W1 q
if( pSkillProp == NULL )
6 P9 u) T2 n2 k# }3 D! o7 w8 p
continue;
( o" O, i" N; ?2 C9 H( s$ y
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 W3 }: M) \5 I
continue;
( a M! e. y _/ _" R3 U" l$ G' R
lpSkill->dwLevel = 5;
" Y# [' V( f8 J; u- d
}
9 A3 [+ {6 e8 N& d; V
}
3 U9 w& @3 G1 [% y3 N% W2 {3 s
}
/ u% g: w' ]# ]% @3 |% S9 H
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
7 U; X& u8 F. V( T+ C1 P& y/ e4 @
if( bGamma )
8 U* t& U( J; O: o1 v( f- ^9 |
{
6 I- D" \0 f3 j% \( k: k7 ~/ G) |
m_nExp1 = 0;
# z8 P3 ?3 T! r; D
}
0 z; D% H3 C8 \" }' f! A
' v; y) A- ?/ j2 Q
( (CUser*)this )->AddSetChangeJob( nJob );
! E( H5 B5 X y) u; @8 {) J
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
2 V; |1 ~. S( ^- s7 Q: l
3 @/ j; E' Y: T4 X
- _" b2 ^5 s/ Y/ l2 E
#if __VER >= 11 // __SYS_PLAYER_DATA
( s0 H a+ p1 Z5 U) C5 c
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
! Z- s7 F) d8 m$ _! F( Y4 w5 _7 B
#else // __SYS_PLAYER_DATA
! C. Z# f2 A: P% N
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
. Z% O# C; D& W q! S0 Y
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
6 ]# b8 i8 O1 e9 r
if( m_idGuild != 0 )
6 Q- O$ L& z/ ]2 A4 o0 o8 j7 ?
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
[! |8 C! Y/ T6 r9 N
#endif // __SYS_PLAYER_DATA
% Y2 Y" \ j, u% N6 a
SetHitPoint( GetMaxHitPoint() );
) L% j5 J+ p7 [2 Z+ B5 v
SetManaPoint( GetMaxManaPoint() );
/ e- G. w" y. \" \+ Q
SetFatiguePoint( GetMaxFatiguePoint() );
+ e* r& W8 {. W
if( nJob >= 1 && nJob <= 4 )
0 X' {- t; ^7 W8 v0 W. |
{
# g% d- s( C6 C: J: W
m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ R! j, }3 x9 ~1 q+ I
m_nRemainGP = 28;
8 c) ^% a+ ^/ N4 n% I. l
}
& s- E: l6 F# X6 {% W
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
, g3 B1 G5 i6 O' \
{
' S$ a' R' y8 Y ~/ u3 W
m_nRemainGP = 118;
; z5 e h) X9 o1 w5 ]2 g- R
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
" N* D8 t) v5 Z; }( J, h! X
m_nStr = m_nSta = m_nDex = m_nInt = 15;
- J3 p! w* x' l" ~# T0 q
}
5 E- K. c! ~$ O; z
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 x6 w/ h% `" t7 T
{
3 Q3 Y6 `8 K+ y: p ]
CItemElem itemelem;
6 m6 _" v4 F" V5 Z9 W
itemelem.m_nItemNum = 1;
$ M8 X5 h& k9 Q$ Y* w* I3 ]: d
itemelem.m_bCharged = TRUE;
) |. E x9 d5 I8 |- V6 K
BYTE nID;
$ V0 O6 T& e% T/ m
6 s1 l5 Z' m2 S( m% g
if( nJob == JOB_MENTALIST_HERO )
. ?$ Q: V2 B0 A, i+ n( L) O6 J& ~
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
" V K+ u0 ^+ M) ?
if( nJob == JOB_FORCEMASTER_HERO )
0 W+ I( A1 i+ p' ?
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
( G& a5 e- u4 V9 A; @* r, M4 O( z
3 j' K' j9 ^2 L
( ( CUser*)this)->CreateItem( &itemelem, &nID );
, @7 k& v$ M& c: z
}
9 Y' d# u- E4 R6 {, q5 M3 i0 J
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
0 c, ?5 `# V. _' }& {! C6 m+ j
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
- S. d% C8 T% d: e
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
, D) H9 V8 s( C+ Q
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
+ B, h" R( X. I) Q q8 y# v
( (CUser*)this )->AddTaskBar();*/
" @& B; i# s1 Z* g; U
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
4 g! B4 ~9 [: D Y
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
6 |; {4 {" r7 U+ M3 g
((CUser*)this)->CheckHonorStat();
1 d. y9 l/ N: Y- C) ^5 C2 ]( _
((CUser*)this)->AddHonorListAck();
( }6 s, x: I. |" w( u [. M
g_UserMng.AddHonorTitleChange( this, m_nHonor);
2 x+ S" U" ]# x( p, O6 u! N8 _
#endif // __HONORABLE_TITLE // ′Tà?
4 f. o/ h; X$ Q- q1 p: g
}
7 u: U' t* X N% \! f, p
#endif // __WORLDSERVER
$ _8 ]) {+ r3 Y: P$ u) s
}
1 F8 }- ^8 }: w
9 y, e2 W2 Z Y/ n& l0 w
然后你进入functextcmd.cpp并添加以下
/ Z5 x+ Y5 P9 X+ @0 d9 e
0 u/ f. i& |( J+ u5 I. Q
代码:
! M) v" m5 g' }; `7 ^, V3 c( ]1 M
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
6 _0 V: @+ l9 k8 d" i" A
下面插入
" H$ V# l# v: o0 |/ B r. \. A6 F
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
( l' O' ^6 b! _% K4 }, L1 D
* e, S6 S& G- b6 F0 }
然后你去
2 l% J/ B+ s7 F5 ?1 i( z( I, u. x7 T
' u; I A$ P4 O9 y
代码:
* R/ @% L0 R0 U1 q
代码
, L7 s* B, M/ d5 i& p8 @8 l' z
BOOL TextCmd_ClearPropose( CScanner & s )
. V1 \6 Z4 W7 w9 V& }" i5 X- v
{
8 \1 w ]; E6 ?2 Y- E5 _2 `
#ifdef __WORLDSERVER
* X2 T E4 ^( [/ o, V
CUser* pUser = (CUser*)s.dwValue;
- i7 x: V* i/ X6 Y
g_dpDBClient.SendClearPropose();
8 p" k5 B0 A) i, [/ V: P: W8 h! [
#endif // __WORLDSERVER
9 {! L# |3 o/ w9 ^- q8 d
return TRUE;
* u/ N3 v" V# ]( E9 H5 {
}
7 A) |* |5 h$ L& N2 W+ S
下面插入
6 u& \9 B) s. ^ n. W
BOOL TextCmd_rebirth( CScanner& scanner )
% |8 Q8 Q) c9 m) c& n2 o |- Q
{
' Y) ~) X! O3 d: O
#ifdef __WORLDSERVER
7 G2 q# n" X; | V- @
CUser *pUser;
5 q3 @/ T, K) t4 }
pUser = (CUser*)scanner.dwValue;
6 M6 }- W# s4 N( u! p9 ~
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
, |1 }# i' H4 Q3 [
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 v& K' ^( T: A" T' i
else
' t/ t8 c; u4 P" u, W
pUser->AddText("你还未达到重生条件!");
" \7 e" d5 H, N3 H
#endif
2 w0 X. b) A( g2 w
return TRUE;
, a6 H1 x2 n% ]
}
4 z, V6 f! B! r
, p9 ]: }3 R) m
2 V, q3 L8 y$ O
+ A) s7 z/ E* C
' r" G4 h4 V1 g
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2