飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
! z% n. M8 L- o, Z% R% K
: x1 y2 p! J6 e( @/ R: r
Mover.h
$ {. F: S' D" z" ]" D4 I$ K
代码:
! y) T; T& f# O
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
' k. c- @6 o' G! I; w2 s
: d3 M/ S4 s/ R" Z
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
% p+ F! G& r( x
' Z5 l* \, W+ b/ p# o- O
然后你去mover.cpp添加
" C+ ?! b, G! Z
7 x! F5 s8 z3 _! A/ M! n
代码:
3 v7 I/ J7 R/ i8 e/ x E6 O+ [
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
O4 d4 }8 }) \* t. t) O
{
1 @# h3 K* ]/ B& _4 v8 Z
#ifdef __WORLDSERVER
4 ^5 G2 q9 ?, m" R, s4 t/ e! V3 S. C
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
5 ~+ R" ^+ v4 l. E5 T0 R; S
MoverProp* pProp = GetProp();
6 o: G. P/ a9 r/ z2 b7 L5 ^
if( pProp )
9 q5 N+ y) M G' j
{
" x3 Z1 R( S6 p% W% U' N# z8 A
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
5 E9 o& \+ C; P0 g' c. }% ~) R
{
/ Z7 w$ k' P( P: E0 c9 m
AddChangeJob( nJob );
. I, I. j8 ^4 P, e
}else{
# F8 U* H8 I* v" r# t$ ?
return;
0 a1 k9 R" B+ ?2 {4 _- ^
}
8 X. e3 G0 H& @# r1 R' h9 C
int nPoint = 0;
: M, b8 ?9 Q2 u2 v
if( m_nJob == JOB_MERCENARY )
d, ~6 [, t8 j( Z
nPoint += 40;
" {; ?0 k3 M8 W( O1 X* ~: a
else if( m_nJob == JOB_ACROBAT )
1 ^8 ]5 K1 {/ |
nPoint += 50;
$ q3 o% g3 |& a1 @' I
else if( m_nJob == JOB_ASSIST )
5 W* i- i5 |0 U6 v4 |
nPoint += 60;
& s, z2 u1 D8 J9 l4 C+ v
else if( m_nJob == JOB_MAGICIAN )
3 O" ~3 J4 y) d( n5 ^( S
nPoint += 90;
. X9 I$ B# a6 ^3 {3 ?1 F& T
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
# ] [- B6 h2 x* R3 g1 l
nPoint += 120;
# ?' ?0 h5 u ^' g$ n
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
$ Y6 y; H$ K' ?* J9 C/ @( P7 r
nPoint += 150;
9 X$ R/ I0 V% ~( H
else if( m_nJob == JOB_RINGMASTER )
# T( i2 ~$ ~' s" {) O; s9 `& G/ v
nPoint += 160;
: X# K$ n' z' |1 |7 x+ h+ J
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
) o6 b2 f# ]# p X& D
nPoint += 180;
: Y! p7 A3 m+ s# p
else if( m_nJob == JOB_ELEMENTOR )
& S4 ]+ K: G$ {0 D$ K
nPoint += 390;
: K( i5 b( e9 r9 @( `( Q: g# E
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
K! m5 W' w9 u. V
nPoint += 120;
$ \. E" a, j& }) S" N3 W6 |5 X
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
8 p2 R$ \( m' z2 _% C: s
nPoint += 150;
3 p& H8 d f+ f- }5 v, K' X) U
else if( nJob == JOB_FLORIST_HERO )
9 y7 d& ~* a& ~8 B+ V
nPoint += 160;
; j$ |+ C$ p% w9 G
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
2 f# f+ e4 ?' S+ s
nPoint += 180;
( ~9 L* |9 O3 I' ^9 P
else if( nJob == JOB_ELEMENTORLORD_HERO )
0 p. [) ? X% V6 C1 p3 `; E! \
nPoint += 390;
T: e5 z' J6 f2 H: T
2 u) g5 C7 v$ W+ H
AddSkillPoint( nPoint );
) j" G0 r9 i0 i/ D0 `0 ]: ?
m_nLevel = nLevel;
* D+ Y N3 v( {4 n# t
$ c9 H W. t+ I
SetJobLevel( nLevel, nJob );
, I" F5 e, L0 o, l$ _& V9 c
m_nDeathLevel = nLevel;
7 M" G3 e* A4 f; p( V
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
% p9 Z% U1 ~% Y% o. R5 W5 C
if(IsMaster())
& M3 L; N. D, @) g
{
/ c! c5 _1 ]" ^. g
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
5 k0 d1 e3 ]1 M* M+ ]- y# T
if( nLevel > 59 && nLevel < 72 )
0 H; u, ]' x, b! L/ z3 `
dwTmpSkLevel = 1;
- A" m( _5 Z2 I% M
else if( nLevel > 71 && nLevel < 84 )
( S/ s, y( i' x [" t$ j5 o
dwTmpSkLevel = 2;
/ o- B9 L, S/ T% p/ A
else if( nLevel > 83 && nLevel < 96 )
0 K6 l& J' h$ @: ^! ] R2 P
dwTmpSkLevel = 3;
7 {% X0 g4 l, y9 a$ |& |. ?1 p
else if( nLevel > 95 && nLevel < 108 )
/ A3 S3 X- ?3 Q9 E- [
dwTmpSkLevel = 4;
% i; r6 ]! j3 R( t. Z
else if( nLevel > 107 && nLevel < 120 )
0 B/ L Y2 Z6 C# c
dwTmpSkLevel = 5;
% p& y2 j; Y) D% P! \
for( int i = 0; i < MAX_SKILL_JOB; i++ )
: _" |! A% Y# U4 O5 [- {3 V
{
; f$ [! {' c6 E+ Q2 A2 r
LPSKILL lpSkill = &(m_aJobSkill
);
3 F. J2 d* t4 k+ p( M" I0 a
if( lpSkill && lpSkill->dwSkill != NULL_ID )
2 @$ c1 }+ D* [1 r, B; |
{
" ~1 k& a. {1 a' _5 Q1 {9 I
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
. t# W# B9 o# P0 N& I. O
if( pSkillProp == NULL )
1 E I, M( T& k3 `1 E
continue;
4 |5 B5 S2 f+ O9 a. Q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ S6 F2 k- g9 F, u
continue;
; o4 E( ~3 W* l
lpSkill->dwLevel = dwTmpSkLevel;
. p% ?1 X" e4 y9 t8 h; s0 o5 A8 _. ]
}
: x) N% Q7 S W2 O( i1 B4 G
}
( q! x& }4 |" G; R" v* N0 O
}
. h3 H7 l' X* t: L
else if(IsHero())
9 a# J! M( V$ D
{
! O& V6 ^( Y; G
for( int i = 0; i < MAX_SKILL_JOB; i++ )
! e3 G4 x9 \* b, p4 j; L
{
4 H9 I* c( o3 X' g' T- h3 q- p
LPSKILL lpSkill = &(m_aJobSkill
);
4 W3 l1 ]; N& ]' D! c* X
if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ S; Y! Z# \9 r- @& N# d1 q$ k$ t- _
{
^0 x+ ?( c) w
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
4 K: P, `# L' ?+ X) y
if( pSkillProp == NULL )
5 e( K; |) k7 g$ H( e+ Y
continue;
5 \: G$ W3 l( }, L) H: Q- N
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 K, o) W. I( _, V0 `
continue;
) U5 F0 ~; Z* f5 `
lpSkill->dwLevel = 5;
4 x/ w$ j: y' b S6 {" I+ q
}
+ R# D- X1 q ^% f" E; Y: @
}
1 I9 x- C: `7 T6 j: |
}
* N7 ~6 o' M# T% H; o- { F
else if(IsLegendHero())
6 [1 }% G) t# [4 @! ]7 l% _$ L
{
6 K* u* b {% [$ @3 b7 v+ x, f1 ?
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" D0 D" A9 o. C) v3 _9 F
{
6 ?7 r1 `' v' p) l) C
LPSKILL lpSkill = &(m_aJobSkill
);
6 K+ U8 G2 t8 U# {! u! _$ g
if( lpSkill && lpSkill->dwSkill != NULL_ID )
5 x& L, q. C7 p4 v! L9 Z
{
4 ?( U4 l! Q( D8 Z# o- M
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% i5 E! J" Z) ]6 c
if( pSkillProp == NULL )
( y: ~" y, B3 W, ?$ e6 l
continue;
( \1 N& |% a) X$ j/ J; s# b
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ L$ A3 M/ `) `' p, z6 g8 Z# q
continue;
, c* x0 l6 d u8 @1 {
lpSkill->dwLevel = 5;
2 V" n; ~7 J3 b, v' j" J0 ^2 ^9 N. z
}
+ F2 ~9 [: a8 L, i! Q0 b; P/ ?
}
( t4 ]. W8 I( y$ I$ S1 L6 Y
}
1 q" Q% W! I, x& G. M8 Z5 P3 o
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
. Z9 K# }$ ?" t1 H
if( bGamma )
$ v1 w# d3 m2 e$ U6 h+ {
{
# c6 K# D- j% R" x# I4 U0 j
m_nExp1 = 0;
t4 [* z5 @3 H& `6 B9 i {9 S
}
" i2 |6 i$ L1 P ?; |
2 J! T1 H: S3 q, S1 o' w8 C
( (CUser*)this )->AddSetChangeJob( nJob );
0 h2 [" n2 _! M, a7 @- ?2 v+ b- `
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
3 _9 X' [! O8 y
* w/ b5 ]/ \! ?3 x. `
& K4 U: v1 B {# T$ @8 }/ T
#if __VER >= 11 // __SYS_PLAYER_DATA
5 T$ m5 @/ r, t
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
3 }% E- x( p+ `" L% H9 l. m% L& l
#else // __SYS_PLAYER_DATA
5 s9 ?+ s5 W4 Z; C
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
+ { D- [3 N! V7 |6 u! Z1 e
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
5 c: o( Y2 S- i) H! ^7 O+ T
if( m_idGuild != 0 )
% j1 [# f" |% E; v9 \+ Q6 I) a
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
* R: D% ^! S1 E1 f- X$ N
#endif // __SYS_PLAYER_DATA
' Z8 ^& N6 Y+ R2 G2 Z
SetHitPoint( GetMaxHitPoint() );
4 A$ o# v, E7 G8 h
SetManaPoint( GetMaxManaPoint() );
) \ a$ A4 ] k; q) m1 y3 l6 N5 Z
SetFatiguePoint( GetMaxFatiguePoint() );
" t9 L. d2 H4 V2 [9 Q
if( nJob >= 1 && nJob <= 4 )
9 E0 O5 U! l% v T
{
* i @8 ~( B5 {$ g' S; Y
m_nStr = m_nSta = m_nDex = m_nInt = 15;
/ u( u: ~* b7 H
m_nRemainGP = 28;
7 [! \/ ]# m5 H& p
}
. \; @- B9 Z$ \# o" T
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
" x" Y0 i; c) l J' s$ {, Z
{
$ v( s- }1 j6 T( f/ K X, c5 c
m_nRemainGP = 118;
7 r9 A# U8 a3 K @9 I' p% ^
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
6 L7 R1 G; k& L0 x1 M6 H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
, D+ q3 W+ ^9 s( }. `
}
: m- X9 b/ y6 g
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
3 G) o, P0 K B' A* [. Q/ K: ^
{
/ p0 }7 u& y" F! l. h8 ^
CItemElem itemelem;
6 C( W' v% I! k1 c
itemelem.m_nItemNum = 1;
/ q/ l; T, R$ u0 n9 l5 w1 l
itemelem.m_bCharged = TRUE;
& h7 w- L3 J6 M5 u- M7 }
BYTE nID;
/ i5 i5 V* w5 H
/ Y1 Y R( @5 [0 @, @- f
if( nJob == JOB_MENTALIST_HERO )
Q q7 t+ e" z$ P* ?2 F
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
* u1 B9 U0 ^4 B- u8 G) R
if( nJob == JOB_FORCEMASTER_HERO )
; V& C6 Y. ^8 r
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
. n: Z2 a' ?1 k1 [ o3 w8 H7 ~
- ]$ R; A% \8 n- R1 j
( ( CUser*)this)->CreateItem( &itemelem, &nID );
! W7 K& r. f$ I/ Z) f7 v
}
3 K) |$ w- q6 e3 m. @( k
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
3 n7 t$ }6 l x5 D' b
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
+ @* q+ l) @1 V8 h
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
( t9 ^5 T, B8 @1 i9 o
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
* G% j% R, Y3 [2 Y/ S
( (CUser*)this )->AddTaskBar();*/
% \0 V+ K3 V& e6 o8 y o* A
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
, I* @' w B v7 p/ @, h4 p/ l
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
, T5 c4 \2 Q* a+ Q8 d% z0 b
((CUser*)this)->CheckHonorStat();
: g- b: \* n$ @/ A9 r
((CUser*)this)->AddHonorListAck();
: A; _8 ?/ w# {( N' |9 L- V
g_UserMng.AddHonorTitleChange( this, m_nHonor);
0 c& H$ I$ j. p- F' U) u# g
#endif // __HONORABLE_TITLE // ′Tà?
8 M# v$ w Y) d! [) z
}
/ \$ x* @5 H( @, U5 b5 T6 e V
#endif // __WORLDSERVER
+ F* J. n7 D$ [$ `6 B
}
: ?$ B7 S$ A/ H: H& U/ c5 A& F' {
3 z+ d \" Z- i1 Y2 q0 H M
然后你进入functextcmd.cpp并添加以下
: u& }( ]! X. z/ u
4 ~) M5 _( H9 I: V: t
代码:
1 O& H2 S/ I2 a1 V8 b
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
# P8 v# f! q- t
下面插入
: { [* |4 x5 a: g+ ^ D; O
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
; e* i G6 f- V' O J
6 o, H1 @9 d! _" [+ f
然后你去
- |+ O0 A8 d' I# F
# p7 t7 s- r" m, |" F8 h
代码:
8 x% w+ j5 T7 p) d8 \
代码
4 w7 W" \# A- p! U& z/ J
BOOL TextCmd_ClearPropose( CScanner & s )
% I, w/ w2 d7 E3 l* r
{
+ f8 i) z+ s/ B, d) Z+ z& x$ ^8 ?
#ifdef __WORLDSERVER
2 G% N( o/ a- U& p- C6 O* b- e8 R
CUser* pUser = (CUser*)s.dwValue;
! g. L0 Q( x/ `) H) W) |" s4 X
g_dpDBClient.SendClearPropose();
4 ]) G# M0 M% J' _( w5 D
#endif // __WORLDSERVER
+ M0 E! e2 \* Q% |
return TRUE;
P. |/ ~0 L( s. Q2 z
}
2 K n$ y- y4 K6 q. s
下面插入
0 C! A. X! ~4 G3 G
BOOL TextCmd_rebirth( CScanner& scanner )
7 ]# G" R* Y: x4 }1 O" q1 D
{
3 }% n) \9 {6 l0 T7 s2 ~0 W
#ifdef __WORLDSERVER
5 H! ` }7 W/ ~: W# T! k& O- W
CUser *pUser;
+ U: Q/ W$ |5 Q" R: F( P/ N
pUser = (CUser*)scanner.dwValue;
6 y1 v% g) S2 f1 B8 H, g1 H
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
. J t' A4 L: J7 Z; \, d6 O
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
0 w3 ^& h/ u) g; L3 w0 e7 S1 C. F
else
& n6 n- h j; s' g
pUser->AddText("你还未达到重生条件!");
/ R# m I* V8 `$ H$ v; |
#endif
( N) k8 o8 d7 ]5 r0 ^7 F
return TRUE;
0 p9 M( ~/ F% _% O7 |
}
8 x$ d. R+ M; Z" `# g
" Z9 c# H% ~/ a$ F6 J( H
8 P* W0 B8 d$ W3 _
( e4 K' p( T, n, d- H
5 g: R( k$ T1 n1 i0 H3 |
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2