飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
7 |) f: |' x- U1 x6 G$ y
; I: S7 d$ q9 _- H
Mover.h
4 e$ U! G# J( u) y
代码:
0 Z3 ~8 K6 G0 G& R# E
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
9 q/ N" b: ]9 u7 B2 K+ u3 X& G' P
* s; f2 }6 x s7 N2 F
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
5 @/ \& y+ x9 ^; a b: _ a t% w/ x
0 [8 U" q, j( N+ x& x
然后你去mover.cpp添加
& I' v5 j8 G7 g- q4 L
" @& E, p: L1 W! t* z
代码:
) N! d/ X- ]9 ^( q
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
+ M6 ~/ K$ H0 k+ C2 {- Y3 b |, Z
{
! Z2 h; h6 {% i8 h* e W( t
#ifdef __WORLDSERVER
8 _' [- |$ p1 |; `
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
0 M( y! D$ m, a
MoverProp* pProp = GetProp();
% `* |: x. R' U1 d( F/ q& B
if( pProp )
% B3 ?9 K) N7 b, ]% e
{
2 H ~1 V( M9 `: \( W f/ l" g" o
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
( O; I6 o- d+ _5 _" T2 e0 R
{
' S0 d$ Z4 p, _& ], a% U% j
AddChangeJob( nJob );
k" B- u6 K5 b- j% v; `
}else{
# Y' w/ e( W. e% P. Y
return;
/ h& i u) U. R s; \
}
8 j c: M& o: I% C% M/ U- {
int nPoint = 0;
: }; z X; k/ M9 J
if( m_nJob == JOB_MERCENARY )
, k9 I- K0 s9 f" K
nPoint += 40;
- m: L8 ~2 \! r- ^& Z$ T
else if( m_nJob == JOB_ACROBAT )
) @7 d. F6 y$ ?1 p
nPoint += 50;
* f- b" g# e" Z
else if( m_nJob == JOB_ASSIST )
- l4 z$ R; E9 u O( k0 O; o9 S
nPoint += 60;
* x* S2 i1 W3 d2 x2 b
else if( m_nJob == JOB_MAGICIAN )
$ ^9 c0 Y9 e1 q& O S9 Q) ?
nPoint += 90;
0 j0 h0 K) Q: p' w' B; p: x
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
7 O$ E) R+ Q* a+ U2 W
nPoint += 120;
, R( H6 X: b/ f* j" q
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
/ Q5 h/ q; C% k6 G2 U" m
nPoint += 150;
# M! q9 c+ C4 m% E5 b% |9 U
else if( m_nJob == JOB_RINGMASTER )
0 Z7 b" @! ]% I, ]/ @% G; z
nPoint += 160;
9 T* D# `7 @" B; I5 [. r- H3 _/ z4 [
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
! @1 E6 }5 g5 J9 y: L3 u5 ]
nPoint += 180;
% E' B, H" Y" W x6 ^; i" \3 t0 j
else if( m_nJob == JOB_ELEMENTOR )
* ?0 Y% ~. K1 X* q
nPoint += 390;
$ G5 t: h. ?7 @$ Y1 v$ E
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
* F# s4 G5 G- R' c5 b
nPoint += 120;
3 @" X9 o7 o, E) v: e4 E) F
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
R. u7 I2 z' D* G! ?" ^" }3 w
nPoint += 150;
8 o/ z; R9 S( g* K" @. X H/ P) d& k' k
else if( nJob == JOB_FLORIST_HERO )
1 r, I' s& p( _9 t( q: l
nPoint += 160;
; s9 R. n! Z0 f3 E; K& w" u# t
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
/ H9 N% ?# B; h7 x: Z0 y
nPoint += 180;
# Q8 F0 b& J) n& d& L
else if( nJob == JOB_ELEMENTORLORD_HERO )
! e2 c. k& L" ~: _. p# E
nPoint += 390;
/ U# |8 I% A/ I/ S! o* m" ~. P; |1 T f
$ H. i4 p0 r$ H: R* E" U" f
AddSkillPoint( nPoint );
2 u! g4 O4 k+ o8 e
m_nLevel = nLevel;
: O' G; A$ I; [# C! R% Y: y% D
% e/ f+ Q( J. r* K8 |
SetJobLevel( nLevel, nJob );
1 q4 m$ l: n. x6 ~1 u- s: @
m_nDeathLevel = nLevel;
1 s' e% \0 J) Y
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
/ B4 {* {; K; J) q
if(IsMaster())
( t4 ?4 B7 C$ x t) ~
{
/ u1 v- F: [, i+ T' j4 k' Z/ l
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
; F2 }2 D4 Z# v
if( nLevel > 59 && nLevel < 72 )
4 _1 w U1 u" E. f$ ~& k4 C7 Q
dwTmpSkLevel = 1;
M K3 |" s x3 ?3 ?) l' Z9 D
else if( nLevel > 71 && nLevel < 84 )
, k H: P# c3 L8 c
dwTmpSkLevel = 2;
. r, T( S2 ?, `, X' D e
else if( nLevel > 83 && nLevel < 96 )
: S# R5 z9 l: z; G, ]$ f
dwTmpSkLevel = 3;
. I9 I( U0 S) P" P* V
else if( nLevel > 95 && nLevel < 108 )
# Z; M+ H) ~2 [# ~4 E5 Q# I% n
dwTmpSkLevel = 4;
, R* o( X% E/ L3 s! w. c
else if( nLevel > 107 && nLevel < 120 )
( Z4 I( l- r0 E& z4 s
dwTmpSkLevel = 5;
; V! e7 X; a7 g
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 p& Y) H( T4 Q; m5 t% I4 s
{
9 P. s' l1 Y. D0 ^: f# |! i6 J! J% e
LPSKILL lpSkill = &(m_aJobSkill
);
* S' q4 v+ ]% s9 a
if( lpSkill && lpSkill->dwSkill != NULL_ID )
|) @+ W& T/ f i
{
& w5 \6 Y9 i' l0 l
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
) o" x$ J( l) h1 V
if( pSkillProp == NULL )
# G7 s: E0 ] `5 ] D. e' T7 {3 h
continue;
$ T* Z0 i0 Q, D( ^4 D& }
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- u7 N( J* o- {5 q
continue;
: [; |# o# @0 h X* B
lpSkill->dwLevel = dwTmpSkLevel;
$ C0 W5 @+ `$ |* @9 J# E/ _
}
. H0 \- W5 x2 k* F& _" E
}
* X; M' A' z7 |5 H, y2 |( s( C
}
3 F9 A. I* G0 S
else if(IsHero())
1 Y3 G) N. E$ x/ R: m+ q0 N) W
{
: k3 F5 f7 K% R9 j0 H
for( int i = 0; i < MAX_SKILL_JOB; i++ )
# J' Y* w, R, _1 z3 F
{
6 v5 P/ K! n" u3 Q9 ?; u4 e. b
LPSKILL lpSkill = &(m_aJobSkill
);
+ k9 Q: Z# o) B
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! r. W% N% {7 g( i; A! [
{
9 t: i: m+ `0 l7 \
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
! `, A+ |) m9 u2 q, G& G% D
if( pSkillProp == NULL )
" W- o5 S& y% {' A" j) o
continue;
( s# X2 z; d# \! Z( o1 C8 R' W8 G
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" P, ]* S! T/ U. U) f. T# f
continue;
% ], y" N# ^6 a9 c& E8 }0 y0 E* S
lpSkill->dwLevel = 5;
. r1 }0 f' M4 b! l
}
3 o' P: D7 ]3 [* h
}
6 g( _3 s( e# d `2 f
}
) ~3 `0 x' j( |; L2 Q6 Z0 v
else if(IsLegendHero())
! c) D( g- [5 k! I! o& X3 X3 M
{
' J! Z G1 ?* |
for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ t6 I3 w0 Y( ]1 [# f" [6 {. L) Y
{
9 H% R* T& O( c( \3 s7 Y- [' E
LPSKILL lpSkill = &(m_aJobSkill
);
) L" u4 E& l% A9 O
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! F U. m7 s! u9 L
{
% `* F6 S4 c" C1 w& `$ ]1 x G9 n
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 j0 u' `0 n( x
if( pSkillProp == NULL )
. i& g, U A) p3 ~2 a+ C
continue;
- X2 N7 Y) a/ ^; ]% r- t2 ]" M
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" `# Y( Y7 l7 S( F5 @$ t
continue;
4 H2 m8 L7 r" j: f. g: r3 q
lpSkill->dwLevel = 5;
2 Q2 m/ S. g) d5 i% m: M% j/ v
}
# n3 M) `2 i, V
}
; }! w% j5 [* \% Q* q6 d. T
}
( x7 ^" l: {$ ^; s# G7 j+ B' `2 t
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 c3 o# k2 `" s2 M) i/ p
if( bGamma )
$ C% Q( K- s; e& w5 L0 M+ s
{
: ?' E; u0 {2 ^
m_nExp1 = 0;
* P% H5 |9 Q: P& |( u$ H
}
+ b# u' r1 ^ [
$ K# x5 D' w' z( J
( (CUser*)this )->AddSetChangeJob( nJob );
. ]; p* `: E1 n& l K2 x
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
& Z5 H' P" p1 t
" l* | b5 F6 y! p# \" [, L9 B
! `4 b- `0 c# f5 E) L2 k
#if __VER >= 11 // __SYS_PLAYER_DATA
- w, a; O6 q5 ?, p
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
& t( r5 e5 n4 H6 k& D2 l
#else // __SYS_PLAYER_DATA
, Z; {6 v( @' c: n9 m
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
^) _4 F2 o; U& s
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
! J$ I8 h* S0 v' ?6 i9 S
if( m_idGuild != 0 )
* M7 W5 N8 i0 p* L Y
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
- c! j- r6 @+ Q& r# j$ Q
#endif // __SYS_PLAYER_DATA
" e. c2 G8 D7 {/ o
SetHitPoint( GetMaxHitPoint() );
1 G6 U4 d5 n% }* Z0 m! e
SetManaPoint( GetMaxManaPoint() );
5 z* f: j0 |- M7 H) X/ Y3 T
SetFatiguePoint( GetMaxFatiguePoint() );
( s. s" J* V; _- ]) R" Z V
if( nJob >= 1 && nJob <= 4 )
" `$ q3 w2 ~7 p
{
& D. o$ U+ P7 C3 \! y
m_nStr = m_nSta = m_nDex = m_nInt = 15;
" W, V/ ~# E0 j( X) e" I/ Y- X- V
m_nRemainGP = 28;
. S% B/ u. B/ }3 D- O( r8 {
}
) M/ k1 h3 |5 Z
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
( A( |+ |+ {1 e3 `
{
0 k, ~% O* c0 O6 c6 s" ?
m_nRemainGP = 118;
- W9 u! k1 ^9 ?# P4 Q) ]( Q
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
6 n2 V7 o' O! R, U8 S! k
m_nStr = m_nSta = m_nDex = m_nInt = 15;
( C, }2 s* r- x8 m; r# H
}
$ F' `6 J' X: E" S
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
1 f8 M4 s+ K/ U- _" n! _, p2 F4 ^0 [0 W
{
" Y1 o9 J4 d! Q7 u8 B
CItemElem itemelem;
7 ^8 Q2 ^3 [: v2 `) g, Z9 f
itemelem.m_nItemNum = 1;
8 S. u, G! B2 n8 ?& |) z
itemelem.m_bCharged = TRUE;
, `, p, M" Q9 D; b- c% x
BYTE nID;
; a: q$ [2 @' t+ z- z
/ _; T8 p* H1 V1 p# |
if( nJob == JOB_MENTALIST_HERO )
8 ^- O+ J8 `! j
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
% H) O: u" g1 M$ a, p$ @
if( nJob == JOB_FORCEMASTER_HERO )
4 A/ i: P% C; w! G g4 N8 G
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
$ U3 Q- O4 O* o6 L. W; b! c
, h) K, |' y& }6 U' K8 m: H4 M
( ( CUser*)this)->CreateItem( &itemelem, &nID );
0 w& s+ v) p( C
}
& L, X$ t" {# m) t2 D
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
5 l M) ^( K- W
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
' I0 ?7 a* R% }
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
2 w- @6 D3 }! R
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
! L7 P: {. l" ?# L) s/ N7 c8 D
( (CUser*)this )->AddTaskBar();*/
$ k1 |- H: G" ]4 j
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
3 K; K5 Y! j. U2 }( _+ T( [) \$ J
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
4 t; b1 Y- k. b2 B
((CUser*)this)->CheckHonorStat();
0 n' f8 b5 n5 d' c3 p
((CUser*)this)->AddHonorListAck();
2 u- Q) }5 \3 {# k; h
g_UserMng.AddHonorTitleChange( this, m_nHonor);
; P2 D$ ?8 p' i! a* T& ^
#endif // __HONORABLE_TITLE // ′Tà?
( e+ Z5 W; |# ~7 j8 D4 b
}
; C6 N7 V( F! q; Y# x
#endif // __WORLDSERVER
+ N) E- s- `+ `2 f
}
4 h1 ]% z" b' ?) Q# k+ |* H( C, V
: o2 Q0 D( D" S
然后你进入functextcmd.cpp并添加以下
& P$ ^" a5 Z5 q) r7 b. l5 i
s k" j: f4 a+ [. t# h" z ?
代码:
7 G+ n7 j8 h, Z4 `
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
0 Q3 g7 k' q1 f4 L) V1 ~6 {0 y
下面插入
' F! _/ j, H3 y, h% }1 x& }
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
, N6 W* b" K, x6 s3 k
6 [* P5 Y8 b; M6 ~& v
然后你去
0 J' ]8 p8 G) Q0 f
4 w' R. p4 j; @. n. @
代码:
6 u% E3 N1 x5 p9 M2 s3 k; _
代码
# h* n0 e4 v' G. i2 Q" V6 J4 H# n
BOOL TextCmd_ClearPropose( CScanner & s )
0 v9 U& ~( r' ]- q, h
{
6 |0 ]" D" v+ p' v& B
#ifdef __WORLDSERVER
0 H) y9 J3 a- i2 f
CUser* pUser = (CUser*)s.dwValue;
0 e- k" Q# ?0 ?( ]0 z @$ I
g_dpDBClient.SendClearPropose();
/ t( h/ M2 c7 r1 w, D
#endif // __WORLDSERVER
6 p* H* C ~7 | i0 o2 X9 G8 V
return TRUE;
2 U4 G; Q* B+ O ]: r
}
6 T2 m/ c* W# B' K
下面插入
4 W2 J' G5 q. H( o8 i o( [
BOOL TextCmd_rebirth( CScanner& scanner )
8 K0 w& d8 m# N" U7 w
{
5 J) k. ?* B c% i7 H' \) c, e) y
#ifdef __WORLDSERVER
3 Q0 ~7 @3 \0 W. }
CUser *pUser;
$ A: o- A3 n' J7 m# Y6 h" r
pUser = (CUser*)scanner.dwValue;
( k+ S6 M9 E1 T$ m1 `" C& z
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
2 w$ F- z& `6 P& U4 G4 N3 T2 S
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
9 r8 q: [- e- s2 q5 y, [
else
& N. s- H; q! X3 k, ]! z9 `
pUser->AddText("你还未达到重生条件!");
2 x7 F1 x4 B9 A9 ?/ ?
#endif
1 b. O2 `- a" {% f6 @0 `
return TRUE;
9 L8 n$ q- C/ `" o3 Z& @
}
5 M) l4 o1 u0 d4 F3 ]
2 `# y# h2 \' o% {1 [ @: [
) T7 K; f/ ~$ A) \# ]6 S
% D- s7 d+ J; _4 u- M, P
, _8 f+ q0 H' J5 `4 W9 w$ ~
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2