飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
8 i4 P/ }6 c& L) K7 q
, G, P$ _2 }% q* r* p
Mover.h
3 [/ Z# U6 h1 L& g" a0 X) j
代码:
: `& y$ [8 c% ^8 X+ K0 `
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
; r. Y! `2 d# g/ W5 q) c
3 R8 B' X, o% G# [: ~- A
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
% c" {# p9 c. s6 y4 ]; ^
" P, w) K0 t) R9 p
然后你去mover.cpp添加
3 K9 l: ~; X& ]9 K4 O, n
/ ] s; L6 Q1 ?: }1 b/ N
代码:
! d/ ^' n/ X1 Q$ M
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
3 M4 f5 T6 e5 b, D- B
{
) A9 O3 t" Q; D" {- O4 V
#ifdef __WORLDSERVER
: c* o; b% H" J* Q4 A
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
. Q& K) ~% s* P6 q& g' m9 t
MoverProp* pProp = GetProp();
( h. S( b8 w3 ~/ j( Z! p v" b
if( pProp )
8 o) G4 b+ C# A- y/ ~
{
5 n; K ^3 J0 `4 ~$ W- ~
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
0 U* A; I" z1 B- T: p6 _5 L
{
8 V. J" Z/ y0 i z, a5 U
AddChangeJob( nJob );
# p1 F! M0 ~: `5 \7 g
}else{
0 N/ Q: L b! U' A- E+ c: Z2 a
return;
$ H r8 C7 p9 X4 B
}
5 X+ k/ g5 f, O, b1 _; _- ]8 F. ^
int nPoint = 0;
- U9 S% F4 o, j6 f
if( m_nJob == JOB_MERCENARY )
. d- u, [0 B: l$ m) y
nPoint += 40;
, F: |- r1 r5 H
else if( m_nJob == JOB_ACROBAT )
4 {2 `1 A' S6 l# l# _5 t i" C
nPoint += 50;
5 Y) `5 l8 U. K: W
else if( m_nJob == JOB_ASSIST )
v, ~' @' B: i, Z* N0 R% v5 z
nPoint += 60;
$ e- }. a' E: h& d
else if( m_nJob == JOB_MAGICIAN )
9 r( j6 p; l8 l- q2 p2 b4 Q R
nPoint += 90;
) g# [5 Q- \, {* ~! K# o' z1 g
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
7 W7 x- P9 H0 }
nPoint += 120;
) v+ \& i$ N% O8 T2 C
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
4 K8 K. d" z7 M0 [$ I4 n/ ]
nPoint += 150;
! c& y8 U7 D1 Q! }. _& V% W
else if( m_nJob == JOB_RINGMASTER )
: Z7 N( o2 B5 y7 p! b" f* ^
nPoint += 160;
+ i9 A) ]. }9 ~
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
/ ]5 f8 v$ X# w6 i
nPoint += 180;
. s+ S4 V# v: f: O" w1 ?
else if( m_nJob == JOB_ELEMENTOR )
) ^3 a( a. H3 ]+ t% T7 K) B
nPoint += 390;
- ?& O" S1 x6 n% ]
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
! `3 j, U% y- V- R2 {# W. _. X" T' z
nPoint += 120;
4 r$ e0 K2 F% C0 A* G
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
: o! L; y4 g3 i) }; F# d& C% t u* _0 Y
nPoint += 150;
5 c" ~+ ]; z# F* G, H7 X+ \/ u
else if( nJob == JOB_FLORIST_HERO )
# s+ B$ D( U' A- X" @* t4 `, ^& C
nPoint += 160;
! y8 ]: K* s5 C3 @3 y) d
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
! O4 J4 U$ \6 Q# @: A
nPoint += 180;
4 s$ m. }6 [" Q, x3 B
else if( nJob == JOB_ELEMENTORLORD_HERO )
2 h4 A2 H* s" t0 F1 `5 |/ R
nPoint += 390;
8 I# _0 J7 e7 l( n1 Q6 @5 e
7 x7 C8 o$ w2 ?
AddSkillPoint( nPoint );
. b/ a' W8 N; i- k
m_nLevel = nLevel;
- o$ V, B: k% i
/ i6 S6 X# L" u* r) V4 A
SetJobLevel( nLevel, nJob );
L. j4 K! y4 @. y3 n/ ~
m_nDeathLevel = nLevel;
, ~+ [' Z7 m& Q$ a0 O" T# G! y
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
6 ?/ a; u% ^' C R7 h+ B
if(IsMaster())
4 l( s' M7 Z; O. a
{
3 U6 B0 n% _: K4 H& @. K% t( N- a; d
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
- X: H' \; Z. n7 U
if( nLevel > 59 && nLevel < 72 )
' b0 ~" Z+ U) ]' u' V+ g, i$ j
dwTmpSkLevel = 1;
& C2 L& [; _& q5 v
else if( nLevel > 71 && nLevel < 84 )
* ]' R) C2 f# E$ k2 K
dwTmpSkLevel = 2;
& J' L3 C! V7 Z$ n) e4 J, n
else if( nLevel > 83 && nLevel < 96 )
4 `$ {6 O) Y8 q7 \) C' U% a2 R$ T
dwTmpSkLevel = 3;
8 M6 R$ d" D7 v" l }2 n G" z+ Y
else if( nLevel > 95 && nLevel < 108 )
- d8 }' L) n, D3 d2 c6 ^9 }( B
dwTmpSkLevel = 4;
3 o: l: |9 U% D4 k6 U( v4 }
else if( nLevel > 107 && nLevel < 120 )
0 U7 {7 k9 M# {- K) {9 P
dwTmpSkLevel = 5;
$ m& Q5 C. ~6 b( `! a: x& I; L. X
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 j& B. q/ \, m$ l8 f: P
{
- b: A6 x" W' m$ Y( `6 I4 V4 j
LPSKILL lpSkill = &(m_aJobSkill
);
8 c# x9 _5 F: K% x; {
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! K) W# V0 @9 x n4 O
{
5 _% `# Q, b# G+ M- J% g
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
! l; o. q2 n- M2 s* Y; `, \# m
if( pSkillProp == NULL )
" @( D0 ^ ] H, ~3 Z
continue;
7 a8 A/ C* ^6 L' S; S& t) J# S# L* l8 k8 F
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
/ W7 [+ ~& H L8 ?$ ~" N
continue;
' e7 r- i, }6 K& I* ~
lpSkill->dwLevel = dwTmpSkLevel;
- L5 {& f* H0 D' |1 L
}
# y+ I S5 ?1 }, k/ t
}
\1 c, V9 O8 I0 U8 f/ f
}
) d2 X2 ~' x/ y7 m2 ]
else if(IsHero())
2 D! R `* d, K, V! S
{
4 `& f4 n. I/ F: t
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' j: Y+ C7 Q, Q3 A
{
" W: |9 O0 u: B2 T$ v2 ?. E* ]! h
LPSKILL lpSkill = &(m_aJobSkill
);
5 |/ n$ i/ l E% Z+ j1 h/ V
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% o- G7 ]" b) ? Y; l! h( r8 m
{
9 X! ~" P) q- w* V5 w
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
' s d8 D0 @) V% p% D |6 v0 ]
if( pSkillProp == NULL )
( q3 l5 F0 ~, j, d3 {, E' ^! {5 o
continue;
# W7 M9 G% }8 I! A/ f- T9 }
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 {7 I2 b2 I) ~( z& z9 c
continue;
o) C/ n& n4 R8 |1 x- l( `( f- t
lpSkill->dwLevel = 5;
' t4 x. @9 I+ s) s
}
& H6 i; U% O2 P7 E. ~+ V {
}
% U; D, B4 @' l( I' p" H1 I
}
! A, M8 o; e# R& I) b
else if(IsLegendHero())
2 ~/ S6 g/ F6 Q1 r
{
, i% x% R; X* t+ h8 g9 B. l/ |
for( int i = 0; i < MAX_SKILL_JOB; i++ )
3 ^' o' ]8 V! `
{
( x( l1 c( u+ H" j, G
LPSKILL lpSkill = &(m_aJobSkill
);
1 w+ S; @ ~+ u+ k0 @
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. Z( _( a: h; k4 a
{
6 a5 J/ ^; @8 v0 N1 N$ X4 p
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% r( Q7 m8 ~# E+ {1 }
if( pSkillProp == NULL )
7 v" `. S' w% l7 j
continue;
7 }8 D" x8 t; F6 }2 {' h1 ^3 f" B
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 b) D/ L% T7 z& ~/ p
continue;
Q! Q( E% e* u4 c& O8 j& D+ o
lpSkill->dwLevel = 5;
, w- H/ I9 u* c1 x. O$ {8 a2 C
}
. d% [" c8 M* `" X8 H
}
( `; s3 ]+ D: G# j" b4 _
}
0 n) C' f8 D( I; c9 t
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
! |+ Z4 O* a0 B [' e& K* _
if( bGamma )
- y+ d. y" n! q% W- V- D
{
" }7 w3 I: Q6 z/ r0 N: d% V8 U
m_nExp1 = 0;
0 J7 P8 D. s! I" y- z; X2 ]6 c
}
" _5 g7 i% U( ]" B8 g7 k
/ P0 F9 I5 [ Q
( (CUser*)this )->AddSetChangeJob( nJob );
+ @1 d! y$ s$ c0 Z0 y0 U( p9 ?
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
( g; I- I- t/ S _
4 |" {3 @0 k- J" P8 e: J
0 W' T2 B' I" z( C( _
#if __VER >= 11 // __SYS_PLAYER_DATA
( y) Y {! S a9 I6 k
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
8 }/ M- _7 o: c2 r3 W) a
#else // __SYS_PLAYER_DATA
; Q( m8 M6 o% k
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
6 z ?3 `! d2 R7 r
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
! D: x8 A% W: J
if( m_idGuild != 0 )
. D# b' Z, r0 v; v1 A% C
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
( n' W m) _( s1 h* e3 J" C2 X
#endif // __SYS_PLAYER_DATA
0 o5 b" c' M) e1 {9 I& N6 K
SetHitPoint( GetMaxHitPoint() );
3 z) j& ?5 h) \) y: b8 w8 R9 q; d
SetManaPoint( GetMaxManaPoint() );
L0 X* k$ p2 P
SetFatiguePoint( GetMaxFatiguePoint() );
+ S6 O; F0 H, f O H
if( nJob >= 1 && nJob <= 4 )
3 {- C) n) y& H* i( m% I
{
1 G& {+ s; I. n4 n1 t# F7 K, {! x
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 d4 h4 Z. l* L( O! ]+ E
m_nRemainGP = 28;
5 K! \# K; ~. W* i# p& f* I
}
4 d4 J( a1 T4 G% b
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
% i" r' Q' G& K1 R
{
) L5 x, H# m2 |! n$ z1 ^7 j
m_nRemainGP = 118;
6 _, j6 t1 z8 e+ p6 |: `
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
' R8 o+ {# s ~1 k# t ^# J* H, U
m_nStr = m_nSta = m_nDex = m_nInt = 15;
- T. t B6 V! j8 F* Q
}
4 I4 l! i" J6 `3 ^
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
7 O" E5 O! L' _ I$ X
{
$ e" B/ D \7 G2 J6 l7 v
CItemElem itemelem;
8 } f' e& u3 O" l- W
itemelem.m_nItemNum = 1;
5 J0 D& v: N+ e5 N j3 J: J
itemelem.m_bCharged = TRUE;
* [2 `- |3 r0 f
BYTE nID;
. r! C$ t9 X" Q q8 `9 S
2 J* Y6 c. s7 H+ I+ @
if( nJob == JOB_MENTALIST_HERO )
Z$ L( X( J* s# H$ {
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
; z4 x* _ m- j/ S" u3 j9 y1 }. _* z
if( nJob == JOB_FORCEMASTER_HERO )
' O5 j+ w( t+ P; ]
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
( M9 ^" g2 R8 {- {# C) _9 K# {
1 F9 p9 ]+ z0 O9 y) j0 G$ @
( ( CUser*)this)->CreateItem( &itemelem, &nID );
4 W) Q8 f5 b1 q) w$ _$ J" Z
}
! x0 Z+ j. Q9 R1 |, C% F6 X2 f
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
1 i) D* A! F% S' G/ X* I% v
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) K0 |5 F, I0 Q" |
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
- R$ P% l! ?4 O/ }4 |
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
- @4 n% \9 P' @9 }+ `
( (CUser*)this )->AddTaskBar();*/
9 ? I" G# C8 o9 J4 n- b
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
! |8 ?; j/ x4 w0 X
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
. g7 U" x: {5 x$ e& I5 ~5 K, |/ @5 k
((CUser*)this)->CheckHonorStat();
5 D7 C: z1 j4 H
((CUser*)this)->AddHonorListAck();
; j7 \3 n, B% {0 l+ Z$ V& ^
g_UserMng.AddHonorTitleChange( this, m_nHonor);
6 x9 g3 t7 j) [/ l& I0 w3 c
#endif // __HONORABLE_TITLE // ′Tà?
' L3 R) a& W& W+ X1 B
}
% t7 N8 n# V" P R' @/ }
#endif // __WORLDSERVER
3 c* {. I* V& d6 f- K9 ]
}
3 {- ~4 M0 q( ~6 @+ v
( |, Z) {2 B9 {6 o# J; v) Y
然后你进入functextcmd.cpp并添加以下
3 C; ~5 k! A5 k# g* e
( w2 W- x# j% k$ m3 a, X' P D# d
代码:
. B& e( O6 a' r% {9 S3 `) s- R
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
; }0 F D4 E6 [7 P' y C
下面插入
1 L4 g/ u# `. _$ n: s
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
' |! r2 C7 ]3 \2 W2 O) { N
5 R# Z" `8 y: g8 l8 {1 i1 c' B
然后你去
) z" M4 X3 l$ N$ @
; P% o( d& p$ x9 f$ p1 ~" w- `! }
代码:
8 A9 O# F: O& W
代码
. k e( @0 K& n6 }# `
BOOL TextCmd_ClearPropose( CScanner & s )
5 H, R# }; Y9 o5 V+ K7 d; M
{
7 t- O/ r6 ]; L# B: N% d* F
#ifdef __WORLDSERVER
& \ [4 M$ W/ m3 A" }& S2 [! R* I+ @
CUser* pUser = (CUser*)s.dwValue;
$ E1 W0 C+ ` o' M! z
g_dpDBClient.SendClearPropose();
6 ~! I7 j1 ], w# D" _, I
#endif // __WORLDSERVER
$ l" t4 k3 E9 a+ k# E9 B
return TRUE;
4 A V6 b5 r. `3 q' c3 `
}
5 d2 b& i6 S5 E7 j
下面插入
0 B, a/ T8 y: k- d5 S8 v+ B
BOOL TextCmd_rebirth( CScanner& scanner )
# N0 ?" w3 |4 J! j" c [7 }; ?
{
# E1 [1 _$ h, F
#ifdef __WORLDSERVER
4 {3 F" Y& k6 D( h, a- N( j+ Q
CUser *pUser;
/ j6 W$ d9 g+ o0 N( h
pUser = (CUser*)scanner.dwValue;
7 T4 M$ _% J& A I
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
0 p1 S$ l8 B& j5 M' M
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
( K# v1 x* o" l& h
else
+ P' c, u" P: W3 n- A
pUser->AddText("你还未达到重生条件!");
$ H6 u, ]! J- S1 t( j
#endif
! k. B. V# ?: J3 j7 y8 z
return TRUE;
0 s0 d z% R* i* T* j0 m, T0 N
}
* i+ n: o( s. @/ U+ W% d( I) L: O
4 C' X2 a- V6 O3 @& ~
L4 ^5 ~/ k. J* x# l+ |( F% |
9 D" _/ V0 n0 S5 K3 l0 T( G
2 }* Y( U( k* B5 \& i
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2