飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
$ e: l3 G' a* Y7 K
1 O9 [1 x2 b8 B& G V+ j6 E: ]
Mover.h
5 D, B) v1 p, S# i
代码:
$ C: B" N5 {' E# t- S+ }* A
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
$ H7 ]# g% `! W
, E3 e& ~5 o& N/ M( J
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
2 ]$ e- ]4 @4 y" p- R" `( Q8 s9 O
% L' j6 c: W3 K3 ^1 V& H
然后你去mover.cpp添加
' ?3 _0 v! f3 |4 R0 B A9 C
% h& y3 z4 M( Q8 X, t* x
代码:
2 Y4 \' { n8 F8 v. W
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
R7 X" n0 L6 K7 L: |3 I, S
{
) E p/ ^0 `# C7 F. d4 N9 T
#ifdef __WORLDSERVER
) V) I+ j% r4 V, `; n7 H7 k
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
: v/ r* c& M3 ^8 d$ J1 i
MoverProp* pProp = GetProp();
1 h5 g* a6 u3 n3 m* T
if( pProp )
# ~) V6 t5 d- ^5 H* k; I: b7 f
{
- h8 a0 A4 ]; F* n. `# K$ L2 O
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
# j1 ]' d: n; C, ?6 [7 ~: l5 @
{
' E1 A: j* h' d
AddChangeJob( nJob );
3 n% E; G0 i* s8 A9 o
}else{
% ~; K5 I/ n3 E
return;
, a( J3 x' h+ }$ I( `5 U
}
' w/ Q! P# ]% l8 l9 |
int nPoint = 0;
, I6 g1 A' q3 H3 M% m
if( m_nJob == JOB_MERCENARY )
6 z1 s6 x5 C( U5 `9 |* D0 y% C
nPoint += 40;
& @0 `6 {3 a* I$ h+ C
else if( m_nJob == JOB_ACROBAT )
( m0 x8 y3 A7 x3 P
nPoint += 50;
5 u% f! P+ j; i. K0 B
else if( m_nJob == JOB_ASSIST )
, u, V6 N0 a5 H: `; N, q& t6 K
nPoint += 60;
+ X- x8 u; k. q: N. S F0 p
else if( m_nJob == JOB_MAGICIAN )
- B- [' z8 s$ [$ W% Z; o8 v
nPoint += 90;
1 @- O2 S3 j, a' E
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
8 q$ z! X1 ?- Q% L& k
nPoint += 120;
1 v! @, D' @# W' h" {9 I* t1 L
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
) S" W {4 V2 o
nPoint += 150;
' i1 y7 ^* Z3 A$ I! u5 B" e
else if( m_nJob == JOB_RINGMASTER )
+ L9 d. Z, I( t8 s0 Q
nPoint += 160;
2 m+ ]9 H1 v5 Q/ q" g+ O/ J% f
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
3 G" ]( m0 d+ o, `- C- g s7 H
nPoint += 180;
$ e% G* ^3 P c3 k
else if( m_nJob == JOB_ELEMENTOR )
3 } D8 i v3 y! R8 j
nPoint += 390;
# f8 E- J) G, b5 F. K
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
" d4 j0 V% j/ _. G
nPoint += 120;
6 _* u# _ E* ^
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
3 n/ V' y5 T5 U% u) A O: A
nPoint += 150;
, A4 M9 X) H k8 D k( u0 O
else if( nJob == JOB_FLORIST_HERO )
0 c2 o3 R9 p# `& i% e% N) B
nPoint += 160;
9 P" X0 \$ o% a$ U: E
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
, k1 @: [! X0 j' |
nPoint += 180;
I2 J( [2 b' |. W- s5 x7 X
else if( nJob == JOB_ELEMENTORLORD_HERO )
# a. S' C3 M% h: N! r* H# _
nPoint += 390;
' F7 S+ x4 W) h- q" J3 K" g
% S0 q) } }% [ U8 ?" `% P6 m
AddSkillPoint( nPoint );
$ d6 m0 g8 l" u9 j A
m_nLevel = nLevel;
. {" s8 a; m3 m. G- { c- ^! X/ x0 L# n
1 x3 }' B2 H+ r, F
SetJobLevel( nLevel, nJob );
( H" o f( ~* j1 \
m_nDeathLevel = nLevel;
# n& h p* i* e9 C; l5 ~
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
' q" u+ [& j) n: X K6 K
if(IsMaster())
- j+ G2 y: V% z& M
{
4 q' B! Z& t( |+ T: c8 p
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
+ V, X" }. v% K) |
if( nLevel > 59 && nLevel < 72 )
$ }" m: q/ x; ^7 `. k. C4 I
dwTmpSkLevel = 1;
' d7 ^" R5 _7 l% n k* N
else if( nLevel > 71 && nLevel < 84 )
7 Z. ~/ e0 t& ^4 K) z1 y/ u5 J
dwTmpSkLevel = 2;
* y! \$ I! @0 K N$ L
else if( nLevel > 83 && nLevel < 96 )
9 f; l. v: i* W( b! g/ u8 n
dwTmpSkLevel = 3;
3 o$ w0 \2 R/ f7 g; e- \$ f/ i$ G# p
else if( nLevel > 95 && nLevel < 108 )
+ W2 [0 E' Y8 e; t: ^# @
dwTmpSkLevel = 4;
7 h! |6 C: H" y+ ?: }0 {" N$ L
else if( nLevel > 107 && nLevel < 120 )
4 q3 l |, `0 \9 o3 O+ Z
dwTmpSkLevel = 5;
/ W9 i d. Z$ l
for( int i = 0; i < MAX_SKILL_JOB; i++ )
* i* I0 N" k9 x- y7 m
{
|7 D' `3 Z. W4 X" U# a
LPSKILL lpSkill = &(m_aJobSkill
);
6 [; i$ f9 G* |2 E/ G% s
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; T8 B7 p( o2 P" B3 ^; s) F
{
1 d/ Q, T* I" v# W1 A' e% y) d
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
4 B2 f- G2 Y( @- \+ G6 ` g
if( pSkillProp == NULL )
% a I. {* s& ^7 T( ~
continue;
4 V M; Y8 U `8 S4 B N3 K: p
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
9 k! z1 w5 \5 n" a3 `& a" A$ R
continue;
, l" V, E3 i2 d& k4 ]7 s/ N
lpSkill->dwLevel = dwTmpSkLevel;
* n- v! D L: y# z9 ^6 i. ~
}
; \$ h! _; N% I) P/ U
}
* c* ?+ K: I+ i& ?% z
}
- E( t& w6 n; H( A- D* U
else if(IsHero())
2 _9 N/ F0 E; e
{
' P& l) F: u* W9 _9 s
for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 S& w; H, h) ]- r, p+ m8 I
{
1 H* Q* @* K3 L* ]" w
LPSKILL lpSkill = &(m_aJobSkill
);
h% ^$ ~% f+ x! s
if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ A& x4 N7 c* |1 ]
{
: N* X. z5 u5 \2 ?3 j4 g
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
) Z. I- o# y. ^0 K: ]
if( pSkillProp == NULL )
+ p9 Y. H; X( N3 z
continue;
- S: f* w" w F, O# A3 Q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
^) }- b1 E! Q5 T5 t. U
continue;
2 i5 _& v1 b( `- | n
lpSkill->dwLevel = 5;
* F0 O( W0 Q1 ]% `
}
: Y4 D0 B3 @9 @$ K7 d
}
+ I9 i% Q& Z# R% u
}
8 S) k! W/ }2 n
else if(IsLegendHero())
4 m1 F8 [, w. d5 O d" Q2 o+ B
{
0 \6 I+ n0 ~# O: l2 V2 t
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 d0 E1 d8 q+ H7 I# e
{
" T% T$ m9 \6 R: Q: a/ G: Q
LPSKILL lpSkill = &(m_aJobSkill
);
2 |! I; w8 j- g! x! v1 X
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! u% ]2 p* {, I+ g
{
2 G# _: @% G) D. v y
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 y @+ {. l5 f, l$ I
if( pSkillProp == NULL )
9 m+ R2 P# M: }1 m G8 h' E
continue;
; _7 G4 ], v4 Z) W/ }' F
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
w( x% U0 y4 Q! O9 X8 e" i- q: w' H j
continue;
% g" _! T" E! j8 Y$ q7 f: c- V
lpSkill->dwLevel = 5;
7 b* M$ Z y' A
}
- M) q0 ^9 Z9 a% x4 q7 ?9 @9 [
}
% \* `+ \ z/ n5 M
}
8 E, D6 x- ~3 J% H
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
/ h. e" H* }6 _5 [
if( bGamma )
& G7 l1 C& _0 ?+ U$ C4 u4 a- R
{
: c, Z4 U6 W. P6 C
m_nExp1 = 0;
2 t3 f: e. I2 s' S+ S# b3 R
}
% P8 i1 h- q+ I# h! I/ X1 V6 Z( y
7 k5 _, z5 q, c7 t6 ~8 U5 I+ |; w
( (CUser*)this )->AddSetChangeJob( nJob );
- e+ `1 b$ z& M$ y/ j
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
2 j9 c7 }% v. D5 z0 L: y# T
& f1 W) p' H/ c' I
! F$ w. R4 b8 L; [ c
#if __VER >= 11 // __SYS_PLAYER_DATA
9 q. m: J5 l5 k! I8 l
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
& m0 x- j5 A+ m1 O9 ^/ c
#else // __SYS_PLAYER_DATA
1 G i: M6 R0 |2 Q2 e
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
3 L* {, q; c i
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
* W7 d7 ]4 ?2 b( X6 v
if( m_idGuild != 0 )
0 s: e9 b- n8 j' E) N7 u
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
1 u' z5 d8 d- W+ r% l9 Y
#endif // __SYS_PLAYER_DATA
( J9 Q! {4 F ~& y/ K
SetHitPoint( GetMaxHitPoint() );
! F& [( k5 X+ z( P7 v! g
SetManaPoint( GetMaxManaPoint() );
5 Q! ^2 v, ?' H) Y) r( V
SetFatiguePoint( GetMaxFatiguePoint() );
3 [* c8 R5 r2 C: i8 r) o
if( nJob >= 1 && nJob <= 4 )
$ v) p) d" Y$ D5 A* s, x0 Z
{
. s% C$ |% @7 B, t* G6 Q
m_nStr = m_nSta = m_nDex = m_nInt = 15;
3 {+ o( [9 A6 r* G- O
m_nRemainGP = 28;
4 V& @& K1 L3 S. K4 A5 A9 v
}
4 c$ E; L5 F3 g. Z5 X/ B7 D* K8 N
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
' S1 q0 G( G3 I& ]
{
q' V3 F0 B* ~* V
m_nRemainGP = 118;
2 h1 H6 m: T' @4 R1 i
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
7 L# M" |. Z2 z- m, @
m_nStr = m_nSta = m_nDex = m_nInt = 15;
# e% ?/ j& t5 X
}
* k9 W- p* D' _
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
/ N; ^, c8 x% ^6 Q
{
% a! P) q; ?3 P4 y! a
CItemElem itemelem;
4 u. ]8 D+ Z/ o
itemelem.m_nItemNum = 1;
S) ^, T" n9 C
itemelem.m_bCharged = TRUE;
: z+ Y/ S' g: [6 t8 O8 ]# J* L. W
BYTE nID;
4 [( s& o% P2 K: D" `7 t
4 @$ v. g% G V0 E/ M3 @
if( nJob == JOB_MENTALIST_HERO )
% N- U2 D3 H2 O( m- q. x
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
' r: T# k' d) o! q" ]. i
if( nJob == JOB_FORCEMASTER_HERO )
7 @; c. l: o) g+ q! ~" t
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
/ {* _1 }1 B9 O( K
9 i& R! X; n, l u
( ( CUser*)this)->CreateItem( &itemelem, &nID );
9 C0 X& ^. t2 S$ ?4 k+ Z- ?
}
, s: K- p2 b* p+ I1 L7 _4 R& l* H
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
) f$ c4 J, s/ C. Q% j) Y
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
* E5 {8 t+ R, `- y; W! P3 }
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
4 i/ a* R8 ^5 e, u! X
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
" i0 M) p- z: w6 f& y' T" ~
( (CUser*)this )->AddTaskBar();*/
% `6 r |5 C% L: ^0 W3 w
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
d( H# ], @ G; [
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
1 _* W, `/ g# v# ?" r! ?
((CUser*)this)->CheckHonorStat();
' l" F. B" l, \) C
((CUser*)this)->AddHonorListAck();
, T' K3 g" C7 V* |# f( l9 E
g_UserMng.AddHonorTitleChange( this, m_nHonor);
) J" \' n3 }" a1 F# \! D
#endif // __HONORABLE_TITLE // ′Tà?
& Y% m& X1 U, y; o' B: }+ B8 [# b
}
- s6 z. z" W4 C8 L
#endif // __WORLDSERVER
0 `+ h8 i# O3 s
}
/ g/ O2 o, z. p" a, h% l p8 F) _
/ p0 o: ]5 p7 f$ `. _4 E% t
然后你进入functextcmd.cpp并添加以下
) w" I5 F1 N8 U) Y9 I6 P( l3 Z, M
9 p, P- Q+ e( i* j, ^0 E: J
代码:
9 ]9 P5 p+ \6 W2 N1 y! q: z
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
8 ], W! ~1 S B4 u, T8 F# `4 L
下面插入
( z* l" s+ s* w- \& ^: B
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
& F8 p: @0 u" @0 M L9 q! R- N9 E
- X6 {. o+ O$ f: n6 w
然后你去
' C) t1 |' m4 X' d
& w# O# M- o4 G0 x3 I
代码:
' k5 b7 G. F$ p$ ^$ N& } x
代码
w1 W* z4 K3 z# c! ^9 V
BOOL TextCmd_ClearPropose( CScanner & s )
( f0 b4 }- G+ t9 B
{
( p' o* O7 P3 m2 s3 ^
#ifdef __WORLDSERVER
8 _/ t* ?1 A9 W. S7 X/ T
CUser* pUser = (CUser*)s.dwValue;
0 J6 k/ t& l: h, J* _' z% t
g_dpDBClient.SendClearPropose();
+ Z$ Y: G* N( R: \3 H
#endif // __WORLDSERVER
$ J1 `: m) V: r# `
return TRUE;
- E/ V8 ?+ @* D3 [. a, r
}
* _3 C% d2 k0 b" t
下面插入
# g. u" X7 O/ i4 J' W0 c8 ?
BOOL TextCmd_rebirth( CScanner& scanner )
6 {! J- F8 f7 l9 U$ ~$ B& ?
{
* a# W" B# ]% |! l, s
#ifdef __WORLDSERVER
1 {9 U2 P% P. C- i
CUser *pUser;
4 O8 R6 U- Y' T; F- L
pUser = (CUser*)scanner.dwValue;
9 D# B# D% s! p; M+ }* {2 L
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
. S( i9 K, p8 k0 b
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
( t ]3 n' t* H @
else
% @' E* _: S2 A, B
pUser->AddText("你还未达到重生条件!");
5 ?+ K4 S6 I+ c( l8 P/ s& l
#endif
# [/ M7 w& r; W9 _1 H
return TRUE;
& ?% a7 s; I1 S' S; _% L- w& Y" ?
}
% |5 ?' v k8 V% _! Z7 o$ U$ w
* j/ u) R' U2 b- t
. W8 p+ E R9 [. U! W! G6 r. P9 @* U
! D5 x" j" ? b5 k
6 |" p6 j( J# B# `' f
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2