飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
# ^0 o& g0 Z9 R( s* O- a
7 K0 j4 L5 h; R% J/ B+ Q+ I
Mover.h
" _# f5 s# }: J$ [( O4 h
代码:
; Y8 a# \: H0 u6 P- o' u& ~' g6 J6 e
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
" y W5 W" |+ n
' A4 A2 N4 }9 a* F7 F# ~: \
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
6 @# c* @4 w2 T6 G4 `( L
6 A7 a0 t5 v7 t Q
然后你去mover.cpp添加
0 e/ X9 S( ?0 X2 a+ ?
0 z( s3 M9 o- _$ ]
代码:
R, L! M* g2 e- A' M0 l' Z4 `
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
/ c L8 U( ~( B5 P* V$ `, s3 r
{
$ k; W7 J9 z' F/ Y' m' e' t& R7 H
#ifdef __WORLDSERVER
% p4 g6 K) a" ? r T0 d6 N% e2 ?
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
. h: U! O- t+ s8 g
MoverProp* pProp = GetProp();
, q; f2 A9 S0 Q8 l/ I' j
if( pProp )
! Q* D3 k( Y, p7 \* N
{
9 j- D1 M/ T' C: p6 @( D( N k' i9 u
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
0 Y, f" g1 b9 T& y8 |! T' @/ v
{
) Z" V' x1 I# e% E! c
AddChangeJob( nJob );
n9 k7 R" ]: }# e
}else{
! q% q' e( X6 ~% {) J6 f$ `
return;
# ]1 F! Q: k0 s, t: d
}
# b( C! m" M6 T2 F5 o
int nPoint = 0;
+ H7 U3 `" _7 ^
if( m_nJob == JOB_MERCENARY )
7 t( t3 }% G" @6 x) w5 f, q. V
nPoint += 40;
% J y: z% I# e* n- C; T+ ]
else if( m_nJob == JOB_ACROBAT )
5 c8 s. D; f' p- { ?) y: v+ Y% B
nPoint += 50;
( g5 h0 x) V E T/ e: A4 M
else if( m_nJob == JOB_ASSIST )
; v: M9 ]8 m% D+ P
nPoint += 60;
( b B- T D9 Q9 p7 y% d
else if( m_nJob == JOB_MAGICIAN )
4 M8 u9 h8 }6 O5 s
nPoint += 90;
: ]) Q2 ]; t5 \2 x- B h1 T: s9 Q' Z
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
' k) n- }& Y4 q' @% M8 }% F6 p
nPoint += 120;
0 j1 p. j+ o* G
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
+ X `5 R- A$ U+ {. K
nPoint += 150;
+ Q( G) `/ U4 R5 r5 U7 \, z
else if( m_nJob == JOB_RINGMASTER )
0 q2 R% u7 m4 o$ f: l4 g2 _2 |
nPoint += 160;
0 S6 ]1 K" ?2 |/ Y: Q
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
, {* R4 D T: R6 k+ o
nPoint += 180;
) {% g; _% W5 O5 X6 d3 b8 N
else if( m_nJob == JOB_ELEMENTOR )
$ \* E( C+ y7 }
nPoint += 390;
/ ]0 `1 K) s1 \+ a+ }' I/ B# r
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
! G6 n' q& ~; `. C6 L" v/ j
nPoint += 120;
! M! \1 d* |( T+ f& T
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
, E, V! Z W. X' y3 N2 Z
nPoint += 150;
, k! r/ s2 k) `* O5 ?
else if( nJob == JOB_FLORIST_HERO )
) c! Z2 d" }7 F
nPoint += 160;
/ g9 R2 A, p. d
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
/ z/ B: d8 i6 T2 D, l% | W% ^
nPoint += 180;
9 f$ q2 `4 b5 x5 M! e2 I
else if( nJob == JOB_ELEMENTORLORD_HERO )
' B3 V! Z4 R0 p: _
nPoint += 390;
% F4 S) i+ x& @% ~+ Q" |6 y: X
5 g" H" x% g( K
AddSkillPoint( nPoint );
8 W! M4 t3 X, {# E- ] a) Y! Q
m_nLevel = nLevel;
; g. {5 F% b7 Z3 F
3 `4 M' v' q0 e& q' f
SetJobLevel( nLevel, nJob );
, o* _5 u% ?5 X0 h! Z$ O+ ~
m_nDeathLevel = nLevel;
8 p6 {: o' T+ E2 W8 ]6 u
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 c9 o: V$ O5 o, |% O- Y
if(IsMaster())
2 Z) ]. H, ?9 \& Z
{
y k) s; ]( C% h* e
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
" L/ k C6 g4 r) B
if( nLevel > 59 && nLevel < 72 )
% p: J3 k" b) {" p
dwTmpSkLevel = 1;
' ?' r, o4 f3 k! f2 h
else if( nLevel > 71 && nLevel < 84 )
: R% p. p. i5 T1 [) F! a. @
dwTmpSkLevel = 2;
3 s! B5 M0 C& \. g3 e
else if( nLevel > 83 && nLevel < 96 )
# e2 T, }! c# n3 q$ O, B* [
dwTmpSkLevel = 3;
) g1 Y k5 A- T, r3 q+ V# O |
else if( nLevel > 95 && nLevel < 108 )
5 Z6 ^: S$ Y) B+ _
dwTmpSkLevel = 4;
) Q9 h8 w8 F3 y( i( C% w
else if( nLevel > 107 && nLevel < 120 )
5 R( V% v. F) M6 m( X: D
dwTmpSkLevel = 5;
7 }% U' @- {, C: \3 W4 {
for( int i = 0; i < MAX_SKILL_JOB; i++ )
& z4 w" Q6 t& b
{
4 U2 K0 z U6 t% R
LPSKILL lpSkill = &(m_aJobSkill
);
* Y/ R' X) z4 ^# z, t2 M7 ~$ n
if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 j6 F9 Z/ \. Z K( o8 a; H# _4 N9 @
{
+ y5 b& H4 Z$ U' M( O) C S; s- {
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
5 K5 \6 o& q! @. V0 p* l2 J
if( pSkillProp == NULL )
9 h) h' p+ l/ q2 W2 Y7 `2 B
continue;
5 B; `. \( a \' f, N2 K4 N
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; v* r2 [! j; \, D6 R# ?
continue;
1 R& A2 Q) B+ N: j7 j& F* L
lpSkill->dwLevel = dwTmpSkLevel;
7 B4 C0 H: i1 O) |- {' H
}
& g" e( y! q) x @
}
+ X( d' j6 ]- J
}
( K# ~( Q1 d e8 N; t& e8 D
else if(IsHero())
v P( C: ?# ?! [& d/ o; v0 o: ~ g# l
{
' | a' [" p: w7 g5 o/ w
for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ Z* P& [( ]3 [& P5 P; B5 s
{
% Y' b. W' g" c# @% e
LPSKILL lpSkill = &(m_aJobSkill
);
8 v n- e+ T: o2 f3 Z, l6 o# `
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; K2 u2 X7 |" k% I9 `4 N! k& O& S
{
1 u: [& L, G% m
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
6 A5 q, n" j1 X- j9 z f' S R% B
if( pSkillProp == NULL )
' L/ a" u/ |! W: O, e
continue;
7 x0 J- R6 Y2 Q! g. v
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, x" L+ N( m9 ^
continue;
6 D8 n' H% z! @% _" ]( R* Z! w% I
lpSkill->dwLevel = 5;
2 d' l) l/ r! `+ V& Y9 d9 w D
}
7 h; o* u3 S) K- Y* P* g% W* N
}
( {5 I$ x1 `, `3 t
}
% L1 L9 d1 }, H R
else if(IsLegendHero())
7 T% s# j& {6 _( @% N
{
: c- v& m( E3 ?; Q+ V5 ^1 @
for( int i = 0; i < MAX_SKILL_JOB; i++ )
, M) v; A K ~3 ~2 a1 s) o/ m0 c* I
{
4 O% M7 |8 r4 z6 Z
LPSKILL lpSkill = &(m_aJobSkill
);
) u8 A& y; Y$ S t5 V, ~: i" F8 X
if( lpSkill && lpSkill->dwSkill != NULL_ID )
6 Z5 Q& Q; W/ g9 w# N- c4 Z7 S
{
% v1 x* J* i& U+ L; A( j
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
" e4 Q$ l$ s% @" p" ^7 E
if( pSkillProp == NULL )
- d7 }- l9 p( [) k' M* u
continue;
! {( Q3 Z2 U7 U) Z2 d2 G
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
1 y w, r9 u4 A2 A
continue;
( {1 v5 c" f8 }, n
lpSkill->dwLevel = 5;
6 i g% C! m3 d5 \
}
- J: L% @, a. Z5 @% f
}
; Q) i! D" s2 z3 G* f5 ]
}
8 P N- J' U8 W* ^; m) ?, t7 {# h
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 Y# j# t0 |* p+ c& w* a; i
if( bGamma )
* a! D g6 i& V+ g/ o2 y
{
4 V1 |& i1 Z# o6 O3 S/ D
m_nExp1 = 0;
5 w: w% v6 o: V& @) f0 r
}
- U7 d3 x1 j! p- _2 n7 w
# A' B9 n4 x0 D" k
( (CUser*)this )->AddSetChangeJob( nJob );
" g7 \- |/ }- g, x7 S% b3 \
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
" q" ~; l! J3 X
8 L! \ M- Y+ O- j# B% m" |$ f
3 i% Q, n* z s1 i% \
#if __VER >= 11 // __SYS_PLAYER_DATA
# B0 Z m2 t q8 Z7 n3 p5 u# {
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
% V4 `: Y1 B4 p# R( T$ I/ \) e
#else // __SYS_PLAYER_DATA
6 [1 |& M$ L- d7 y' v
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
* y' ?8 r; G( Z( X
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
, ~1 ?8 H) B/ A3 s+ d
if( m_idGuild != 0 )
. Z2 h. D5 j$ p, \! T* T4 ^
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
" N( D6 g, a# u9 U/ `4 F! q( j
#endif // __SYS_PLAYER_DATA
& s. g5 {5 L/ C: E/ i
SetHitPoint( GetMaxHitPoint() );
1 E! L, g+ t8 x
SetManaPoint( GetMaxManaPoint() );
5 @# f) P0 e, I
SetFatiguePoint( GetMaxFatiguePoint() );
( C, g: C5 l" k% k1 A. u4 g
if( nJob >= 1 && nJob <= 4 )
" G5 t3 ?) D7 m4 W9 s
{
9 o4 t1 z; A& q9 v& E1 x
m_nStr = m_nSta = m_nDex = m_nInt = 15;
' ], @% v2 q7 y V, H7 B
m_nRemainGP = 28;
7 A s ]7 _1 p! g
}
7 k; ^% r8 ]/ K
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
, i' b* ?. X5 N7 t Y
{
. C' @7 X+ v w* e( k
m_nRemainGP = 118;
' {+ N t2 T* ~: x
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
$ |' z9 g* W/ P$ c; O
m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 W& Y4 d( S& H! M1 r* O- a2 j: r
}
% f/ X( u* h5 Q0 {& T$ C/ ]
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
+ e2 p7 F, s+ E* `( f: u# f
{
5 w. M: m6 a& A0 G) F
CItemElem itemelem;
+ x. ]& K3 K2 D# |* E
itemelem.m_nItemNum = 1;
. o" X1 Q5 F9 D( v
itemelem.m_bCharged = TRUE;
: {: A$ G# e( R7 c& f
BYTE nID;
X: \+ d, f0 f) m$ x0 ^
" U7 F) o) t) j
if( nJob == JOB_MENTALIST_HERO )
9 ^* V) h" p8 G" Y* t
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
: A( F# l* S7 b# q- U F% T
if( nJob == JOB_FORCEMASTER_HERO )
6 A, t" b% f7 F5 X. i# g; }
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
) I/ y3 O3 I9 I# Z( m& g/ {
* A" h8 F( \' _- u, p4 m
( ( CUser*)this)->CreateItem( &itemelem, &nID );
7 r0 O7 N3 S3 e2 D
}
% i5 c/ ?- a5 z- l
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
! z# E/ I: ]/ j+ e" u% I* m$ V7 E6 i
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
( \0 j) K& S2 J2 ?
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
% U% z/ g4 D m2 v* p' o2 n! X
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
: X2 l1 h2 o6 Q% h
( (CUser*)this )->AddTaskBar();*/
- R. T; |. O5 t0 m
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
0 _+ O( N; }5 V8 I& p6 a
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
/ t' ]$ s$ y+ S [, L' m
((CUser*)this)->CheckHonorStat();
- c' m: c; m+ H" z8 B
((CUser*)this)->AddHonorListAck();
" U: j3 L; }. _) M; k% M
g_UserMng.AddHonorTitleChange( this, m_nHonor);
* G0 Q6 j P5 J6 V
#endif // __HONORABLE_TITLE // ′Tà?
, [! @1 |4 c5 N
}
4 c; D# g3 I# L. b
#endif // __WORLDSERVER
7 G$ L B8 n" w! N2 y2 X; s
}
+ o+ _& F, b. t/ ?: k& ]: S7 B
/ _- y& A) F7 s9 M4 p
然后你进入functextcmd.cpp并添加以下
5 o) w. A) F# S) w3 K' o& b f
: ^2 L0 H7 F4 B" y4 n9 s m
代码:
( X' T4 S+ S3 j: Z
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
* q1 B& ~( Y" M f( M- t1 P- }! n5 w% t
下面插入
7 o1 b9 V j3 }% |9 h( j
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
2 {5 E! K5 y4 K ]& w
0 Z. e8 x* O- k7 j6 C' m* L
然后你去
5 n/ V. R& r# ]- k4 g t
0 q6 q( g/ M9 x' L: }/ t$ F
代码:
. ], g0 e) z6 w" j2 ^' q+ b
代码
% r4 f) c1 k U) m! l7 I' L
BOOL TextCmd_ClearPropose( CScanner & s )
& I, X! s% e5 [: O) z9 G7 O
{
! {* Q' e, b7 Y& M0 Q
#ifdef __WORLDSERVER
8 _$ o+ [# m1 C
CUser* pUser = (CUser*)s.dwValue;
7 Z# W' P" V# b; z/ U. W. |
g_dpDBClient.SendClearPropose();
& G. p, f3 A- [7 Q% }, J: U! ]
#endif // __WORLDSERVER
* z, L+ C) G- r" x
return TRUE;
4 _; T* f4 @0 h1 b! Q" {
}
5 k! a6 S6 u2 i" ]: _. ~5 I" d
下面插入
6 ]/ V% u! Y% a0 r- U3 m1 Y
BOOL TextCmd_rebirth( CScanner& scanner )
! ]; X( P, n: a: j# y, E( X
{
- \/ f$ v: [4 Z$ U
#ifdef __WORLDSERVER
9 p0 ^' T" D( v% s# {
CUser *pUser;
; t- q: F8 E% I) ]
pUser = (CUser*)scanner.dwValue;
0 M1 Y7 D g/ ?1 S; V
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
$ v# H. d+ _* r4 D$ _4 W
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
% n7 p$ ] w6 ~: J
else
# M: S1 D* q* l5 D6 g) o
pUser->AddText("你还未达到重生条件!");
2 q% j' \6 l3 V0 E: r7 _7 Z0 E
#endif
2 S# T+ ?: d; `0 Q
return TRUE;
3 T! l* k/ l. m' e2 ~3 |2 H- p
}
9 J: `3 h" d; i9 ^' l
4 w" L( @. S4 Y
" ]2 y" P4 h! l; n0 C6 V3 k2 v
# b: t& V( p) `, N
" a: |1 G- {# ^+ P5 u. W2 Q
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2