飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
" F& Q; G3 J9 W+ \0 G% n U1 `
% V. J8 |, P; Z1 w- l" _
Mover.h
# ~% \$ W8 ~, c3 a, l
代码:
8 [0 f7 _- U5 ` }! J9 q
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
* V9 X* X: r8 v6 d. q j9 g# \& O
+ n. T. e% S, |- f
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
5 A: i0 x( b/ A
0 H) C. F: _9 H4 Z( |9 r
然后你去mover.cpp添加
! q) p- Z0 g+ s9 D
' t0 @8 V9 s% a. m5 E5 n
代码:
2 E* a/ ^. }5 } b! n% }- o
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
+ v( `3 k; i# d3 |1 h1 [* I
{
# j& s' ~/ h8 |; C i5 k6 V8 c
#ifdef __WORLDSERVER
# a6 X( }! r$ z7 T" w! g, K
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 d( q4 B4 |1 u/ c% z7 D& c8 t: Z
MoverProp* pProp = GetProp();
^7 K" w8 V$ }- B. s
if( pProp )
; R$ n' ]9 N; l U# O9 b/ o
{
/ a& r/ R+ n- T# N" a. B
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
. E# y2 p) R$ x6 O! ^4 T9 n) w
{
& _& a+ h R: l; b, z3 I
AddChangeJob( nJob );
) m5 e2 O: A! D; R. [2 o8 a
}else{
$ E' y( E4 J9 V, q0 T @9 Z/ R
return;
5 G, s7 g. B6 y* a. x4 q
}
* v! d6 Q' o. B7 p' o
int nPoint = 0;
4 g( }; Q& R9 j. [8 Y, Q
if( m_nJob == JOB_MERCENARY )
: W9 r$ T8 T1 S5 R3 K) Y
nPoint += 40;
$ D0 e& @9 j/ V, @: g) C4 O) T
else if( m_nJob == JOB_ACROBAT )
& m1 O9 N. A1 t
nPoint += 50;
" e- Z. D# c) R6 }2 T, r
else if( m_nJob == JOB_ASSIST )
; z# p& X, t- x
nPoint += 60;
5 I3 x j" q! G9 E, A" B7 L; ~
else if( m_nJob == JOB_MAGICIAN )
- D9 [4 S8 K3 t
nPoint += 90;
, V& N- k! @% L: e! w' ]8 H5 O
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
1 q$ @; O) A; i5 `2 k. j9 u: g( N
nPoint += 120;
! o3 A# w1 F2 |! r5 d0 I# [
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
* N; B2 K5 C$ b5 @& }; J+ u
nPoint += 150;
6 I$ s$ _4 ]6 v" M& Z2 x
else if( m_nJob == JOB_RINGMASTER )
# s4 g+ e: g/ A
nPoint += 160;
( Z' t9 ~) t/ f: V
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
8 J1 m' P1 E& t! s% H: j+ m
nPoint += 180;
" C" o" ^. m, V( H; H
else if( m_nJob == JOB_ELEMENTOR )
l$ e9 m. S% Z: l0 a7 r
nPoint += 390;
2 z3 W+ T. o* n4 g6 l
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
' Q# u. H5 ?6 v' z5 c# Q( g
nPoint += 120;
: y! T* a3 _ x I
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
" m% J: Y5 y8 P- H
nPoint += 150;
) k, W. [, B: }5 V
else if( nJob == JOB_FLORIST_HERO )
8 t2 a8 [* N" J2 m8 p8 k
nPoint += 160;
9 m" U, _7 O+ O! ~0 u- [ B
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
; R5 z2 V2 C6 A2 y! T! N
nPoint += 180;
" F$ J( X% J c0 L% U/ A2 |
else if( nJob == JOB_ELEMENTORLORD_HERO )
Z+ A0 P( U* a1 t( B* l
nPoint += 390;
w' S9 w0 r( O$ \
3 t, N: R( \- _6 \0 O2 s
AddSkillPoint( nPoint );
# p/ j5 H P9 ~1 a x& ]
m_nLevel = nLevel;
; Q( `2 Q6 x0 u, x: n& k: q
. U7 v! ?- u3 G+ u2 J# d5 r
SetJobLevel( nLevel, nJob );
s" ~3 k r: p) R! g3 y! M
m_nDeathLevel = nLevel;
+ c: B1 o8 N+ [; [- D$ a$ p
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
; U- u7 J3 h% Z- [* _' n1 @* j
if(IsMaster())
* l+ X7 F% l5 L
{
1 e5 J+ ^' h( s y
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
8 K4 c4 O: f0 L# p3 E" r8 t& L9 o7 E' N
if( nLevel > 59 && nLevel < 72 )
+ O/ x) g' u5 d" A
dwTmpSkLevel = 1;
% x6 V! o' j Z
else if( nLevel > 71 && nLevel < 84 )
- ^4 P j: n2 P) c z% Z
dwTmpSkLevel = 2;
+ _% c3 J- A5 `
else if( nLevel > 83 && nLevel < 96 )
. ?: [4 D9 x. B* B- Y: _
dwTmpSkLevel = 3;
|9 m7 B6 d# @1 @
else if( nLevel > 95 && nLevel < 108 )
2 M0 f2 Q- c, E3 D7 l' l
dwTmpSkLevel = 4;
8 A3 T+ q, X8 e; K0 b& k
else if( nLevel > 107 && nLevel < 120 )
! }* D; h$ \3 S, h; T/ E
dwTmpSkLevel = 5;
& m) B/ e _: T% H! L' h2 l5 \& |
for( int i = 0; i < MAX_SKILL_JOB; i++ )
4 O+ M. F9 c8 V3 J; \
{
" Z6 N* V$ S& e& H: V) d. o8 E
LPSKILL lpSkill = &(m_aJobSkill
);
! N2 N) w+ D$ B
if( lpSkill && lpSkill->dwSkill != NULL_ID )
* y0 w& V( E8 D
{
! W% q( v3 h( d8 E- e, w; V6 G
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
" N) X1 P. E7 F% m
if( pSkillProp == NULL )
4 c. u! g$ [; c+ `
continue;
# \9 n" w9 R0 v; V" g1 A- t; t" r
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
) h. C9 O7 a. _8 V4 V5 W
continue;
; j6 t! R- ]: p; j
lpSkill->dwLevel = dwTmpSkLevel;
F2 q& @* Q9 e- Y% @2 a
}
# z9 |3 A8 v+ h8 Q l" X. U
}
1 d) z( Q6 H- g* J8 R+ X
}
2 P. g v3 l0 C# d" [
else if(IsHero())
" j/ s4 i& W) @: {9 W
{
; f" k, M+ W" E/ s' r1 }: J( N4 [
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" I/ B: M3 i5 k( m7 `7 n0 p
{
2 h. q, ?4 Q: U1 Y) e% [9 O: C" Q$ E
LPSKILL lpSkill = &(m_aJobSkill
);
- M: w& `2 G% r) H# n2 b$ C
if( lpSkill && lpSkill->dwSkill != NULL_ID )
0 m; E8 u8 h8 V, j+ z
{
- O+ l% S5 _5 N/ h
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
( X( k% l1 B( [$ X$ Z' I
if( pSkillProp == NULL )
( f: }* a* _+ {7 L- v
continue;
( L4 Y' c5 o0 Y9 U7 J6 }' z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
/ g- O7 {( q/ o4 j' a
continue;
, @+ m4 Z1 Z9 k& C0 n1 ]- U
lpSkill->dwLevel = 5;
5 b L7 c5 Z; o0 {+ C7 q5 O
}
6 p, ~( c0 X% M% G) s
}
' J: g$ ~" a$ B
}
; V% a1 F7 ^1 ^$ ]; I7 w2 L
else if(IsLegendHero())
6 U. D4 v+ y. R% l6 k( H
{
' f) c+ M. A5 b- Y# t
for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 W, ]4 S z8 s0 q
{
9 ]+ g2 @0 l5 j. _
LPSKILL lpSkill = &(m_aJobSkill
);
. _# v- k' j4 s5 V- u% D! d' [
if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ X3 I" D! x; y6 ^( q2 \& ~0 |3 U
{
4 {$ J' f; z5 a8 H+ M
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: x: t2 F) u5 A: p! Q
if( pSkillProp == NULL )
# m5 K9 r, [: o1 |1 e; F9 U" f- a' |
continue;
# G1 W) t5 N, y
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ S( x. [7 |: ?
continue;
+ x9 [8 ^# [, S
lpSkill->dwLevel = 5;
3 E% C( x7 D* J6 b# C8 ?/ n; P
}
% i% L N( R7 {. C; g1 ?( U
}
5 J- c1 O6 p. M: C$ `
}
6 ? e# y7 E0 \" J0 I( L2 z' n; P
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
9 `/ u; C# Y/ a- N
if( bGamma )
2 _0 G3 o9 i2 K; J p7 r3 Q
{
$ m% D f: A" B. b9 g1 x) z7 v" ]
m_nExp1 = 0;
/ Q7 A1 t2 B a. o: W7 Q$ Y
}
) `$ u& E, X% V: ?) e, c
% E* i4 G# U- c8 ~6 `; v
( (CUser*)this )->AddSetChangeJob( nJob );
& y' A. u4 y' R( e: U3 M1 r
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
! k, |: g6 C% {; K! R
( r7 n0 N: E% U! ~6 X; C2 M! B* l
7 C3 E5 g7 X: M/ p. b! \ w& u& T; q
#if __VER >= 11 // __SYS_PLAYER_DATA
2 q1 q |/ _- Q, l$ Z
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
8 U! N' \/ G, F* c7 M2 `. t
#else // __SYS_PLAYER_DATA
% j J; L1 e# x M$ [. A9 E4 n
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
2 A1 `4 X% s v
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
( K9 z3 `# T- k. u
if( m_idGuild != 0 )
/ ^3 a8 U. Q6 l9 v7 T
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
( k7 Z+ l5 s1 E% O! { x' N
#endif // __SYS_PLAYER_DATA
* g+ K$ l8 ^" r% F% A
SetHitPoint( GetMaxHitPoint() );
! X; I; _/ X) Y4 `( ^. }
SetManaPoint( GetMaxManaPoint() );
, t& P! x* i* p' t
SetFatiguePoint( GetMaxFatiguePoint() );
4 ^: `% f# k! S1 S q9 A# `9 A5 n
if( nJob >= 1 && nJob <= 4 )
- L* \, e$ ~1 s% v6 Y2 C" T
{
`: N: f" b- Y
m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 s# U+ A' X) T* i1 E8 j0 C
m_nRemainGP = 28;
7 U% e* j+ R" u- ?- U7 B- Y
}
2 Z2 B* S2 n% E! u+ e
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
+ B' Y: R$ z' j
{
+ _% v& b0 `- K7 w; T$ x V
m_nRemainGP = 118;
% w9 K9 |- g& H
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
) o4 G( o( i5 c3 |9 @% a
m_nStr = m_nSta = m_nDex = m_nInt = 15;
! g5 l! k, W/ ?( t2 |' f
}
: _/ C( w: l4 v- W
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
# f. s% e4 U0 Q% a- ~! d! v$ P
{
* H8 C% x% W: F. P
CItemElem itemelem;
0 h1 X* J5 g& O K/ g N" w
itemelem.m_nItemNum = 1;
& {' ]5 d5 }% [( J4 l
itemelem.m_bCharged = TRUE;
" U8 Z* i$ K& T5 U- I. k
BYTE nID;
& M. V H: k6 w% t( r" g
: c, k0 V- I, L( L! l8 X7 M
if( nJob == JOB_MENTALIST_HERO )
3 _. m9 H4 Y. W# c0 \( ~5 Z6 B' l! L. S
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
5 g4 O$ Z9 h* e
if( nJob == JOB_FORCEMASTER_HERO )
2 d$ Q. ^2 h5 \) _
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
, d$ Z- ^# }6 L& v( ?
: ^" G2 L" z8 {1 Q' G m1 C4 e
( ( CUser*)this)->CreateItem( &itemelem, &nID );
4 m. G, j, W! t$ X, w( l Y
}
, Q0 b# p. k9 V5 Y Z7 ]8 [
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
B' i* g( K. M- [9 k& T6 P% Z
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
4 J1 {1 {9 d) l: O7 m+ B) r Z
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
% S' k7 \1 U. J" ?5 N3 S$ T
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
- ^. A* }2 C. `7 P: S
( (CUser*)this )->AddTaskBar();*/
2 B2 v O' P/ y5 t
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
9 v8 x7 ~9 ?$ b- f
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
- {& E# ]- [$ r% m. P
((CUser*)this)->CheckHonorStat();
1 o/ B& M1 h% {$ k1 Y3 ?# f$ k
((CUser*)this)->AddHonorListAck();
( E% r$ z& r/ R6 k1 N
g_UserMng.AddHonorTitleChange( this, m_nHonor);
3 v! O. a% \+ K- ]
#endif // __HONORABLE_TITLE // ′Tà?
$ M5 z7 C6 j6 ^* c
}
0 K0 W4 e% B9 Q. Y
#endif // __WORLDSERVER
+ O5 c1 P( X Y# H8 t
}
`6 n2 M! ^1 x* D3 o5 h6 X& F
% m* H X; q2 A( Y
然后你进入functextcmd.cpp并添加以下
, ]" X% h; |8 \& H
/ m. J \0 I+ q( Q6 ]
代码:
, X' D3 h, W/ k, O: @9 n
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
9 f" Y: t- M+ h9 J2 @! m; }
下面插入
% v2 Y* `6 m1 C
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
- d7 m# _2 A8 Z# z4 c3 W0 Y% V( T
* A- x9 B. n% W
然后你去
: T# w( \2 Z8 K3 c; }; Z( w, Q9 {3 w
$ e0 k) x S! T
代码:
! a7 U9 H% h/ {( x' B1 _
代码
+ y1 C0 W2 I9 j$ M- }4 c
BOOL TextCmd_ClearPropose( CScanner & s )
# @2 Q+ x: A a. [( `) Y# t
{
# h2 L$ l6 B4 [9 a
#ifdef __WORLDSERVER
7 H% [* S! E7 q7 u" D# O
CUser* pUser = (CUser*)s.dwValue;
7 w; q# V. y/ w, ?3 d
g_dpDBClient.SendClearPropose();
' g9 r1 w e; A; y, L' ?
#endif // __WORLDSERVER
8 w9 y B, N1 M& n& R
return TRUE;
" _4 [& X7 T3 f% i6 \
}
5 k3 ]- t: [# J! ]1 D9 Q5 p
下面插入
/ Q# ?/ o( n) ~) w) }6 v, R, x( q! }
BOOL TextCmd_rebirth( CScanner& scanner )
% `5 ~7 o4 T1 D; p+ H3 Z& w) z
{
6 j! Q$ f- k+ n7 X/ X
#ifdef __WORLDSERVER
3 A/ i, M& {$ i* c
CUser *pUser;
1 k; ]2 E2 K! s
pUser = (CUser*)scanner.dwValue;
6 e9 N+ I. Z8 h+ e
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
' A) S8 c m& r0 h# ?
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
2 h3 v4 d6 |& `% t
else
6 u) i7 u1 X7 z: t
pUser->AddText("你还未达到重生条件!");
- K5 W+ y: P7 b, j [
#endif
v) E& N( k4 _2 E$ p5 @& C2 J B
return TRUE;
1 H. f2 t. a4 j! i% c4 m2 U
}
2 @4 ^" N1 M% y/ ~; A
. g0 j K+ B5 U3 Y5 f
4 c; J/ R n9 [1 l. |
( Q2 H, M" z! J( p3 c7 [
$ |9 U% x5 w8 U2 q' x
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2