飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
; K, ?; c, ~" B2 ?# q" m" Y3 {" H- Q
|- i8 ]" W" {( B* P
Mover.h
9 c$ `6 Y- i9 J3 {/ B1 V3 f
代码:
4 v+ c0 G9 c+ u0 f
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
" l9 ]% Q- L/ V& u6 K; f* i
% D |, R; `1 k( a
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
9 X) u% V$ `4 ~5 v E4 @
- {3 c0 q$ f/ d4 E" C" i
然后你去mover.cpp添加
+ O8 e, u% R# c7 v2 S; a
$ f2 f5 L. `$ [- n- ?* k/ o7 Y2 ]
代码:
9 M- p- U) ~% b. d' Q7 G, n& v/ g
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
7 M- ~" i( G& M3 l& V( C" S& k
{
! l) f' F4 S# v W) z
#ifdef __WORLDSERVER
" r4 z" b3 t9 g- \' a
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( P& f" G. O' m: v" V2 T
MoverProp* pProp = GetProp();
% G! a0 w( g' Z
if( pProp )
v5 l; j E( A7 i
{
: R% v k3 v( y, c
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
+ u. _8 B6 N ]; `. D- F5 m
{
, Y1 ^" f3 G* `; W
AddChangeJob( nJob );
x2 N. w. V4 w# n3 V6 v
}else{
0 d% H: u U! e$ t( g! V
return;
2 V% Z4 X% |2 A% I7 p$ y! B
}
: K ]. c, a7 d# n- d( p8 ~
int nPoint = 0;
- \; N; H0 E( O& y- S: c6 a" P0 U
if( m_nJob == JOB_MERCENARY )
& ^/ B* @' g! {& Z9 ], c! J
nPoint += 40;
/ y5 q* S; Q* W5 q# x. b# W' t8 L
else if( m_nJob == JOB_ACROBAT )
5 O+ K: {& ]5 M( p' p
nPoint += 50;
6 k6 t8 a% _( d! X/ z1 T) b
else if( m_nJob == JOB_ASSIST )
8 D0 _* D% N) H+ W
nPoint += 60;
3 ~* y+ h# x( o0 O$ T8 V
else if( m_nJob == JOB_MAGICIAN )
% e3 a* C: @) H" G0 {" z8 @! S
nPoint += 90;
7 a, U+ j) z6 v, }/ T
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
$ _2 @9 ~) [! i% ?7 V# }) x
nPoint += 120;
& P& B; T6 e- |5 x
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
* `/ L: C+ G" K, Y6 L' O6 C
nPoint += 150;
' J' z$ k* |# v. f
else if( m_nJob == JOB_RINGMASTER )
P( B* }) s8 K8 Z
nPoint += 160;
, H. C2 m, h! {' B; N, k2 T
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
: F& G9 g) a6 K2 d$ {
nPoint += 180;
+ m% f# a3 e3 q7 G
else if( m_nJob == JOB_ELEMENTOR )
1 Y( l6 Q. N7 ? [( P; s
nPoint += 390;
3 ?6 W" K. X$ h0 c% ^
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
5 Y* {: q1 G+ _3 e# A. P
nPoint += 120;
' N/ y- p' f' f
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
3 ]+ y: l" ^. T) ]5 u5 i4 T' V
nPoint += 150;
* a. G1 u% w" n1 {
else if( nJob == JOB_FLORIST_HERO )
g2 F: A* r' X: {
nPoint += 160;
$ x Y" P( E+ Z, [* h# ^
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
' _/ H7 H, S. T) ~. _/ W" r/ v$ q
nPoint += 180;
% q; f' ]! @% k* `
else if( nJob == JOB_ELEMENTORLORD_HERO )
4 |, N5 T2 I( Y1 i' y
nPoint += 390;
* Q; g8 k$ e6 ]* I9 a8 g
[4 d0 X2 S0 |" `; Q; p: |8 Z
AddSkillPoint( nPoint );
* T$ Q! }+ D" z# F' w/ @4 ]0 p% g
m_nLevel = nLevel;
# b2 F9 m" @: }" b( t' z2 G
9 g5 c' ?# n& M/ s" ]9 p ^$ u
SetJobLevel( nLevel, nJob );
3 t# W; C" Z( Z
m_nDeathLevel = nLevel;
& p' M) _0 h- f# ~$ d
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
! M" L* D \" q6 `
if(IsMaster())
y m5 Q4 h$ j7 `! e3 H7 y; y- ?, C
{
6 S' j" T c" I! S( B1 m, i
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
1 U; W) V* j, g
if( nLevel > 59 && nLevel < 72 )
! V$ a" {& A# X: n9 N
dwTmpSkLevel = 1;
: s- B+ W/ D- S; X& ~+ W
else if( nLevel > 71 && nLevel < 84 )
; W. D7 W- `+ w( e
dwTmpSkLevel = 2;
( i5 ?5 T/ R& [- E0 H
else if( nLevel > 83 && nLevel < 96 )
: G4 [9 h+ X' n! j# R
dwTmpSkLevel = 3;
2 t- C1 N) T# X: [. `1 |8 k
else if( nLevel > 95 && nLevel < 108 )
8 G" w6 h6 x7 v# p9 }& b/ I
dwTmpSkLevel = 4;
) i, N- R! e, a
else if( nLevel > 107 && nLevel < 120 )
& h! `6 ]: G1 }: s5 q
dwTmpSkLevel = 5;
1 w7 P( g% M, n$ Q$ w7 U3 j$ X
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" X! F$ B' \( V( }4 |9 K. d% m
{
a5 G& _1 Y2 m
LPSKILL lpSkill = &(m_aJobSkill
);
! t3 P& P& y8 X; W# u7 O/ G
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' v, w* B! @9 M) [
{
* `* i) K* t! V3 y$ i
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% \% _/ F* M. g z6 { G
if( pSkillProp == NULL )
( Y! V i$ g# C: V4 u) i, ?
continue;
* P: n6 L% b! O. j" w1 F- \0 l
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* c. s$ G8 c/ C7 E' M6 _
continue;
2 o. }4 C( {7 z- Y' a; F; A
lpSkill->dwLevel = dwTmpSkLevel;
8 w l# F2 J" x! C, u* Z
}
( ^# K9 j* V+ J9 p1 P# |8 z
}
2 `% U. r0 p3 V
}
) G# X- d( {4 U5 K
else if(IsHero())
0 o9 q! C. W# P0 {" C
{
/ s2 K& j7 T4 |2 ^, k
for( int i = 0; i < MAX_SKILL_JOB; i++ )
: P% y: [1 G8 X$ @
{
, x8 r% p7 n* t4 \, Z
LPSKILL lpSkill = &(m_aJobSkill
);
; Y# h/ U) [) {& |+ H
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; e/ B% j0 @6 X% j* ?3 t
{
o% g7 M+ V7 G& M5 o6 G. H+ t: F
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
7 X% S }) h! Z! @3 z0 [0 I
if( pSkillProp == NULL )
% e3 M' b) K% O/ m( O, T! X% v/ C
continue;
0 m8 B5 m; A0 ?, e' [$ q' [
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ G g. k& J0 I5 h
continue;
; j# ?- U0 s: ^' z# o
lpSkill->dwLevel = 5;
/ z6 a/ l. ?0 ]- i
}
: Q. Y+ m3 S( f3 B+ f0 w
}
/ g; _2 n9 J& l+ }) ?9 K5 I1 s
}
R' c8 X8 w, j. h
else if(IsLegendHero())
* ^4 o% S( j3 s6 a$ k1 b" ?
{
5 n! T6 D* H' i' P3 l- W) I
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' w: _& X6 m* p: E
{
) n* `* k5 m8 x
LPSKILL lpSkill = &(m_aJobSkill
);
0 Q1 L6 n Q6 n& k
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. o' u) y/ l% g. m" S7 B0 Q
{
6 i; T4 ]3 Z$ _* l6 H/ r, R3 b d
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
$ M0 i9 D" K# P
if( pSkillProp == NULL )
" G$ Y, w q. H+ I4 P
continue;
/ O% N' g. ^0 Q E
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( u+ h" @0 H7 }1 W% q3 p
continue;
; Z! x6 r5 D% ^8 y0 ~
lpSkill->dwLevel = 5;
" s! W" A$ n m3 t( z
}
' W, s6 v$ W; B( F2 \& @
}
5 U$ i2 A( e) \6 m
}
. S* u5 e& R' ~# ?1 W/ ^
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
1 s% [& s- O2 v/ E; P3 ~) j% e
if( bGamma )
+ x# P* f6 j1 X8 f. W
{
3 L/ a* e5 u# k7 {$ x8 i x
m_nExp1 = 0;
% Q# a& R0 A, Q- M$ X+ T1 g
}
# y8 I* O7 H& e n
1 m0 w) B( i- Z
( (CUser*)this )->AddSetChangeJob( nJob );
& V- ]2 D; J/ H1 N
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
8 f0 @1 _% y/ [1 X
. B7 j( T# e! d1 \% i* g4 r
, }/ b+ T: {2 h9 P7 d( M+ S: q# {: P
#if __VER >= 11 // __SYS_PLAYER_DATA
, E/ ^) B. J2 o+ I1 s: ^4 s
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
3 O" q% n8 S& g, ]
#else // __SYS_PLAYER_DATA
+ S/ X" e3 s( e6 `+ c
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
3 c2 z5 U& g% U! f5 I* d/ r
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
2 l ^4 U7 }) N6 V5 v2 i7 e5 j
if( m_idGuild != 0 )
+ @/ Z/ n/ o7 x7 e
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
% n. H( P/ o- _" j1 @4 Z# H
#endif // __SYS_PLAYER_DATA
/ Z6 T, q+ i8 F/ V5 q5 r9 b. o
SetHitPoint( GetMaxHitPoint() );
* c8 S5 P8 Q- z$ F6 Z/ T5 m. m
SetManaPoint( GetMaxManaPoint() );
* B" o6 Y/ J' k& D
SetFatiguePoint( GetMaxFatiguePoint() );
' ?/ ]" p) { F# Q* m7 P
if( nJob >= 1 && nJob <= 4 )
7 Y2 t- O5 |# @6 ]4 M
{
0 n9 m7 K" g% p8 v; g5 _3 ~' |
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 ]4 `0 r: t2 x, W
m_nRemainGP = 28;
, P- C% F, A; F: s/ N4 r7 I
}
6 T5 O7 }5 h- n% x* V- M; n
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
/ x# g: q* s" B, d" o/ Y$ m* }, k
{
% A, w9 {; Y- x
m_nRemainGP = 118;
8 K% P2 G. n/ u1 i7 T' s, v
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
$ q! _" Z6 p5 s2 [7 W7 U# C
m_nStr = m_nSta = m_nDex = m_nInt = 15;
+ R2 {, A% a2 B9 h
}
6 `9 l) M) v9 J i$ _
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
+ i1 r0 `+ s, a7 U
{
- u* @3 `/ @5 [/ R' o: O$ N
CItemElem itemelem;
; L7 K" n3 p9 _8 [+ f
itemelem.m_nItemNum = 1;
4 M$ L" @4 M* P7 Z3 h+ a, G
itemelem.m_bCharged = TRUE;
$ o4 B" X) U( ~- `
BYTE nID;
% s2 p. l. N! v
( @* b3 k: K; c. c( i# v
if( nJob == JOB_MENTALIST_HERO )
# B1 E' x" ^* N/ p) x( E
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
. @) C* v& q+ b% p* s( V
if( nJob == JOB_FORCEMASTER_HERO )
8 W& K0 X5 f+ k: O7 `* j2 s# }' B" o
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
/ K1 P& b+ M( ]5 H7 P
4 X0 y9 b3 R" E/ ~9 T
( ( CUser*)this)->CreateItem( &itemelem, &nID );
, V% H# W; E9 |* E/ u
}
7 Q9 A! f7 c9 i
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
& N9 |' [2 x8 O# e" z" Q
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
. S1 H% F d; o
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
0 C+ J$ N+ Z/ u+ r4 i0 G# e' a
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
( q' ^* Z* m4 M8 m) y
( (CUser*)this )->AddTaskBar();*/
! z) D& k- _6 {
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
: \/ S y0 o$ Z* B$ c) P- z% O# ?( z
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
' d+ P9 W# i) L
((CUser*)this)->CheckHonorStat();
! w m/ m' E( D+ z5 _0 t# E% X/ F
((CUser*)this)->AddHonorListAck();
5 b, C) O' c) D* [9 Q0 M- i) }" M
g_UserMng.AddHonorTitleChange( this, m_nHonor);
. Y+ \- h3 p8 }+ [" L) x
#endif // __HONORABLE_TITLE // ′Tà?
5 }- ?/ M( w. u$ s2 x
}
2 w( S! } o& V1 M
#endif // __WORLDSERVER
% A! p4 C1 I2 p$ P
}
, Y# N u1 {% g1 I8 q Y
7 Q: H" M% u3 _" ~7 K+ q. B
然后你进入functextcmd.cpp并添加以下
4 C2 d2 `% h" c2 P
' S( b% ]9 y( w+ x2 [& J3 V
代码:
( @6 ?' u; l9 L9 X
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
, u- ]* k h2 ^$ T6 D+ a
下面插入
% d& m- j8 ?/ K$ {. n: T
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
4 c6 y/ q3 Y* B, a
! l( g$ b4 W- o7 F
然后你去
0 B; X9 v/ X0 i; a3 ^5 w
" O" \8 O! Q; c1 V- @
代码:
2 s8 e. ^7 S' u7 S" X& P0 x8 k5 {
代码
3 @( O; Y# }+ ^
BOOL TextCmd_ClearPropose( CScanner & s )
" W9 h- z5 F- ^
{
9 _8 a8 r1 \% ~) k
#ifdef __WORLDSERVER
- O1 J/ [4 \) t, K F& A
CUser* pUser = (CUser*)s.dwValue;
9 L4 ?2 j1 Y! L3 t0 s/ p
g_dpDBClient.SendClearPropose();
. m l" R: m# I Y+ u( \
#endif // __WORLDSERVER
+ {" V9 a3 y7 p/ E' p I
return TRUE;
# t! z- x& a" m( {, O
}
. h# }! M7 m* T% |; `- U
下面插入
& r; [7 x6 Y" H" Q2 _$ }
BOOL TextCmd_rebirth( CScanner& scanner )
3 i* p6 K7 N" f: E' A8 K
{
9 h& v7 W4 I# X2 M4 w* `
#ifdef __WORLDSERVER
p8 L2 ^4 c6 x, l1 E. w7 A# |
CUser *pUser;
! p2 ?+ o& Y' V$ Z* ^
pUser = (CUser*)scanner.dwValue;
! s% A. e9 w! e5 y2 @) R2 K
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
$ Y2 E; j) y3 H5 X6 q
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
/ x) l1 F/ X8 ?, J
else
/ Z) a6 z( V5 r
pUser->AddText("你还未达到重生条件!");
7 i- e5 m2 L) K+ l+ y) i* {
#endif
* S8 w' p$ H, r9 g7 b2 R
return TRUE;
+ R" S3 F" r% R {& E0 A7 @) V% T
}
& e" e' C. y. W/ n
7 I( {: d" {. h2 _4 z+ }* ~' w! G d
7 v1 d. g0 q0 j3 Q! G; i" d
: W/ j" `2 y4 [( o5 E+ W
3 x! n" R+ \! _
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2