飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
5 Y6 ?* j# m" Q' w8 C
- U) F1 \& ~' L4 L3 a
Mover.h
' k! S0 m/ k; M8 L; G' F0 A+ z
代码:
( y, b- g# B2 n" A* p
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
: G2 `+ T3 U7 _, |6 u) s' W
7 T4 R3 `6 w6 l* T: O
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
& s) i1 M! t! x+ ?/ W
4 V& Y# Z) \) @3 _ L# I
然后你去mover.cpp添加
- V' N% N/ H: @
2 r1 F" v) q% E5 i0 Y, d5 K8 m
代码:
; G7 [! n( [) d2 @1 Q* b3 W
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
0 n% j+ y" M/ [1 o& C, f1 i
{
% s2 A' J" N# k6 N& A) n" }
#ifdef __WORLDSERVER
7 r: R; n5 |; `* F
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( m, k2 q* P( d& h% f; Q
MoverProp* pProp = GetProp();
; V. A/ I3 ?+ T8 a& ?8 I, M
if( pProp )
' r+ F: d8 Q) H* I
{
# p& N& `; |' Z7 G3 w" d
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( M7 n1 Y4 C( b. o p$ m+ T
{
3 A* m! F" g" X
AddChangeJob( nJob );
5 N" V$ {+ J$ l- w; `
}else{
+ Q2 M2 g7 T" o
return;
- S0 F5 ^6 t% S$ V
}
- q0 Z- d9 M6 m4 }
int nPoint = 0;
! }4 ^" t! ^8 U; O5 x# J9 ~
if( m_nJob == JOB_MERCENARY )
. Y! q1 E6 i; T
nPoint += 40;
4 f' [# n: p. d2 R' U1 L0 l$ q
else if( m_nJob == JOB_ACROBAT )
8 A% [' h5 [9 o3 w- G2 \, H) |! W
nPoint += 50;
/ q9 b' v; S% k
else if( m_nJob == JOB_ASSIST )
4 ~! ~, O8 v! T& q; C
nPoint += 60;
2 P- h5 N' }& J# ?; g. _
else if( m_nJob == JOB_MAGICIAN )
: ^0 [& V4 F0 [( Z/ |3 B. k
nPoint += 90;
, e- t" u4 m8 ?9 M
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
3 _9 \ N6 |( g7 R/ p
nPoint += 120;
' m1 J6 n" |0 d# Z3 K
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
% F7 z' ^, J8 j% q& L/ z- J W+ I! L
nPoint += 150;
! v7 [' N3 J8 T+ H' a
else if( m_nJob == JOB_RINGMASTER )
) s& S; z$ L2 j3 w' a' t
nPoint += 160;
- u& ?* e8 V- ~+ O5 o& D
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
9 R/ n. T8 \ E+ W
nPoint += 180;
$ K/ `& ~* M" I) y/ a: k5 [ [) h
else if( m_nJob == JOB_ELEMENTOR )
+ e, r: r4 W: }- f" \3 F
nPoint += 390;
c- M Z7 o* D1 ^- n
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
/ G6 x& A4 F" w2 D
nPoint += 120;
0 c) i" _' n c# o0 k
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
$ ]) Z( I2 _& E2 f' @; g5 k" h% X9 k# q
nPoint += 150;
; {1 M1 \8 l9 e; S: b7 e5 u
else if( nJob == JOB_FLORIST_HERO )
& \/ a8 k W5 ?# e. s
nPoint += 160;
9 Y1 u4 K$ z* z3 C. |4 k
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
. P9 y6 @5 @& j$ {& Y2 _
nPoint += 180;
# B6 q+ w# |# x2 g2 b$ e
else if( nJob == JOB_ELEMENTORLORD_HERO )
/ k0 j: ^- R4 W/ ^1 O: h; \2 |5 r4 r
nPoint += 390;
$ p, J! q, G2 z5 J3 C
; Y! y. V1 \) f& D
AddSkillPoint( nPoint );
0 g$ N; g1 n6 Q' l {3 H( I* `, i: z0 m
m_nLevel = nLevel;
& H+ v8 Q" a; M- T$ G
- C I( N$ ]- ~: U; |+ }# v$ j. ~
SetJobLevel( nLevel, nJob );
1 n+ A/ U; o" C' M. s7 g
m_nDeathLevel = nLevel;
`7 H6 M% E3 W$ x* F; t" }
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
1 ^, P' @! ]7 i6 S
if(IsMaster())
: i4 L4 D! f9 V/ G
{
1 l; V: K+ e' p6 x
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
" {7 l( R/ V, m+ N
if( nLevel > 59 && nLevel < 72 )
4 [3 J1 n3 c& N' [5 [
dwTmpSkLevel = 1;
2 ]: n0 Y$ C2 x$ u7 l/ P0 f3 H
else if( nLevel > 71 && nLevel < 84 )
- l6 s* i8 c* P: K1 o0 M5 f
dwTmpSkLevel = 2;
* U% [5 v$ q3 [$ H" @
else if( nLevel > 83 && nLevel < 96 )
# j. U7 Y$ @5 ]' U1 v' v
dwTmpSkLevel = 3;
5 g/ g: ^( b1 W6 B6 f" _
else if( nLevel > 95 && nLevel < 108 )
$ O: P8 |6 a1 w6 d2 P
dwTmpSkLevel = 4;
8 y7 P) f3 U. O- z! k, Z
else if( nLevel > 107 && nLevel < 120 )
7 x* S: \6 \% d5 f. @+ Z" ?. C5 M% @% r
dwTmpSkLevel = 5;
$ U: ~6 K6 s4 j; Q" x; N; Y
for( int i = 0; i < MAX_SKILL_JOB; i++ )
* a% S; }( N. H4 Z
{
2 B* c, j. c: K9 F. l9 O: n! h1 O
LPSKILL lpSkill = &(m_aJobSkill
);
# t7 ]- g4 b) K3 [& ~
if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 s# P0 G7 \9 _6 Z
{
' K9 z, d: O2 U7 v& s/ O
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
, r: @* p$ _# ?& r- P
if( pSkillProp == NULL )
* @* j# X7 V$ ^
continue;
+ ?" M. ]& t: j
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, m( U9 |) D8 U& f5 z
continue;
" o/ d( a% E/ ?( ]! C
lpSkill->dwLevel = dwTmpSkLevel;
9 O% G: z- _( Y6 k0 M
}
8 d0 D5 u' C, A/ Z: d5 a5 o4 K* y8 A
}
5 s- B% O$ K# Q9 p8 G$ J9 X1 }3 f
}
* S3 N9 d5 V+ m! U* k+ Y5 U$ Z
else if(IsHero())
' m/ E4 q' G: e" L' R, O& L
{
7 m& n* C& \1 r: V0 x
for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 b9 t, _' w* h+ Q& Q* Z5 ~
{
4 \0 g/ h, V* `
LPSKILL lpSkill = &(m_aJobSkill
);
! V# S% j; _4 S+ }" M1 w* V+ R
if( lpSkill && lpSkill->dwSkill != NULL_ID )
# M/ ]5 H: }- K0 r) j
{
# g) A8 B( j! u# [/ A' ~( x$ @
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
8 P" f+ i" R$ Y Z6 j
if( pSkillProp == NULL )
; I$ _6 b% y$ s. Z+ a+ X
continue;
7 H6 Y1 L- X, |
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# B6 z7 i( G) U2 r" ?; S8 c' N
continue;
' F" [2 y9 h6 B! b+ K; p# n
lpSkill->dwLevel = 5;
. o8 l: |( ]$ R3 ]$ @! h6 j/ d6 J
}
# ?* h1 P" |. I, B( k _
}
3 O+ h2 B0 {" Y. D
}
8 P7 N% {9 G$ H- B
else if(IsLegendHero())
! H Y& X/ L! n0 A7 z+ Z
{
7 V9 I9 G/ L8 k% i
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" b- B& M3 R$ v! P3 R
{
, b% x1 L- L, {
LPSKILL lpSkill = &(m_aJobSkill
);
, Z- f9 u3 n6 o+ u5 n
if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 U& j- y1 o# Y6 }9 D8 I4 g, S' e4 q9 N
{
h8 E% T& ~* C, _9 }% T
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 z! [. f ]; K9 R; a1 N9 y
if( pSkillProp == NULL )
" n- O0 h' @5 E* V4 A8 f- |
continue;
L1 f4 g+ E& z) D% L9 F0 L
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" T1 ^' w9 k9 r. A2 k
continue;
( G$ \, z+ `8 b3 h1 w* M& ^ y4 c
lpSkill->dwLevel = 5;
7 n1 p% y9 A& e" x) V
}
% s# Z# p# c3 r2 z/ E' J8 M* j, E
}
% N# T) f4 n7 ~+ t( p+ q3 q
}
& x7 ^8 \: g: B8 W* Q0 D
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
6 V" `4 q. K, P& \
if( bGamma )
5 [" {0 D9 H' l
{
6 {( P e( a$ O$ T Q' a5 Z. k5 m
m_nExp1 = 0;
5 h( A$ a& z2 `5 B" r- B5 l5 [5 W
}
' I0 h- T4 d9 [0 U; e1 p; Q
! L5 o7 G" _8 R o
( (CUser*)this )->AddSetChangeJob( nJob );
u( L. ?0 J) V! M$ _1 r4 ]
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 l9 Y7 t4 G1 g" p
* C9 ]4 U' f6 z! S( S+ s' `
) a9 r7 ~7 ~ |* v: |+ p& Q
#if __VER >= 11 // __SYS_PLAYER_DATA
6 Z2 W7 B: h0 g) p! b, P0 Y
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
+ T v( r7 n) p; V: E. M2 q
#else // __SYS_PLAYER_DATA
# t& V' l/ D! d8 |
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
0 T6 [2 j6 Y" T6 R# H% }6 n" v
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
# L! Z& h. G7 ]) v- @
if( m_idGuild != 0 )
- \: L$ v6 s+ j8 s
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
# \# |3 E0 d: w, L
#endif // __SYS_PLAYER_DATA
8 B. N. F( A) z3 [
SetHitPoint( GetMaxHitPoint() );
8 I T8 r& a2 U# g& y
SetManaPoint( GetMaxManaPoint() );
/ x0 F4 U& l4 L' B. ~: X
SetFatiguePoint( GetMaxFatiguePoint() );
4 S9 g- ~& d% u; U
if( nJob >= 1 && nJob <= 4 )
" q/ Y* f% y- V
{
" ]% [- [0 s2 q4 s0 g
m_nStr = m_nSta = m_nDex = m_nInt = 15;
# P3 _" s; Q9 R7 [1 ]. I
m_nRemainGP = 28;
7 ]% y! {% t o! M
}
6 w0 w( | c# _, x( X3 g) J9 }
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
# _' q: w. @$ {+ a5 y' ?* `
{
5 c" Z* q: K, z7 e7 K/ |
m_nRemainGP = 118;
" c- D! V4 ~8 }' i" l( P/ }
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
5 J; d1 j0 W$ J' B$ k1 ^
m_nStr = m_nSta = m_nDex = m_nInt = 15;
1 ]1 h, U7 X% ]9 J) U' u
}
5 l3 f" M1 f$ {" d& x' P, }
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 z' b2 s/ m' b! C Q4 C
{
# u6 E4 ^( I- n3 x/ |7 L0 o
CItemElem itemelem;
( j5 w6 k8 ]& ^! S& e6 D
itemelem.m_nItemNum = 1;
T, M: Y$ M* u, a3 V
itemelem.m_bCharged = TRUE;
. h5 V W; @* \5 B J
BYTE nID;
/ n! {+ r* n- Z* o
, d- R1 M& ~5 `) {5 P; ]! ]
if( nJob == JOB_MENTALIST_HERO )
8 t# o' a, Q, J4 M
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
. \* F& z% o9 r+ X+ t+ ?
if( nJob == JOB_FORCEMASTER_HERO )
; y0 T$ X4 p6 k+ g
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
+ l# ~" y3 P. P& R/ ^) D
1 _; i* s% J, @5 Y9 ?
( ( CUser*)this)->CreateItem( &itemelem, &nID );
" k- n4 x( n2 v7 H* F- m
}
+ Z3 r5 R8 a5 M( ^ B
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
& V# z& P$ q4 a' k9 Q
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) r# g- x7 \! Z& Y, e$ Z) }
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
" T3 S3 n. P4 T" f. w' Z8 r
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
7 F3 f" l. I8 N, }
( (CUser*)this )->AddTaskBar();*/
/ P" @3 o, V- w" x8 d' W$ W9 V/ p: ]
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
5 e1 [% U% g* S
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
/ {3 P' n6 G) d) D+ O
((CUser*)this)->CheckHonorStat();
. o k/ E( M9 E6 x9 b* D
((CUser*)this)->AddHonorListAck();
5 s1 v" @" y0 g# y0 s- z* U
g_UserMng.AddHonorTitleChange( this, m_nHonor);
! F) A' N, D& W* z# E4 U, s9 F1 j; N
#endif // __HONORABLE_TITLE // ′Tà?
2 {& c* _, _4 ?/ ]0 c! Z
}
& h# W# \2 H( [+ t
#endif // __WORLDSERVER
! e$ e8 l8 _" D" I- F
}
" G) U2 O# L% _
t- q9 b3 \9 i1 a# |* \" ~
然后你进入functextcmd.cpp并添加以下
# P* G! x+ H' o: H0 S
1 y4 `6 E! s& j( Q
代码:
6 y: V( N$ C/ S% I
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
e% f$ Y: m: V' J/ Z. v: S& j' k
下面插入
8 ` G* T1 m% U4 V& i
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
+ p; `( x) w" j2 ~5 v% ], u
, x5 q: X. a( k/ E% q# [# L7 E
然后你去
' f6 R( j* l" x' D9 X
6 ~$ _0 c' x' G
代码:
, q. o/ u- J3 B2 |3 h* N, F
代码
5 g! N0 a' m1 Q# z h+ |7 F
BOOL TextCmd_ClearPropose( CScanner & s )
) b. x0 K) M5 y8 b0 A. L7 R
{
4 J3 x2 l% {+ n5 {7 {
#ifdef __WORLDSERVER
/ A- H- {8 A# t B1 f2 T# E
CUser* pUser = (CUser*)s.dwValue;
% T/ n) l7 ^4 g& T" A
g_dpDBClient.SendClearPropose();
0 I) t% r1 f& V" G" Y# W; t k
#endif // __WORLDSERVER
5 W& K5 U* I/ F
return TRUE;
5 d- o. |6 ?$ R+ E2 ^
}
9 v* }- X; U1 n' m" i* G3 }/ s
下面插入
5 j, R4 S. b4 N
BOOL TextCmd_rebirth( CScanner& scanner )
* P$ O) D9 i% Z
{
$ F# U) J6 y5 ?* f: C: Y% I
#ifdef __WORLDSERVER
' Z* `% a, y2 a# d6 f
CUser *pUser;
) [) R% d" @+ s; u
pUser = (CUser*)scanner.dwValue;
|, U' O4 l; F" e
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
z+ E& ]# ^6 P' Z% t
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 p N: a5 X/ X8 }4 m
else
9 M0 [9 F' r* J$ f& X4 [4 l* M% h
pUser->AddText("你还未达到重生条件!");
% z9 X' A7 D5 a- J: w8 F% L
#endif
6 A" }; @3 E( t5 D) P( R% k9 }8 Z
return TRUE;
0 S, R5 V% I0 S& `% u
}
: ]" X3 _' e3 M; L
7 n( O6 v V: U" F) k
$ F0 F5 a' Y% Y$ R! |# u h
" ]6 f) B) ^$ M2 Z0 U* g
+ N% I: `7 Y/ H7 m8 I
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2