飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
. C8 o% I: I% G! r
& z' O" C& M, E1 ?: L
Mover.h
) {3 b6 d6 P( L0 L8 X
代码:
( B" L. e+ {2 P" _% r# ?9 a- {
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
8 [$ L( X4 M% T( ^, p
0 F6 C3 I1 v+ j
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
8 M, v) G$ J R( J, r# K8 V
" a( ^& k- H8 G
然后你去mover.cpp添加
1 n# K6 u, t/ ~1 @$ o- s1 b
6 v$ F. }! v) q
代码:
x* @% H9 a1 j' ]6 k3 k1 j1 J
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
2 `9 P" M- q* }. W/ Y' s& G
{
3 w/ M5 E# {7 h1 A, B( h
#ifdef __WORLDSERVER
+ W) u! w6 O; _
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
, Z; R. n/ H6 Y
MoverProp* pProp = GetProp();
( }1 C) Q) J G+ f9 O- h1 g
if( pProp )
" n [+ G) ^. V% |: o, y, f/ }9 S# M
{
2 y3 ~# s) U# d
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
+ \, C6 L" U2 O) Z8 u. @* F! {& h/ `: v
{
M7 R9 v' B& E( [
AddChangeJob( nJob );
8 Y; J3 e/ M- S: P
}else{
d! x1 r: U, y5 C0 S
return;
8 B5 ]- \; k( K% m0 O$ t
}
% F7 Y, z" b4 [4 W2 _6 w
int nPoint = 0;
6 K z2 A |4 m+ |! B
if( m_nJob == JOB_MERCENARY )
/ @! P z- b1 A: I
nPoint += 40;
) L) t$ F' K! f2 I4 k
else if( m_nJob == JOB_ACROBAT )
8 w& I" V# O1 O# q8 ?1 K3 q
nPoint += 50;
, _* A, e4 [9 Q
else if( m_nJob == JOB_ASSIST )
2 p, Y* y6 h0 L7 M
nPoint += 60;
& J ]! d8 H9 h/ d
else if( m_nJob == JOB_MAGICIAN )
* f$ b# P& p7 e7 k
nPoint += 90;
* L! m+ R- Z- q+ W
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
6 i# o) T# Q+ L" \" B: u" W ^
nPoint += 120;
- z3 q! g l" M S6 ~
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
$ \0 g5 T5 A- t/ c2 Q
nPoint += 150;
( K- B2 ~5 ]( ]" m8 W: a6 c
else if( m_nJob == JOB_RINGMASTER )
$ a9 ]$ h5 H0 B
nPoint += 160;
8 k1 H) z9 {) b% B; s8 T) ]) S H- Z* X# ~
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
& d1 ~. O. E; `: y/ \! \
nPoint += 180;
2 Z3 m: t% Q9 }
else if( m_nJob == JOB_ELEMENTOR )
) b* j8 Y# @1 R8 i2 c( O
nPoint += 390;
" n9 o G2 B# N6 f
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
7 V- g& D; m c) R7 J
nPoint += 120;
, x2 |# v- I8 c/ ~
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
$ i& R8 u t6 u
nPoint += 150;
+ ~7 b! N4 U7 k+ H
else if( nJob == JOB_FLORIST_HERO )
/ H! S) d6 Z4 F [% Z# E$ x8 l
nPoint += 160;
- a' w' F% w0 k
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
* g# c0 c4 d. q. ~, a
nPoint += 180;
* R) d' _$ Z7 m& [$ G, N$ j
else if( nJob == JOB_ELEMENTORLORD_HERO )
& V! H8 G$ P6 l7 u9 T
nPoint += 390;
, X! t" C/ S! H% m/ O& M! H2 U5 H& t
: l. a5 i3 e4 }" D4 W
AddSkillPoint( nPoint );
" H" t! T! c; {
m_nLevel = nLevel;
! V1 V9 A; Z: O2 l+ m, f
( |. i, z# [% [( d8 b5 E0 }
SetJobLevel( nLevel, nJob );
& T3 L6 Q4 `2 b5 \5 S2 R( N0 L
m_nDeathLevel = nLevel;
6 \* v9 D9 Q! X# T: B* ?
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
5 N R" Q! k: Y) ]$ O* k, }+ |
if(IsMaster())
5 p& y: g& ]% X9 i' F
{
- x( m" @: p1 |: s& G! K- b9 w# L
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
% m0 a( `8 f+ h. F
if( nLevel > 59 && nLevel < 72 )
* I+ M' k, p* W. ^# V6 g
dwTmpSkLevel = 1;
$ v# I6 }+ P E- G) o- \) y
else if( nLevel > 71 && nLevel < 84 )
( m. f1 i; z* l/ e
dwTmpSkLevel = 2;
" o5 s0 ?$ Q! W9 T
else if( nLevel > 83 && nLevel < 96 )
5 y. U+ G7 w/ G7 T. |4 w
dwTmpSkLevel = 3;
8 ~$ E' z, A$ n' v: i! ~5 H; ?& B+ U
else if( nLevel > 95 && nLevel < 108 )
3 @+ _" m8 X9 D. C
dwTmpSkLevel = 4;
$ u4 F- p. q) F% A* _/ O
else if( nLevel > 107 && nLevel < 120 )
- ]7 t* X# z5 Y4 N4 X* G$ A
dwTmpSkLevel = 5;
8 y0 V$ N4 k9 K3 |3 ?6 K a+ Y
for( int i = 0; i < MAX_SKILL_JOB; i++ )
+ W: ~# o$ W0 S& z: L
{
% z# b8 @7 J! a6 g! z4 x
LPSKILL lpSkill = &(m_aJobSkill
);
1 s1 t# N) q$ N; c
if( lpSkill && lpSkill->dwSkill != NULL_ID )
/ P D' |# G7 p+ k9 d5 Q
{
3 U' X* ~9 `2 Q6 `7 p/ z% E# w# y
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 J7 t5 B$ E3 I% N! {
if( pSkillProp == NULL )
6 N8 T" x& a1 Z% i1 [" G& v
continue;
# Q' K0 T/ @5 ?: F1 W- p
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
# g7 F8 Y- i8 R+ A x/ f* g6 a
continue;
0 z1 q! x* I4 E% o; f/ q
lpSkill->dwLevel = dwTmpSkLevel;
7 P# I. p C( f. X' r9 }6 {
}
7 ?7 b1 Q( S5 t8 {5 n4 N" {
}
# B2 X) E. f% @) F+ y! p8 u+ k
}
4 c# x y/ V" r2 w
else if(IsHero())
- |& z+ U: u7 G: ]
{
3 W" ?; K7 f) B$ x5 ?% G# W( D
for( int i = 0; i < MAX_SKILL_JOB; i++ )
* E8 E6 |8 `6 K# T
{
: i5 S+ N- A! A/ F- v! T9 y- R
LPSKILL lpSkill = &(m_aJobSkill
);
6 K# C) |% U' @1 o' C& r; Q
if( lpSkill && lpSkill->dwSkill != NULL_ID )
( s3 G! ?; f0 w5 B
{
z/ {8 A5 H% U9 Y+ r
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
; F; N& i( O7 K7 y. P( V
if( pSkillProp == NULL )
Z3 j3 S5 S1 J, E& a5 M
continue;
* g& U% k$ f# e
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 A- x8 w$ A" m* g$ ]+ v' }) q6 ]
continue;
# f: d+ i# j" K
lpSkill->dwLevel = 5;
1 J; ~; T0 }2 ?" J! Q
}
4 x1 k0 J3 ~/ c% c. H5 H" K7 Z
}
7 s m+ h- F* p3 O9 t; h" P6 u
}
4 }: p7 W9 U5 S! J% P4 @, h X- p4 |
else if(IsLegendHero())
% g$ ~- K, a8 C2 c' u
{
& p: g& E8 B; O6 R( W- b% }
for( int i = 0; i < MAX_SKILL_JOB; i++ )
; B+ q/ ~) g! ?8 K9 N0 Y2 z$ Q- h
{
, B; W& c l/ w, z+ w" g# y J
LPSKILL lpSkill = &(m_aJobSkill
);
# I- D$ l( W+ F4 v/ J
if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 L& f1 L8 G& M$ s. R, b2 r
{
* c' f' h% i; k" S1 `/ x" Q
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
9 T/ a a+ v8 d9 z! e* Z
if( pSkillProp == NULL )
4 [* @! Q/ `2 D m- R
continue;
/ a* x4 O3 f) i
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
W- _ [8 D$ o) T& X) K
continue;
7 U) ?$ j) l- V S7 B6 H
lpSkill->dwLevel = 5;
0 B) T: Y. \5 A: V# U! i
}
2 E6 x* H. T# b# [" G
}
4 R$ l% F% ^' R7 E0 n
}
2 |7 r3 m* O1 e1 ~% m' x
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
4 I4 `2 T# g5 Z0 `
if( bGamma )
1 e/ l4 C8 }+ b9 D1 ?
{
8 W+ K' g' N$ T& G5 O% b7 o; q
m_nExp1 = 0;
, }5 U' v3 @: s: { I
}
# m8 U0 J2 x' c% o1 w; C0 J
; b( o' n% R1 Q; w* K. i$ J
( (CUser*)this )->AddSetChangeJob( nJob );
5 P7 \7 a; e* D N! g8 b
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
9 A% \2 _! v7 w7 @. t/ Z; L
! `1 p4 f# H% b( U$ x; l6 W
: j' X# V% s+ N
#if __VER >= 11 // __SYS_PLAYER_DATA
# g3 k. [/ j4 q3 w* ?; y; r0 X1 p+ |
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
( |0 b. U4 P9 g% U; _
#else // __SYS_PLAYER_DATA
8 t8 s" g/ ~# ]' ^' V
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
" Q% v) G/ ^# T; @0 S
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
4 D( {4 R0 a9 |. _8 c
if( m_idGuild != 0 )
7 K; f/ b. y: `
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
% n9 n1 R( Z e- v) D4 I+ g
#endif // __SYS_PLAYER_DATA
( C3 P* s8 R5 o) s2 w3 S9 u
SetHitPoint( GetMaxHitPoint() );
" w6 J! w& l* F2 E; o: m
SetManaPoint( GetMaxManaPoint() );
0 ?: c/ W, p; f. ^
SetFatiguePoint( GetMaxFatiguePoint() );
. P5 t L# [3 z1 Q; p% X' i( `
if( nJob >= 1 && nJob <= 4 )
; O+ g# E2 u: I4 l. d: w3 u- a
{
9 m3 ~) W! G8 Z: f6 C( I5 O
m_nStr = m_nSta = m_nDex = m_nInt = 15;
9 m4 t0 F5 o7 C, ^; _( D& G$ G) g
m_nRemainGP = 28;
& ^" E$ Q/ [+ q' {; i, A% D; m
}
4 n$ j/ P# \8 ?) E2 S% S4 X% b5 F
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
# ?7 o2 J; [3 y0 X
{
- O0 c. B4 ^' Z- k; y
m_nRemainGP = 118;
' t/ ` p7 \, w8 p# R3 P0 S7 m
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
2 }0 Y2 b4 b( f) A1 y% H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
6 K% i; ~1 S1 W% G! M
}
6 X$ h- q. |% R! E! [. W4 W
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
- h" l. z! n ?! M
{
$ Y& e, A! e) A2 O* j7 h1 q6 T
CItemElem itemelem;
& z2 t( U* N$ ~" r. N: d7 s
itemelem.m_nItemNum = 1;
3 p6 c$ V1 J; H `9 B
itemelem.m_bCharged = TRUE;
3 u" H7 ^6 {, R# ~6 u0 g$ |
BYTE nID;
7 H+ {# W& v4 S& j9 w
' S5 w! _( Z1 J1 }
if( nJob == JOB_MENTALIST_HERO )
' h, X+ ]% h/ ? k! e( g) M
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
4 G/ J$ I. q. o: r
if( nJob == JOB_FORCEMASTER_HERO )
& |- H+ w' a' x# I: X: j9 X0 M
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
1 a- v, L5 H' J, u. G6 C0 [/ j
& {# |0 q ~9 l4 H, {5 S; d" g
( ( CUser*)this)->CreateItem( &itemelem, &nID );
: A3 G$ Q, \$ a6 b2 Z, P# r& N
}
0 [& ]2 J A1 P. }3 K* ?
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
6 w" ^9 E) v/ Q e- V9 z( {% G
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
' z0 V9 J& n: ?2 p) G4 ~4 i
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
; x# e" w8 I$ Y. y3 E
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
" O6 Z5 ~# t5 |, G7 U
( (CUser*)this )->AddTaskBar();*/
) g5 H+ V. K" t y9 ]
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
5 E; F9 W' ]! C* Q
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
# U$ P" I- \4 o& {1 Q4 E v# q
((CUser*)this)->CheckHonorStat();
- t$ Z% e" j3 `
((CUser*)this)->AddHonorListAck();
" ?) {7 ~7 T8 K+ ~/ s
g_UserMng.AddHonorTitleChange( this, m_nHonor);
! h: p1 b$ R6 u6 [3 c9 o
#endif // __HONORABLE_TITLE // ′Tà?
. z. n% i: J( ]/ C2 ~* d; t! o+ Q
}
2 k: E% \" o" H" T( O
#endif // __WORLDSERVER
3 @+ C% J2 V$ k
}
0 h8 T7 R( B. u6 \+ P8 }
& K3 f- ^; F" j9 y6 f) ?
然后你进入functextcmd.cpp并添加以下
0 F/ u) {4 U& j% h) y, X% U6 t1 f* V
0 {" V) o4 P% r
代码:
& c7 e! L) j6 v+ U5 u; q
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
i$ |! O0 H+ t0 T
下面插入
( |( I g, \3 A7 s$ ?1 Z
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
. K* t% z; W1 y( x+ p& b1 _
9 b* f- a! A; r7 \6 I9 |
然后你去
# O; D" d8 o+ O: M+ k
, y; T# K$ N. }: c/ C
代码:
7 R, u4 Y4 ]) J, z
代码
; ^' f" C1 w/ a- [8 I: @
BOOL TextCmd_ClearPropose( CScanner & s )
0 b0 z0 h: W6 n X5 ^' T1 f! W+ J5 b
{
9 d; y5 G3 K/ L) I; V! P
#ifdef __WORLDSERVER
+ J; m; h' i K3 M* `
CUser* pUser = (CUser*)s.dwValue;
% l& J: u& }/ z8 O# e" F
g_dpDBClient.SendClearPropose();
/ a* s! e8 y( G: V7 ]! i
#endif // __WORLDSERVER
0 }: V0 {3 K# ]3 [
return TRUE;
2 |0 [0 H' x$ T6 S3 M1 J, d5 v
}
1 r4 Z) ?3 S( K" e! K/ p# |
下面插入
( y( g" l1 Q2 R; X; I3 O
BOOL TextCmd_rebirth( CScanner& scanner )
0 E m4 c0 Y1 n: d5 Q, q4 N
{
8 D4 J) q; @! i3 p- d U( c
#ifdef __WORLDSERVER
1 ^: n! F4 X! O& Y
CUser *pUser;
; h1 w e& G8 s) p! I5 R
pUser = (CUser*)scanner.dwValue;
8 n3 ~2 l9 Z9 M5 m9 z8 M
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
% W6 w# x2 p- ^& `* v
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
1 u: l4 N1 p7 F1 s* }
else
2 ?! k- | m. B! o; b* L( X; G2 p
pUser->AddText("你还未达到重生条件!");
- b+ ?0 r) N I) n: u
#endif
! ]9 f. G4 H4 D
return TRUE;
' v6 V& W0 I; s, e3 M3 z
}
) B' `3 ]$ [! F
0 g( H6 E: [8 K5 u3 U
# M8 {. w; s( B
% ~" Q4 U, [5 h9 `5 ^
2 z: n i5 Y+ h2 [
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2