飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
- z T% }% o& p& d( N
7 }. G( i, Z# g k+ ~3 p
Mover.h
# u( f; T1 a& s0 S0 L
代码:
+ V: J* q( w+ ~% R/ N2 H. N: F! t
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
/ s( C4 \# X) k _& i/ p+ U
1 _$ T& Q( R; m9 m o4 E. I
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
! h0 G" o: ~# m0 c- H
( Z7 W* I5 b V7 ]& Q2 g
然后你去mover.cpp添加
' f( ?+ L% |# A+ k
6 A. \7 {, _, I k; q" [
代码:
; a! Z2 n' e5 F: a6 M
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
$ j9 ^* g8 `& x* k/ c
{
( t, m: h% ?! b0 {) k3 ?
#ifdef __WORLDSERVER
/ f+ H# v0 ? E0 k
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
3 _$ K0 p& O5 `5 O8 J, \# A
MoverProp* pProp = GetProp();
# N+ M- s% c- I
if( pProp )
4 x3 ^2 N5 ~. y2 X+ {4 ~: E& M" l
{
, Z( K( L$ O7 q% e
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
1 x0 _. a/ D) {" W2 A; v3 [
{
' s7 M" k3 P8 I
AddChangeJob( nJob );
5 r/ }" s) y8 r0 z
}else{
3 p; P: G4 E. h
return;
" [. W7 D: C0 ` S
}
( G4 t5 |+ R) ]$ p4 w1 {& z
int nPoint = 0;
/ w/ W0 b! w+ P( I
if( m_nJob == JOB_MERCENARY )
H7 B4 t& i1 e: }# X% ?/ m
nPoint += 40;
, J- \7 }$ ]( Z
else if( m_nJob == JOB_ACROBAT )
, i- e) T5 {# j9 O( u" y6 }7 g! R
nPoint += 50;
9 }- E; E) I, _2 i! T
else if( m_nJob == JOB_ASSIST )
; q/ L1 |3 V) ?0 @" D
nPoint += 60;
5 V1 H6 M _1 \! k) ~2 ^
else if( m_nJob == JOB_MAGICIAN )
5 L3 i H: |5 }# h$ N, q3 V5 a
nPoint += 90;
2 f, Q7 D5 K+ n6 r8 A( Z" g
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
( v. `/ g/ Z, v. X- r1 q% \
nPoint += 120;
; x3 t6 b2 i; b2 Z1 V! g
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
6 c# C4 i0 H7 b$ f3 j: O- I0 {$ _
nPoint += 150;
: @' R' t* _& m/ y8 e7 |( ], e
else if( m_nJob == JOB_RINGMASTER )
/ ]6 ?8 B h. f" c
nPoint += 160;
0 z: J! I! S; ?5 C. l7 H6 N" U
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
0 x f2 N% C: u. {8 v N
nPoint += 180;
4 f J0 F. L. i1 w2 z- x
else if( m_nJob == JOB_ELEMENTOR )
) T8 @0 [* ^& E$ o6 Q
nPoint += 390;
' u$ i/ M4 a. L) ?* l: m2 v7 l
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
0 X' G0 j# K; \( U- }
nPoint += 120;
: _: j" u2 N9 t
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
% k& a. m" l m
nPoint += 150;
! _2 {1 l& }3 ]+ x7 t Q
else if( nJob == JOB_FLORIST_HERO )
! `; W9 I8 K1 o8 ^. ?4 t7 R
nPoint += 160;
. x7 P- ?% X5 L: R# j
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
1 ^* Z6 }" O) Y
nPoint += 180;
' B+ k( x! F+ {& o
else if( nJob == JOB_ELEMENTORLORD_HERO )
# A7 h* l3 Z8 U" i; I0 L
nPoint += 390;
9 H" [ C- ^& u% S8 @
' O& ?: `9 q2 b9 L4 [: t. \" A# n
AddSkillPoint( nPoint );
+ {9 V! _: g: H( k
m_nLevel = nLevel;
5 X- r' P0 [! [
2 [/ U3 t0 B1 {( B2 `6 C" {
SetJobLevel( nLevel, nJob );
/ U; W2 N7 l# ?0 E3 K& _) s' x
m_nDeathLevel = nLevel;
% Q8 ^6 @8 d: @; w% P
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 K8 ]/ t- j+ z4 C/ J
if(IsMaster())
4 c: Y9 R- Q& R; u' J1 a
{
. w- l2 t1 V! W7 j r/ D( {
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
8 }/ Z0 w- N& U% W
if( nLevel > 59 && nLevel < 72 )
4 T0 k$ s. G! _. P9 b4 R7 Q3 ]7 t) e
dwTmpSkLevel = 1;
j0 `+ {1 h: z
else if( nLevel > 71 && nLevel < 84 )
9 v$ m+ q) ~, D
dwTmpSkLevel = 2;
! w8 e4 ]9 {$ s' P- g! t: O
else if( nLevel > 83 && nLevel < 96 )
( z0 L$ M- G! D
dwTmpSkLevel = 3;
3 B) [, O! X8 U3 z4 g
else if( nLevel > 95 && nLevel < 108 )
; G2 {/ @, {6 S
dwTmpSkLevel = 4;
- E9 L. H+ t% d8 g' K
else if( nLevel > 107 && nLevel < 120 )
+ l# N. L7 Q) a; Z0 _
dwTmpSkLevel = 5;
% ^6 g9 @' D& k. Q3 f& L; o- Z
for( int i = 0; i < MAX_SKILL_JOB; i++ )
, r. }9 s& y) u; I- h. [
{
- g% r' d I( C
LPSKILL lpSkill = &(m_aJobSkill
);
+ w$ q2 A, t/ S8 Z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 A. |* }3 b5 x% p( \
{
M' n# i% i3 B+ r; J
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
. h% e8 f% _8 T
if( pSkillProp == NULL )
! B0 I R3 v+ N' N' c$ S# J
continue;
. O& q: I% S! G6 i- k
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( v9 k) P) J; ^2 E% l
continue;
# R! o* y# c+ G8 W$ L' g) r
lpSkill->dwLevel = dwTmpSkLevel;
! p7 W/ p% a1 Z3 B1 ]( `9 q
}
: h3 ?$ i# s2 I+ C, p
}
8 ]) ^; S, B' F/ [0 `/ L. F" b
}
+ j) c2 R7 e- r1 G j9 \" t9 t" ~- f
else if(IsHero())
* F4 g: J6 n# p( n" t9 h
{
, i1 \; X' U8 g! p$ s
for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 @; F6 b# t4 K% _' Z$ S
{
. S, \1 x' h& j3 s; K0 q
LPSKILL lpSkill = &(m_aJobSkill
);
0 W9 C# j7 I1 m
if( lpSkill && lpSkill->dwSkill != NULL_ID )
7 V2 I1 f- F4 O+ B
{
$ l5 e' _# e7 y+ p
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
8 S0 v" H' F4 | U; I2 a2 P0 p
if( pSkillProp == NULL )
, R% Q3 v# i$ r/ g
continue;
$ x' G$ T: ^( I3 Z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
) k( A) q4 l7 I7 S8 P) q
continue;
0 Y) H+ z( p: ?* N0 C
lpSkill->dwLevel = 5;
: @# c) v2 F7 j
}
4 ~& B6 W8 z; X+ Z. E9 k" K
}
' f* O/ ?$ {9 f: k# C3 {
}
, q& F$ I5 B3 r8 b
else if(IsLegendHero())
6 d: z& p. `/ Q9 W- f1 Q
{
' _8 u$ t- h# X; B$ w3 K" }' ~
for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 r4 `8 y3 {/ g# c; y8 g
{
, V1 ]8 w5 ~( [
LPSKILL lpSkill = &(m_aJobSkill
);
4 _2 b+ |- N# j7 v
if( lpSkill && lpSkill->dwSkill != NULL_ID )
7 }# k5 K1 {1 s, W9 Q' x; C
{
- C# S, A- V8 x1 O
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
+ K# S% M1 D! y
if( pSkillProp == NULL )
, N( R+ e! k4 ~, R
continue;
% m. F4 v1 h9 a! h7 y$ ]
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- r0 i% d1 z# t7 k$ e1 k
continue;
Z3 S t/ D8 k# w; ~0 x
lpSkill->dwLevel = 5;
2 q* j2 n- T4 ^* w
}
2 ?- p# f* ~1 d
}
$ @3 J) v, R7 _+ H6 m/ Z5 u! W
}
8 P4 K: K( A2 J
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
# R9 D, x' z7 H
if( bGamma )
3 h- s0 E: o5 k. `
{
$ N: P8 j& H" E9 {- K# A1 Z4 Y* v
m_nExp1 = 0;
4 `. J& h: m" s- `* Z
}
+ V' q2 o/ T9 _
% }# v6 r# K' V ]2 M1 U
( (CUser*)this )->AddSetChangeJob( nJob );
5 R; M' }3 q S, q ~, l
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
$ M* \4 t% w/ f# @) A
" }, S2 g3 b q
4 b) [' d& x6 K
#if __VER >= 11 // __SYS_PLAYER_DATA
+ P% \& m: l. K. o$ n3 {5 f
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
+ g Q$ J2 M( u* I7 G. p
#else // __SYS_PLAYER_DATA
$ Q& P0 s1 a, s- u5 R
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
5 {6 s0 g8 k7 G+ v7 ~- b; i
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
7 ~ \$ l# |" c, [
if( m_idGuild != 0 )
0 [7 k4 d& ?8 s- w* e9 b
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
" v1 H v' f! E8 N: e3 I
#endif // __SYS_PLAYER_DATA
8 ]: ?9 \2 J1 I" W. m- Y6 S# w q$ h) C
SetHitPoint( GetMaxHitPoint() );
3 ]6 h7 W" ~: x. c( l2 q% w
SetManaPoint( GetMaxManaPoint() );
& F0 f0 X" }6 N. U
SetFatiguePoint( GetMaxFatiguePoint() );
3 L: B- e: o. T8 m
if( nJob >= 1 && nJob <= 4 )
( Q4 \! F4 V) X+ d5 e5 J: M k
{
3 g) Q$ @; ~$ z) e
m_nStr = m_nSta = m_nDex = m_nInt = 15;
6 w8 u( o$ n: Q. F4 I" K3 P- D: C
m_nRemainGP = 28;
# D! B+ R/ m; O* D
}
1 H$ S) b6 B! x% D H+ M1 w3 f5 N v
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
! b1 K& ~$ z- y/ c+ ^, a) O
{
a P3 i) k& `: j' d* B1 Z' {
m_nRemainGP = 118;
% @: \: M% v) I* e
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
- B z( _3 Q: p+ q: A
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 N2 v! m! z# H( P
}
+ _& ]7 A* S( }7 B; h
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
7 R* {& a T2 p( T- Y7 ^2 A8 |
{
3 f2 c9 o7 ?3 h9 Z. y& w! B
CItemElem itemelem;
1 f( n" a" {3 r% A7 W$ V' ]1 N
itemelem.m_nItemNum = 1;
- o+ [ z9 H8 j3 c- e3 i
itemelem.m_bCharged = TRUE;
+ H* A; r( r: r4 D
BYTE nID;
6 M7 R0 r% z) A8 u# \& C+ e/ t
0 W9 \% H( Z5 \4 `
if( nJob == JOB_MENTALIST_HERO )
5 c: i2 B) m! s9 e4 E& ]9 o; {
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
6 D0 p7 Q' f$ j% Q
if( nJob == JOB_FORCEMASTER_HERO )
$ R' _- C, E, r+ q9 I M
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
6 Y/ [* a: U7 U
& V1 T+ I ~* C* I
( ( CUser*)this)->CreateItem( &itemelem, &nID );
8 I5 N% d% B- ~* ?* ]4 X
}
, b i7 {, u8 B! c( }2 J
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
. { X- W6 p* D
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: b. w+ m! d0 Y
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
! C: g9 @# H6 B) t
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
/ c' r1 D: E5 \7 V3 w
( (CUser*)this )->AddTaskBar();*/
& k ~; H+ z, W3 h, R
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
7 x& t5 S2 X* M+ U/ c
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
( ?$ t) G0 D9 j6 ?# ~" }
((CUser*)this)->CheckHonorStat();
' k1 U5 E _; N+ _- M+ K1 o4 }6 Y2 H
((CUser*)this)->AddHonorListAck();
! X; `* C2 \( @' n& r! _% ~/ l) Y
g_UserMng.AddHonorTitleChange( this, m_nHonor);
! p' `; t% u$ e# f" ~
#endif // __HONORABLE_TITLE // ′Tà?
$ q9 d1 Q( g( o" U
}
. u' a! d) ]7 K- Y, J3 P
#endif // __WORLDSERVER
5 U8 i7 b/ T1 y& u# c+ Z
}
" M7 z- n, d: U# W
8 x6 r& v9 P" ]' T* C( \% J. B
然后你进入functextcmd.cpp并添加以下
* C9 Y6 Y \# q; l! u# f
8 t/ o7 U6 g t! J
代码:
! @0 }" g+ z' V5 b$ Q0 e# c; ?
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 [! H, G/ @. D6 K# d: {
下面插入
* V }$ h6 k. |" X' G0 w* {
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
2 j% }3 F( x- Z0 Q: I
" q+ ^3 U3 f+ Z4 R
然后你去
$ N- L5 w+ p* ^% L
) z1 |. t0 k5 H' j; k" u
代码:
+ y1 y4 [% x6 J1 |/ e ^
代码
! c9 W. a6 W) S
BOOL TextCmd_ClearPropose( CScanner & s )
+ l0 ?: W V+ {9 a0 d3 ]
{
) t8 |; t5 k6 g' k
#ifdef __WORLDSERVER
0 n, R( C& d' I6 h7 V9 \
CUser* pUser = (CUser*)s.dwValue;
) D! _" i" p4 a( Z
g_dpDBClient.SendClearPropose();
: I9 P9 P1 K& D1 H- q! z
#endif // __WORLDSERVER
( K+ }- s8 ^ b* V1 E. g
return TRUE;
+ ^' `6 b8 ]8 V4 N) q0 G3 p' l
}
7 X% W/ o+ a3 U9 H0 d
下面插入
R. ^/ e! d. n K9 @) K4 f: J5 s: N
BOOL TextCmd_rebirth( CScanner& scanner )
2 p" f) l9 T3 i+ I! R4 B5 s
{
1 E6 G7 g0 V1 i
#ifdef __WORLDSERVER
/ R9 q1 \6 N; T4 g+ D* D
CUser *pUser;
: o6 i Q6 n. U' i9 ?
pUser = (CUser*)scanner.dwValue;
% k) l% p; K; r; x c) l+ j' E. M# G
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
# v2 g9 c, }* D. F) }) X/ Z+ X5 ?* f
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
, D) ~5 z/ A. P
else
( x# A/ h% o( o2 C! L7 i1 E) h
pUser->AddText("你还未达到重生条件!");
: a* g# }* z% x, G) O8 F) I
#endif
) K, p- y/ ^! i
return TRUE;
" R2 m/ s; P+ k& U3 T1 E8 H/ N
}
! P' ?; j* x0 N" a
2 N2 `9 ]: |, s2 f( q2 B8 l; c+ @7 N
; O' R v6 C* t2 N/ q/ h2 S
' Z% `: ?* X( p4 V; O. n3 w
& f7 o) U0 v6 Q
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2