飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
1 a& u( ?% e; s; E
: B3 ~- @; E+ o+ n
Mover.h
$ Y2 C. V, n. h6 A3 M0 ^4 O
代码:
" D/ t1 d: h2 y6 C
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
& |! p( h( _5 O8 Y
( V6 q) J9 C. e4 B8 k, P
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
2 O3 D: h6 }/ g$ I9 R F
/ C6 m4 ^' I, v% M/ f( |
然后你去mover.cpp添加
0 H: j( m5 R. X, K* h$ o; n" N
% j0 S3 U0 J+ q3 W: i
代码:
2 L* q: i4 ]0 D. Z
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
8 f# h0 z, a, B3 h8 s/ V1 W, `
{
1 K6 p2 m8 L8 }! c6 T
#ifdef __WORLDSERVER
) T% d) {9 \" h3 Y) Z
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
, a- R' N1 ^$ W1 ?5 P
MoverProp* pProp = GetProp();
3 H) l) R, ~! a# b( r. c6 J
if( pProp )
! |; f3 D$ Q, t! a! e- ?2 v$ B1 G
{
' C+ h2 ~' }: s p: z) X, D
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
. G" i7 j" d! p
{
: a' v7 N0 }; y0 D4 ?6 y* L
AddChangeJob( nJob );
" s1 g' Z3 ^9 v. L* K6 {
}else{
4 i8 Q0 e- A* F/ A2 x: A
return;
/ S I. C% g/ Q
}
7 x4 ]. x1 ?4 J+ V0 ^/ z
int nPoint = 0;
' K6 V9 a5 T" W* ]6 k
if( m_nJob == JOB_MERCENARY )
0 X( b: x" W' z- y6 y3 R
nPoint += 40;
; ?) T% P, V$ R! P, }
else if( m_nJob == JOB_ACROBAT )
1 M2 r. Q9 p2 S7 B$ d1 D; {
nPoint += 50;
8 r! b! F- s6 C& e7 I2 t+ A, k/ Z% M
else if( m_nJob == JOB_ASSIST )
/ r; s$ Q$ g4 V* Z" b+ E; u
nPoint += 60;
1 w2 E8 _8 n4 g! [
else if( m_nJob == JOB_MAGICIAN )
$ M9 m k) E' Y
nPoint += 90;
' e M+ h7 p4 i4 D
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
A% L. s( h+ N7 c% a5 J" w& o" f
nPoint += 120;
2 f6 j; A u* Z2 O/ E
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
7 P( R$ r- U% r7 _5 L4 B- B% r& B$ d
nPoint += 150;
0 b8 }( ] n) |2 W& p* X
else if( m_nJob == JOB_RINGMASTER )
* E6 l: p8 @0 Z/ ]3 a
nPoint += 160;
5 J) @6 |, m7 S7 E% K" B
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
4 y2 K9 d& o+ e) v' z6 @7 o7 J
nPoint += 180;
( ~ M! j( `" w" l$ y9 Z
else if( m_nJob == JOB_ELEMENTOR )
: I: P+ l# F2 j8 W& f6 H% w% ?
nPoint += 390;
: J+ O7 y8 a* d1 f& b
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
- x2 L1 Q. Z$ ^3 c+ @
nPoint += 120;
4 b2 n1 [! P' u9 B7 m5 l
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
# l3 A. B2 _" p0 l' [0 e
nPoint += 150;
& v# U! }! M, y( ]# D& k1 m' A
else if( nJob == JOB_FLORIST_HERO )
1 ]7 h9 S4 l& ~( S8 z
nPoint += 160;
: ?' t: z, V- X* A
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
, [, T" i h) E+ U
nPoint += 180;
( z+ }7 r+ }, z8 z( N# Z8 G
else if( nJob == JOB_ELEMENTORLORD_HERO )
9 y" I' a; n1 b/ `
nPoint += 390;
: n6 k( j! a- N( j; s
5 @! W9 u/ ~' l# y! X/ C
AddSkillPoint( nPoint );
6 l: Y& W( P' y" l, }& c! R1 N
m_nLevel = nLevel;
. V7 d+ ]- d) v+ T0 X
$ B( r7 L5 P0 e6 s
SetJobLevel( nLevel, nJob );
3 f5 [7 j* v5 T3 a
m_nDeathLevel = nLevel;
( T" s# `% p+ Y* v. @, A
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
1 c% M. I( m9 P% v, y+ P; F
if(IsMaster())
, c/ S \8 ?9 z9 Z" O% J' n' B9 D
{
' ]3 ?1 y& t8 G* f4 q/ s* k$ z% m
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
* m: s9 ]) L# O% {. O
if( nLevel > 59 && nLevel < 72 )
. v* x: P* C- L4 I% j7 a" Z
dwTmpSkLevel = 1;
3 V- t. [: S6 b2 d1 r9 I4 @
else if( nLevel > 71 && nLevel < 84 )
' R1 w* F" N* E: f; N
dwTmpSkLevel = 2;
+ h, k) Y* V* M& N1 r4 b
else if( nLevel > 83 && nLevel < 96 )
' | u# J" Z$ g$ q
dwTmpSkLevel = 3;
$ n" c9 T. Q! G- r4 \
else if( nLevel > 95 && nLevel < 108 )
( s- v( |6 A/ a, T& ]) q8 i
dwTmpSkLevel = 4;
9 b h1 D- y; a/ y' ?# o! Q
else if( nLevel > 107 && nLevel < 120 )
- q; U- w- X; f# ~. Y
dwTmpSkLevel = 5;
" x8 _* P* S" A9 r0 j4 r) ?
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 X; s. Z+ o2 c; k) _
{
! X- h6 V3 X. K# i0 S
LPSKILL lpSkill = &(m_aJobSkill
);
0 Y$ n2 l, Y. G( W |
if( lpSkill && lpSkill->dwSkill != NULL_ID )
# h2 i8 j% w7 G9 E0 T: Z7 w$ g
{
5 v5 l" Y$ T) X+ m
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
; M: d; n4 _5 V; s* {
if( pSkillProp == NULL )
/ B! l8 c7 O' Q: t4 c' g$ Q8 v# W
continue;
! q0 B. x) n/ A3 m
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 o2 E% o/ t: F/ h; Y3 i
continue;
8 K; n3 e2 ~( R
lpSkill->dwLevel = dwTmpSkLevel;
, d, q% V q4 Y
}
1 S; Y% q/ _- t6 K' Y7 K; P) ]- G
}
4 q2 Y7 i7 \& N
}
9 |2 G: }7 e9 }* g
else if(IsHero())
4 t! @! }- _6 k. g5 k2 j4 i2 T
{
( V1 i( ^% |8 A9 E# [) Y
for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ z, B" m" g Q; Z( j- Y
{
) S& x' D5 @% o5 z
LPSKILL lpSkill = &(m_aJobSkill
);
4 V$ F3 C: B% x9 j; x, z* {, e1 [2 Z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 x; l3 d ?. E: F
{
: S- t6 ^' W5 A) [: Z: Y# |
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 _/ f9 k/ I( V# n. E
if( pSkillProp == NULL )
. u- o* d$ R1 O0 Y# O7 k* B* c6 [
continue;
+ q1 H: f8 M4 k" t/ k. }& @
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
2 I8 j& Z$ w3 U) `& _, a6 x) A( E7 n
continue;
% P% T& z) X0 I8 O7 S* {- J9 D9 H
lpSkill->dwLevel = 5;
% R0 J0 |! Q; S6 T7 k. h. i
}
1 }2 R' K: n0 ]9 W. Z
}
7 V: F* u C- {( D! q& m+ `
}
' M- @( B4 D0 ^) q) p" S
else if(IsLegendHero())
) F, D3 e! M$ p) m
{
6 k$ B1 y, Z; e3 H0 E3 B
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% Y7 X. A E& `# {; y1 Z
{
0 c$ v1 O6 M9 h/ |0 `1 t
LPSKILL lpSkill = &(m_aJobSkill
);
/ J% D3 i' n5 M: q4 m" t
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' G* C# |) J4 F) Z: n8 K
{
* f- f% P* G8 @; o
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 H3 o) s8 h6 C; n# x
if( pSkillProp == NULL )
2 ^3 h6 _6 X$ A9 q8 {( o3 }
continue;
1 I! Y' S7 r- r
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
/ O8 v# |9 Z7 j: r
continue;
/ Q: E5 T; T1 W# ~7 N1 g# L: H' z. R+ s
lpSkill->dwLevel = 5;
3 ^1 x4 @, K+ F" C- C9 x
}
! c) J9 p( _, Y t" p) Y6 [* N
}
% }: H' T0 ^, Z3 s5 o" y+ c
}
! K( r8 G: o0 f. w0 ^5 }1 f
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
0 J5 d% Q. @4 Q1 D2 s) p
if( bGamma )
% u/ @- T3 G- K
{
( y5 P$ J' n$ m% @4 F
m_nExp1 = 0;
4 U# k" L# f$ O" ~" [' y& E# I
}
( u! j; o( D; M4 h4 @/ j+ j9 ^
. }9 U" \7 o$ H) q
( (CUser*)this )->AddSetChangeJob( nJob );
' i) D* M5 \2 q2 Q2 e h) D
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 R( ]- Z$ d0 i# [+ Q
* ^; l1 J7 r; I6 a+ d3 Y' a
+ ~# p5 r" Y9 C
#if __VER >= 11 // __SYS_PLAYER_DATA
/ u$ ^* L! L! L
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
) j7 Z0 j5 W' a, U9 X
#else // __SYS_PLAYER_DATA
; v- R c" l0 Q0 p/ o2 V1 _
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
' p! m5 e4 Q9 L/ ]
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
# ^( j: V" D& F! X' _# b9 R7 D
if( m_idGuild != 0 )
4 c$ N8 _9 n" G) i
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
6 A8 z7 Z+ Y9 T9 y, L4 P
#endif // __SYS_PLAYER_DATA
$ B2 n; s% L& S4 e4 E3 \$ \7 }
SetHitPoint( GetMaxHitPoint() );
1 o3 A: i& u1 ]8 I) c& l4 h6 K
SetManaPoint( GetMaxManaPoint() );
# f1 t( _5 m/ Q8 ]
SetFatiguePoint( GetMaxFatiguePoint() );
; q5 ~5 B& s( w# ^! T& B
if( nJob >= 1 && nJob <= 4 )
, g6 E0 ^8 F3 a
{
6 _& E+ {2 X- ~7 g0 U
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 M5 h. y+ ^& g+ D, ]2 B
m_nRemainGP = 28;
' v' g# }* b! Z* c
}
" G; K2 P8 @; c) [' d E2 }
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
8 O3 u0 y$ U4 F9 E* N
{
4 K7 i5 V) w; x
m_nRemainGP = 118;
0 q3 A& B5 p% |5 c9 c) k3 Y1 h: Z
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( i' E/ g9 X: n2 t7 K" g4 M
m_nStr = m_nSta = m_nDex = m_nInt = 15;
) |1 e( c6 t$ ?( Z. R2 ~* A
}
8 @5 d4 E4 I8 u8 F8 W
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
/ H/ J; ^6 C' Q6 k5 D: W- \
{
+ X' B" ^5 v0 o
CItemElem itemelem;
* P8 m' c( E8 S9 ^7 L, U( b$ |
itemelem.m_nItemNum = 1;
$ @- I2 M7 z& d4 ~
itemelem.m_bCharged = TRUE;
m; ?) I" R6 ]! ?, t; M
BYTE nID;
2 v$ N& a; x7 @* ~: n6 ?$ B
) i' q+ o! ^4 O% u" e8 l" A
if( nJob == JOB_MENTALIST_HERO )
8 O1 B; s3 A8 ]8 r* v
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
+ k+ X# P/ n3 ] }- @
if( nJob == JOB_FORCEMASTER_HERO )
' r% {4 P6 B2 E. N
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
0 u& f) ]! E F
5 M/ h+ I0 z) N7 ^, i: N
( ( CUser*)this)->CreateItem( &itemelem, &nID );
0 x0 B8 N6 y+ l& X" \; Q( p
}
; T( ]2 Q1 x# K: Z0 H! h
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! U, T% O4 l' G" X* e1 |, {
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
! F" r; s# c$ R4 U( q8 d9 {
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
# S& M0 ]) c; k
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
) k- ^3 d' z" y G2 j
( (CUser*)this )->AddTaskBar();*/
/ j( v# W$ X9 {% ~% U
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
3 R# G6 j j9 U) ^% w$ M& y
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
% A+ D0 t2 x- P" @0 D$ S
((CUser*)this)->CheckHonorStat();
- |6 B* a- d/ p# o3 l
((CUser*)this)->AddHonorListAck();
7 k. f8 j( L' S. S# [; m& A
g_UserMng.AddHonorTitleChange( this, m_nHonor);
A3 x( N( b9 Z' i0 @
#endif // __HONORABLE_TITLE // ′Tà?
% L e4 ^' a6 l* `/ I7 Q% ~( A
}
9 s! Z% I# Y x' C7 V d
#endif // __WORLDSERVER
& h+ Y! U: q" \" `
}
$ _: m' g% ^" m, o1 O3 q% ?" ~
* _9 f1 I3 ^# J+ A( j. z h% o
然后你进入functextcmd.cpp并添加以下
% m+ g7 u3 [; u0 H4 u
9 h8 ?1 h1 O( G. Y& G) b. J
代码:
' v# ?9 J6 n- ]& d# j" K
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 z$ i8 }0 D" w: l1 i8 h9 |
下面插入
6 |9 t6 l8 p9 n+ b" c
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
1 F3 o0 N4 J {9 k$ f
, ~$ y' d! w Z O/ z* M! A0 f
然后你去
2 c. Y* p2 c$ w. N, X9 v
1 R+ L$ R5 v7 x
代码:
5 S% {! y0 g; a1 y. T% W
代码
. K6 C o6 j `1 w! }) Q. M! l
BOOL TextCmd_ClearPropose( CScanner & s )
$ R: `/ {9 n" U* B% }
{
) o) t4 Y( d2 P4 P2 W
#ifdef __WORLDSERVER
0 n2 T- ?" E* `" j
CUser* pUser = (CUser*)s.dwValue;
: t- D4 Z) U4 Y8 C, \
g_dpDBClient.SendClearPropose();
, a2 v# W* Y X0 H5 U( y8 D& s# z
#endif // __WORLDSERVER
, ~# Y: `; j& X' `+ P. ?
return TRUE;
. M( Q9 K5 @& T' y6 Y4 ]
}
; h+ G1 L, V) j
下面插入
1 F1 P0 A i& k- [
BOOL TextCmd_rebirth( CScanner& scanner )
+ q5 B2 T, w* O6 P6 r
{
* B( u; `) t y/ J& D/ b1 o2 ?# a
#ifdef __WORLDSERVER
4 i8 }6 H5 P6 E. }
CUser *pUser;
+ Z! n' b+ D) I6 K3 C/ V( |+ f
pUser = (CUser*)scanner.dwValue;
- p5 y/ c; f1 m, d1 |* G
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
/ \/ x! }# \) G+ e
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
3 j% _; @4 f$ n$ K- ~6 J; O
else
3 ~0 I: N+ X5 P1 g3 q% a3 B
pUser->AddText("你还未达到重生条件!");
" o8 I; n$ o& I
#endif
7 F5 O* _# o; R# ^) w
return TRUE;
/ G- p$ t) t" W$ l+ P/ `
}
8 z: b5 \; C( K5 N# L! q
' E- i$ i: v* e: ` I G
( I: e1 _. j( q, l, b5 Q0 C
0 A! \1 v3 B0 p* y' q: [7 O" n
; C; V" ?5 X$ A; r1 \ A' e
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2