飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
7 N6 T8 Z' ]0 z: e$ T4 I
4 v* k3 ]8 X+ z/ D# ~* d6 h) L( {
Mover.h
) S/ p1 d6 Q/ i- }
代码:
U4 m+ @1 D& `/ y0 H4 F
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
$ i1 W ?& v9 y8 f* v$ x+ b
. R# F1 L, c5 ^4 m+ h& ?
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
$ D0 u, Z3 d0 D0 y* h3 ~2 h
7 m! U1 V$ g$ a
然后你去mover.cpp添加
* f) F+ b$ T. L0 R& o
: U, S( z9 n" j7 M1 [# V( N+ ^- [
代码:
: c0 Z# H5 {; x# u& [$ s, n
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
Z* U. e4 U# I* i! m
{
; S8 ?, K% y7 R: I
#ifdef __WORLDSERVER
: ~% u/ f3 j) E# ]/ G
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
- ^9 Q9 A6 H3 s" R' O
MoverProp* pProp = GetProp();
; t! r. J- Y& c0 y; m! g) g
if( pProp )
, n, Z: z4 L( [) o: H& w% {
{
( q X: R5 J' t9 V2 M5 B% e
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
1 k Y% K4 S I# X8 b4 U: b
{
7 j2 H7 k# G0 J+ ?$ U' W
AddChangeJob( nJob );
J8 b& w+ X# d2 t4 f* q
}else{
: ]! e, x X& ], W0 j+ i' ]
return;
- J- e( U3 y" |8 I( j
}
, {3 X& x2 L2 n! u8 I4 Z
int nPoint = 0;
5 y$ P! j! I! i
if( m_nJob == JOB_MERCENARY )
0 p9 R x& v& f f/ u& s3 j
nPoint += 40;
; i( G5 T | G
else if( m_nJob == JOB_ACROBAT )
/ x, y. o9 B9 [9 ?0 Y8 o. r
nPoint += 50;
; v4 W O3 `; c# h! L
else if( m_nJob == JOB_ASSIST )
1 O0 |9 p$ ?- L5 r- |& K0 b
nPoint += 60;
5 [) {! A5 k9 j3 q1 `
else if( m_nJob == JOB_MAGICIAN )
( \) @- |4 D; I! x% i
nPoint += 90;
; u. z# p4 X! `* b4 O- n$ O
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
. m3 \7 y! }1 Q6 L2 _2 P" x7 ?
nPoint += 120;
6 K9 y0 A' F& x) f
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
4 w2 m$ l% F' ~" M* }. F
nPoint += 150;
7 Q0 F7 T$ @0 V# }) p" z* ?7 i
else if( m_nJob == JOB_RINGMASTER )
; m- N; _" `8 P$ F
nPoint += 160;
. ?% ?5 ]' c: t; H( M
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
/ T O6 {' q- f, _2 {$ ?
nPoint += 180;
' f& X+ B" m) M0 w
else if( m_nJob == JOB_ELEMENTOR )
9 n. Q5 k3 t1 w( p8 q% J
nPoint += 390;
4 d2 c- m0 u! Y% C5 Q
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
$ P! d* Z/ x" S' C9 ?7 x- E
nPoint += 120;
0 i; q/ }1 I4 b* t" w" r
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
7 g* w0 w6 r: E6 K
nPoint += 150;
: u+ O2 m: d D. g& @4 S, [1 B( \
else if( nJob == JOB_FLORIST_HERO )
! v, S# Z$ i# r! a U1 ~ W2 K
nPoint += 160;
. x R* i% u" L% d7 `# ~2 f; `
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
: a# t3 Y$ U5 K
nPoint += 180;
( a( d1 H! p& E: K( W' [; u) L1 _
else if( nJob == JOB_ELEMENTORLORD_HERO )
( k& H8 F7 t% i& L3 o( T) C( \
nPoint += 390;
- Z% F" i9 r6 y7 g) {
) T' V+ R- p) ^ P
AddSkillPoint( nPoint );
# J H5 ^" T" f; F# c1 J) @9 z# ?0 ~
m_nLevel = nLevel;
! J7 W$ x) N! L. P
9 Y/ V( P$ Y: P+ j
SetJobLevel( nLevel, nJob );
7 g8 p! ]$ I8 Y o! r* f
m_nDeathLevel = nLevel;
! l2 |4 o$ G* Y) i7 `, Y& V* ^! H
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
" D/ o1 \3 k% Y# C- ^& A
if(IsMaster())
8 E {: H* Z% n+ Z& h4 w% p
{
/ J8 z' L5 S6 s' z3 ]9 U- W
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
$ {' \0 M) U) v F5 f3 N
if( nLevel > 59 && nLevel < 72 )
: U9 i2 O& r8 o- ]
dwTmpSkLevel = 1;
0 p0 H3 [, I, h5 V$ a u
else if( nLevel > 71 && nLevel < 84 )
t) Y4 g" b; s- w
dwTmpSkLevel = 2;
, x6 S# M9 N) C0 S" p7 O
else if( nLevel > 83 && nLevel < 96 )
: [5 K) Z, |! K3 j/ S" q8 T y
dwTmpSkLevel = 3;
' t! E) }2 R' }
else if( nLevel > 95 && nLevel < 108 )
. c4 f& X2 b9 P9 E! R0 \/ Y
dwTmpSkLevel = 4;
0 y# B( N+ R. Y- X& o; P( ^9 p
else if( nLevel > 107 && nLevel < 120 )
0 [! _8 A5 a) G8 x$ ~0 c
dwTmpSkLevel = 5;
) ~9 }7 T* j1 I, n( |& A
for( int i = 0; i < MAX_SKILL_JOB; i++ )
/ q- A7 j8 @+ s% D) t
{
3 V. j$ F* c/ @6 D( W; T" s$ E, Q
LPSKILL lpSkill = &(m_aJobSkill
);
1 J) L# _7 N1 F2 D* E9 P3 F
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. O2 A7 `) m3 k2 h9 r+ z
{
8 _7 g# M1 D1 _; c0 N* O. W
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 I# U0 x7 W- f; o1 M5 ~! f8 g
if( pSkillProp == NULL )
. `& P, r( v9 n1 C, ~
continue;
- x$ F* P g3 W+ @# l( E
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ g0 t: n" o7 H' y+ L6 \9 E
continue;
~$ K- z% j2 |4 B3 W6 M
lpSkill->dwLevel = dwTmpSkLevel;
' }! c' S- k0 c9 J
}
& O1 a' t: Y1 a9 k L) m6 v4 J9 g
}
& f O7 a$ ?7 p7 I" N. j1 ~8 Z: o
}
; }4 c6 H$ n" F; E' l8 p u/ y
else if(IsHero())
% z3 z4 y! `" L. d5 w. M6 Z! w: k
{
; e6 m: {7 N# O5 d& O# C
for( int i = 0; i < MAX_SKILL_JOB; i++ )
# ~' M+ _1 B9 L2 t
{
+ z a1 {3 H ?" i
LPSKILL lpSkill = &(m_aJobSkill
);
2 E3 u4 x8 F3 ] J' t u! E
if( lpSkill && lpSkill->dwSkill != NULL_ID )
( P7 S) w. Q) d2 Y5 B
{
7 e6 V' V3 ^# A& y r# b |
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
: G5 w3 Z/ A% o5 J9 E
if( pSkillProp == NULL )
) ?. m. ]% w& {, @4 f- r
continue;
$ ~6 K3 k8 C( ^ Z# |
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: ~9 [& k* h( {" r
continue;
$ M& W% h3 O j1 }2 _8 Z
lpSkill->dwLevel = 5;
3 E$ e: b& @: { [- ^2 |
}
+ y$ d. C4 d3 Y) c. d
}
! O0 r# j6 h; c9 K& d H; [
}
( m5 G2 M9 @5 W. B% F6 m- b$ f
else if(IsLegendHero())
: U. u2 k! [2 q1 k) \, ]
{
# N) C! s8 a% g) L4 G; B" A( K
for( int i = 0; i < MAX_SKILL_JOB; i++ )
2 S( F8 n5 t& e" D
{
* p* F7 C+ u# t/ }) G
LPSKILL lpSkill = &(m_aJobSkill
);
4 a3 @7 X# ~3 c
if( lpSkill && lpSkill->dwSkill != NULL_ID )
- @8 Y( h6 u8 v9 |7 I, _
{
/ y8 t4 j2 F: h( F
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
# [$ r o9 u) X: i# |
if( pSkillProp == NULL )
5 C1 W' A/ y" _; z; V# {
continue;
* K$ r! a: T2 }
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 v) s) s$ u, ~' ?' M- \
continue;
6 w9 L% C. K9 U, f& C! Y& Y
lpSkill->dwLevel = 5;
5 q4 c7 n4 o- a8 k
}
" S" m9 m2 t3 N& \
}
$ w) @) Q2 V9 x6 y' e( u o5 ?
}
8 P2 t8 _3 ?2 X) N/ W% n3 s* u7 C# {5 H
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
2 v* i: C/ e4 }
if( bGamma )
* _- |7 u- C6 r3 y
{
% F+ N* R/ m1 c3 x: \
m_nExp1 = 0;
5 P5 X5 P2 Q4 y0 E E. r: t M
}
) N' B0 {( p! n l5 f4 h
! j8 w) W6 a; @* Y# j
( (CUser*)this )->AddSetChangeJob( nJob );
! e" _# i G9 i5 X2 P- l! z
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
/ `2 v6 z% H5 y* M9 t
, _& Z* \0 m6 P; D/ ^
, g4 M' i/ }. w3 T- b
#if __VER >= 11 // __SYS_PLAYER_DATA
7 e: ?; P Y: I. h( q, H
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
& \* `9 K. l/ k3 n( r8 u
#else // __SYS_PLAYER_DATA
3 W6 D% N0 d, @! Y; ]
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
) D7 L' J9 X+ N: p1 ^$ m' |
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
r. N/ _. s3 l4 p, L
if( m_idGuild != 0 )
) l0 h1 A+ }7 v2 z! j- c/ ^0 X
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
) q4 K! c4 s4 Q9 \
#endif // __SYS_PLAYER_DATA
6 h8 b* e7 }7 q! D( a2 z/ S: d# X
SetHitPoint( GetMaxHitPoint() );
6 N, c1 F& Z) ^' H; l% J/ \: \
SetManaPoint( GetMaxManaPoint() );
/ r1 S9 k4 V5 H2 c4 E' O8 F
SetFatiguePoint( GetMaxFatiguePoint() );
) e# {6 q! b) H3 @- W; R$ {
if( nJob >= 1 && nJob <= 4 )
; N1 E" T& w1 v" G7 e/ Z
{
# m/ o) o6 t. v& ]
m_nStr = m_nSta = m_nDex = m_nInt = 15;
( l. f' {$ K V1 Y
m_nRemainGP = 28;
3 c8 e, o) F% i6 K
}
4 B. D3 H- v4 T4 W1 @5 ]9 {4 C
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
+ r `+ r9 X) {. r% T$ j: s9 j
{
1 Q/ J$ Z# K, M" w
m_nRemainGP = 118;
+ t$ u, l9 B( T# q: j
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
1 U$ c( q0 F3 |& N$ j
m_nStr = m_nSta = m_nDex = m_nInt = 15;
' E6 Q# k2 O0 C# M6 Z6 z
}
! N- c5 ~2 c2 D
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
4 q. B$ i/ h S/ S/ o6 ~" C
{
4 b& Y$ f& m* d1 e. |- ?5 p
CItemElem itemelem;
k5 p3 x, Y$ v8 r0 o: |* T
itemelem.m_nItemNum = 1;
4 |6 V# L0 C& ~8 }; M
itemelem.m_bCharged = TRUE;
: r5 Z! l' x- M9 g2 W
BYTE nID;
( i% [( r- p$ T; }
- u# J3 z5 a! l
if( nJob == JOB_MENTALIST_HERO )
4 K0 A8 `& Z) e6 n) j2 A$ J( O
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
4 s, {6 ]/ {! s; Y- U
if( nJob == JOB_FORCEMASTER_HERO )
/ {( T! [& \# u4 l& X5 T% |" P
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
/ N, S" l% t# W V) t) W; i2 N8 s7 R
, k) J# o! p9 Q% @) Y2 ~
( ( CUser*)this)->CreateItem( &itemelem, &nID );
" U6 y M* ?9 q7 _4 R6 P1 a: p- N
}
3 E7 B, G2 i6 j; G" X( P
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! B+ W$ t. S7 s7 {) N( A" K7 `
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
( m8 G& u4 [7 I, I& a+ D. ]( e
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
5 L7 D! j' m# c1 |7 H1 H: v7 Q
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
# ~. h/ O0 L( v9 X8 P. ~
( (CUser*)this )->AddTaskBar();*/
+ R7 X( j9 `1 s- o+ j& v/ b8 t
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
6 @" ?7 J& `$ M: d
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
, u6 M0 H$ j3 E. q) q4 M" `
((CUser*)this)->CheckHonorStat();
4 m- S/ r, A0 K) g q
((CUser*)this)->AddHonorListAck();
6 B0 p' h k. j! y* \- I: i) j
g_UserMng.AddHonorTitleChange( this, m_nHonor);
: B; ]0 {; a( @" _) o: a$ O/ h
#endif // __HONORABLE_TITLE // ′Tà?
' O) p1 c5 D) U5 {0 H+ w" a
}
* h& ?" @- U5 u4 l5 W' c
#endif // __WORLDSERVER
D+ g+ \ m+ N. E# I
}
" h* F1 y% H: t! s" m
$ } S6 V; g- o
然后你进入functextcmd.cpp并添加以下
X" I$ @! m* Q% @+ E) Q
% Q+ c) d x, Z9 V
代码:
# c/ q, s( N. S1 C+ t! t
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
l2 G7 E" J7 u4 O6 [
下面插入
/ e& ~3 @' @+ E1 Z" \) y
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
7 q Q" Q4 @' Z4 d5 C; p- w4 P
9 i5 I3 _7 L9 l# g; ?
然后你去
; b( E5 m' | X3 n0 |) p7 @: v. c; f
* o( p9 D1 C' V' L( z1 C
代码:
+ l; |3 F% q9 ?! h
代码
^3 z7 l, d0 E8 N. l1 O% Y6 ]
BOOL TextCmd_ClearPropose( CScanner & s )
; X# {0 \/ L$ Y; o5 M
{
: D/ I( V2 D# o6 b c5 H
#ifdef __WORLDSERVER
3 T* G; U# O, q6 \7 h- w- e
CUser* pUser = (CUser*)s.dwValue;
8 k% ?3 [2 t: ~- u
g_dpDBClient.SendClearPropose();
, f8 K0 _: f+ a$ x. _% p% I& V% m
#endif // __WORLDSERVER
" r2 |1 g) X% @6 A3 [1 J
return TRUE;
9 R3 t E, g: n
}
0 A+ \( ~! a0 `* Y. ?( M9 ?
下面插入
! B# G# Y2 U6 f; v' k
BOOL TextCmd_rebirth( CScanner& scanner )
. S' n2 w: u- }, T& e
{
' w! p1 t2 ^ h7 ^% t1 P; d
#ifdef __WORLDSERVER
e7 u4 v* O+ R- W$ s+ |' w
CUser *pUser;
9 _* c4 u+ q- m" |* N7 M* J
pUser = (CUser*)scanner.dwValue;
6 T2 a' I2 }* e' \" R. R
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
8 a) [8 v* d9 U8 M
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
- F: u$ x) ^( }+ ~
else
G5 }$ L4 s% ?9 y% ~$ i8 L1 u' w1 o
pUser->AddText("你还未达到重生条件!");
# a( @; d: Z5 f: _# H% C5 z
#endif
& p' R9 u* p" F6 i0 b
return TRUE;
" D4 D7 n b8 ^* \
}
. B9 z/ S6 s+ @- o! a, o4 ]
' H6 a9 ?( ?) y# }; K
( c9 G4 e" p y. S4 ?' O% ]; F
4 R4 `$ ^' o+ p3 V
) _- E2 I7 S/ i2 U
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2