飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
- o2 [" j8 ]% L
8 J5 D) @& a" ]; m5 W
Mover.h
* H6 @$ w% G3 O- f# y4 \; V
代码:
7 b5 g- j2 O0 m: x* d0 @$ v" D [
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
, z! y4 F# b0 ^1 t" Z% C
% O$ M N( p# }: y# n2 N! Q
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
1 m8 P0 u: E6 F
+ ]# ~; u+ r7 V$ ^- g
然后你去mover.cpp添加
9 H) k" H3 v2 h* G- a5 ]
/ h" h! Y0 Y6 Y9 q4 M" s7 ^
代码:
0 r6 ^7 k' R/ V+ J3 z
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
9 Y* n" J7 J8 S3 A% _# S1 r
{
7 P5 e" P! ^+ o8 F: L5 O
#ifdef __WORLDSERVER
9 o! q( v3 a- W4 z# M6 N. j- t' V
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
4 S) k7 E4 |: p4 X9 `6 _
MoverProp* pProp = GetProp();
( d+ v) ~/ x- Q& a2 w: N6 Y6 a
if( pProp )
7 ?7 a( }9 u, P2 m6 G
{
; `+ r! Y! E* v" o+ Y* Y
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
& p; h8 I7 |! c T2 k
{
# F# H. L; K u! Y; W n
AddChangeJob( nJob );
! y2 c4 v1 p6 [
}else{
8 O% E R) c9 ^3 T5 o
return;
- c$ t( w& l7 R4 I& b) Q( a
}
4 [4 ?# l+ M1 D9 ~9 ~, s
int nPoint = 0;
7 n& O8 |8 G$ F; B) J
if( m_nJob == JOB_MERCENARY )
f! o) z' h7 R6 c
nPoint += 40;
0 d- ~5 G" Z7 R0 _7 e
else if( m_nJob == JOB_ACROBAT )
* }6 ]- M/ U" B1 ?
nPoint += 50;
2 P) \& H, W g. f5 a# J# W* w U
else if( m_nJob == JOB_ASSIST )
+ I N' _6 |$ E
nPoint += 60;
+ U& l' G1 z" A$ `$ I
else if( m_nJob == JOB_MAGICIAN )
8 V x X \- k* I# s4 y$ c" ?& _ \
nPoint += 90;
0 Y' X. Z7 [: L* L0 s
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
( l- u2 {5 `/ p) r+ @- u, j
nPoint += 120;
2 d1 O3 L5 C. O |1 A3 ` s5 n' r
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
# _/ z5 g1 t1 b/ M( R& c6 r
nPoint += 150;
; k: l6 n$ q: U, i0 n' w& p+ x
else if( m_nJob == JOB_RINGMASTER )
. m! B0 o( C Y+ j! A- i1 A8 v( A
nPoint += 160;
0 |4 o. ?- R4 W; |# i" M P
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
! ^8 G v2 v/ M3 c' s6 ]
nPoint += 180;
% p6 z3 D( ], K7 M% D/ @6 i
else if( m_nJob == JOB_ELEMENTOR )
9 _& S7 D" K n& [& O5 P5 b
nPoint += 390;
4 {- E+ [8 {& K$ b B. k& c K
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
; U$ s' j0 y4 W9 K# Y+ f
nPoint += 120;
, D5 W; _2 d. A+ H
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
/ ]$ i% s$ V# A) @' E
nPoint += 150;
8 N7 F% ?7 l* r' q4 z
else if( nJob == JOB_FLORIST_HERO )
) [" d9 u$ P$ |: `% R- |7 B
nPoint += 160;
& R# w2 E% n% w0 W+ T
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
: W4 Z0 d, k. C0 ], ]# u7 E
nPoint += 180;
2 r5 t- k* }% j# H
else if( nJob == JOB_ELEMENTORLORD_HERO )
9 }; l, j5 ]$ V
nPoint += 390;
" M! n1 O4 z$ ~1 E% g7 \& k% t, ?
) @/ w( b1 ?6 |2 t
AddSkillPoint( nPoint );
/ _. r/ Q6 k! F& U/ q2 v' F
m_nLevel = nLevel;
% }$ b5 E2 {" J: O2 T
; X% f0 `0 m( {- S2 s( c3 ]
SetJobLevel( nLevel, nJob );
; d& R _# ]: Q5 t5 i% n
m_nDeathLevel = nLevel;
" g& ~- `# q/ m+ C' Y5 c) t* O
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
8 V7 R3 s3 x+ T' @* ]+ [
if(IsMaster())
4 \9 H4 M1 r. F! U
{
) {! H4 W$ ]. E' u. O0 _
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
T+ g; M7 l. A: }6 a
if( nLevel > 59 && nLevel < 72 )
# W* D- C% y5 @4 L7 o. z, [; T
dwTmpSkLevel = 1;
" U0 K0 b# j+ F
else if( nLevel > 71 && nLevel < 84 )
" {) r6 F: @5 [
dwTmpSkLevel = 2;
' P' q9 v: |& U
else if( nLevel > 83 && nLevel < 96 )
* k6 O- N, `. W% c
dwTmpSkLevel = 3;
$ }& o9 K9 j+ r g. b& N& L* Q
else if( nLevel > 95 && nLevel < 108 )
; o; G; Q/ W1 k6 P
dwTmpSkLevel = 4;
' H& \; P. B& ?( R' Q9 B: A
else if( nLevel > 107 && nLevel < 120 )
' X; B! I9 v+ [" T: c
dwTmpSkLevel = 5;
5 d n6 V$ o( W5 |1 G0 t' W
for( int i = 0; i < MAX_SKILL_JOB; i++ )
# n/ K9 P& Q7 @ C, Q
{
/ [3 `- s" \( M8 D
LPSKILL lpSkill = &(m_aJobSkill
);
9 u. Q- i" S1 E: ?; X$ ]
if( lpSkill && lpSkill->dwSkill != NULL_ID )
1 w: A, r# e& C
{
) m1 i: b+ S p" d+ z7 l2 z
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
# H4 k/ R3 k1 D5 N6 p* O
if( pSkillProp == NULL )
7 x+ X% C n' }( b* w( Y# m9 D
continue;
' `' z2 g1 h M/ T/ @" Q2 o4 p" x# [
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 f4 d/ L4 C0 M3 k$ D
continue;
* `/ z: H' O+ @- a" h' G
lpSkill->dwLevel = dwTmpSkLevel;
1 i5 E$ c* _' h! L
}
1 i5 T. b% Q$ N2 ?- {
}
3 k: ?" [6 p O+ l
}
* k# j1 M& i% X% h
else if(IsHero())
? E% H! i: H
{
& k8 K" V1 v( u I$ E' t+ `
for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 T( k9 c% C3 ]0 K- C
{
) ?7 O# I6 x3 y. I) C3 y
LPSKILL lpSkill = &(m_aJobSkill
);
$ g- j* Z4 u# f/ Z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
% R3 J. V. b% Y% @% O8 ?) k
{
( H& M% h$ ]9 }1 C
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
& k, ]2 Q6 o3 W) J) J( U: y8 B1 |
if( pSkillProp == NULL )
* P7 }) G* h1 E) B5 g+ p
continue;
8 R2 m G; _: e
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( X* E9 T2 J# A' ^$ l
continue;
_# \$ k f8 o1 o! w' J
lpSkill->dwLevel = 5;
1 {* c, P7 R5 |) x4 O/ l; w$ o
}
, m5 a& B& _( c# K6 A x+ Z3 C
}
$ V7 j+ W# H7 _2 t: O
}
" R5 L7 }" \1 g% V( f# i
else if(IsLegendHero())
* ~( O% I) A$ Y+ E8 O
{
2 d, K8 n) U0 m5 T& d
for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 v1 ~+ u% c% p) O) _' A
{
! j, B( G- J5 _2 l, e. }
LPSKILL lpSkill = &(m_aJobSkill
);
7 T$ a7 O2 f' ~* y
if( lpSkill && lpSkill->dwSkill != NULL_ID )
( W! e/ x2 ]4 F% a* z
{
A P% i9 T5 ~' n7 J) D; T0 _( C
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
) l. t) L- ^4 G' h; |* f
if( pSkillProp == NULL )
" H) s% t# W* R$ ?; \3 c0 p$ K& R
continue;
: \# [, N* r: p+ _8 N, B
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
% N& D# `3 C: S& v# o' Z1 Q+ W# U# F
continue;
3 r K X0 C, D, g9 h) s
lpSkill->dwLevel = 5;
g0 {' e- R6 y8 _$ y
}
. z1 C& H8 h: c ]) B8 m3 Z
}
7 j) V: T( P) X
}
" o& V( ^9 G, U- v
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
+ m+ Z4 _( f& a7 B! S* s, S- h* Y
if( bGamma )
7 O' i! h2 G: B
{
: J( s/ \4 D. W7 o v
m_nExp1 = 0;
9 W4 @! O" t- ^- z5 ]! b
}
9 Q6 @* i2 H/ W) K! k8 T
$ N+ q' P6 Q# x* `' j. w
( (CUser*)this )->AddSetChangeJob( nJob );
6 D9 Z R* X: r( z5 e
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 \! d1 b! y- g9 E- E
" C0 O6 i0 `! V( P4 g
' a3 b8 ^: n, _: ]. R
#if __VER >= 11 // __SYS_PLAYER_DATA
$ I, C* b8 x4 Z% d8 g! d
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 L" n5 U' C& X& V# B
#else // __SYS_PLAYER_DATA
8 h* h1 I/ i( H: r; O) T/ ~" N
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
7 {+ M* t, k B9 q# b
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
9 O6 K) P" [6 o! }0 n* ?
if( m_idGuild != 0 )
& J z5 U1 \! ?7 L6 U0 ]
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
1 \5 t5 E* k3 `* I# J
#endif // __SYS_PLAYER_DATA
5 c6 y9 S; P: I6 f
SetHitPoint( GetMaxHitPoint() );
% H E8 \5 q: T( L" Q7 k
SetManaPoint( GetMaxManaPoint() );
) W$ h( c9 \! z) _" n% D
SetFatiguePoint( GetMaxFatiguePoint() );
3 h9 c$ P7 ~6 p& U; E
if( nJob >= 1 && nJob <= 4 )
7 F7 X0 X. I# R s' U' d+ S) P" V* l
{
+ m- Y, ~0 @/ f% H+ P
m_nStr = m_nSta = m_nDex = m_nInt = 15;
1 p7 W. Q: [% m3 }
m_nRemainGP = 28;
$ j4 J8 w7 e L% s
}
: v Y: a6 R: X, t
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
7 B' z# h5 @/ c) G7 `6 R
{
8 R A* }8 M+ H5 ]; X& n: j( p+ j
m_nRemainGP = 118;
- y2 C7 D, y$ f2 f* H
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
# q9 h- |0 k. n
m_nStr = m_nSta = m_nDex = m_nInt = 15;
- C6 V m! m" ~0 _
}
6 F6 M& q1 ]3 v
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
5 X# p( C; s& J0 `
{
5 J7 W( ]' p. C1 S! S3 n
CItemElem itemelem;
: @4 M: r$ m& N
itemelem.m_nItemNum = 1;
" Y7 }* \2 M3 L5 b7 |- T8 q' ?
itemelem.m_bCharged = TRUE;
4 t- l! @0 y! u5 @, z L
BYTE nID;
. y6 I* f7 _0 R3 x- P6 z
# Q- N9 r) ^% V
if( nJob == JOB_MENTALIST_HERO )
5 X3 I+ H) x4 b2 g6 @% R
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
2 r, ?4 A1 a; p2 }
if( nJob == JOB_FORCEMASTER_HERO )
# q! l# N; E' F( A
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
) ~- u/ T B/ W n4 K4 u
. s1 c/ \+ z* K2 T( ]" i* p
( ( CUser*)this)->CreateItem( &itemelem, &nID );
1 u3 Z3 t- W- A; y M: g/ O Q
}
6 i+ g* |* t8 P
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
0 Z, M3 C, `1 L4 [0 w# n
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
# E8 P+ y; |0 [- j6 }% p1 A
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
* ^, ~. p8 \% x$ O7 J' @
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
# A" c) L1 ]+ r1 X* d
( (CUser*)this )->AddTaskBar();*/
6 g" U4 I/ G/ k) Q
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
! R: `" E# F) n6 _8 A% U2 ^8 D
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
, V0 i/ ^+ ]/ D/ T7 }- }' ]4 K
((CUser*)this)->CheckHonorStat();
: g: J. q( I( d+ B9 p& J
((CUser*)this)->AddHonorListAck();
* w4 X* h2 \3 A, [5 a" ?5 r2 r
g_UserMng.AddHonorTitleChange( this, m_nHonor);
* k+ W" f, A4 t, h0 ?/ N
#endif // __HONORABLE_TITLE // ′Tà?
8 H% t4 \( W* h& j; @/ a/ H" W
}
% }, `, i& y$ {7 e/ E6 ]% ^' b
#endif // __WORLDSERVER
6 g) z: n1 y" n7 s+ d0 ^- f$ R
}
! S- I# R3 `, s" U
1 O1 j. p* \) X
然后你进入functextcmd.cpp并添加以下
5 Z" T; C& o1 g- D
% [" q3 M/ _- f) V8 x; v: p
代码:
% G) m1 J7 D9 z/ G7 v2 ]0 w
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 J* h4 y9 Q/ a! h c& |# Z
下面插入
~) W. o7 v* w/ n) F; e& s
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
$ e" [. r! y/ Y" j* l3 j; p% ]8 @1 i
" Q: ]) I4 L- e9 S+ s a
然后你去
( p/ }9 {2 u2 v% R1 `9 i
, v+ a9 @ L9 D% j4 v& V" M: Y: }
代码:
* @1 L; i8 W' R6 d5 R \( U
代码
d- m9 R9 w; [$ a
BOOL TextCmd_ClearPropose( CScanner & s )
; O, W8 O: w+ O6 [" \" A
{
" @& N5 @: w/ F t# n: c1 N
#ifdef __WORLDSERVER
" D" O' {. N- w+ C& Q
CUser* pUser = (CUser*)s.dwValue;
y' c# `- V8 Z+ U) i# W" n
g_dpDBClient.SendClearPropose();
+ M" d( v$ \! l) H5 Z
#endif // __WORLDSERVER
, o9 l/ T6 D: R8 @, ^ K
return TRUE;
' d0 h g% g' p+ o* t
}
4 A4 D8 {2 v) p
下面插入
4 D; x0 ^1 H) j3 H# c) j' ?
BOOL TextCmd_rebirth( CScanner& scanner )
- y/ \3 W5 S$ [7 K f( a8 ]9 f
{
: R! f& v+ I# D* O) G
#ifdef __WORLDSERVER
% x5 ~. i5 H7 ]6 ^# n
CUser *pUser;
7 Y j# c' q4 t" q3 r1 K
pUser = (CUser*)scanner.dwValue;
9 P9 G; I' `6 _( y4 S
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
; e9 p9 v0 [1 I+ R! t( z* F' T
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
( K3 ^& ?8 q4 C3 w/ _" ^' D
else
' ^. M& r% P( @( [7 Y
pUser->AddText("你还未达到重生条件!");
2 S: U$ i, r- f. _5 v% Y( _8 ]# ^
#endif
4 x, S. k. F. e, c- a Z
return TRUE;
+ l9 a3 Z* o& x- q
}
! c+ ^' l6 l$ q0 F" w' M2 P% z
$ Z/ ?$ Z2 I' O) v2 _, {' E
5 ^3 j1 Q2 P, c. d: Y1 R* o1 A
; U# e+ _% F- f4 P
9 t) C. j1 H" t" A6 F
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2