飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
1 C' E1 `- R' @9 u9 f A; i
, v/ A3 P1 O2 n( c
Mover.h
9 J, |1 q) h* k
代码:
4 _/ \. r# U9 F' g
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
3 K: V1 {0 W' d R p
: I3 v: I! S) N, @' }6 Y
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
2 U7 [2 @7 y* w; z- M
7 m1 ^ b! p0 _ b' H& L1 J' e
然后你去mover.cpp添加
/ D: F) E( o) ]
/ i/ r) H: q5 F% { |4 c( P
代码:
6 S% T1 C2 E" a" M
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
) Z( X8 f. V3 Z) O- k
{
1 Y+ V) a" S% G) y% ~
#ifdef __WORLDSERVER
- B: z0 e, @( h( k2 _# }
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
- X* G9 \; d7 }1 ]# j
MoverProp* pProp = GetProp();
- B3 f7 I, d# o6 A
if( pProp )
- W: P; n0 n# `) K
{
+ G/ U" f6 {/ m, T* i* o
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
6 C9 i7 q: o& b T7 c4 G7 R
{
; A# b4 l3 S$ H2 u# `" ] L* z# u+ q+ [; D
AddChangeJob( nJob );
" O9 @2 {+ K; T5 B! i
}else{
0 U0 S+ q( w/ W4 K! ?9 C! E
return;
! y- \$ u. U! H u
}
; |* j6 j+ I4 [% O9 R
int nPoint = 0;
5 v2 {$ o4 `0 P8 y+ A. L$ y/ v
if( m_nJob == JOB_MERCENARY )
$ ~& B8 R4 P- Y. i/ W) X
nPoint += 40;
, p- _, f2 y( y, C6 R
else if( m_nJob == JOB_ACROBAT )
5 k* i& _7 q; X8 v, A2 a/ Z
nPoint += 50;
! r/ ^: r" B4 ]
else if( m_nJob == JOB_ASSIST )
% |2 r! S1 \; _% ~9 W0 a
nPoint += 60;
) b+ w' I' {8 J; m
else if( m_nJob == JOB_MAGICIAN )
# n: Q5 n! P. R
nPoint += 90;
' a* {; P' _7 I2 c4 l5 ]
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
! I1 q! m& x/ y
nPoint += 120;
; v& W: K$ S8 x" |3 D" Z
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
% b( H9 q5 L* R1 g0 p% k; a2 y3 _
nPoint += 150;
$ h0 O' _+ m7 V8 y) s/ S4 ^
else if( m_nJob == JOB_RINGMASTER )
* Z/ U. t2 U& n4 I$ M; b+ V* g& D
nPoint += 160;
. J2 |2 m0 |* x
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
1 U* y3 G! v( J
nPoint += 180;
" G" V, i+ a( G8 v( P
else if( m_nJob == JOB_ELEMENTOR )
6 V0 s; h8 i4 M
nPoint += 390;
% d2 E7 Z% m, ]; z2 Q
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
1 a& r1 G) g! @+ _+ z w
nPoint += 120;
5 F. K8 g f% b- @- h7 ~# {% y& @
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
& j' v/ M9 l: R3 Q9 F, X, F+ P5 ~
nPoint += 150;
1 V, H0 F) [0 l9 z
else if( nJob == JOB_FLORIST_HERO )
0 z* D5 e+ C2 ~8 i( t! h/ r N
nPoint += 160;
$ N: v) R9 k6 C: u' `# y( P
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
. k# S# y- g$ B- m
nPoint += 180;
& U! _( o |* V; h) u- n6 R
else if( nJob == JOB_ELEMENTORLORD_HERO )
3 }$ K" {: N. g: B
nPoint += 390;
9 J2 U8 p8 m! c
9 |4 c' b% a' d2 C
AddSkillPoint( nPoint );
) H7 X8 ~ \: x/ I0 f
m_nLevel = nLevel;
2 X% K4 a3 U2 }) Y+ y! E
: v9 G9 T7 B- E; J# H& T' N, s
SetJobLevel( nLevel, nJob );
* [% H% S8 `+ z v# S8 Y: M* @
m_nDeathLevel = nLevel;
+ |1 u) B$ {! ^( Q' {# K8 {" J/ m
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
, s9 B: k! r, R4 o
if(IsMaster())
' X. h0 w4 }# V8 Q& b" r
{
' P6 i- Y! f8 }" c% c1 H8 r7 x7 X
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
- D3 |/ k' @$ C
if( nLevel > 59 && nLevel < 72 )
' B/ s6 ?6 j: ^: Y, _$ Q3 u
dwTmpSkLevel = 1;
% h. u- a+ W: g; x$ I- g
else if( nLevel > 71 && nLevel < 84 )
$ @; D& ^5 y6 C1 O) z) K
dwTmpSkLevel = 2;
! a* d& B* j( o( {
else if( nLevel > 83 && nLevel < 96 )
* G" T8 ]5 w* g- r% n* e6 I
dwTmpSkLevel = 3;
) A. Q0 H" T2 I$ t1 y% P; b
else if( nLevel > 95 && nLevel < 108 )
$ b$ a$ k/ V( i* w$ O
dwTmpSkLevel = 4;
4 a1 c6 `7 n) m3 w u5 J* d+ ?
else if( nLevel > 107 && nLevel < 120 )
2 ]2 m' h. Y; k: A* ^
dwTmpSkLevel = 5;
! c& \. U+ W- _- S# n
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% a5 z: j9 T# y
{
7 }' @+ c! A+ e8 V, J0 V
LPSKILL lpSkill = &(m_aJobSkill
);
! H* `# v6 P4 t0 y0 ~1 S# P; Q9 [
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% L1 C" r" N6 \0 b, p5 a Z: Z
{
4 h z) y5 {" G1 k# R
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
- D; |) V7 ?) s1 s
if( pSkillProp == NULL )
8 n& g4 O2 `9 B9 H' D. p, [! a& k
continue;
/ Z0 Z, R: c# Z( W0 b$ Y1 W
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 ]8 x5 m1 M" h& p9 e+ Q0 U
continue;
4 n( b4 ^: q$ S. q3 I3 B. j# Z
lpSkill->dwLevel = dwTmpSkLevel;
: X$ S" `; f7 _& C$ s: a) p3 p) u
}
0 y- O5 h1 B, G2 d N
}
8 a2 ?" X( a, M/ p( r
}
2 Y0 B& O9 ], ?7 C
else if(IsHero())
/ _: |0 [- V; Y+ e# v7 ]3 R$ C
{
* X8 L3 t/ @" |4 N
for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 \2 ^& N9 w$ C( ^% I0 d/ M
{
: V7 u& j- Q% e g
LPSKILL lpSkill = &(m_aJobSkill
);
* Z* Y, q& m8 P. l8 G0 K
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; T5 o4 y# N: b- P
{
- W7 \- W) F1 N3 G! T, P1 }
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 X L! l8 |, j: ?& f7 I
if( pSkillProp == NULL )
2 [% W+ j$ w$ e7 J: A3 x }
continue;
" g: S& I# [ v
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
' k; s& w+ m8 n0 ~ L4 K8 \1 j h
continue;
* m, U0 B/ v" F0 d6 M
lpSkill->dwLevel = 5;
/ {* s$ L8 r. I2 n4 g* v4 B/ @
}
+ o; d7 o, q$ ^- G% C. E
}
6 Z0 f% p( {) W- j! F: v
}
1 ~' S! ^$ c& C3 U9 E6 X t/ ^
else if(IsLegendHero())
$ D4 H0 d. w5 W; v# Y
{
) I# \5 j1 K' H" N2 a
for( int i = 0; i < MAX_SKILL_JOB; i++ )
( S! W+ \0 z! g$ x& U! u
{
E) V0 E) i' C! U
LPSKILL lpSkill = &(m_aJobSkill
);
2 [$ r& [' Y7 k5 m5 ?+ U
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% a, ^0 @* p% S* |# n
{
. M1 z: I" C5 B) L
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% o* Y4 t8 ~; K5 [% h! g7 `
if( pSkillProp == NULL )
/ k8 N7 J( f# o1 |$ q' I7 G
continue;
, m% v3 E$ Q5 T/ ~1 ^
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! V/ b# ?, N+ w4 j! Z5 Y4 v
continue;
% h# \6 n, J5 ?& n9 ^1 G! x4 G6 a
lpSkill->dwLevel = 5;
, R0 [% M% r w+ W& z6 d' g
}
1 r- V) H# ` l. R
}
( `$ j4 }2 O; R1 Q$ Z. t x7 E7 c( ~
}
1 s: z" G* F$ A) ]( w; N# c0 ]
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
0 R o7 L0 m8 ]
if( bGamma )
& r4 U+ U, ^: \- u; r
{
' W. ^3 t6 t: t
m_nExp1 = 0;
' d7 h. k& V) I2 r
}
/ E2 \! R8 J) a: e# |
p+ j9 `3 l- D; f) h! f
( (CUser*)this )->AddSetChangeJob( nJob );
8 }9 e# P5 z7 k" d+ e6 j
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
# }! |& N( Z0 f
& Y$ ]! e6 E) L/ {
) W4 @2 K6 S, J6 H
#if __VER >= 11 // __SYS_PLAYER_DATA
`% ?! s' h, P8 }% T& N
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' i2 P8 S* M2 d/ N( H
#else // __SYS_PLAYER_DATA
; C% Y: x# U. \8 P, O/ a
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
, [- X$ O' X* w+ \; _* n% r
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
" A/ A b* M2 Q7 t2 [& }
if( m_idGuild != 0 )
3 [2 i" x0 o8 `, V4 K9 C
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
$ H; }" P( K/ x- K( c9 m' I
#endif // __SYS_PLAYER_DATA
7 E+ x$ k+ ?" B5 T- \4 \% W8 U A: l
SetHitPoint( GetMaxHitPoint() );
+ s% X9 ]$ j3 ~
SetManaPoint( GetMaxManaPoint() );
! S; l' D+ v E* f2 q1 C4 y
SetFatiguePoint( GetMaxFatiguePoint() );
6 |; M g* Z1 q. z) n
if( nJob >= 1 && nJob <= 4 )
/ w: r( }* ~. A& i
{
) [" _, [, z2 ~
m_nStr = m_nSta = m_nDex = m_nInt = 15;
: @* ?7 f1 T% C
m_nRemainGP = 28;
7 O% I$ {! K, r( U% C
}
- O( a) } N& p/ C
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
- Y: U- E5 x+ ], }) H
{
1 p$ U m7 _) O$ Z4 d7 k
m_nRemainGP = 118;
7 p1 P- F! s4 c7 ~0 l
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( w5 z& H }5 b3 u( o' I2 a
m_nStr = m_nSta = m_nDex = m_nInt = 15;
7 l; f5 o& `1 z; Z7 w: u% ~
}
' Q4 b0 i6 `$ T" c) Q. {' n
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
# B/ _* Q, O" q& e' b
{
6 D: U7 y. Q1 u* c9 |
CItemElem itemelem;
1 n- h# L; Z5 Y2 l; i
itemelem.m_nItemNum = 1;
, d* ^$ ], N: A
itemelem.m_bCharged = TRUE;
" t. V4 R5 B! [5 h
BYTE nID;
2 v: a1 Q, S. P9 g0 P! j0 E- Q
9 S5 {; S# Q) n1 v# C
if( nJob == JOB_MENTALIST_HERO )
: m: y+ ?7 L5 D' w9 G0 y
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
$ g/ N) L: \8 G7 \7 t4 C& _- @$ ~' d
if( nJob == JOB_FORCEMASTER_HERO )
- K9 e% I0 A+ e4 Q
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
9 D/ Q$ t7 {* }" \- J
: w) v- I1 K0 }% `" P( |
( ( CUser*)this)->CreateItem( &itemelem, &nID );
2 c" v2 I) E9 [/ e
}
P" l4 ?& P1 |
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
4 _; U! V5 G- d, Q j- d
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) h/ `) L( ?- D/ [( d _
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
& Q4 r5 O0 q4 @
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
: d* t4 O# b, U2 B) y
( (CUser*)this )->AddTaskBar();*/
( C0 m: P, \/ c2 d7 T9 G5 ?2 N. k
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
2 o7 E4 h+ d6 \# m
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
& e3 t# w/ e( F x+ `4 w( Y
((CUser*)this)->CheckHonorStat();
& Q" v" O! A7 k0 S8 V# p
((CUser*)this)->AddHonorListAck();
) X+ @. _5 O, E$ G2 D9 j
g_UserMng.AddHonorTitleChange( this, m_nHonor);
5 ]% z4 p- Z, r. p! X
#endif // __HONORABLE_TITLE // ′Tà?
: H* g; Q5 x! @0 t
}
, J' s+ g% V9 }; U$ l
#endif // __WORLDSERVER
8 r6 H4 X# l- Z+ f
}
( v9 Y( ?8 G- n. J7 d. R. m$ O$ \0 t
7 d, u& U/ f2 h1 k& I. c$ M
然后你进入functextcmd.cpp并添加以下
. k \& x) E ]& a# n# D$ ~. r+ |
' j: ?, K- D y9 L
代码:
3 N' R: h3 ]6 D" `/ W
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
: E+ v1 ?; V; b/ ^
下面插入
* }* t" v1 T$ |2 O6 \5 y- Y. p R
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
! j$ s0 C7 n3 j+ r% _
. X! _4 }/ S S& G
然后你去
) `) X% ^5 X2 q x" w2 u& n6 I
6 j/ l9 k; S* l0 d" ^: L* |0 J% q! s* U
代码:
0 R2 y4 p5 u: j; g+ N& g
代码
6 m# z# D; _$ n
BOOL TextCmd_ClearPropose( CScanner & s )
R" Y) L) v2 K( x3 q+ X
{
. n2 X) Z9 z+ j2 c
#ifdef __WORLDSERVER
& z3 v1 p( T% E5 O& q
CUser* pUser = (CUser*)s.dwValue;
' N: K2 R5 J( [+ w, t+ E
g_dpDBClient.SendClearPropose();
* D( ?6 n+ q: |
#endif // __WORLDSERVER
5 D4 `( D, h8 N! h- t8 ? X
return TRUE;
& p: o( N/ x u( [9 ~
}
! Z" |- j+ d, i+ s
下面插入
4 h! t( y H7 ]8 a
BOOL TextCmd_rebirth( CScanner& scanner )
% L: B4 l9 A" q
{
2 z: e4 R$ W) M
#ifdef __WORLDSERVER
) N' b% B3 h& v/ b, _ Y R
CUser *pUser;
4 {- d" ?6 _/ }
pUser = (CUser*)scanner.dwValue;
3 H. G% F5 C+ ^8 b0 R
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
9 n5 M( n( g6 r! ]- y
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
( c$ [: i0 t, J; p
else
. z) v/ D, S" l1 _$ J
pUser->AddText("你还未达到重生条件!");
/ n A) i7 X+ A/ I$ t+ g9 t
#endif
4 W" J/ J+ V8 A0 p5 P
return TRUE;
1 d( }. M: T# x1 D8 u
}
7 W2 C7 J5 ~3 Q- r7 M
' B9 {5 P! s+ X# I
4 l/ k' B2 e2 O
! R# t7 q( s% H& A
4 j6 i* z R( C& g
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2