飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
8 X5 z' ]( ~ S" [9 ]
4 r7 v/ Y5 q O
Mover.h
" H6 N* G( G" m& {+ P# j
代码:
( _' e+ e5 `4 M, v8 e8 o
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
7 J) u3 K6 f! ^* a- ` v
! f: E3 g* K7 i2 q
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
& C: ^6 ~. z1 a9 u2 u
2 m+ i2 m. Q! ~2 _) G$ z, i
然后你去mover.cpp添加
$ A8 U; `8 p+ _- I
- C7 b3 Q" H6 c% B8 l3 S: Y$ |
代码:
$ S5 A( f3 y6 U+ r# ^
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
; f% u7 y1 _& [. K( l2 R* ~
{
) b5 M# X, h7 v, Z; h. f
#ifdef __WORLDSERVER
1 \3 ~# P3 K$ g. v5 R) l( R
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
+ @4 w6 l" x5 _6 S# [2 e
MoverProp* pProp = GetProp();
. {- @ u" S5 R# M
if( pProp )
2 Z8 N5 B4 z. R4 F( O
{
* j; F9 N, }2 f8 E! u9 [9 x; L
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
" I6 Z* d) g9 j, S) n' u2 z
{
8 z- @! d" w0 P. I
AddChangeJob( nJob );
6 m, c+ o7 I7 }& q
}else{
4 d0 b: V# i+ I1 a3 f
return;
5 N# P' u5 n7 A) b$ m
}
% {/ d" I) `' J. [
int nPoint = 0;
" O# i% d0 L' ^7 F5 i) j. R& z$ a
if( m_nJob == JOB_MERCENARY )
& v9 h x0 I( ^5 ^2 A2 K
nPoint += 40;
- R$ O1 \) v: q
else if( m_nJob == JOB_ACROBAT )
- }: R$ j2 r0 ? J! S
nPoint += 50;
; Y6 W+ l/ n4 m/ F
else if( m_nJob == JOB_ASSIST )
1 c7 O9 i5 T$ F3 B
nPoint += 60;
/ m3 P, I& @8 O/ p3 x
else if( m_nJob == JOB_MAGICIAN )
7 A7 l* |& P6 b" I
nPoint += 90;
m# T* x- D9 r# {+ }# j" k9 i3 B% K
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
' t. q( [. C( p5 c6 h$ k" e
nPoint += 120;
5 k& n/ M+ V" q, E- Z1 Q6 u
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
0 g' [% V3 Y: d# I" k7 a
nPoint += 150;
7 w7 ^* g5 H1 y. [1 W) v( ?
else if( m_nJob == JOB_RINGMASTER )
4 d. ~! ?2 u: C$ d9 v( n1 p
nPoint += 160;
. f2 Q- A& J9 I! H8 s, O, r$ N
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
' z* S f( s# _5 F2 ^
nPoint += 180;
& o0 s+ L, G! E
else if( m_nJob == JOB_ELEMENTOR )
4 q7 U \9 b+ J# }1 c
nPoint += 390;
4 X) s: \+ y% e& {( Y* t, i6 m: _: o
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
' r; B9 j/ U( v- P; `& f: H
nPoint += 120;
7 S- ^; X5 J: x. B' m& _& g3 t) O
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
# O0 l$ T) r* ~: m
nPoint += 150;
9 e% W& [, I2 I3 X4 U
else if( nJob == JOB_FLORIST_HERO )
{7 i% V' D V. f# f! X
nPoint += 160;
) N3 G, r) l6 {0 D1 F7 t; V# b
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
, c/ V1 L R7 m4 a# D* I$ j
nPoint += 180;
" T/ p) f: r0 c. F
else if( nJob == JOB_ELEMENTORLORD_HERO )
) e1 R8 g1 x/ Q6 K6 B
nPoint += 390;
* U0 q# r# p- U
( }: s. [! M: I. y+ P
AddSkillPoint( nPoint );
* t$ a1 G ^% C+ t: p" M* W
m_nLevel = nLevel;
* b8 f4 W& G% Y+ x7 `, V. P/ E
2 d& }# {+ ?1 H, \
SetJobLevel( nLevel, nJob );
) ?4 B! R$ [8 l
m_nDeathLevel = nLevel;
* H5 C B9 ~( Y
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
2 A' y0 J' @5 T+ s9 ~
if(IsMaster())
Z1 l1 I) g4 y( T
{
* A: L7 R# ^- e
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
8 c7 u$ V' m2 c |5 {) w9 a
if( nLevel > 59 && nLevel < 72 )
( f- h3 k9 ]3 D- C$ w4 k& V
dwTmpSkLevel = 1;
5 Q9 z `) b/ Z; F" i5 i$ {
else if( nLevel > 71 && nLevel < 84 )
$ C, ^# G5 j4 a8 ~' C: S6 Z
dwTmpSkLevel = 2;
3 j* M, P% v7 L4 C+ w8 i
else if( nLevel > 83 && nLevel < 96 )
' r" L6 q% r- E
dwTmpSkLevel = 3;
. Z0 ?# e8 y( ?& j
else if( nLevel > 95 && nLevel < 108 )
1 L( B& A" T' ?( u( e {' X' `
dwTmpSkLevel = 4;
6 S" g4 ^5 y( e5 @2 M
else if( nLevel > 107 && nLevel < 120 )
2 q2 Q0 u) k/ z6 M) @ G
dwTmpSkLevel = 5;
# S6 ~6 _! W2 C- {2 Q! \) l9 I
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% w' e- j L% O1 @
{
: ~& h! w2 R& O* N
LPSKILL lpSkill = &(m_aJobSkill
);
2 ~4 d- l# M, n( k& p7 T& ?. \" A
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. o& t3 x0 S6 j
{
+ M$ Q8 W; P5 |9 w" [
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
" }& o* r9 Q4 r& p$ F/ \2 a
if( pSkillProp == NULL )
/ g' z3 b- A8 N9 V/ g9 X
continue;
0 r) L! E& C7 Y' w; R
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
9 K2 H4 |! ?8 e& t. o& ]8 W
continue;
, t$ W+ U+ W- \2 O. [
lpSkill->dwLevel = dwTmpSkLevel;
! O. `& q! k8 b$ y& \. J' w+ c
}
* Y# Y9 Q1 p; `, d9 t
}
P. W( ^# V' h1 i
}
" w2 l+ \' X% Q, j8 O6 b# @
else if(IsHero())
/ f/ l1 f- _5 T; |5 R. g- g
{
& `6 Y( j! v+ M2 |4 ^
for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 \; i- c/ B& B7 ?5 e) q
{
; o8 S% ?+ l5 z8 r" k! A
LPSKILL lpSkill = &(m_aJobSkill
);
2 ^: o5 j6 W$ F) Y* w+ H* T: {
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- r+ q9 ]1 v0 H
{
) l& G" J, v) G ]) ~
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
, m- A7 O! N: Y7 v3 H5 h- P5 e8 E
if( pSkillProp == NULL )
1 j; u4 F& [5 N0 I, M
continue;
! [1 p: ^* N/ I! W' }
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 c, d4 [* u2 Y+ z$ b+ M' O1 d
continue;
) C" R' D+ M: Y$ @% w
lpSkill->dwLevel = 5;
% l0 Y4 [; u$ v9 \, f: H
}
2 ^* t9 X. Y9 j* v+ U' ?
}
" }' @( J' F' p5 l4 d
}
! }4 u O% L7 G+ f
else if(IsLegendHero())
/ Q2 Z2 K; x4 `* A( d
{
; h! W1 W+ ^! e
for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ W- F+ q( X$ V# ~( J9 l9 q
{
& Z: P' R- O( M7 n) x: H
LPSKILL lpSkill = &(m_aJobSkill
);
- ?; n4 j! n3 J) H9 e
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! W. N2 n1 I( C& R: a
{
$ ~5 Y+ s* B3 W. m
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
5 C, c) W5 h5 q- d7 d( ?
if( pSkillProp == NULL )
& M) \# i" A: Q, m
continue;
0 j% |% B2 Q `# g1 B8 {
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( m$ L1 W, o1 V( [4 k
continue;
* R& |2 w0 J' R8 `* _3 x, s9 F/ H/ I
lpSkill->dwLevel = 5;
- J4 Y9 j* T) P- o; i
}
1 M1 ^. w. r2 h2 B7 F$ d
}
2 k% p+ T7 [/ Z
}
) [4 w- T7 d/ J5 T. |
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
5 B- S$ J ]( H- k% |. i0 J# m
if( bGamma )
" T2 t5 Y9 ~3 m! Y7 J+ p, G; ~; G
{
8 E' Z0 U4 k, x4 v
m_nExp1 = 0;
0 ^& g M* X* J0 ~) o1 `% E5 G
}
/ D3 g- J n0 R7 W3 m! I i
. x' G) t& J8 E8 z9 j
( (CUser*)this )->AddSetChangeJob( nJob );
' E$ _7 G1 p3 w* p" ^
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
; @8 [9 _/ Y6 R+ ^8 n, C
8 a4 A; ]( S$ }
( Z; _" C% ^, ]- K% x5 y0 ?
#if __VER >= 11 // __SYS_PLAYER_DATA
* d9 ^9 I1 A5 L
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
: t2 b: i7 F* y
#else // __SYS_PLAYER_DATA
3 y9 ~( j& d1 X5 l; q
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
; N6 I; A$ C$ [) A+ C1 M z
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
" z: X3 w/ c$ Y
if( m_idGuild != 0 )
$ ?- x( P5 n! P1 z1 Q+ A
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
( h& Y" q/ C( A3 T" y
#endif // __SYS_PLAYER_DATA
) m8 K0 |4 `$ _: c: Z+ ?1 j( h
SetHitPoint( GetMaxHitPoint() );
2 S% I- r, a% w! X4 a
SetManaPoint( GetMaxManaPoint() );
" L5 t2 `! Q% Y, a* W! l
SetFatiguePoint( GetMaxFatiguePoint() );
( u& V2 x4 e- u! o' \2 ?8 S6 @
if( nJob >= 1 && nJob <= 4 )
0 d& l3 L( t1 L% t3 Y
{
c* }5 W6 h8 O
m_nStr = m_nSta = m_nDex = m_nInt = 15;
& V5 y: ]3 F2 }6 F% t* I) m
m_nRemainGP = 28;
* e0 Q2 O( ~. v( }' i
}
0 Z% ^1 L6 j i4 v ^
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
! Z% ~7 _" H8 C$ r. l2 K) J7 V
{
" H* ?+ ~0 S- a' X- S0 K
m_nRemainGP = 118;
# i. @) M9 ^- |9 @7 s
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
5 `& T( ?) Y) j) X
m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 W9 y' B8 r v, a: l
}
2 n# c+ q9 R9 s
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
& F4 ^3 s) n6 O: F2 h0 L
{
1 D/ b' Y3 e& U5 U) @/ `9 F
CItemElem itemelem;
$ e! o' `4 x# T
itemelem.m_nItemNum = 1;
4 o: h1 Q/ |" z" l8 j- K3 P# H
itemelem.m_bCharged = TRUE;
7 j% E* G1 K9 ^
BYTE nID;
% l( ^7 r z3 \# O# Q
: a: ~% {& c+ O1 E) k
if( nJob == JOB_MENTALIST_HERO )
) T0 P2 [3 p7 H9 K; ~
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
) j- B z: B; f
if( nJob == JOB_FORCEMASTER_HERO )
& M0 O, H0 t& |% ?1 r5 a$ \
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
- l0 D1 `$ T# l6 Z) F
" S3 ?1 p" h, B
( ( CUser*)this)->CreateItem( &itemelem, &nID );
* H; G( s5 B& L3 K
}
8 ?% l- I5 |# P1 c* r9 m& O
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
' D6 I( F0 u; Z# `; }% P
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
9 f$ G6 l* ~4 z) r. x0 Z1 w
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
* C$ s C# s1 t" e* i
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
3 [% l& ?6 m6 z& ?1 j
( (CUser*)this )->AddTaskBar();*/
% L' [, x2 P/ Z6 k" j. e
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
* A% Y2 ]% e) v9 J E
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
2 i/ k/ }+ @$ h3 v3 l( Z
((CUser*)this)->CheckHonorStat();
6 T2 J0 m3 x+ k8 G& z4 k
((CUser*)this)->AddHonorListAck();
) k9 ] ?1 c2 F% ^% P$ w1 s+ a* h
g_UserMng.AddHonorTitleChange( this, m_nHonor);
# a& C' B: }) G* s: ]3 t
#endif // __HONORABLE_TITLE // ′Tà?
) Y! f3 l x+ U6 M) `
}
! D9 h# @/ {; t, Q8 V" L, ~; k( i
#endif // __WORLDSERVER
3 F/ H" t6 F6 u+ R
}
5 d, F2 a$ D9 L( b3 D& \7 @* _
5 k0 O" L. b: q+ ?1 V9 L
然后你进入functextcmd.cpp并添加以下
. U+ @: @' O; Q$ X
: s( O7 q: n$ N& {! _; Y% L* @; P
代码:
4 H. i$ M7 S a/ J$ W
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
* Y/ p. s, A' M! w }9 S% `
下面插入
# O( L5 a9 ? e; D! P( M. ? Q# u
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
0 U# r: e, T, v, X2 n' R
, q7 U8 ?1 c- e+ t
然后你去
4 H% R7 j1 p/ D, u$ y( N
7 z9 ~) j( y! {% R
代码:
3 E+ F, \$ a8 T; F9 w, _' W
代码
+ L" o, p5 r( Y' m+ \1 h
BOOL TextCmd_ClearPropose( CScanner & s )
4 S3 Q. T, T, l& w R
{
' @1 n- r0 W( v9 V, u
#ifdef __WORLDSERVER
% z# [0 X# d4 g8 {8 q8 t
CUser* pUser = (CUser*)s.dwValue;
{/ A! ^7 k" Y% M3 C
g_dpDBClient.SendClearPropose();
6 O4 t2 F: O4 I% ]1 k" F! l9 a
#endif // __WORLDSERVER
6 E+ N0 y* I6 ^: p( k8 E0 V
return TRUE;
9 W4 A1 z. Y3 }1 Q# ? g
}
6 |" n' o0 @9 J
下面插入
4 t' J: V, Y( f; i( v* l/ O
BOOL TextCmd_rebirth( CScanner& scanner )
- d) R$ {/ ^: _: T' v
{
8 G% ?4 i+ A& s# U' ^
#ifdef __WORLDSERVER
+ _- `- L5 _9 w" M, j
CUser *pUser;
- a3 I, H5 I( A
pUser = (CUser*)scanner.dwValue;
3 b8 o! m& L5 h: G; P+ E+ L; S& w
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
/ [( D8 ~" |! X
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
9 ]: D5 ?9 K0 F5 O* y+ p
else
) X8 x! a( A7 i' M3 ]
pUser->AddText("你还未达到重生条件!");
8 x. a3 C2 P' I1 s$ r4 G
#endif
|7 Y: _$ o4 A, r" X9 ^
return TRUE;
. t$ w3 t- I# d8 t* V
}
& g; [% ^! j/ A9 g1 l
' O. O8 j0 b* d
9 f/ ?* H8 _5 }1 v& K, T
. Y3 n+ T" C+ |
" {' X$ U' i: p, I6 I
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2