飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
% Q! R, s; v) v* O9 K, H
; r6 l" U- [+ [: G; [" }- c& p. _
Mover.h
1 Y* @5 A; p) s
代码:
4 n" J( C/ q3 `
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
) z K; R, C; M1 I% e
) J3 r5 j% F( C7 i! K+ R% F2 v. Y
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
+ C7 k- d. |) X! L; s* U
) S8 z' y, U1 i/ m
然后你去mover.cpp添加
2 T- w. Z f& D" V9 [9 b r
% h/ }% o' g* E/ B4 W& {1 R, J
代码:
# B" Z2 s. Y" g
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
9 j% }+ g, F6 {0 J. S
{
$ j$ Z0 ?* y9 y6 f, Y+ p) w9 C
#ifdef __WORLDSERVER
4 C9 r9 d2 F" a D
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
8 C E& b! ^0 W1 h7 C( N$ m9 s @& `+ u
MoverProp* pProp = GetProp();
) s7 @# h; U( @/ o6 a
if( pProp )
! p8 {4 V& a% G; R" A
{
+ O! V+ j/ c& K. L9 `( D
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
Q9 s4 c+ W6 Y9 A" S5 }4 |" p5 ]* m
{
6 I7 Z S9 l# l9 F4 u& p( N
AddChangeJob( nJob );
' B( f6 Z5 U+ A6 `6 B
}else{
& h% {+ ~0 i* _$ ]% x; z9 r
return;
G1 _* k D3 ?" P2 p" ~3 }
}
) M+ J( r& x0 m+ h
int nPoint = 0;
& s, k e, K- `( b0 r
if( m_nJob == JOB_MERCENARY )
3 X/ J* a0 `- _; z* O/ [
nPoint += 40;
$ e1 I5 | a A9 @2 S3 V
else if( m_nJob == JOB_ACROBAT )
; x, R7 e( P" c- F2 R1 i1 L2 v0 q! k
nPoint += 50;
) J. @4 k0 ^7 }+ Y0 |
else if( m_nJob == JOB_ASSIST )
# B" A6 J* G) r* U
nPoint += 60;
, {2 J9 K6 T6 c+ i& W
else if( m_nJob == JOB_MAGICIAN )
3 E4 C3 n: B+ W( q( o. j2 v( K/ j
nPoint += 90;
& B. S7 I2 y' z2 R6 E- |
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
: s. C: }! G" {; g
nPoint += 120;
( _/ Y+ ^: z: S; }8 R) c
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
4 @. b5 o! i, C% ^) o2 [; P# d
nPoint += 150;
: H# ^. v2 d6 t0 \1 R
else if( m_nJob == JOB_RINGMASTER )
7 P: f7 ^1 s5 X+ X* E* N5 n U
nPoint += 160;
. Q3 d4 e) `6 T; x
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
+ b. [/ r: o& I/ X, W& |
nPoint += 180;
7 t* M# s3 R J" c
else if( m_nJob == JOB_ELEMENTOR )
1 b8 L Y9 |7 Z7 P
nPoint += 390;
& l* y; q4 Q( \ P
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
3 A: M4 B! F2 J- g$ r* O9 g: P
nPoint += 120;
- V1 E" S! h$ s8 V' D
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
" h( E9 c$ R8 o: G
nPoint += 150;
9 C8 Z% U2 q d/ ^* e
else if( nJob == JOB_FLORIST_HERO )
* U, j' s% n7 |% u
nPoint += 160;
! c/ @2 @0 T, l" m# s# L
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
" z( H0 M3 j% N2 h: u
nPoint += 180;
5 k; V* J0 F J# M3 c
else if( nJob == JOB_ELEMENTORLORD_HERO )
8 p$ C" e2 B0 y1 k% U+ p
nPoint += 390;
0 m. u, U( X7 {! x3 m
* L) w- [6 c- d# D2 Z0 t
AddSkillPoint( nPoint );
- u" O- [0 N7 w1 {: \% S
m_nLevel = nLevel;
' x' w! N: w5 l5 E6 l
" K" T* U g) l; e
SetJobLevel( nLevel, nJob );
3 X; N( L$ |, m# B! y5 e7 @
m_nDeathLevel = nLevel;
, k) z$ |# R+ U
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
" B) h+ w; v8 E* x
if(IsMaster())
+ r& x' z$ N0 E$ y5 }1 t
{
" `1 f/ i. Y0 }: u- y8 x/ q7 c: Y
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
$ {* a4 _6 y* \, n
if( nLevel > 59 && nLevel < 72 )
) @- D, `8 g& O' C% S
dwTmpSkLevel = 1;
5 g' @7 j, Y$ t2 d3 j) m- ?
else if( nLevel > 71 && nLevel < 84 )
- h- k. M* {" t% N
dwTmpSkLevel = 2;
5 P( a- Y) O& z* Q) @! g
else if( nLevel > 83 && nLevel < 96 )
: u- j# B: n0 r5 Q' ?. R
dwTmpSkLevel = 3;
, V! L; h0 _6 K! V; U! I' H& q
else if( nLevel > 95 && nLevel < 108 )
5 p- {) j% A* u$ i5 m. w
dwTmpSkLevel = 4;
$ P0 w- n' S p3 n) G
else if( nLevel > 107 && nLevel < 120 )
+ y3 | Q- G3 F5 ]" o
dwTmpSkLevel = 5;
5 G& f# t1 B8 _' l; I- b
for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 i; t2 W# m$ W F% o
{
$ r/ S5 }2 M+ B- Q5 n6 r) b; t% h0 t
LPSKILL lpSkill = &(m_aJobSkill
);
1 L3 r& A/ |, w5 j# v
if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ U' S$ q( W5 P0 J
{
- {0 b7 R2 Q/ o5 ?3 K
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
' }1 o, m" ~4 T# O- j2 `/ {! ?% H
if( pSkillProp == NULL )
, M3 G# E; b8 ?& Q, b( |. ~/ l
continue;
: c* ?5 m' s+ _. e
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# Q9 b7 j6 I9 C2 y7 c( k8 q& Q7 e
continue;
' V0 J% M" E7 {5 _
lpSkill->dwLevel = dwTmpSkLevel;
/ c) ]" j' [+ v( y
}
; g- I$ u- l' [$ ]
}
9 k7 I" t5 ~" ]. _( T3 A
}
+ y J1 H. O4 M
else if(IsHero())
5 {2 K5 ^! t4 p6 v* y7 p
{
+ L/ X" I/ x; S" f, H9 w) Y* ]
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. f5 Y$ }/ y7 S) ~" K6 h' Z( u
{
. A& \4 Y9 V5 _$ H! X5 @
LPSKILL lpSkill = &(m_aJobSkill
);
# `+ j! v b- L# d2 q4 w
if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ b5 E8 ]# j9 ?5 r
{
7 H' T& ?. ?# R! k; _( l# `
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
" C3 M x; ^) T6 e" o% `1 @
if( pSkillProp == NULL )
- J3 d4 r$ v5 f4 {7 P
continue;
2 F8 k5 j" I1 z! z, l
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! M% N# ^5 i9 O5 N/ r( [
continue;
3 B/ h8 z+ h1 ]3 ^. N# R
lpSkill->dwLevel = 5;
" j. `% p' A, j. B3 I
}
. y# [7 f& c \
}
9 ]) |' s! `5 @4 P$ ]6 M. O
}
. g( ~2 V ~# m2 h# h+ j, F' }8 g
else if(IsLegendHero())
9 ]2 l0 }) }: B
{
% H7 p' t( j" y; K# p+ j# S
for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 i$ O1 O; m5 g- O
{
/ J# G s6 G* x0 d6 [ H- z
LPSKILL lpSkill = &(m_aJobSkill
);
* S) B2 d) v1 l
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% [. K" \" R, @1 F0 u
{
. z+ _( Z9 T9 E; K u4 p8 v9 b
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
+ W* K* X5 i$ j' m3 t
if( pSkillProp == NULL )
- q! V# D1 c+ E" X8 l8 ]
continue;
) g* J- O3 y* j0 i' L
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
% N' l0 U; ]* }& ?8 u6 W
continue;
! ]$ p1 g/ _& i, g& m
lpSkill->dwLevel = 5;
1 \9 h0 ^; h7 P1 J3 i
}
+ S o1 Q9 i! I% ~: ~
}
- U' W3 X+ s. x; \- e, n
}
% Q; M) S, K) a6 f2 y; `
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 }( ?! W8 D) [5 O! U; S; K
if( bGamma )
" S4 i, V1 z* [9 \. ~4 w; `! ^
{
) L7 L9 Q& U/ z. |7 l. N
m_nExp1 = 0;
0 u9 C$ U J' ^# c" T8 ?- K
}
9 @- h5 N; L2 w
9 K. `4 F" ? C
( (CUser*)this )->AddSetChangeJob( nJob );
( e* x. S4 l- V; G, _
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
' F6 @- X9 N) @, w5 x/ t, E0 o
( Z( W5 x8 V( _3 J9 Z' H
& B) [$ Z! R! N# {! X8 y# i( e% _
#if __VER >= 11 // __SYS_PLAYER_DATA
3 n* H* J# N9 N7 G
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 y, p, q( E, q Z. }" O3 O4 y
#else // __SYS_PLAYER_DATA
* J, O6 |" q! W8 z( T( @
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
! z7 ~' F E! @
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
' z5 _$ P+ s- `3 N
if( m_idGuild != 0 )
8 O/ B# A0 v+ j4 B" u4 U
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
/ `# f$ B' s" b0 G2 k( T
#endif // __SYS_PLAYER_DATA
6 r1 F% _6 F% _, V
SetHitPoint( GetMaxHitPoint() );
" K5 V4 R: `; i1 Q
SetManaPoint( GetMaxManaPoint() );
7 k$ F0 i3 w$ G7 p: H! s( N# T
SetFatiguePoint( GetMaxFatiguePoint() );
( |/ }6 [# L3 ~/ @: {, e
if( nJob >= 1 && nJob <= 4 )
1 z! I+ f- r/ |: B9 K$ ]. S
{
6 C: s* c4 h7 v" n& z4 @ [3 o
m_nStr = m_nSta = m_nDex = m_nInt = 15;
- \0 S. W9 ^/ O! v. L, y9 N
m_nRemainGP = 28;
# H5 R0 D0 N T2 U. U5 J
}
: P1 Z; H4 I% h" r& b- e: W
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
0 {% o8 `# N! ?7 x4 f
{
; V" p" h# X% G8 O* L- j
m_nRemainGP = 118;
+ a6 M- F; Y4 m: m: C# {9 S; k) b1 c
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
' R" t# Y) B1 e ]) J% i
m_nStr = m_nSta = m_nDex = m_nInt = 15;
$ n6 p) L: B; @. J% n5 H& T
}
' B8 k2 R+ ^, C0 X! @
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
# u6 X$ h1 d( D f; g( S" \8 r' q
{
7 p1 F: A) |8 y5 {
CItemElem itemelem;
1 @3 G5 {( m$ C& h6 l
itemelem.m_nItemNum = 1;
. G# Q/ K2 g m& o. P" L% o: V
itemelem.m_bCharged = TRUE;
, I) k3 Z u1 ^/ b8 m+ p
BYTE nID;
8 @5 i$ W+ E# O/ b! f: V
/ x; y5 g: S$ T# q7 w+ y
if( nJob == JOB_MENTALIST_HERO )
6 R, x; S% `) A/ S. u4 u( v8 o L4 g* J
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
% r: w& L2 l1 b; ?% C" o
if( nJob == JOB_FORCEMASTER_HERO )
6 m4 A& w8 S4 x
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
, S: }# A6 y# E1 e: c- m) c% _2 S
5 e0 d1 _ K/ Q' Z, K( M+ ?5 d, c
( ( CUser*)this)->CreateItem( &itemelem, &nID );
8 N) G, O& h L& B2 q9 {' Y
}
/ p' U1 r8 T( N% e4 a
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
4 k$ X: P9 m \
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
+ ]& W; t" X' z/ d5 D# p- e1 h) f
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
) c: E1 h& ?4 f8 ] H
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
# K, ]' y9 w1 |. V6 z
( (CUser*)this )->AddTaskBar();*/
6 ~/ Z+ q; p* e& x
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
( x3 A7 p. A: M: ~; ^5 ~. q5 W
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
' w: Q' x/ I; v3 t f P" c" W8 V W
((CUser*)this)->CheckHonorStat();
% H1 E9 h4 U; ]3 A4 ~& k
((CUser*)this)->AddHonorListAck();
6 i& [; ]6 ]8 @
g_UserMng.AddHonorTitleChange( this, m_nHonor);
6 J2 L% g; T6 K) j/ r* r/ W% d
#endif // __HONORABLE_TITLE // ′Tà?
# p) P" p3 G( S- y; }' y$ I1 K
}
* j% G/ h# d) L% J# Y, x9 _7 c
#endif // __WORLDSERVER
1 a0 L/ s6 C1 Z {, b
}
4 L) X/ K) M" \7 k |# O
6 P( `; l2 z2 ~% n- L4 S$ L4 `3 v: \
然后你进入functextcmd.cpp并添加以下
1 Q- L; y& t1 o3 J1 t
( d& I+ i% z2 p% y; Y2 g
代码:
; T3 b G" Q+ r; m2 j
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
& n6 {6 n3 y) R& P* d9 Y
下面插入
' P& R7 Z9 e3 [' V; `
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
4 j# R* z* Q2 R E @# s& l9 }3 Z; T
6 h8 d/ O* ]7 v9 o3 m1 y
然后你去
; g1 P2 g, B# B: F; n3 s# S
( h1 C. O! ^( v, |
代码:
7 u- K, \' M X+ a* t
代码
/ P$ w M! Z0 z. u) o
BOOL TextCmd_ClearPropose( CScanner & s )
0 v/ }/ B3 N" y9 b8 d
{
) V) M4 P; t) I4 T; n5 E
#ifdef __WORLDSERVER
! c+ I/ C* E' j$ @6 I
CUser* pUser = (CUser*)s.dwValue;
& e: z' }: Z$ ?8 y8 z1 B0 z' ^& X) j9 d
g_dpDBClient.SendClearPropose();
7 p! h% p" S* b8 {, L" A: H
#endif // __WORLDSERVER
0 u" l5 q8 S# P' r! D/ |
return TRUE;
3 F/ s& a* g' q& A
}
. c$ Z) e) n3 |! C; o4 _
下面插入
' W9 m( D* V4 t0 w, s
BOOL TextCmd_rebirth( CScanner& scanner )
( N+ @; o+ ]0 J4 D# A0 Y
{
4 ]! ?! r7 O8 _6 C
#ifdef __WORLDSERVER
* S( ^. \9 H0 Z
CUser *pUser;
, U* Y6 w; I. T/ O% K$ U8 O
pUser = (CUser*)scanner.dwValue;
% |) u3 s+ U7 g0 a! t
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
. S/ k# G* A0 z! O- q& A# z
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
1 i9 J: l5 n9 o! _7 W( ]' A. W0 ~! ?
else
2 Y* |3 y- N9 L5 E
pUser->AddText("你还未达到重生条件!");
5 E- `% y% t5 T
#endif
2 I9 G0 Q. V, o3 `8 L
return TRUE;
9 L7 W! _: p" I/ _8 t
}
) e) v/ E0 b7 t' X( f7 k
( b5 \) P& J, C" x& `
( u4 f! {4 ]9 r* v" T6 a' u
( v+ g) e- ~( G; z. S) S
0 j: F; Z# d7 L
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2