飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
7 |! {& @( p+ w( l w
9 X( H3 _" O' u5 G& f9 k0 Z! x2 t
Mover.h
0 {" D5 Y$ ~' W# V+ x( f
代码:
) g% q0 o6 P' m$ ?( W
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
' e* u* g5 ?: d
8 n8 l. m. G( c) w$ c9 Q
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
$ [7 l, l* V$ q7 y
; L( S$ V% d+ [' j3 T9 N2 H- e
然后你去mover.cpp添加
4 u. K& O; \1 X: q* P/ c
, T* q1 B0 P8 h! f4 Q
代码:
" g4 d9 Y' |9 K* ~
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
`" k2 b' h0 S& o
{
9 w1 M, f/ x1 G; J+ P
#ifdef __WORLDSERVER
5 T; W5 i- z: H
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( u( M1 C* |1 {1 ^, ]: o
MoverProp* pProp = GetProp();
/ ]( H V, ~; `% I* g- s" S* p
if( pProp )
) }$ s! |0 z) P( `2 [2 F+ G
{
: v8 O: l! O; k9 ^0 s4 q- O
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
7 q# Q! ]/ G0 f" E3 i0 t
{
) Q% G" l1 U8 v
AddChangeJob( nJob );
2 G) y2 [) n# C8 I2 K/ u+ ~
}else{
9 |4 [4 m6 Y, J# B/ |. M& N
return;
5 ~7 O; M1 L1 p2 @- }
}
% h. n0 Y" N* \# |' K2 R/ v r+ b
int nPoint = 0;
# U$ @9 w+ u0 F6 B
if( m_nJob == JOB_MERCENARY )
6 s7 P# p( a; L4 z; b4 v, b
nPoint += 40;
$ _. [# L& S* d" k! S2 A" x! O
else if( m_nJob == JOB_ACROBAT )
/ e. v2 E( w+ x) [3 f4 N
nPoint += 50;
% |9 L" ^: o# V
else if( m_nJob == JOB_ASSIST )
# D+ N- w2 T( M2 N) `: t
nPoint += 60;
* _. F7 i+ @+ w5 n# B
else if( m_nJob == JOB_MAGICIAN )
! v; a5 k/ F1 x; \( M
nPoint += 90;
. |' b+ m7 y- z0 x6 |3 j- F1 l- P6 J& ^
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
' n7 q. q& f0 X( E) V
nPoint += 120;
" A- l+ [6 E. N4 Z- b- q
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
2 ?0 _: u; x1 K
nPoint += 150;
* P! o+ L2 [! o
else if( m_nJob == JOB_RINGMASTER )
3 O- m1 p/ f: i+ O6 v; h
nPoint += 160;
: U2 A! e2 x( n+ Y3 j' W
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
1 ~: x2 H( l1 `- \: {
nPoint += 180;
3 D% m8 Q* M8 q9 n( d* y9 T; ^
else if( m_nJob == JOB_ELEMENTOR )
5 k) W- j, i" t. L/ O+ T9 I
nPoint += 390;
0 p8 T1 [% ]/ P% U
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
7 J1 Y0 h6 V( S) q. `
nPoint += 120;
, Q; ?* s! p6 Q+ f) A
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
8 ~. m0 L* k% r
nPoint += 150;
( m, I$ M! J8 L: n3 G! v
else if( nJob == JOB_FLORIST_HERO )
# k, e8 L4 h- H6 V8 v
nPoint += 160;
& Q/ C r6 X: K' ^# A
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
. x6 S1 e1 y0 c& d. G1 A- v9 P7 k
nPoint += 180;
& e6 C4 H8 V# X P6 f0 {9 g" a
else if( nJob == JOB_ELEMENTORLORD_HERO )
2 W$ }, D! k$ o8 W
nPoint += 390;
9 n5 c, ]. {/ z- s W
2 `' t. ~3 R$ n8 \
AddSkillPoint( nPoint );
0 N& C+ I# r1 s
m_nLevel = nLevel;
( l; R" m& O9 z5 {
# L5 M3 f, R1 G3 Z$ _& l
SetJobLevel( nLevel, nJob );
* H9 k+ s* X0 |8 W7 @
m_nDeathLevel = nLevel;
1 Y. y5 F3 k9 f: V& S+ u! P" y
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
6 r E* m" O$ x! _
if(IsMaster())
/ X5 U1 \& l ~- C D
{
7 @" ?! w) Y, n/ D/ e
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
2 a% i7 Y( ?; }" I8 ]2 v) k" N
if( nLevel > 59 && nLevel < 72 )
# O7 J) ]; y( c
dwTmpSkLevel = 1;
* _) A- {+ ^- f; e/ Q* T" I7 G S
else if( nLevel > 71 && nLevel < 84 )
% c+ a* l3 x* H D* F; d4 j& m
dwTmpSkLevel = 2;
: e" A- p- K$ G2 b9 H$ c5 {' w
else if( nLevel > 83 && nLevel < 96 )
0 p$ {# a8 o! t; d
dwTmpSkLevel = 3;
: H: h# t: h) i8 f, N6 A
else if( nLevel > 95 && nLevel < 108 )
/ v+ C/ {. S4 ?7 f
dwTmpSkLevel = 4;
( P* p1 T( b4 ?5 O
else if( nLevel > 107 && nLevel < 120 )
; e* y2 w; A/ k" B p8 k0 U
dwTmpSkLevel = 5;
9 ]! f0 N3 n4 n: H. f3 w, P4 X
for( int i = 0; i < MAX_SKILL_JOB; i++ )
8 C) a' M' ~3 j q! G7 e4 p
{
( e. Q, |/ j3 Y; v, P% F- p; T
LPSKILL lpSkill = &(m_aJobSkill
);
3 k9 A' h# M* q% |
if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ Q, I& o5 J: M( i. P
{
; A: d6 w+ w. E( m* p; ]
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 P2 @2 h2 e1 ~# b* C! s
if( pSkillProp == NULL )
% q- V$ i, W, E7 O
continue;
7 a! h$ e0 ?) g/ z* U$ e } L
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
! q, L _7 } f( x
continue;
( Z8 l4 F, F: {
lpSkill->dwLevel = dwTmpSkLevel;
4 r* B R, r" K8 T `/ ?
}
' E) Z6 r& ~& ~# V
}
6 I1 Z! u0 J g t5 }3 V1 {7 i7 V
}
6 }3 o6 e, Z A! B: Y l
else if(IsHero())
, q9 W2 Q5 L3 {
{
P1 k4 Y& @7 R+ w1 V& q
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. N1 ^9 _8 p7 |0 ?1 I
{
. [8 t8 X& ]! l5 `4 |
LPSKILL lpSkill = &(m_aJobSkill
);
9 _9 m) [6 ~6 }8 \9 G
if( lpSkill && lpSkill->dwSkill != NULL_ID )
5 z% s4 Z; M7 r! y
{
' l a8 [$ k) ~
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
6 r. b5 ?" \1 c/ i: }) `4 W
if( pSkillProp == NULL )
( _6 A# U6 s1 ^6 s) {+ |) |
continue;
' f' m$ ^0 C( j4 {
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
. v! \4 X5 a1 w7 `
continue;
" d% Q# ?; I0 i6 \( ^( Z
lpSkill->dwLevel = 5;
( H4 o# w* u1 }8 L0 f6 z5 w
}
8 l( z0 h6 o/ S: N) i/ m; k
}
# n4 E" Z& N: i7 ^* l
}
- L: h3 C& p7 W, g( H0 p
else if(IsLegendHero())
) c+ s: ?$ \. i
{
4 j- K1 L) L( I) S) N3 ?4 |
for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 S* I' P$ G) s# o
{
+ ~4 g/ T% A, G4 r G
LPSKILL lpSkill = &(m_aJobSkill
);
9 }. J- \ ?$ q ]% t
if( lpSkill && lpSkill->dwSkill != NULL_ID )
& Q5 l# i0 @- J$ G9 W' l) j
{
4 g" h0 I# i+ m k/ V
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 f; @$ a% m8 U; B+ {
if( pSkillProp == NULL )
0 h, ]' M# W) [8 p( g
continue;
; d2 I1 M" _5 n% r }# Q
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
$ _) t5 @4 _% {( W3 s Q( x( d
continue;
8 J. J/ q# y: A8 Z
lpSkill->dwLevel = 5;
. \# ^7 p7 f6 [1 t" A* i- T
}
4 d- G- z" ~* J6 |) [% L
}
/ s# u. k; N3 J5 [
}
: m) {% e4 f8 L0 S+ N5 Q
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
* |/ A# s3 A7 |6 U# |. `
if( bGamma )
! w& |6 N' o. v. X
{
9 D2 y' P& L2 a0 a* \
m_nExp1 = 0;
% D% t- l5 l4 Z/ h& w9 e
}
. A6 N2 M% v9 I/ q( K
1 t& S0 [# Z. b2 Y7 t
( (CUser*)this )->AddSetChangeJob( nJob );
9 T+ d7 n' @# Z3 z3 k: A
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
( m9 E+ W% d/ b! }
0 ~" `" G& _( a/ ]0 t+ F
! `# `/ r* ]( B! F$ {7 z( y
#if __VER >= 11 // __SYS_PLAYER_DATA
- R5 i, o& W+ h; f! ^) B+ X
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
7 \1 e, u' m$ P# H7 p
#else // __SYS_PLAYER_DATA
' I( ~5 `4 c& n, R6 L0 T' L
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
9 M6 k# f4 j. l
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
% C* l; K: \$ y2 v5 j1 V
if( m_idGuild != 0 )
( a7 X6 y3 n; G
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
3 L' _8 C4 ~8 @! ~
#endif // __SYS_PLAYER_DATA
- A; M" C* i% Q% ]7 G; E, J
SetHitPoint( GetMaxHitPoint() );
" [3 P6 Z& ^& o8 ~0 _
SetManaPoint( GetMaxManaPoint() );
- S8 z6 O1 r% S J9 J, E! r% `
SetFatiguePoint( GetMaxFatiguePoint() );
4 j, _1 w+ [% p% q: C
if( nJob >= 1 && nJob <= 4 )
* s* }7 `. w- J: y" m
{
5 `6 W& ?4 _1 k
m_nStr = m_nSta = m_nDex = m_nInt = 15;
! u, ], G( P3 }0 I4 P, M
m_nRemainGP = 28;
% H* b- f2 V0 o$ |
}
3 w ? D) y8 {0 A% l2 o9 y2 s
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
: S7 F0 z0 `3 S* Q. \3 l
{
; @0 A" K/ o9 e* w6 P0 y9 O
m_nRemainGP = 118;
- ]6 z5 c5 ]4 e+ j7 l( e
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
1 { e8 P, G! Y& e
m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 |0 B* ~8 F* V0 E5 v$ y
}
- }" y8 G5 K; f S" j
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
# V4 w. F8 n; N& ^" n2 ?% s6 o
{
+ @6 d i& E& U$ g% Z
CItemElem itemelem;
1 Q! q6 I% |8 w2 D
itemelem.m_nItemNum = 1;
& _& {- t' x6 W0 W6 f0 f* g2 T( t
itemelem.m_bCharged = TRUE;
; m4 D5 ?) A$ V2 ~* p1 }& z- a
BYTE nID;
$ g2 U) ^0 M; W* J+ {% \
3 `4 G5 m1 N, v2 i: {' q% H/ v {
if( nJob == JOB_MENTALIST_HERO )
j: N3 h3 M8 g9 k" P
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
. p' d0 b8 P' J4 m, j
if( nJob == JOB_FORCEMASTER_HERO )
8 {0 m1 e! R# o" a! K
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
. E. T/ m$ v4 D0 H: p2 ~
2 f" o2 Z" N3 b0 N" h- y
( ( CUser*)this)->CreateItem( &itemelem, &nID );
$ M, y- m$ C6 T1 I! {; k$ [0 K
}
P5 S! p3 ^" q. o6 C/ q0 Z* p
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
1 V7 F ~1 G4 e0 H8 P! b
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) r% R- \" h6 j) i. D: ~, H
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
; B& ] V: v8 ?) g" u6 t
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
3 g, `, k2 I: Y& y6 t9 N: U
( (CUser*)this )->AddTaskBar();*/
7 O/ G: {0 S7 i6 z- U
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
+ ^$ `) ?1 w0 @' Y" l
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
; M. b3 Q+ }7 a+ N+ }4 y
((CUser*)this)->CheckHonorStat();
. S( ^/ N& T. Z- H# K. ?
((CUser*)this)->AddHonorListAck();
4 T& p+ g( \: c7 p
g_UserMng.AddHonorTitleChange( this, m_nHonor);
1 j1 S, W3 A; S5 f3 M) o N/ @/ W' Z
#endif // __HONORABLE_TITLE // ′Tà?
# r) O7 S- x! j# Q ]5 |" j
}
- R( y* H) J6 D" E% L: f
#endif // __WORLDSERVER
! v0 A# U/ K% m4 N% u
}
" a0 V; J7 M q
1 |( G3 }& H: F; V1 V
然后你进入functextcmd.cpp并添加以下
+ ^/ C J# F* B& r# Q z; V$ k- W
j2 w; L' G! k4 U* i
代码:
8 s7 u7 W; P4 J7 D/ F' b) }
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
% A! M% A, L+ G- M3 j: J! U3 w
下面插入
) b2 Q' V/ m& p6 }. D
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
6 v% ~) Y# d- `9 u1 j
6 w* u1 h& }+ t' B! e% ~
然后你去
, L9 V- D) D2 {; W: V$ l
: Y8 l& S$ p8 w6 Q Q! e |: |
代码:
; f0 M( s% k9 c+ N$ e% k
代码
1 v. S' A% l5 N4 z; K/ w
BOOL TextCmd_ClearPropose( CScanner & s )
: q" Q7 U+ `# t f) w& y! x; P
{
3 O7 d' z# l5 R4 |3 ]. D7 k
#ifdef __WORLDSERVER
' a( ^; I2 n$ U
CUser* pUser = (CUser*)s.dwValue;
) e, O6 U1 E1 B6 R
g_dpDBClient.SendClearPropose();
" E' Y9 F2 k% G) v k5 P
#endif // __WORLDSERVER
6 j% b% `4 s7 V
return TRUE;
5 u) S2 D( l" v6 D8 ]4 W1 F# a6 j
}
9 b) x( I/ b. n S7 G- [0 L
下面插入
) O" Z8 [* m8 g: T
BOOL TextCmd_rebirth( CScanner& scanner )
, f T' b8 I3 ?, p% V$ m: e+ `
{
4 d- G0 P! D; H3 K$ @
#ifdef __WORLDSERVER
+ \. P6 V* G. x( q: E: j9 d
CUser *pUser;
+ Z9 N! n; `# [. ?
pUser = (CUser*)scanner.dwValue;
( l/ ^2 s1 H, I: C( W+ B
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
/ _% F' e* |$ H6 R1 y6 I) i; G
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
0 u- a$ |, x: @4 p3 }4 U
else
2 \, S( M, Z" x* d8 q. c0 k
pUser->AddText("你还未达到重生条件!");
3 C- Z$ w3 l, `1 k, b
#endif
* [% x" D; i' ]) ^; k
return TRUE;
. L5 s! b2 n# J1 ^* M
}
' \; s# O9 b. m- w
# j, f0 }5 m7 C$ h6 u
" B# O9 G8 K. k: \2 _3 S
0 U- B5 O, ^* R7 P2 V8 a* V# l* \
2 p4 ]! {( j1 K' `) }
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2