飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
G$ @3 k/ a: z: f& f, D
# a$ S* W! Y) w+ y) Q6 a
Mover.h
# [! }, e& _7 v0 Q+ x- a- U
代码:
( T: E5 h5 o9 X& A
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
& f2 O0 n' d, N4 o6 S
0 r& F% U; a; F
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
+ g: E$ C7 P* s8 N: q
3 q$ P7 A; y) s: q8 t
然后你去mover.cpp添加
; O. X5 o" ~& @! A7 y( K
7 |7 x0 a! {, ?0 Y% g5 L
代码:
7 F8 t- _8 _/ s- h8 t X! I
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
4 b9 H, p v$ g4 |- A
{
+ r8 P/ U8 k; a7 g" x7 l# ?7 {
#ifdef __WORLDSERVER
& T/ ^ d$ K+ o1 o! C8 T* c
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
2 f- q/ D! a" h# h: H: S
MoverProp* pProp = GetProp();
: t9 `" S _$ c, e+ R
if( pProp )
8 L& a! u. V, e/ c& d# f& g
{
# p I& Q! S$ K+ V
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( {/ `; j5 k; `0 X
{
, P5 d( z7 Z8 l( [4 }$ {
AddChangeJob( nJob );
3 I" K o1 e6 d) [
}else{
* ?' R4 w. w$ Q" h$ r& N, ^
return;
7 b/ f- x; N8 q) g x
}
+ o u, F# O7 O- ?* z1 Z
int nPoint = 0;
& O5 W" j# F5 `3 Q
if( m_nJob == JOB_MERCENARY )
9 ?4 U8 Y8 j0 W; s1 x
nPoint += 40;
# T' }' X5 f8 ^9 E7 M
else if( m_nJob == JOB_ACROBAT )
6 y6 r& b+ O' T
nPoint += 50;
* @6 ^8 \ I+ J' d8 G4 m
else if( m_nJob == JOB_ASSIST )
2 P8 f! E6 K' q/ j4 S! L; z1 ?5 B) v
nPoint += 60;
+ f2 {: C. X$ h- ^) |* H6 V% T
else if( m_nJob == JOB_MAGICIAN )
7 a; y" k/ l' H2 `
nPoint += 90;
% Y- w- P4 p9 D6 T2 I
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
4 Z! g" |: T1 N. i; P
nPoint += 120;
" L1 i) g2 j' Q. x
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
4 g# { u/ s9 B1 L/ B! m: M+ o1 T
nPoint += 150;
4 I5 Q! J9 w8 X( B! {* y2 y4 S2 E Z
else if( m_nJob == JOB_RINGMASTER )
7 z# k0 k; J" C2 o
nPoint += 160;
1 }3 D5 k. D" b& V( U
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
+ c2 X# L5 E- l
nPoint += 180;
8 S5 K# Z6 k2 f% |; `% P, @
else if( m_nJob == JOB_ELEMENTOR )
( C7 j5 V+ q1 U0 d/ z0 h3 }
nPoint += 390;
7 ]$ }: x4 @4 Z4 @$ Z
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
s! }# M& \4 h2 W6 l% f
nPoint += 120;
. i2 s0 n% j. y( H& f) ?; V7 V! p! j
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
( Z2 Z8 h& t/ @& n* R. ]
nPoint += 150;
# N- o( Q: W: l0 t b5 h$ ?
else if( nJob == JOB_FLORIST_HERO )
; E: _: j- q$ O: L
nPoint += 160;
4 o9 v0 P a+ s' l9 I
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
+ d" O0 Q) t3 W6 e! v% x- r
nPoint += 180;
2 J1 {) d, W8 {7 k
else if( nJob == JOB_ELEMENTORLORD_HERO )
: x/ o. g- F" b+ |( b5 @) e
nPoint += 390;
/ ~- G7 i0 q) G
$ u1 i7 O' L$ I
AddSkillPoint( nPoint );
. ]# K; n9 ?" `8 c
m_nLevel = nLevel;
7 L3 v6 h% X! T4 Y& k
1 [7 _7 G6 }' Y8 C' @6 y; L
SetJobLevel( nLevel, nJob );
$ s3 x- [4 J; q- t$ \
m_nDeathLevel = nLevel;
3 z& n. y( _! N0 v& m" b. p
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
/ ^% C* r- M7 d3 ` s2 Z" Y
if(IsMaster())
! G A. N ?2 k. ?0 _( B# k k
{
! W- ?- J" X# o( Y7 {5 r1 K4 ]4 D
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
+ x+ d/ U8 A1 s. `0 Y! H% `0 ^
if( nLevel > 59 && nLevel < 72 )
6 Y R# Y3 v5 a2 {8 w
dwTmpSkLevel = 1;
0 R8 ~5 }' j i1 S
else if( nLevel > 71 && nLevel < 84 )
7 z8 W$ Y+ E. [9 W8 j: o
dwTmpSkLevel = 2;
! U; R6 c0 `( ?3 U
else if( nLevel > 83 && nLevel < 96 )
p! t1 R2 e8 N' }7 V
dwTmpSkLevel = 3;
1 C0 i- I R6 Z5 l1 {: y8 n
else if( nLevel > 95 && nLevel < 108 )
8 c% v) Q2 a$ o2 L
dwTmpSkLevel = 4;
$ H$ z4 p6 }' X
else if( nLevel > 107 && nLevel < 120 )
: ^7 H! n) Z0 r! X
dwTmpSkLevel = 5;
, S6 ~- T; x0 `9 i4 @. q
for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 q; ?' f$ V+ G
{
8 |. L8 Z3 D# A7 k0 r) m ?
LPSKILL lpSkill = &(m_aJobSkill
);
9 K& T2 t5 v: P3 p. L g. P+ z! _
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- Y/ E" q$ \7 F. V+ o8 g, w1 T
{
|9 k$ N R# W# ^4 b g# R# v
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
& \# v1 N: J$ N3 I: Y; }" @+ p
if( pSkillProp == NULL )
4 L* P* j2 e+ D$ c: g( v' [
continue;
; K' v3 Z% M+ Q' z; v: I; C9 x+ n' V
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ d! [; T+ a$ \9 D/ T
continue;
( L6 p+ x9 }( u+ p6 u, Y K
lpSkill->dwLevel = dwTmpSkLevel;
/ s8 P8 ^. g2 H7 v
}
$ j6 f/ O4 G, d) f) N
}
3 {9 D2 m* k7 x1 z _7 @7 _
}
, \, n( ]# Y) X1 M
else if(IsHero())
( P1 n( c# m% W& M) y
{
, |& U0 n- e# {* p1 {5 S
for( int i = 0; i < MAX_SKILL_JOB; i++ )
) M m4 |: E7 j" j0 O5 j
{
8 Q+ d. O' h0 n( \" g4 S- L
LPSKILL lpSkill = &(m_aJobSkill
);
1 S# @0 J7 I" J8 n6 A0 ? ?
if( lpSkill && lpSkill->dwSkill != NULL_ID )
, A# G) |2 S& j& a; Q: `4 d
{
" U& Y% o) e, ~, {
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: k+ a6 f/ A' u: K! n
if( pSkillProp == NULL )
' g4 L' t# ^( c/ o. F6 a9 U
continue;
6 v( \: q7 V) ~6 q7 T# q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ h5 d2 \ W0 B; E& D3 x% o
continue;
- O" R& h2 Z' k3 W" r
lpSkill->dwLevel = 5;
3 n# V0 h2 G% m6 z) _
}
3 N. o9 T- p6 D4 M8 d( c+ y
}
; ^8 A7 h1 B# [- i# h+ U
}
8 k* C5 g: z( C3 p! C: c7 n3 Y
else if(IsLegendHero())
w) V- z" ]7 {; `* `1 q
{
( z9 u+ \6 b/ w1 e d' j
for( int i = 0; i < MAX_SKILL_JOB; i++ )
, e8 k# \+ k( N* u* b
{
9 _; J/ k" |) t$ k9 M9 Y
LPSKILL lpSkill = &(m_aJobSkill
);
3 q" T6 a( ?3 f3 Q
if( lpSkill && lpSkill->dwSkill != NULL_ID )
' N. P# F& V8 x$ @6 @3 Y3 ?
{
$ m& S6 l- k _- R6 N
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
$ Z2 v3 J9 n7 t) ~5 J
if( pSkillProp == NULL )
. x7 F' f0 ]# H' a) l. O
continue;
- A" c$ ^+ F' ^; s7 S
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; j, G: T2 j8 y* F
continue;
; q# d1 r2 }; r/ W- [' j+ j; U/ v
lpSkill->dwLevel = 5;
1 V% I) `+ y7 c% v, b: k- j1 R
}
* p0 W" ?+ Y" n/ d z
}
" c I3 i, j+ `" @5 l
}
1 U0 k" V y4 c# U0 L! X
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
& \6 D0 d/ T" s6 [" e0 v2 ?. p8 n
if( bGamma )
( O) B7 N) ^8 c8 O8 K4 w
{
/ C: y: e4 X! J" E( H9 r; B0 t
m_nExp1 = 0;
. B7 y. j& @9 Q5 o/ E
}
' i- k+ x" B8 R' v0 _$ ]
( R# d4 v% i8 G- b3 D
( (CUser*)this )->AddSetChangeJob( nJob );
2 S8 ^5 S( z* {. V2 Q" j
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
. d: w5 w" R' U5 `: P1 _* a
- a! K* {7 N7 k8 ^7 C- S
c- s1 k1 j7 @7 b$ x
#if __VER >= 11 // __SYS_PLAYER_DATA
& ?+ s: H$ s! X5 ^! t
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
8 N4 |$ }7 C+ |: @9 t' h) Q3 A$ K
#else // __SYS_PLAYER_DATA
/ A7 b8 a, G: V) p+ z0 `* v2 \
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
. T( ]3 G# r" o1 H B7 s5 ^
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
: o8 S9 t) n- n$ g5 v+ S, z
if( m_idGuild != 0 )
1 I l' r0 x. r1 l, X! E
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
: t2 ?; O7 }, }5 G% m
#endif // __SYS_PLAYER_DATA
' e. Q+ [4 f$ d! \% ]* |9 \/ I
SetHitPoint( GetMaxHitPoint() );
' d% P% @$ P, e/ t5 S
SetManaPoint( GetMaxManaPoint() );
0 ]/ w9 K3 v; d: T& r( H
SetFatiguePoint( GetMaxFatiguePoint() );
0 B# C# D4 m! D4 Z0 m
if( nJob >= 1 && nJob <= 4 )
8 U4 F' ^7 l! o+ v0 H
{
5 W7 I1 d, L! Y6 o" h- F- v
m_nStr = m_nSta = m_nDex = m_nInt = 15;
. c/ @8 e& h0 p
m_nRemainGP = 28;
$ p0 g% v' g, ^& `. M& N- `
}
) r/ ?9 \) }( m! o0 b. {+ M
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
( r+ Z9 j& }- U4 t2 B
{
6 J& S# W" }- V" K: T9 x
m_nRemainGP = 118;
+ b8 T. u, |0 {3 m+ Y
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
* h8 B* X$ x8 e# _
m_nStr = m_nSta = m_nDex = m_nInt = 15;
) [$ u" V5 Y1 T V' A1 @" E
}
$ N$ P( f! _, L, I/ e
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
2 z* m, {0 N- [/ W p$ b
{
% b/ Q$ ^! w( y: K) W+ s
CItemElem itemelem;
/ d( k+ ]. r" N# H# u
itemelem.m_nItemNum = 1;
2 [( X. m3 q( \2 v" U/ u, b
itemelem.m_bCharged = TRUE;
' J% s- W0 D: V
BYTE nID;
' T {9 |0 V0 T; H: }% Y1 F" i- f" [
% n5 v% X# v) x
if( nJob == JOB_MENTALIST_HERO )
$ e, j% n( R7 n& D( e9 K3 G
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
0 Q3 S7 v* V6 f) ?* ? N
if( nJob == JOB_FORCEMASTER_HERO )
. L1 ~' ]5 |# v$ G3 n
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
) K+ O, \ [3 U' T/ n* F
Z5 f8 Y: _- O9 r4 o! ~9 v7 M9 r" z2 x
( ( CUser*)this)->CreateItem( &itemelem, &nID );
9 ~$ u& z" z8 ^7 Q
}
! a! J3 X% }" _0 {0 I( o
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
+ G7 C) U! F$ x) X9 F
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
8 A$ k2 }* T" K+ B9 d* `& \3 `$ \/ r
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
: I: ?/ U9 e) Y& k$ }1 W9 }
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
) s* K# G" {, ]; r
( (CUser*)this )->AddTaskBar();*/
& _( A5 D% M$ ~* |/ B! `4 L
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
) H0 P5 H: Z/ z1 _; l/ u
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
8 O" _* h9 i8 g! g' v' i
((CUser*)this)->CheckHonorStat();
% ^+ y) |% j U, Z$ j4 H7 P1 t" q
((CUser*)this)->AddHonorListAck();
4 S1 ], b2 j) u& ~7 E1 Z. Q: w
g_UserMng.AddHonorTitleChange( this, m_nHonor);
) c m7 S5 S- [7 t$ m2 }9 E- z H
#endif // __HONORABLE_TITLE // ′Tà?
# q7 P: y. {* `! S; w' v: J- O& ~4 K
}
1 t. s& _' l3 _. @
#endif // __WORLDSERVER
- ?. `& V, t$ O5 K. G! _- Y
}
$ l# b/ x! X( _4 I
3 z0 S, n% O0 B% b( t N0 u$ C
然后你进入functextcmd.cpp并添加以下
# _* k/ K6 b- b1 B' s: A8 X
0 [; T1 a* H# t' d' E7 U% ^2 J
代码:
+ s3 C s! ^1 H% y/ A* z A8 m) ?/ S
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
* c! ?0 z" G* K* f! t
下面插入
7 s6 e @- x) m4 o7 \! p+ A: i1 {
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
# G) d9 c! _9 ]; K
( f( _# b3 M- c$ r8 G
然后你去
" c" U/ @" n9 |& q
" ~+ Z$ H) D! V9 y/ S- `9 @
代码:
# m' C: D$ |$ a r: u% a: h/ q
代码
% ~( t0 i" x( x# Y: f
BOOL TextCmd_ClearPropose( CScanner & s )
+ T, t- _9 Y7 l
{
5 c; Y& n/ ~% }' `; f% e
#ifdef __WORLDSERVER
3 ~& O2 F% o l( X1 ?
CUser* pUser = (CUser*)s.dwValue;
6 j$ N0 r! \( ^' v
g_dpDBClient.SendClearPropose();
' o9 |! w) ~6 a
#endif // __WORLDSERVER
% V# l w8 ]! f3 B
return TRUE;
5 @9 q& s9 g, B9 s/ z8 ]& C: D9 _$ _
}
: k. j) Z* L/ p& I3 y
下面插入
' E: C7 I) `( f0 S( R* M8 q% H2 Z
BOOL TextCmd_rebirth( CScanner& scanner )
3 e: L6 C% V; y
{
) v( a3 f6 \8 q( j- m
#ifdef __WORLDSERVER
% Q. h; X( N" ]1 Q3 D" q, a* A
CUser *pUser;
. t3 W+ o0 c+ U0 _
pUser = (CUser*)scanner.dwValue;
% [6 y0 B" X L" G$ V* ]
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
f0 Q ]) K5 {9 N" s
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
# }( r5 _# ?- @* N) n$ m* k
else
1 x2 ~" @! L# r( s: I2 l% k
pUser->AddText("你还未达到重生条件!");
, y, k- v" c5 P2 L+ E' n
#endif
/ M7 e2 l. q$ s1 P
return TRUE;
6 V# n* K. m* u9 K/ m
}
5 u3 {4 B8 B& G7 V+ K- m) I
" d7 \6 V2 L5 t8 K: S# Z$ \
9 h7 @$ j7 P* t) _4 N
7 G' p6 V3 `9 K3 g* l) @
# X$ W; T0 ~9 k6 r" ^4 m, P
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2