飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
- i2 g7 h: Z7 p c8 E4 E1 I
( P$ W) i+ @7 E3 R" |3 j+ w
Mover.h
9 k' p2 {2 w8 [7 k/ }4 K
代码:
# d, j7 [ C8 L
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
' T9 |" l( [$ ?' y3 \2 P
7 v: G# I9 j M f
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
4 }# F, d! l1 o+ n) e3 ?
' {1 _4 b1 N; j1 _
然后你去mover.cpp添加
( A; N; r& K+ f2 ?; n4 a0 P( M8 ^
/ l- {% t" I$ l5 u4 l
代码:
$ j7 O, {( M( N* ]) e" g0 s! Z# I
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
- T3 j3 ]8 O& X* s5 \6 K
{
; V3 ], _5 _3 x" C
#ifdef __WORLDSERVER
. l! ]/ j6 S3 h8 T7 q& P
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
5 w& ~1 I7 Y' f. y) C1 a* a
MoverProp* pProp = GetProp();
4 x9 d, P1 M- C
if( pProp )
8 o. Q7 r) |# h5 }& c
{
) b8 V0 I6 d6 b+ T* O
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
6 A1 [9 p5 v* N
{
* k% d/ z1 ~9 x3 h- ]0 P
AddChangeJob( nJob );
3 L- |) n8 ]3 Q/ {7 q- k& R
}else{
, ] w [' D( z
return;
4 G/ _# o" _ {
}
* G# `+ h: V$ C+ Q) `+ C3 ~5 E
int nPoint = 0;
; N. L% j$ L% R& M3 L* z3 c' U
if( m_nJob == JOB_MERCENARY )
' H' m; I: U1 O( B
nPoint += 40;
7 a8 z: R. k0 m& n+ m% l2 M! E3 k
else if( m_nJob == JOB_ACROBAT )
# r/ u; C& w; C9 E2 s9 ~% C
nPoint += 50;
* ?8 W2 {6 v% R6 J: u: S
else if( m_nJob == JOB_ASSIST )
J* q3 T7 |: o, t, u/ l
nPoint += 60;
$ N& v' T \* t9 |7 _) T5 r
else if( m_nJob == JOB_MAGICIAN )
; r ]: j3 k4 f: w0 E8 q
nPoint += 90;
+ ]3 i; B! w, r: {
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
' \- n# M2 o6 U1 L/ y% S
nPoint += 120;
% Q3 `7 V& y% z
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
+ K: H' B1 b. V+ b
nPoint += 150;
! s' \) k2 p$ t5 s& G) I- I
else if( m_nJob == JOB_RINGMASTER )
2 z7 L! l2 n+ v+ V1 p: |" d
nPoint += 160;
5 K# }; k' f1 X9 \! i
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
7 V c4 s/ X! J7 O2 Y+ M2 H! C" Y
nPoint += 180;
; d' P# H# X& Z
else if( m_nJob == JOB_ELEMENTOR )
! c5 x: R& z1 U" C4 o/ u& v0 I/ \
nPoint += 390;
1 H5 `5 i! V. \/ m
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
$ r& L& ~4 ?+ H( y1 Q
nPoint += 120;
: C; s2 ] ^" T3 ^8 _
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
; M' O% p4 c2 i; Y$ r) y
nPoint += 150;
3 K! B# x5 o9 B' o% O/ ~* X
else if( nJob == JOB_FLORIST_HERO )
" r! h( `5 s' h# j6 J: `2 u. I
nPoint += 160;
5 b6 x& R4 [( g! |8 @" d
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
) x4 |8 K2 J$ ^7 x6 K) T+ B
nPoint += 180;
3 N+ l% T1 o8 T( j
else if( nJob == JOB_ELEMENTORLORD_HERO )
/ b: a/ q( ]6 z% v: V1 Y
nPoint += 390;
" L) I: I5 I G* I4 v- t5 f7 K
& v7 o8 R7 ?3 u: v7 _" s
AddSkillPoint( nPoint );
# G. x2 B' y$ I) a: x8 {
m_nLevel = nLevel;
1 w i% _4 w) t$ v2 l+ w" ?
8 e2 V4 M8 d! e$ r" t0 m0 r: S
SetJobLevel( nLevel, nJob );
% k* l/ c+ W l& I# Z/ o
m_nDeathLevel = nLevel;
' w" {6 v6 K, q7 E! E( P5 F, ?" I9 Q
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
$ |$ B" T& l% L( B, S0 x: O( {8 A
if(IsMaster())
2 H* C, y F% O6 T
{
- s1 a$ H I' p b. t- x
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
* m/ u Z) f5 ]3 B/ j
if( nLevel > 59 && nLevel < 72 )
1 \8 A' G9 W( j7 c* I1 I
dwTmpSkLevel = 1;
. H3 ~$ v8 i( n# f! G, `8 J: ~
else if( nLevel > 71 && nLevel < 84 )
" t8 J8 e( u( d+ G6 J( ^; q, V
dwTmpSkLevel = 2;
' E) P$ c! ~) j! p
else if( nLevel > 83 && nLevel < 96 )
( {. \4 y0 K+ E6 {; I
dwTmpSkLevel = 3;
' G/ \ D4 ~9 i) p9 p/ @ g6 y
else if( nLevel > 95 && nLevel < 108 )
/ _% H. n1 g, ^0 s# D2 r
dwTmpSkLevel = 4;
- Q3 y$ B" @+ @+ O6 |' w
else if( nLevel > 107 && nLevel < 120 )
8 {) q2 B V6 h! z
dwTmpSkLevel = 5;
# C+ P' n9 l( ?# I6 Z" {4 z
for( int i = 0; i < MAX_SKILL_JOB; i++ )
* w4 ]# ~4 H3 W c1 H
{
$ l' K8 y7 K' H5 Y
LPSKILL lpSkill = &(m_aJobSkill
);
4 x& a1 R& d- t0 r$ \ X( y
if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 y! ~6 j" L% z- M
{
' J i/ M1 T- z. S
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
6 p9 m V6 H, |; u( V, m
if( pSkillProp == NULL )
" v! J% ^$ v, b/ i1 j1 Q& J( H
continue;
5 _# R! j$ `2 Q4 o0 D) T
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
. i7 r/ C! B$ Q( X9 x
continue;
$ ^. y1 \2 W o: l8 s! m5 f* A
lpSkill->dwLevel = dwTmpSkLevel;
0 S. k7 Q/ n1 `7 k0 n2 Y; {9 @7 Y
}
( u! n+ d! c' D' A! P3 R3 I
}
8 e/ G& d2 M5 g
}
8 h- t+ ^0 d" q( t7 ^2 ~( e! ]
else if(IsHero())
3 U! W# ~) ~% T }- l
{
5 a5 |4 a0 p- I6 D
for( int i = 0; i < MAX_SKILL_JOB; i++ )
a; a- \' B+ K) n2 c) `
{
. h* C3 Q# g# L z
LPSKILL lpSkill = &(m_aJobSkill
);
$ q% ]- P8 V+ I" M' E# _
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. I: @8 p; j) Q" a. G* Y
{
; t: a; t7 ]( M0 [ I
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
, @0 S8 @( J# D# v) g" h
if( pSkillProp == NULL )
' L& N4 F$ H/ f' ^2 A) Q
continue;
: x* z# W7 I2 Z9 `7 t
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# b; {0 x+ G8 |! G0 T) f' d4 `
continue;
) v7 K1 r+ \1 Y# E- K
lpSkill->dwLevel = 5;
( m8 w- K- s) d' k( a1 o
}
2 Q% v! J+ P( h% h
}
" `7 u* K9 G$ ?+ [: f L
}
8 l+ e5 P. s. M& o
else if(IsLegendHero())
6 p& g( I) C1 f( `! b" E
{
; ^; s. ~' U# U% s' r
for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 v6 L, j' N' S+ x) N
{
2 \' U* m9 H0 L4 B9 r
LPSKILL lpSkill = &(m_aJobSkill
);
7 X% [0 ~1 m) a
if( lpSkill && lpSkill->dwSkill != NULL_ID )
7 ^. J1 L$ g. ]6 j
{
! o" F- j: z# s: H8 I
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 Y h. O. Y1 q8 a9 S
if( pSkillProp == NULL )
6 d( F/ Y ]7 e: v
continue;
* t! r- J0 _/ }; N3 k) ~. d
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 m. @' W5 Y! Y4 ?
continue;
/ b- q7 u- I! O8 ]; q; C
lpSkill->dwLevel = 5;
' ~2 k0 d! Q( f0 {# D
}
$ s- o& O! Y; d4 Q4 e
}
/ q$ G7 l7 F: m: x2 |) T5 C) X. j
}
% f( T; X; E. }3 w1 r
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
( ?3 o3 p! B2 d, K' X' |- a
if( bGamma )
& l& B: a: [& w+ V% N
{
5 b, s. b# f5 A) k) W, M9 G4 H
m_nExp1 = 0;
( p7 W% ~* z) E0 W1 Z: |
}
4 T) v& ?" |: i$ S$ Z
' M" O. x- K+ G: w
( (CUser*)this )->AddSetChangeJob( nJob );
$ P; H% ]) ?) y/ n. }1 V
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
; |, L3 ]4 u3 ?& [& M
5 m; r3 o6 p2 o
$ Y; h. H" f! v
#if __VER >= 11 // __SYS_PLAYER_DATA
$ D+ g9 d- M8 ]& p9 b) x
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
6 j" N1 [$ Q3 l5 e7 O) p
#else // __SYS_PLAYER_DATA
* H4 Q6 Y" W! g1 D$ |
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
1 L" e/ e6 [ y2 d, D% E
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
8 } V+ z/ u3 G! \
if( m_idGuild != 0 )
' B# @) N' b% z# z) i
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
f4 T' M' J$ ?
#endif // __SYS_PLAYER_DATA
! y! s7 k0 S( t, m8 z1 \/ {$ ~
SetHitPoint( GetMaxHitPoint() );
3 q" {% a/ A3 a7 p$ G m
SetManaPoint( GetMaxManaPoint() );
9 A. Z' V- Y1 }4 q
SetFatiguePoint( GetMaxFatiguePoint() );
2 W0 J) y0 H9 f9 w9 h& D
if( nJob >= 1 && nJob <= 4 )
2 g: Y5 f' L' j
{
# Y- x! B4 G8 c5 K% m! N
m_nStr = m_nSta = m_nDex = m_nInt = 15;
. {5 V4 Q0 l) S5 T; n2 z
m_nRemainGP = 28;
1 N0 R# t4 ]6 x3 \, F; J) M5 g
}
. b" s: G! z: P; f4 J" m$ z: Y. i' d
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
! F3 L2 l1 c3 n+ N# {
{
7 c/ W- t* q+ t$ @4 p4 T7 I( u
m_nRemainGP = 118;
b- j4 U3 U w0 a/ |
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
- V4 ~4 S9 L( Z# H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 C) y/ [5 d! h m9 R! J& p* `
}
# u( }8 ~# D, Q' h8 ?
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
4 T% c B5 e: |; H& Y3 q8 H M% y7 F
{
0 G- b3 _7 B" B8 l
CItemElem itemelem;
/ \% y7 L9 l. N+ p* e
itemelem.m_nItemNum = 1;
3 k! _& s! t) x5 w
itemelem.m_bCharged = TRUE;
$ B+ l! C8 s: W
BYTE nID;
5 t1 U7 f( s. y* j3 [$ B
1 a' i5 ^( Q, i1 ]* F" @
if( nJob == JOB_MENTALIST_HERO )
# Z8 N* y& f4 N/ L
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
0 R/ P* H! M3 A7 M$ @% T+ m
if( nJob == JOB_FORCEMASTER_HERO )
. y5 x8 {7 @6 t
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
$ h4 W4 {7 w D1 t
, Q3 ?) H+ D8 F+ l$ q
( ( CUser*)this)->CreateItem( &itemelem, &nID );
/ T) K/ Q- T: y: j
}
, `3 z4 u+ V& \1 T' b% K- U% [. \
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
3 m! s# N, P2 b" D' w' V, s! c" ?7 C
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
0 x D3 b# F) g3 Z
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
. p' b. F: ?( z1 t' L5 Y+ k' D
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
8 c6 t$ p# W3 Q/ T2 @
( (CUser*)this )->AddTaskBar();*/
# c: J5 |6 |3 F. [9 W( O8 g7 E0 _
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
/ R3 z! A2 k; F, |& S
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
* K2 @* H, i2 k2 w6 N
((CUser*)this)->CheckHonorStat();
. j& B4 @# D( k8 |5 h! {
((CUser*)this)->AddHonorListAck();
0 g" g. Y# ]% w" ]+ z
g_UserMng.AddHonorTitleChange( this, m_nHonor);
7 y/ \" W- ^; \) E; {( n
#endif // __HONORABLE_TITLE // ′Tà?
4 d4 N9 ]2 S. U. I
}
- P) U) T8 Z% \* i* U2 p% h( j4 t
#endif // __WORLDSERVER
! l, ?3 T3 `( s2 k- p4 _5 r8 x$ s0 I
}
# ^0 z4 m0 f+ P- S
+ i% j! C9 Y( y: H8 ]) }0 s2 m! r
然后你进入functextcmd.cpp并添加以下
# d" h5 f+ B4 ~9 k/ e! p: z
6 C7 h/ b" z) _4 r
代码:
7 F' F7 q+ v0 C5 ?5 @
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 y/ p1 ^8 q8 w" q! P6 F; B* Z
下面插入
+ {# [# X" |) l) d* r) V
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
2 q8 R+ F# [$ }: z& @
2 ^& s2 W6 E, \8 N" H
然后你去
8 P6 c. e+ g# p$ \6 k2 Z
. `0 h! V1 N. _5 H* @& l" p" ?
代码:
5 s9 f, \) X% M3 W- L; A
代码
. P6 v) N, W+ t. s& _' q4 _# M# N/ p
BOOL TextCmd_ClearPropose( CScanner & s )
6 d, v# ?* N1 ?; U; M6 N1 ~
{
# W1 U# s5 c, m
#ifdef __WORLDSERVER
# Q/ H! F: T3 I& ]/ V: |% h& X$ y w
CUser* pUser = (CUser*)s.dwValue;
( x. p! _$ p) j! U5 a
g_dpDBClient.SendClearPropose();
% U" F- o+ b4 L
#endif // __WORLDSERVER
5 j- }2 Z8 E; Y G8 z3 ?! q
return TRUE;
- R, ?9 w- d+ T! i+ @
}
- M. [6 C4 n, p& {" ~9 I% q5 G7 Y
下面插入
8 ?" |% v9 i' J, S6 m
BOOL TextCmd_rebirth( CScanner& scanner )
$ F# M8 l9 i7 g0 z
{
% r. d. u" U% G/ z F, d9 v3 D
#ifdef __WORLDSERVER
9 D+ S1 X D' ?$ d! ]2 R
CUser *pUser;
( g. L8 s7 T( M3 F
pUser = (CUser*)scanner.dwValue;
8 ?) K% r1 o6 F$ R
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
: m% H5 w4 R& ?/ s
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
; B0 s O: p$ a" N1 P T
else
+ G% \: d2 D1 C" K" x" {
pUser->AddText("你还未达到重生条件!");
$ j2 W: ?" |0 B% y! H0 v* R
#endif
% r6 N' A0 G0 L9 r# q* n
return TRUE;
! F1 Z: o9 W5 m. ~: k" g* Z2 h% y' i
}
( F; r4 E8 H& n- F& J% @
* U' \$ i/ k) L( ^& p
- {6 t# \% P* f- `1 V5 [& R/ i
8 t& n6 N/ }* w% f
& N) R% @) ]+ e$ X
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2