飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
2 J* q) w o& i# p
- p, o" _1 H0 _, d7 p; t, t. U/ N
Mover.h
- R* \" Q% C( h
代码:
( a4 ]+ Q- _+ T7 W! @+ J
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
- z" F- n' N4 i6 q- k% M# u$ ~
" n2 _- P# @4 J" U
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
5 o2 Q3 z1 |4 p
% m8 p: b7 v+ U: y$ p
然后你去mover.cpp添加
" g6 \" i' \ V
* ~: Y4 W( D/ I) R% u$ d7 }4 x
代码:
; i; ~- C0 E4 u& A* [
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
, M7 D* P2 l3 Q5 x9 ~; n6 G+ D+ I
{
) g H2 ]6 m# E- U" D
#ifdef __WORLDSERVER
# R: P& c0 }! e/ b c3 a
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
; O5 L$ ], ~! n+ |' G1 s U" @" e
MoverProp* pProp = GetProp();
9 z* a, S3 m/ W9 E; Y( A: X9 ?4 I
if( pProp )
C3 F5 R# w6 o
{
7 R6 F2 J" j: S5 N
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
# d7 r. U2 o' X
{
' | ?5 S; N+ {- K8 I2 g
AddChangeJob( nJob );
$ U) I! J: l, {1 b7 r8 i
}else{
5 k- q& Y3 ]5 q
return;
! f5 N: p3 J2 F0 V: g5 R* w2 S
}
+ k3 u! c! w7 e. s. u
int nPoint = 0;
, a. Y4 b4 m2 Q5 ^& v! u
if( m_nJob == JOB_MERCENARY )
9 n$ W/ ]" g& P! z1 F
nPoint += 40;
+ ^+ r, ?! ]1 b. e, |7 ?
else if( m_nJob == JOB_ACROBAT )
& Q$ x _8 v3 }1 m* k
nPoint += 50;
& C- f. L% B0 T# K5 E7 {' \
else if( m_nJob == JOB_ASSIST )
; B' g; w" G7 [4 a
nPoint += 60;
! q/ F P J& Y5 b9 y& e4 U
else if( m_nJob == JOB_MAGICIAN )
* W6 q5 H3 W- _! Y9 y4 [0 Q
nPoint += 90;
% y w% E* K$ L* e, w/ N: n' W
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
/ d, h" b+ v* G% R! `& u
nPoint += 120;
: L5 S: G9 b- w) B) H4 w& i2 t
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
& k/ O- }8 Z _6 u, D- W5 [
nPoint += 150;
9 A3 {/ x( B+ @: w
else if( m_nJob == JOB_RINGMASTER )
* F9 d B7 T4 t! s0 @8 e
nPoint += 160;
6 v) q2 g& k5 P- g
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
4 f; A3 Z5 [% [
nPoint += 180;
( x4 Z& B! c* V+ i
else if( m_nJob == JOB_ELEMENTOR )
% O9 C) H0 n, ~+ }' C9 c* S
nPoint += 390;
' D$ b& C& g, y# `. O) r1 N' u- v
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
) i. O y. H9 w) u
nPoint += 120;
+ [) {- ^/ I" |
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
, L4 Z" w: h9 Z) `3 v/ c
nPoint += 150;
1 {; J- m n' ?4 S
else if( nJob == JOB_FLORIST_HERO )
+ U* b c8 c# U/ ?. t" M- ]
nPoint += 160;
( }1 G* f. v. M7 h
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
5 M! C u1 U: g1 D$ E
nPoint += 180;
# R4 }) Q3 a/ k
else if( nJob == JOB_ELEMENTORLORD_HERO )
( u1 V! |. y) I$ G) P# B* W
nPoint += 390;
' g1 A! W5 f) N# d$ l( y
3 F6 r2 h$ |. H* I1 U) _5 ? M
AddSkillPoint( nPoint );
9 v- `8 o/ E# Y7 I# r, o
m_nLevel = nLevel;
3 [: I5 X0 u9 \6 D
: e0 E+ a4 @% V7 w! C5 C6 Q
SetJobLevel( nLevel, nJob );
' }3 _) ?7 e1 i. B' k4 s
m_nDeathLevel = nLevel;
+ y# D: ?0 B3 H# ]( X0 ~" V! ?' X
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
# d2 {0 y; e: i ?/ S
if(IsMaster())
% {" ]( q& x9 Y4 J5 x, k. ^' T
{
8 d8 p2 O. `$ d
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
- D! ^' H9 ~1 x3 a
if( nLevel > 59 && nLevel < 72 )
6 S {" C" b+ B) K6 N! q
dwTmpSkLevel = 1;
: O1 n8 R2 a2 A! c# r. `: m
else if( nLevel > 71 && nLevel < 84 )
! j+ o+ n) F% M; B
dwTmpSkLevel = 2;
+ Y- ^. E) `4 j5 Q. I1 K7 U
else if( nLevel > 83 && nLevel < 96 )
) F8 L' u' |8 V. o/ r% z
dwTmpSkLevel = 3;
& L1 o( t; l' m; g" y, b
else if( nLevel > 95 && nLevel < 108 )
5 h' [1 p0 `1 s& E
dwTmpSkLevel = 4;
" e8 c; }% O! q# R
else if( nLevel > 107 && nLevel < 120 )
( Z2 d# i+ ~' y& n* H2 Q9 ]/ p
dwTmpSkLevel = 5;
& e4 f* _4 B$ i) _, V7 J
for( int i = 0; i < MAX_SKILL_JOB; i++ )
! p. D, T7 l+ w' B" K
{
+ ?/ U" O0 a' {+ t2 \ ?' d! h9 \
LPSKILL lpSkill = &(m_aJobSkill
);
% o% ?4 L+ a% u! @, d
if( lpSkill && lpSkill->dwSkill != NULL_ID )
4 Z' B+ |0 U2 w2 s* o" @
{
3 B# J9 e3 N5 d& B. P
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
* r+ Z: @+ k, A% L
if( pSkillProp == NULL )
5 F+ _' Y, v9 p1 p, l
continue;
2 r; }4 o" [9 b6 O+ K1 o
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
" ]) n$ {: m/ i+ ]4 Y
continue;
7 `6 \) T9 B4 N7 n* A& [
lpSkill->dwLevel = dwTmpSkLevel;
; H' v4 l" \) x( r/ _( |/ O
}
7 x2 |& X8 T; y1 D: { ]
}
/ H' Z: ]* h0 c6 y" `
}
1 O, N" E8 P2 g8 n% P. T H
else if(IsHero())
: K3 E% |; c" {* \6 r" L
{
' H. W0 m' S- s B2 M4 m, F* A
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' u1 D6 v% y, I# g% R
{
. a8 Z9 m1 I& H; V: }
LPSKILL lpSkill = &(m_aJobSkill
);
" R0 [3 I* K4 W7 V9 q$ E- m4 ?; k2 D& [
if( lpSkill && lpSkill->dwSkill != NULL_ID )
) ~- f n# _& M
{
" i0 d2 u8 D c3 k3 g5 [
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
. f6 [3 f- z, ~" |
if( pSkillProp == NULL )
2 r( u8 c' f. L9 A3 g4 O# p
continue;
; o3 [( h/ Q: j4 _- W
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: Q+ ~; _' b7 w6 ^# `5 h8 q/ A
continue;
) u1 c* `# N4 j3 z
lpSkill->dwLevel = 5;
& ?* Y( R% v9 Y
}
: O( D* {3 l$ `# G6 ?! ?( b
}
0 U Y% |' J' g2 A
}
) q; Q8 h5 T8 y5 ~/ Q R8 t$ \5 k% H
else if(IsLegendHero())
* z1 v5 {1 \! _+ N- u
{
6 m- U3 V% c4 t
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. o$ j5 p! X; k+ l8 e4 O* L
{
$ p+ Q8 ~, M6 f' L! d5 c
LPSKILL lpSkill = &(m_aJobSkill
);
( y1 o# L2 o0 h+ U( o# j
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; X/ o, a6 \5 z G
{
, }! u0 p7 B' Y3 b& K
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
7 b/ z) W7 t) w6 T7 P
if( pSkillProp == NULL )
( q9 ~7 N/ ?. ^8 P' X, X% G
continue;
; m2 K8 ]0 w9 A9 H* j) ?/ b
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
. D: p/ t$ e$ A3 f9 A
continue;
& t2 L" \: }( C5 W* y! e- X" |6 X
lpSkill->dwLevel = 5;
9 j) q- M1 k U# t# u# G4 B
}
" D% r" O* ?0 s3 |. ]. p3 f" a# M
}
- Z, S. ]% J; \9 i. t
}
8 |5 |- R5 ]# ?) e& B
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
9 r$ F2 V4 \+ m
if( bGamma )
7 u Z) u; ~# x7 D1 l6 N2 i
{
, C, c3 l1 N8 W
m_nExp1 = 0;
# _5 } Z" A* o- d6 N: G! d9 m
}
( i& F0 J& O" @8 e) G2 ^
. e4 M/ E$ W. q! }; N$ [/ \7 w( E0 x
( (CUser*)this )->AddSetChangeJob( nJob );
3 j& {3 g- Y2 `6 h' q. ?) b1 n/ ?
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
! x0 P0 m& K$ H( }* d: Q& m
6 }4 k3 L' }7 _5 k# h- M' U
+ ~, r& L' n' b7 }. F' @4 l" e
#if __VER >= 11 // __SYS_PLAYER_DATA
% V* V' Z! w+ T6 X4 d1 m7 k7 z
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' {3 a0 B9 H8 M' h
#else // __SYS_PLAYER_DATA
- A. Z' f/ E# F$ p: W3 @
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
" ^$ f- \% {2 g" P
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
9 U. D c K9 ?% r
if( m_idGuild != 0 )
, o8 e+ W b" Q6 ?7 D$ K& N
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
5 b( x! D7 c: N) C& T1 m& Y; E. {3 [
#endif // __SYS_PLAYER_DATA
) T+ a6 P$ B9 t5 k. s
SetHitPoint( GetMaxHitPoint() );
( b- n# n5 F; s4 A4 H3 J
SetManaPoint( GetMaxManaPoint() );
6 a- X+ y3 ?2 n0 y2 C. A* a5 b
SetFatiguePoint( GetMaxFatiguePoint() );
. r: Z) U$ x0 Q8 a+ ?" `
if( nJob >= 1 && nJob <= 4 )
5 v; u6 |# D: q& H" Z }" j
{
( s& {$ ^' ?2 y
m_nStr = m_nSta = m_nDex = m_nInt = 15;
+ W! b( q6 E. N, i- L; Z
m_nRemainGP = 28;
4 g$ [ h; b9 c- }) u3 W# ^
}
- K2 d" s- s4 r7 g7 \1 I
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
1 u6 H& V2 r- V4 m$ p: Q( Q/ t8 H. x
{
" V4 [0 g- Z/ R- C, `( @
m_nRemainGP = 118;
3 E$ U% L( p b, c
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
5 C6 ]( a2 c9 ~- W p
m_nStr = m_nSta = m_nDex = m_nInt = 15;
- x- _3 h7 e7 m5 o5 }
}
& y8 }& D4 R) {
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
( }& C6 ?; L: g+ j
{
; e' c! h6 A/ y$ L/ T3 F& S
CItemElem itemelem;
+ Y9 D3 g/ k: i2 ^- e8 P; {
itemelem.m_nItemNum = 1;
- b, u b' T" @% y9 o- u
itemelem.m_bCharged = TRUE;
! o2 d; Y+ a3 c8 D9 r0 o. A
BYTE nID;
5 Q) C0 s% F0 f
6 o9 k0 E8 m, o8 H
if( nJob == JOB_MENTALIST_HERO )
% b/ P3 ?) h1 g* b0 j
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
- B* k6 ]9 W9 D7 r8 D! {; V
if( nJob == JOB_FORCEMASTER_HERO )
' p. E5 `: m1 W H# q
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
0 R4 l6 r2 \, {/ T. `" f
5 e. K' Q9 L) l- b& W5 V
( ( CUser*)this)->CreateItem( &itemelem, &nID );
1 t& c6 d3 X- F0 x
}
1 ^" |( k1 r0 t" w3 \3 J N
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
) f( M* ~9 \9 _& O
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
- Z$ j8 d9 p) o. \$ R1 ?% t
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
" q5 H+ c5 K; A7 @
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
0 R* J# l8 n& u% L; e# B( k
( (CUser*)this )->AddTaskBar();*/
0 Q* \8 I' \, R5 S1 v) ^& o
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
2 m- W; E- w. R* ^! S
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
! n, _# } R t3 b% C1 j
((CUser*)this)->CheckHonorStat();
) w9 c( [$ Z" U/ x1 L/ j2 K
((CUser*)this)->AddHonorListAck();
4 Q' \, e# Z4 P! }1 T% e8 \1 i
g_UserMng.AddHonorTitleChange( this, m_nHonor);
' t4 H0 p4 f, `' D6 q0 a1 y
#endif // __HONORABLE_TITLE // ′Tà?
( [5 M" P/ z' _2 m) `4 b; `
}
" ?! C0 c7 c" S
#endif // __WORLDSERVER
) Y4 p& P4 B1 y) q+ y$ j% ~. @
}
$ y7 W# q) M! ]' B
9 W& h |+ M, Y
然后你进入functextcmd.cpp并添加以下
3 [& C W& X; f0 [4 B
; f0 Z$ w9 ~2 o
代码:
$ h) k" s' Z0 c: E7 O
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
2 m3 Q3 r$ o2 V
下面插入
& r6 O- k: D3 M2 w
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
1 M* R! k& `( S
J5 k/ O+ c5 \' \
然后你去
! F& ?" I2 Q' F/ s, ]; R
1 i$ i6 {9 t' Y- c2 i/ w
代码:
3 L! s* R! R8 c$ p9 ?0 q7 M1 x
代码
0 j9 D& h3 ~; ~+ ]/ d- |
BOOL TextCmd_ClearPropose( CScanner & s )
; |6 e2 h- |" n! i1 p B5 S3 o4 X. Y
{
- W; V8 x3 X; ~- C( y( e0 ?
#ifdef __WORLDSERVER
4 s/ T, S( m9 U9 z2 g
CUser* pUser = (CUser*)s.dwValue;
' E' {+ Z; g8 Z4 C& N
g_dpDBClient.SendClearPropose();
- q& X. Z4 C' D$ a
#endif // __WORLDSERVER
6 t8 x9 P# i9 [2 ?, s. b: E
return TRUE;
( |! u) o( f" ?
}
) P6 i+ x0 q5 l+ j6 l; t( v- G: {
下面插入
" W& {3 r2 o: n
BOOL TextCmd_rebirth( CScanner& scanner )
" ~8 U$ j% u5 b$ U5 s" x
{
+ T2 Z! M6 j8 ^4 _3 X6 S
#ifdef __WORLDSERVER
" f7 `* @2 h, l& N' T
CUser *pUser;
9 P/ O) V) Y$ g4 n7 i/ {! i
pUser = (CUser*)scanner.dwValue;
/ j" r6 s1 E* L% v X4 l
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
( p' r8 e" `* e! Z( J) t# d7 R" ?
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
- P5 q" ], ~( [7 [
else
, f. w' V z ~3 M L" a- X A
pUser->AddText("你还未达到重生条件!");
4 m8 e& ^& L$ P
#endif
: @0 z0 _" N K" P+ t4 z
return TRUE;
3 D9 M; |! [* Q/ d& k
}
* @4 H6 w7 ]6 v; j- H! `
# E5 G1 A0 A4 J; F- A M- C4 e
# X' ]' O0 J0 J, `) u% I) U
5 ~; d, ?: V$ ~$ [. ?7 r
5 m1 E2 k- |( w' j
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2