飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. l6 s9 v4 U& h9 d
+ p D6 f, \* j0 I( R
Mover.h
; W$ p5 |/ G$ U' _5 i% h3 o' O
代码:
5 w2 Q8 M6 Y+ j- j7 a' T5 D0 T
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
" q$ u! `( i# Z: B6 e
. T% W% l% w# E! x4 A% X
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
5 I+ h0 G3 ]: o: \/ A
% R8 y' ^2 I4 O# l, w& P6 i
然后你去mover.cpp添加
2 h* \0 ~ F% ]- w
1 B3 c& v2 m% Z2 T) t8 G
代码:
4 c& h5 a9 ]1 C; M2 }, r* e
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
- ~; Q" ]5 O% _2 }7 m$ m6 o
{
& Y6 k$ J7 W1 x/ t" Z7 w" _0 O/ ?( d
#ifdef __WORLDSERVER
+ t& W( F6 t) `2 X/ y
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
: W9 b: \' S" _& F$ Y4 [0 ]" m. y
MoverProp* pProp = GetProp();
: E; b# R" k( `! B" \- f, O" R
if( pProp )
; z S- W! h- H* o6 i
{
( _: a7 i% p" B% l" ]
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
! x; b7 ~( e: X
{
6 y. g( h+ x" V" J7 c; E
AddChangeJob( nJob );
2 ?2 k# b/ p/ B5 q) ~
}else{
' Z8 k6 n( e& z
return;
- M, H' \- U$ h
}
- } M0 f( Z1 U. N6 }5 E5 H
int nPoint = 0;
# x+ y- K! N! }4 ]/ [9 y: J
if( m_nJob == JOB_MERCENARY )
& M5 k* R: G0 e
nPoint += 40;
( n8 V2 Z' v+ s. x7 u7 q( ^
else if( m_nJob == JOB_ACROBAT )
& A; u" Q8 n$ N6 {# y9 b! _: l
nPoint += 50;
; c( Y) H8 j$ q e
else if( m_nJob == JOB_ASSIST )
8 T5 T4 `6 v1 j% G& x/ U' w. x
nPoint += 60;
; n. r( b' ~9 B0 W6 r- g, o, a4 U
else if( m_nJob == JOB_MAGICIAN )
% W, M, F1 c' m3 M7 E
nPoint += 90;
6 j& n! O0 ` L! f
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
. u& s" g3 D3 d; x" x; N4 `
nPoint += 120;
6 K: w% C: n# _' P, Q
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
, j9 T+ K. _. R. I! F
nPoint += 150;
1 X5 H$ a- F+ K6 c
else if( m_nJob == JOB_RINGMASTER )
! e5 G1 _# u6 Q& d; e5 M4 m
nPoint += 160;
, ~- ?! D& D8 p" A' }) J$ i
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
; F4 j8 Q/ y! L& l& i
nPoint += 180;
2 q$ K& b6 s& F1 }) N$ j
else if( m_nJob == JOB_ELEMENTOR )
: Y# v/ a4 [6 r1 e$ g% Y" P; A% H9 K
nPoint += 390;
4 G/ w' K1 h5 q" M1 H) i
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
/ w" `2 V% v7 o
nPoint += 120;
0 t" D h3 G/ \
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
1 k5 ?2 j" h$ l! V; z
nPoint += 150;
) |, V M8 \+ g) R3 _. Z& `
else if( nJob == JOB_FLORIST_HERO )
% o8 g0 p# T6 U' ^# u! e# I# d1 Z# D
nPoint += 160;
8 a) X; S; m) R7 L$ M
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
9 k3 ?3 N( j8 i0 M W& }4 N: Z
nPoint += 180;
$ k: } h8 Q- ~$ d
else if( nJob == JOB_ELEMENTORLORD_HERO )
4 e! G3 e. H: e, V
nPoint += 390;
( _/ M) e+ {6 O1 a9 }" o
! i- g0 `) s5 W3 ]+ B- L2 f1 H1 F
AddSkillPoint( nPoint );
2 V* ?( L; R1 P( w9 [$ Q
m_nLevel = nLevel;
/ E7 p8 U$ f3 v: \2 I) s
& A a& J' p" K4 D% M
SetJobLevel( nLevel, nJob );
- l6 ~7 S! H5 P5 X; B- J' D
m_nDeathLevel = nLevel;
3 i/ H" H& ~+ v+ r* E I' d. D# p6 Z$ w1 e
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
) [8 S/ X) n9 E
if(IsMaster())
1 a) e- s3 S9 c* c \" p2 X8 W, G" _
{
8 C$ E0 c5 P7 u$ V! _( V7 D" R+ t
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
+ R( V! I' e/ ~, M
if( nLevel > 59 && nLevel < 72 )
, T* _; X& M8 m: d- |5 k, D/ K
dwTmpSkLevel = 1;
1 I1 u, V, p- T3 H3 b
else if( nLevel > 71 && nLevel < 84 )
5 F, i! w; w8 b2 l- d) ]( {
dwTmpSkLevel = 2;
' J. F) Q% @1 V$ a2 Y0 b; ~% l
else if( nLevel > 83 && nLevel < 96 )
6 W5 a2 P. e8 C
dwTmpSkLevel = 3;
6 {0 x, e" J8 z) V7 f; ]" L8 `
else if( nLevel > 95 && nLevel < 108 )
" e; N ~- |( T
dwTmpSkLevel = 4;
: y4 q: i, H: f; D2 w e6 Z% ]
else if( nLevel > 107 && nLevel < 120 )
! r/ p* U; O: m8 o( l o
dwTmpSkLevel = 5;
- @- ^/ T' i) d- B/ d4 U( c
for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 d% m9 T! j, G/ j) G) ]
{
. w- L( {# m" I: @4 z. }' ^- h. P
LPSKILL lpSkill = &(m_aJobSkill
);
" a' ]7 Z7 x0 C5 {# l7 ?2 ^
if( lpSkill && lpSkill->dwSkill != NULL_ID )
, D% P* @* |/ _& P
{
( B9 s' M7 h6 N. ]
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 z2 d, k, }+ e! @0 V
if( pSkillProp == NULL )
/ N1 W6 z" Y F7 N: s
continue;
1 j$ w9 r2 n) m J. T( `
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
3 m0 ?5 N& y' U9 w% l- h/ ?
continue;
% w$ j/ y" h' ]* R! A. l
lpSkill->dwLevel = dwTmpSkLevel;
$ w) @* j! Z8 w
}
' c. X- G! j* P* A: F, D- r! Y: e
}
! ^/ X7 x& ?7 N/ K: F
}
w$ X& J, a' y- I( Q
else if(IsHero())
- [3 l/ v# X8 e
{
2 |" n+ |: U1 J- T
for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ w' w7 e2 G. t6 N2 j4 b: }
{
: k# Z* Y6 d% z, Z
LPSKILL lpSkill = &(m_aJobSkill
);
8 b2 K, Q/ A. q4 A, O. T! R
if( lpSkill && lpSkill->dwSkill != NULL_ID )
" B( s1 o9 n: a/ k5 X
{
# z; D) e, n$ R3 k% |# }
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
. i. M% p7 X) a$ X
if( pSkillProp == NULL )
. w+ B7 P3 b8 L9 x& G
continue;
( `/ {- T7 P/ Y% W$ Q$ L) z
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! n4 H- N1 K7 |. q5 W: ^4 B
continue;
8 Y3 N" q5 l2 V% p1 I
lpSkill->dwLevel = 5;
, \1 _+ S1 B9 T
}
) q; F; n) v z. u/ J8 ^; }' N2 }
}
j) Z( C& [2 d! |2 l! B. I
}
# E4 b" L* h# q) V9 d
else if(IsLegendHero())
6 {, J. r3 m9 A0 u( x
{
% J+ T/ q8 n. P) I7 t
for( int i = 0; i < MAX_SKILL_JOB; i++ )
) D1 |4 J2 R9 v
{
8 W1 z' M! f2 E( F
LPSKILL lpSkill = &(m_aJobSkill
);
% Z7 X: x0 U% G, e' k. Y/ F
if( lpSkill && lpSkill->dwSkill != NULL_ID )
# \8 b/ |/ I/ v+ m5 L* d8 S
{
, V* ]# x# d9 {$ E
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
7 C) K' ]- j+ E/ O; |+ H
if( pSkillProp == NULL )
! G9 K$ N! b+ A4 B' l* L y
continue;
0 |& \! `9 c5 J9 y( L( N0 S
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 `5 l p& o( v4 Z& o
continue;
5 [& ~/ K# z# Q: v- V
lpSkill->dwLevel = 5;
: b: r# J$ m: F/ e9 P; W
}
6 d" ^, F% V6 q9 v# x
}
2 U% T, X& j2 y& A" r
}
8 _, o, ?0 e) Z9 H. I6 b8 E
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
8 P3 h8 s$ D& `* L
if( bGamma )
& f2 F1 N0 w# X
{
. y* J0 i7 D3 ]- i& t
m_nExp1 = 0;
& N' D/ l7 Y4 w- P; F8 v
}
" t1 a* } b" W, c7 ^
3 _! N; l; k- v3 @2 i5 i
( (CUser*)this )->AddSetChangeJob( nJob );
" j! |# L( o/ X& }; F5 V4 U! R
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
* A/ f. a0 N6 o0 w! D
& R, Z* |5 c- y- l9 l9 S. m5 l
, p+ y& Y, R5 Q( W/ O
#if __VER >= 11 // __SYS_PLAYER_DATA
& I" [7 _! }0 R" T( Q C
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
" F. C& `" n( t, S8 l& z
#else // __SYS_PLAYER_DATA
7 U" e* x4 G- @2 k$ B: o
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
: V/ d8 Z- S2 ?9 O1 ?$ Q
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
. |! b) K( D$ }; B
if( m_idGuild != 0 )
, `- c$ }1 ?. B' P; z
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
; k7 w7 p' |$ r
#endif // __SYS_PLAYER_DATA
9 D0 ~8 w" f5 s5 p* ^( r2 p
SetHitPoint( GetMaxHitPoint() );
+ W/ b" F: \+ M/ {, W+ b$ Z
SetManaPoint( GetMaxManaPoint() );
/ q, s% s/ Q$ N9 e1 t
SetFatiguePoint( GetMaxFatiguePoint() );
) j! w m7 \$ T. I4 J
if( nJob >= 1 && nJob <= 4 )
6 ~: f) L; ?! P0 Q1 o0 J
{
d6 v5 q! n1 E
m_nStr = m_nSta = m_nDex = m_nInt = 15;
& ^/ |* g( Q% G" p8 g8 S ~
m_nRemainGP = 28;
! v6 y4 M" W1 p% t' V
}
# R( r& z# R9 T
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ [8 C" F& K% i( H7 Z3 @
{
7 S" Z& e' E& p+ o$ v
m_nRemainGP = 118;
5 o' K( t% X. f- e2 _6 t3 m* V
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
& Z9 f" M: a7 P" }9 y
m_nStr = m_nSta = m_nDex = m_nInt = 15;
, F2 J! A& m, f1 u9 r% `
}
' L8 Z# V6 g; x" `- w
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
: @" X) d5 [9 X& C& Z5 {$ h4 H
{
1 Q7 |8 m' ]7 b# I" o5 K) ?
CItemElem itemelem;
/ G! ?1 l; H5 Y& E
itemelem.m_nItemNum = 1;
o6 D0 G$ \/ Y: p# i+ ]# A( c
itemelem.m_bCharged = TRUE;
9 s* f* }0 g" Y( i& P
BYTE nID;
5 @, h" V* a, w4 o' S$ j0 @
4 M/ l9 A0 L2 H: D1 G- b- O% U$ U
if( nJob == JOB_MENTALIST_HERO )
0 o! G6 k6 T j2 u8 b; y; C
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
. c6 { [9 r: R+ @
if( nJob == JOB_FORCEMASTER_HERO )
- w# S7 {/ k% h( T1 r7 B8 P1 S
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
0 f' K' g: U/ E7 r
2 v+ V3 p$ ^# o7 O" r" c- R+ y% Z$ Y
( ( CUser*)this)->CreateItem( &itemelem, &nID );
: ^% ?: J; l0 [: N$ j
}
7 H. _; w' G# |
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
& t5 Y2 D# N/ t) Z, J L4 t' k
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) ]! D! m9 y: Y* W" }4 m
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
h8 v, V4 V6 J; R% T9 D2 }
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
7 R7 F" e* b" n: v, E% z
( (CUser*)this )->AddTaskBar();*/
6 [! h3 @* y$ B% C! {. ]* F. l* C U
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
2 r9 Q# _ W& ~4 h4 L7 ~
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
* Y' T# w" K6 b% ?1 {: C# Z) |
((CUser*)this)->CheckHonorStat();
3 q1 C2 N' P' H, e2 Y9 \" b
((CUser*)this)->AddHonorListAck();
$ z. ~. i1 p4 W$ P J' n# X- f7 J) ~
g_UserMng.AddHonorTitleChange( this, m_nHonor);
- c& W; S) P7 t" t! L! p
#endif // __HONORABLE_TITLE // ′Tà?
# d! a/ H( i7 m8 S
}
) ^: s( R" G" I/ F6 u8 r$ R
#endif // __WORLDSERVER
( t; M2 O1 ~: d6 S. j
}
0 C0 a0 a* P* V8 r$ b& I* g b
8 N v9 w2 X' b
然后你进入functextcmd.cpp并添加以下
$ L) ?! j4 j3 x" v
( k- \, K/ F& I7 Q A$ [$ W- J
代码:
- i: H- v" \7 `7 _1 A+ \
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
' ?( Q, ]0 \, R9 B* a5 G0 j# O
下面插入
* r8 j5 J& }' s+ P
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
9 _' C& ] Q6 n& s# o7 D% I% m
( Z# k3 ^0 U# [9 G" ]# r" M
然后你去
7 T8 E3 p! z/ P4 M: C
' U) n2 ~) k$ }" E( N2 _; f/ G- C
代码:
5 ~+ O% s' a& G9 r& Y1 K, |: Q
代码
5 O- a7 A" t( v0 [
BOOL TextCmd_ClearPropose( CScanner & s )
4 z& u2 u- z, q, B S. P
{
4 C! @* ^. t {0 w
#ifdef __WORLDSERVER
2 F- q4 `4 O6 i/ q- O" V
CUser* pUser = (CUser*)s.dwValue;
5 h! M- w# N) \& p9 a4 t/ \$ O- H3 ]6 Q
g_dpDBClient.SendClearPropose();
1 `$ p9 n# g- z
#endif // __WORLDSERVER
6 v; A1 N- i& x$ F c6 a, o9 X% l, x
return TRUE;
) i" e- Q3 f4 b C% O
}
1 L9 N( B9 K Q+ x2 O
下面插入
& j% H. N, A5 F5 C2 r' H
BOOL TextCmd_rebirth( CScanner& scanner )
& A9 i7 Y; R4 W% n6 L) @1 _9 A# N
{
4 ~) N* k& r* M' @
#ifdef __WORLDSERVER
8 \7 k" L% _; `
CUser *pUser;
3 w; T# _) n' ]6 _
pUser = (CUser*)scanner.dwValue;
; d! U2 m V" t% M2 S6 B* d/ b z
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
! ]# T; h d0 Y* I: N; }' S0 M6 c
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
4 }3 H) u+ S& u" p& v
else
! Y2 U1 u$ c8 c
pUser->AddText("你还未达到重生条件!");
2 U! f; Q3 N1 d: ]4 }1 p: \6 W' a
#endif
* E. k- O+ I) I# u% D/ s; V. ]
return TRUE;
; a; I/ e Z! S
}
e4 F5 G, W" I; `3 I. @) B
Q- T1 F3 ?# Y9 z5 U
* ]# @6 r- y- @
( b+ V" t* Z+ S8 z8 O0 `/ r8 r6 D0 L
8 v. G) z3 A) t# X
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2