飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
, o( ` M. O6 f- _2 C
/ y- [( O" c: n/ l3 z) q$ D/ C
Mover.h
, J) g2 R* v% N e$ n% G
代码:
( H$ w$ O$ E" ?, E" u1 G* c& z4 }
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
" j9 @5 \/ g3 x7 O9 k/ Z# Z) M" k
6 p; E7 r- `0 [* V' J
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
$ i; {9 _; P5 [ R! ~2 m
! g5 c( j% R. J6 `- `; F6 U1 }
然后你去mover.cpp添加
* v6 l* B8 X" a3 {! F' V
: d8 ?8 v, h5 U
代码:
( T! y4 {# c2 C; f" `- C; F
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
. a. }7 u( A! ~% X
{
7 i& b& r4 f5 }3 u
#ifdef __WORLDSERVER
6 u8 W1 _( m; N |( U! g
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
% L- ?8 ~/ Q( }' F0 G
MoverProp* pProp = GetProp();
$ ~' o! @4 Y! r1 F- T& l
if( pProp )
8 y- ?" `- A+ B
{
" E$ e: w" V8 `& D# w
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
: C$ m( w- { W7 e4 R
{
! ?, D* H5 {( e8 p" N r
AddChangeJob( nJob );
6 x, O# N N& c: b/ k7 i n: Q5 u
}else{
# R( P' p! r2 d; {
return;
6 q! f9 V) F1 J2 e; z
}
6 m6 v: Y7 |% `. \0 U
int nPoint = 0;
! _: g0 P3 P% K/ i
if( m_nJob == JOB_MERCENARY )
5 s& n3 P4 X! _ o% n
nPoint += 40;
; J$ E: l' g, v5 o0 a. K
else if( m_nJob == JOB_ACROBAT )
9 m: h: _. ~) L. \2 V! n! g
nPoint += 50;
7 c+ K1 }- n$ W6 ]1 m
else if( m_nJob == JOB_ASSIST )
' p! C8 `* Z- h$ G
nPoint += 60;
- f+ i/ J4 e; K( n" v: s6 I
else if( m_nJob == JOB_MAGICIAN )
) G+ z- Q O( V9 f
nPoint += 90;
& U; t$ p3 b( W r
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
/ [' n- I" L4 d6 R8 P T2 Y
nPoint += 120;
6 j5 c9 s; K" i Q1 h0 C" [6 t. \
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
8 u D( c1 Y8 L# {
nPoint += 150;
& c& [1 u/ s0 X9 O7 `2 S/ ~
else if( m_nJob == JOB_RINGMASTER )
$ e, ?# X4 t2 L; F2 I
nPoint += 160;
* S3 z# B: O7 l3 M! d
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
* J: k9 {# S- j! w
nPoint += 180;
2 d' O/ ^; m: u* s7 P7 G/ `* B
else if( m_nJob == JOB_ELEMENTOR )
; q; v* I9 y4 V- o. D
nPoint += 390;
6 T0 G- R" ^! y6 w6 q
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
1 G/ V; c1 U# u1 l
nPoint += 120;
- C5 j5 X) D. F% _" A
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
+ g' X& Y6 O: q0 T4 J! w7 E4 |
nPoint += 150;
2 e% n9 s* h8 |( m
else if( nJob == JOB_FLORIST_HERO )
" r: U7 X. T. ?7 u; l d
nPoint += 160;
' y8 D8 k# c5 L$ k) a V
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
6 C5 {- B3 A2 k& L4 B2 V
nPoint += 180;
/ W; y: L0 i7 l3 E! ^ c5 S" i
else if( nJob == JOB_ELEMENTORLORD_HERO )
1 l) M7 `% t7 {8 n% }" Q
nPoint += 390;
- j# D9 }; E, t4 ?7 j
4 ?" a7 b# o. x( J2 a: {+ Y* X
AddSkillPoint( nPoint );
/ _0 q" N7 \3 V
m_nLevel = nLevel;
& N& b. p0 ^ ~; O
. k8 D8 G R; l8 A* U+ s
SetJobLevel( nLevel, nJob );
" Z( I5 [8 H3 @0 Z1 X1 }: d
m_nDeathLevel = nLevel;
% U O6 y) ?* X
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
/ N3 S9 I9 p/ ]( D
if(IsMaster())
7 l' N/ {% t+ g2 {) F, l# C
{
! h, D$ B* K- h- Z& J- H
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
" x+ r: C: O; W, I' M' \
if( nLevel > 59 && nLevel < 72 )
+ R! W/ o0 X; x
dwTmpSkLevel = 1;
+ D+ e6 d3 e" H/ R3 M9 X, [
else if( nLevel > 71 && nLevel < 84 )
+ _5 Q! C& V0 G4 j4 t
dwTmpSkLevel = 2;
( I0 Q" Z8 q, L9 h, V9 l1 ~
else if( nLevel > 83 && nLevel < 96 )
9 _3 C# `7 ?/ w% ~$ o+ {( |/ P. ^
dwTmpSkLevel = 3;
; v3 J% i9 J9 q9 z# B9 N$ t9 B
else if( nLevel > 95 && nLevel < 108 )
7 D6 K: A# J0 e3 B$ d
dwTmpSkLevel = 4;
1 R% x6 l4 ?" `! Y
else if( nLevel > 107 && nLevel < 120 )
$ M, E6 t' u2 X8 X7 d& s
dwTmpSkLevel = 5;
8 [/ _! ? l0 o/ _& a4 ?5 V
for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ ]) S7 ] v! ]% }" q
{
: n( S5 H- _5 ~ _# E
LPSKILL lpSkill = &(m_aJobSkill
);
3 G: E% e7 s7 S( ~' l4 _% ?
if( lpSkill && lpSkill->dwSkill != NULL_ID )
& ?9 @4 k: G3 o3 T0 j
{
, v. h. h$ e& c+ H
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
! R3 u" ~- L: f8 L4 s/ H6 M$ O
if( pSkillProp == NULL )
8 C- E& v- p- _- w r8 q9 Z [" E
continue;
& E M0 [9 H+ R+ w' l( o
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 ~3 h$ ]1 H# X% m
continue;
5 b9 N' w, [/ M9 b, n
lpSkill->dwLevel = dwTmpSkLevel;
8 [& J u, ^4 |, z! T4 T
}
# S" k/ d1 n, ~! I1 P
}
: r: \$ f4 r# S
}
+ {$ z: D' M2 | Y) D& s1 j7 s
else if(IsHero())
, k) |7 t( q/ q* j* Y- t
{
* a8 S/ y- U6 J. u s6 [* A
for( int i = 0; i < MAX_SKILL_JOB; i++ )
; P3 j$ ^/ |+ U$ J" M: G
{
! a" c& [/ L- @: a" s6 p. t6 s* o
LPSKILL lpSkill = &(m_aJobSkill
);
# n* }* Z8 {# |5 `5 n l9 z
if( lpSkill && lpSkill->dwSkill != NULL_ID )
8 ^/ A; _! T$ M0 N4 A
{
3 P. H8 ?- m. ^: y) n
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
- [9 `& P6 ?# \& {+ ^( | J# w
if( pSkillProp == NULL )
: Y3 q' ]* F& `7 Q+ |8 A, D |
continue;
, T1 y5 A! o3 l" ?& p, J$ N
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
% | k0 [$ v' ~% _
continue;
* f' m' M/ x- [$ t
lpSkill->dwLevel = 5;
+ e7 a, M& J& I/ h3 W6 t3 u2 }
}
+ ?. C7 O, S) s
}
' ^& S4 r( Y) H' k
}
+ l5 }* H! P: r
else if(IsLegendHero())
% @* l+ [6 i* L% v2 e1 M- K
{
. F* z( ^7 N4 }
for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ L! Y3 ~5 w3 F. U8 s, d9 R4 R. F
{
9 s/ R7 f! N+ Y
LPSKILL lpSkill = &(m_aJobSkill
);
& T, N: E/ r* Y: y& ~8 t: G. X" u
if( lpSkill && lpSkill->dwSkill != NULL_ID )
N w" G* B" d6 s
{
& [! J; R! \( q7 q9 ]2 t
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
4 q% z# Q& Q, o& f) \8 I3 b0 f
if( pSkillProp == NULL )
4 `+ ?% `( Y2 z* E+ A
continue;
& c7 d* f7 Y5 _: M
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; p- Q" ?/ G# M) \8 Y: X* U
continue;
9 g9 t1 m6 X+ a# |) I9 K7 x. @) Y
lpSkill->dwLevel = 5;
6 c8 V: A/ C- e, l+ F
}
) W- d5 h" D u; M9 k/ N4 ?
}
$ L8 S8 y7 c* T( B
}
- N+ l8 x5 Z/ H: l. B# V
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 A ?1 x( k+ h/ f" l" ~$ A- K
if( bGamma )
% }1 d( E: D& U( P8 X# |, S
{
+ f7 V% T- `, x
m_nExp1 = 0;
1 @4 [; s! ^+ m% [/ y
}
5 c2 M& @& T' u1 g" V" B
6 e/ u9 j% H/ k5 H r
( (CUser*)this )->AddSetChangeJob( nJob );
3 J" J# q! j7 f! n- E. T
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
5 v, t7 U+ @* s& O! @1 {0 H
4 E4 X4 d9 \0 c1 Q
8 ~3 {5 J, Q, p* k$ J" R
#if __VER >= 11 // __SYS_PLAYER_DATA
4 g9 M( d$ n; R' e/ @- Z/ C0 a( t
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
7 I6 C+ c$ U6 H& `
#else // __SYS_PLAYER_DATA
) H, i* T( f! N, }0 i8 g
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
" g5 ^2 c( l+ I6 ^2 ?! D0 e! z
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
6 T, A" L& c; Q7 W
if( m_idGuild != 0 )
`& y: C! @% s
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
' J8 n, J+ g/ V2 x3 r
#endif // __SYS_PLAYER_DATA
4 W$ f6 x: {/ k! v
SetHitPoint( GetMaxHitPoint() );
& w6 J7 I. v% m N" e6 G4 ~
SetManaPoint( GetMaxManaPoint() );
# A# H' R. ^1 s' _) f
SetFatiguePoint( GetMaxFatiguePoint() );
) Y9 Y2 O0 |. }1 n- M; u: t% u
if( nJob >= 1 && nJob <= 4 )
, a6 _& q0 ^1 A
{
4 a) J' ]# o$ S |: n
m_nStr = m_nSta = m_nDex = m_nInt = 15;
( E+ w7 [# B6 O' D0 y6 U. c
m_nRemainGP = 28;
8 O, O+ R: Q3 k0 A
}
3 Q- r; a2 v# G( Z1 z
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
2 A6 Z1 i# |% h4 D) {$ K
{
8 U( E( h% P3 |
m_nRemainGP = 118;
7 p6 z$ ^4 N* {0 r1 B
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
f# g6 z9 r! H/ G
m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 n8 F1 T }2 L2 @, m3 ]
}
4 n/ L) B+ F8 g
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
+ _8 q2 ], G6 X0 b! ]3 _
{
. V5 U$ M. }( [2 ~
CItemElem itemelem;
# z; O* r" M7 V$ U" w; M
itemelem.m_nItemNum = 1;
, @/ ?- e% s/ l M
itemelem.m_bCharged = TRUE;
7 [1 o* F3 _: k1 B
BYTE nID;
5 T! s0 R! V O: ]& m% ^0 W5 j
0 N: c$ u- x& Y! ?
if( nJob == JOB_MENTALIST_HERO )
: [5 L7 l. D* P: X$ M8 b
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
7 `. ^! }' v) x" @9 ]2 v0 ^, _+ B
if( nJob == JOB_FORCEMASTER_HERO )
8 A1 w* t8 v" ?! r8 {' S9 f
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
: V j; H( A7 f b
8 M* ?3 O2 g- F! O) V3 h
( ( CUser*)this)->CreateItem( &itemelem, &nID );
+ [! ?. m. V: Q3 Y$ }
}
6 I. F0 M- l; u7 W( b/ o
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
k1 A8 m( ~$ _0 j& u
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
2 c2 T5 ]/ N+ u7 @0 b% }: O! L% i
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
% v# R3 I* w' l0 A8 x; Z4 A+ ~
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
* Z0 |" M9 F9 B Z0 p3 K
( (CUser*)this )->AddTaskBar();*/
. W1 E' h C4 T0 Y' ~1 |# p
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
/ m( \! t+ m1 {5 S$ w5 ~* n" j
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
% ~- Y6 C4 I! O. k. F1 @
((CUser*)this)->CheckHonorStat();
0 M+ h* T' `8 U
((CUser*)this)->AddHonorListAck();
A/ ]/ Q% C6 ]6 q+ n( i
g_UserMng.AddHonorTitleChange( this, m_nHonor);
4 |3 b4 p7 _9 K
#endif // __HONORABLE_TITLE // ′Tà?
# c" X) w$ P9 @& a$ }
}
* {9 E' K- W, G7 q& y; G
#endif // __WORLDSERVER
! X' }2 s' e- K" u
}
: M6 R+ W. z3 s t+ O
s; ?, O- L1 v# {/ h* M8 Q
然后你进入functextcmd.cpp并添加以下
8 g ]4 V- a9 j+ Z+ s6 d4 ]
( W2 x) Y$ X: `
代码:
N& a' ]; z% L, u
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
2 m- \- s+ C. B
下面插入
h/ g1 _" Z" L7 C( L
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
: n2 ]; M, ?* \, M1 B
* T8 M6 K1 i8 F4 C
然后你去
6 W, M' p( S, l5 J5 D8 N# y
" Y$ W Y9 ^6 D0 Z9 s
代码:
# d$ `9 Y D/ h6 I/ o
代码
- W3 Z7 m3 }, V# p
BOOL TextCmd_ClearPropose( CScanner & s )
8 s4 j: ^4 J. T% Y
{
' A7 N6 S- ]$ d: Y9 Q
#ifdef __WORLDSERVER
/ {& k( H3 q0 A
CUser* pUser = (CUser*)s.dwValue;
3 O) ^: G) f( W. Z
g_dpDBClient.SendClearPropose();
4 L8 k3 A# I) w* @4 ?, W2 {, h: W
#endif // __WORLDSERVER
% Y0 b& ~ k. ?( Y: k- \
return TRUE;
! B- q2 F, O* t
}
" ^" I. k% ]; z6 l3 L1 j/ n0 y
下面插入
* t& y7 f( u6 @. R: T7 D+ Y8 F8 l
BOOL TextCmd_rebirth( CScanner& scanner )
$ J$ c u# i* k: B; s$ h
{
& T) E3 G9 O, s& K" S& g% d* S5 ]
#ifdef __WORLDSERVER
; }- ]* P! O" [9 K6 O7 l% O) s
CUser *pUser;
/ f& M0 R( D" w \( Z: P
pUser = (CUser*)scanner.dwValue;
: c1 u% ?2 g# T, F/ @
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
5 Y$ x' Q* y" P u
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
' v @. L5 _! ?3 o
else
9 l0 J; d6 Q$ |6 E4 P" a
pUser->AddText("你还未达到重生条件!");
/ H0 l- c' `7 p
#endif
! f. D, r. q; j( f2 R
return TRUE;
# W$ F) u' L. O# O1 ~/ a. V1 W
}
" I$ e( }7 ^+ F0 K- i$ i, S, X. M
6 Y$ X" z1 @' _- @
; l% @& O) s7 |# Q. G$ E! n3 D, e1 y
1 R! o$ f/ s; O3 E
6 O) N. K7 I/ v/ `" ?7 N( D
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2