飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
% v V! J8 o# {: E1 |5 S
, J4 r* A" S/ O! \6 _; [
Mover.h
3 E2 H! S7 M0 ~$ ]9 k( |
代码:
8 C @8 ]4 L3 X9 \5 b; G! X
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
7 V: V) ~- B) N& C! w
1 s3 e4 w5 f! v: O
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
8 u" C1 J, K i- k
6 H! a$ K$ X; G; @$ r6 }, o) J
然后你去mover.cpp添加
M* `: R- ^$ K! R& W7 e
Z* `, z+ q. e. q- \. S
代码:
: E% U- ^$ r; \, g* c
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
/ k/ }: Z' P! s( w! r1 p1 w
{
: B1 _! }% |% O3 M
#ifdef __WORLDSERVER
& t7 }% ]) o; i5 |; z9 q
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( ` j: |3 c$ N6 I
MoverProp* pProp = GetProp();
3 I9 i1 ^2 x! V, ^0 b
if( pProp )
# U) A1 w1 n* z2 o4 Z
{
+ ?( @$ K k2 |
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
* f) Z3 n' O% n* c% k _; @6 }
{
/ [7 J. y1 X+ Q$ {8 ?2 Q
AddChangeJob( nJob );
* O8 h5 L% o5 X e/ W& {1 [* _
}else{
+ h3 o# q. ^, y2 \+ f7 r
return;
1 R4 _* m- P% x& C5 Y
}
0 N }& K# b+ p3 u( P/ F" b
int nPoint = 0;
4 a; d& I, }: I/ p
if( m_nJob == JOB_MERCENARY )
: G/ S; ~( _. k: x8 S% ?. i
nPoint += 40;
. b: v& v3 R4 _: A2 V
else if( m_nJob == JOB_ACROBAT )
/ @, e7 Y8 Z5 U$ O- t& R
nPoint += 50;
: ?, } ]0 C* E6 r1 B; S+ G
else if( m_nJob == JOB_ASSIST )
1 e& R6 {3 @5 u* k$ B
nPoint += 60;
$ p7 X- }* x5 b; H h! e
else if( m_nJob == JOB_MAGICIAN )
- k- l$ j+ z3 o. c7 G z3 u
nPoint += 90;
* {+ Z1 a2 y! @. T% H, l4 s
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
" l& q8 }' N( X! n. B4 N: Q7 ^4 N
nPoint += 120;
6 @; x& L/ P/ B! T; U! X
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
5 n8 C4 V( G4 I+ j) f' M
nPoint += 150;
+ X) J2 b& X. k! g
else if( m_nJob == JOB_RINGMASTER )
( ^2 T' v/ e- w& \ P8 }8 H
nPoint += 160;
6 z2 l% M$ b6 J3 b
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
9 z P: D P$ z7 S' W0 k- }8 i) J3 W
nPoint += 180;
O( Q. _& h7 {# d' ~
else if( m_nJob == JOB_ELEMENTOR )
7 W6 l2 p0 {. A& O( {+ w) [
nPoint += 390;
( x3 w( h+ I) K' r/ }7 P
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
6 Q" _/ f; ?& ~" {
nPoint += 120;
8 h& v. t- q7 j9 b( g
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
# X" T) h# |# j/ C7 g, }3 x
nPoint += 150;
, p: H, Z1 \; g9 B! ~# M
else if( nJob == JOB_FLORIST_HERO )
" G$ N- k1 Y# c6 G0 G: s3 F& p0 `
nPoint += 160;
9 W# S3 f* F% W
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
+ F* A: s$ @) S# \9 \" U0 x
nPoint += 180;
1 k6 l3 V+ U- T3 M3 d2 X
else if( nJob == JOB_ELEMENTORLORD_HERO )
5 y [' ]( A$ X0 s' K0 K( }
nPoint += 390;
) M% Z4 j7 m8 v& w y' x
- n5 W7 d* N3 d
AddSkillPoint( nPoint );
5 c8 M4 k0 E& K4 [0 D/ K
m_nLevel = nLevel;
' i* U* _! V- O; ^! @
: K/ t* e: e k3 M
SetJobLevel( nLevel, nJob );
* X, O/ F5 O p( h
m_nDeathLevel = nLevel;
6 j* \8 K2 R# K3 @* l# _ M
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
5 \) g2 j, n u
if(IsMaster())
" u0 j8 O/ Z* K( @# {; i* Y l, |
{
: [8 s1 ` g7 W' k# }' |
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
5 {4 Q% ^! Z" t, Q: e% V
if( nLevel > 59 && nLevel < 72 )
% K: X7 A2 m5 n8 Q/ \
dwTmpSkLevel = 1;
5 ^& D0 t% } W: ~& K! q
else if( nLevel > 71 && nLevel < 84 )
* X% s: ?. X# o& F2 a1 u8 z; E% |
dwTmpSkLevel = 2;
- J1 q- L1 I6 a5 O
else if( nLevel > 83 && nLevel < 96 )
6 p+ s( H1 S. g$ T0 j
dwTmpSkLevel = 3;
+ }( N5 i- z. g+ ?% g3 p0 ^
else if( nLevel > 95 && nLevel < 108 )
' u7 @3 m# G) g ~7 U
dwTmpSkLevel = 4;
$ J a" |) E$ }; H U
else if( nLevel > 107 && nLevel < 120 )
, M9 R3 {) |) I$ J1 ~
dwTmpSkLevel = 5;
7 i# e' ]# P% D* d2 t! y# J
for( int i = 0; i < MAX_SKILL_JOB; i++ )
! n. G( r- {) o1 G( T
{
! }( `! k3 \4 ~6 t* f$ I3 v
LPSKILL lpSkill = &(m_aJobSkill
);
) \: K/ P3 N) Z% F" I1 U
if( lpSkill && lpSkill->dwSkill != NULL_ID )
" P8 Q6 [' z* [
{
/ E8 {( q! g. n# \" b# ~. \9 g! ]
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
- N' k* |& x0 [' Z5 E
if( pSkillProp == NULL )
$ w5 b9 [! h% a0 g# F
continue;
! U7 J: i6 [( a1 q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" \. _" ?- p; Q$ K& }+ m% t
continue;
8 N; G6 s6 S6 a# Y' @2 S& s
lpSkill->dwLevel = dwTmpSkLevel;
5 z0 ]8 k X/ D: Q# S
}
) ^2 u2 d$ w% r0 T0 j- D
}
1 k5 b$ ]# T' s, N* L
}
/ h6 `. I3 u) T$ h. p9 N( ^& l
else if(IsHero())
" D7 Q P @! X
{
* V2 E7 U" K9 R8 j2 b. d/ {7 s
for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 P# x4 h2 ]! b4 J' ?( L( H* s; P
{
' ] v5 [3 ?8 }" g4 l/ k
LPSKILL lpSkill = &(m_aJobSkill
);
# @( E" h! G! E
if( lpSkill && lpSkill->dwSkill != NULL_ID )
1 |) q' F' T* D
{
i4 f+ r6 y, ^8 R* @, ]
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% k& c+ B' e, P4 Q8 b; _
if( pSkillProp == NULL )
2 _" Z1 z3 `3 J x" f
continue;
% k( @1 ~2 h8 r0 ]2 ~& ~
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# k, d% o. y1 A$ w' P/ S+ P
continue;
( s- B6 C z8 S5 Q3 B
lpSkill->dwLevel = 5;
& F! o4 N e6 j$ `
}
0 Z) z' S( Q. v9 `2 w
}
- L M I* B& ~8 a( m: e/ P% O
}
/ n, |7 c- P& k0 u
else if(IsLegendHero())
8 H! [0 X! E/ H8 _
{
/ `& ]3 [) | J4 j5 c$ M0 d
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% I. g4 B5 w/ w ]
{
f. Q* f( N4 l0 e
LPSKILL lpSkill = &(m_aJobSkill
);
5 v7 m1 u) {5 u5 h* e
if( lpSkill && lpSkill->dwSkill != NULL_ID )
7 z: f+ g6 c! R0 u: i
{
1 ^. z9 ~& U4 l/ q( T" k
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
! Y2 T5 {. F, e1 Z
if( pSkillProp == NULL )
9 @1 j' j1 I$ O, }8 T+ Q
continue;
s2 B: R: c& w
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! u5 U, }. U- o! c6 x
continue;
1 s0 M# f" i% j6 T& k
lpSkill->dwLevel = 5;
6 |1 `6 b7 \7 Z4 Q) P7 [0 @8 H U
}
) q& Z( e5 p, |; w+ L! J
}
+ n5 e7 }. F8 }- r
}
2 ?" o( ?- k {( p& o5 V5 G1 D& p/ m
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
+ q8 k# {: _, N- l `- o* o2 ^2 Q
if( bGamma )
* \4 w) S# R5 H2 d
{
& D' \3 Q* S) @) @ H) v% i
m_nExp1 = 0;
8 a% K: s; P K- ^, e; X/ s8 Y/ b# U
}
$ ?) R8 r3 g0 b; C1 y2 x
2 f5 H1 r5 T8 j- E$ S: f# }
( (CUser*)this )->AddSetChangeJob( nJob );
$ I# U* S/ R7 y4 i @0 e3 k1 w$ ~
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
4 O+ d. b2 d& I {
/ \- k: O% n( t! E
# e1 H# Z2 U0 W4 o- S
#if __VER >= 11 // __SYS_PLAYER_DATA
/ N' ~# l1 I* c( Y" G0 I
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
5 {6 E: `- q$ W9 j
#else // __SYS_PLAYER_DATA
4 Q1 y5 | f- j7 K1 L
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
# ^8 ~+ x5 ~. F
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
, S4 V2 J& u$ } @5 E" W+ t
if( m_idGuild != 0 )
e T$ z/ t* [ b# r- u
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
* K: N' B T% c. s7 r% E
#endif // __SYS_PLAYER_DATA
6 h% I5 M" d0 Q( F. \
SetHitPoint( GetMaxHitPoint() );
- k) y# P9 ~: b" K
SetManaPoint( GetMaxManaPoint() );
6 [/ A3 ^& I0 c8 V
SetFatiguePoint( GetMaxFatiguePoint() );
$ d: u6 V5 e- R& u7 s& U/ @0 ]4 X: B
if( nJob >= 1 && nJob <= 4 )
) x6 |3 l8 A* L2 a% }0 L5 V: Y
{
" ^! Z- y5 E6 l' ~" q
m_nStr = m_nSta = m_nDex = m_nInt = 15;
; @8 P1 f) z' {
m_nRemainGP = 28;
5 j9 m5 d2 R7 _1 e# J/ m y
}
* i7 i! b- d# ?! B' U; Y: Y1 _
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
: Y: i6 b) f7 e: k# \% s9 p1 h, _6 A7 {
{
8 U; X2 U+ c) n
m_nRemainGP = 118;
6 V, s* b( h9 H) N
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
( G) o1 i* s+ w7 Y, Y* A
m_nStr = m_nSta = m_nDex = m_nInt = 15;
7 X; \- Z1 k+ r6 A. b8 |
}
( v1 H8 F& ~$ d% X/ ~5 }# d. H, e: f
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
5 h# W' S" m5 L
{
6 {& ?# h1 ]) \2 c9 K# Q
CItemElem itemelem;
, R5 z2 ~+ \6 ~, G* L4 ?
itemelem.m_nItemNum = 1;
* O: f, \& E9 F( Q
itemelem.m_bCharged = TRUE;
" h- L& f7 M6 b9 O) G% Y9 _0 p
BYTE nID;
# Y' x) d. _' T2 p
" j5 j) B+ ^" F! X9 W
if( nJob == JOB_MENTALIST_HERO )
/ J( `; z2 B0 ?. p
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
; X) H5 ~6 V: C' _ T
if( nJob == JOB_FORCEMASTER_HERO )
- z, `3 J) c$ ?; x5 { X2 J6 N
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
" s' ]7 y& \1 j1 v; X% d2 e
, G* m+ j. y7 J- Z) Y: c' c
( ( CUser*)this)->CreateItem( &itemelem, &nID );
5 R* j) I+ b. a" w b! A
}
4 e5 ?- e6 y+ O
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
4 b v7 E) h P4 C7 c) v
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: R* a4 Q! N0 _; L3 n6 o
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
: z8 J( f& @6 E2 U; m
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
4 f- {5 |) N5 Q4 E. E; g9 ]% R/ K
( (CUser*)this )->AddTaskBar();*/
8 G5 W8 ^, w7 t( q
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
7 c7 _) W3 h5 v) h
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
" [9 F: F# \3 r" x; z
((CUser*)this)->CheckHonorStat();
6 Q, I8 D+ w) |# W, X l
((CUser*)this)->AddHonorListAck();
: p B9 g% }- C; L0 O
g_UserMng.AddHonorTitleChange( this, m_nHonor);
# z- R5 L( N) T5 x& U! a# M
#endif // __HONORABLE_TITLE // ′Tà?
: `2 G* F+ P2 X# n, A. Q
}
" Z+ B t$ M# X% ]6 t, \! n
#endif // __WORLDSERVER
! ?0 J1 o9 o' J8 b& a
}
& J' X& I! R! K3 `8 |: C
, y- B# `! X$ h# a. u3 K' ~' c5 c
然后你进入functextcmd.cpp并添加以下
+ O, n4 P6 y$ u) v- @8 _- O9 N
. T. B. p! R v) Q3 e" F
代码:
1 `1 _* y$ ]0 k* C; O H) g: H# W
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
& B% @$ R c6 b, S8 L% x4 Y+ \7 [ W
下面插入
' j( z+ B5 i- G; n& {
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
, _6 S2 b1 [! f
( S, s; [' i$ E+ Z* J2 N" Z9 t
然后你去
$ I- U& m) Z8 J2 V; E9 A/ E/ e
; R2 T7 W1 m0 ^$ R& p" e
代码:
: @ N$ ?2 b1 S" C, \% Z- N
代码
+ y; ~; Y! F6 M- \; s. ]6 C4 m& R
BOOL TextCmd_ClearPropose( CScanner & s )
0 |# \, g; E& _% Y0 X
{
& f1 z. y* J, a: E q. u
#ifdef __WORLDSERVER
1 C6 j) Z2 A# _3 O( T
CUser* pUser = (CUser*)s.dwValue;
5 d# i3 o/ ^! m! L4 c) ~, O
g_dpDBClient.SendClearPropose();
+ x) A6 _5 g* p, V, M4 A2 q
#endif // __WORLDSERVER
& ~' K3 ` R: S1 a; N5 q% S
return TRUE;
4 y# b" S/ G" `4 o6 L- {
}
3 q1 {6 ]% G7 b2 m. t; j# @3 P
下面插入
( w. u! l, C1 _; a. ~
BOOL TextCmd_rebirth( CScanner& scanner )
! v- F- k( m, D5 a3 s0 }
{
5 p! }- Y0 h5 o4 o1 A
#ifdef __WORLDSERVER
' j1 K# X r9 |, `, o9 V
CUser *pUser;
' x k. E4 e9 X6 X1 v) i5 {
pUser = (CUser*)scanner.dwValue;
/ s% e4 Z: }7 ^! x5 Y# [! k$ j
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
* k1 D9 K% [7 K, |8 D2 _
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
# f: d* T0 |& K9 D1 p
else
- q* t2 x# G8 M U3 }$ u* [
pUser->AddText("你还未达到重生条件!");
. z- Z" R& t3 q+ _+ Y: K" f; H
#endif
+ ?7 R* m* }+ D2 U1 |/ V @+ E" R
return TRUE;
2 k: P7 Q% T6 g) E& h0 B. `
}
; ?2 s/ L& p" Z0 j( E( I5 ]# ?$ |
: l+ c, R& X! m
9 V1 J5 r/ B" z# r. |& O* D+ L
% i4 F, b" |# i6 S/ ~8 ]
- `4 }2 c, C, S9 J
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2