飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
: l9 f# K. ~7 L" K; |# ^0 N5 D4 B
" z( t; p0 c" [
Mover.h
- Y3 R! R0 `* R' U3 n
代码:
. M8 s) b9 `* a d7 [& L9 w
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
# d; u; H) S4 b' M- F3 Y: s
5 |5 v3 j3 p$ x6 h7 E
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
7 H, o& g3 d: U" }0 L6 o# D
! K; I+ Q9 C+ F% f% C
然后你去mover.cpp添加
) m4 K# ?, N9 K! _0 m
+ n* L0 x- a1 b( t& V b7 p, `
代码:
$ X) Y# o4 T3 ], j
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
( A4 t/ r4 h! u
{
: [' X( e) f$ c L
#ifdef __WORLDSERVER
7 |- w5 V7 R% ~, g
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
' b2 ]. w6 Y- p' H
MoverProp* pProp = GetProp();
! b, F; S( @: }+ L
if( pProp )
3 ^1 M5 M; l9 A) U8 i( Q
{
b3 w% E1 ^7 T0 V( W0 ^5 X
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
: j7 X0 B% h) R+ Q% k% E
{
+ c1 \- q+ X9 w; C7 T7 r$ ]
AddChangeJob( nJob );
5 n6 b- B$ L; k# F- w0 A# H1 ^
}else{
- m2 Q2 I, r b4 p( t) Z- }
return;
) c m7 K* W5 y( i- y
}
- s7 v$ w- v! P: w
int nPoint = 0;
( |. N b: O% e9 E0 Z
if( m_nJob == JOB_MERCENARY )
* U/ h6 _% d( F! L: B' P* L
nPoint += 40;
6 h" S2 c* M( L! w- r& y
else if( m_nJob == JOB_ACROBAT )
& B9 r6 C4 f# h3 u4 ~5 j7 C; L; y& Y
nPoint += 50;
. f% c& ^3 m7 y
else if( m_nJob == JOB_ASSIST )
% H- r. D3 u% j. o! _
nPoint += 60;
^/ @7 p. I$ C! m' [
else if( m_nJob == JOB_MAGICIAN )
0 P* b, O# m5 h4 w$ D
nPoint += 90;
5 R3 m! S& k$ B
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
1 @$ Q6 D5 F: d( r% s7 C q( c
nPoint += 120;
$ [' P+ c: |3 k7 R* a; P( o
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
0 Z% e0 G, H" f# T" D" s7 m0 ^2 s
nPoint += 150;
6 D" Y( X* b% Y
else if( m_nJob == JOB_RINGMASTER )
% Q& e5 s4 G5 ~# M5 x& B% K
nPoint += 160;
% f( z( J- j3 h
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
* F% m: j0 I @, {6 j' E$ n2 w) X
nPoint += 180;
. P( J& f. o( P* `% n O2 D5 d
else if( m_nJob == JOB_ELEMENTOR )
0 I/ x9 z1 V7 F, h- e5 ]
nPoint += 390;
8 V+ ^% l) L1 L- l( I
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
5 L* c* ?. X9 ]( B
nPoint += 120;
! L. f# O* Q4 ~: u$ ~3 b
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
/ w0 O) L0 i" N4 Y
nPoint += 150;
# Q4 _7 x0 }* I( z$ m3 Q- i6 P* l
else if( nJob == JOB_FLORIST_HERO )
6 ]; S$ [2 e6 P6 S0 o
nPoint += 160;
9 m( _% g, |7 M3 d" M3 n% T
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
. b# R; h& ?: g3 y
nPoint += 180;
1 B& { w, a* o4 @$ \' c
else if( nJob == JOB_ELEMENTORLORD_HERO )
- b( ?4 T' M. L8 W( `- T( T3 Y/ j
nPoint += 390;
. z$ l2 g0 f R4 Q% U
% O6 K7 {9 {: S
AddSkillPoint( nPoint );
- _, _8 Q- D3 c" P% V8 U. w$ ~2 h
m_nLevel = nLevel;
+ p& A3 u6 W, Y6 ?! B
# c6 o5 h) ^% G
SetJobLevel( nLevel, nJob );
4 _3 ]6 S4 W; W9 K& X* y1 e( O
m_nDeathLevel = nLevel;
" y& U" l- e, s) m) ~ s
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
( I( m, _* D: U, V( y- a4 o" @
if(IsMaster())
4 A, u9 q8 `8 g. b. b! T
{
0 Y' `" i. _1 ~& ^9 m4 a9 K( q, N
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
9 x5 `7 j( ]/ k; ]
if( nLevel > 59 && nLevel < 72 )
! q1 T' j% @# j# ^1 ]2 B0 p
dwTmpSkLevel = 1;
# D K: x8 {( Q! Z
else if( nLevel > 71 && nLevel < 84 )
0 O9 |8 D S; }1 \
dwTmpSkLevel = 2;
% o- s* v$ [5 N9 v' T
else if( nLevel > 83 && nLevel < 96 )
2 K, n, d( n( W2 w8 g
dwTmpSkLevel = 3;
: d1 q. p- E+ m+ ]6 z) i# c
else if( nLevel > 95 && nLevel < 108 )
- g) n' R4 N+ ~, \
dwTmpSkLevel = 4;
. n* O+ i8 _- d$ y3 r' q
else if( nLevel > 107 && nLevel < 120 )
5 e# S# M, p) T+ R; T) u: V0 W
dwTmpSkLevel = 5;
1 M3 u: A% e' j( t3 D
for( int i = 0; i < MAX_SKILL_JOB; i++ )
: p$ t! [5 M/ r9 a
{
0 j6 i3 L) x! s: ?" q0 ^, z; b
LPSKILL lpSkill = &(m_aJobSkill
);
+ \0 ^& k4 ~7 Z7 W n2 B! D8 v! g% e
if( lpSkill && lpSkill->dwSkill != NULL_ID )
$ D2 h9 p! H7 f4 q& e J. ]
{
. v# |8 d0 P, R: q$ ~
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
/ `& Q7 \, D0 y/ ]+ T
if( pSkillProp == NULL )
9 w9 h' p1 ^# c/ ~
continue;
) z! i* O4 A1 Q6 M) g( y
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
6 T7 F* v: h+ H) t
continue;
: v# z( Z; A1 ?! X$ z8 C1 K: N
lpSkill->dwLevel = dwTmpSkLevel;
2 a/ M V" h" {9 ~; a& j
}
0 c; T5 Q5 V, ?# w: v6 E; Q7 |
}
5 w1 r2 K8 ]; f0 I
}
# M7 a- j0 {6 i+ r0 ^ ]9 M
else if(IsHero())
+ @( \2 c3 T% }- J& S+ B, ]( ~$ p, Q
{
' I8 U6 e7 j4 [$ c7 z
for( int i = 0; i < MAX_SKILL_JOB; i++ )
) ^, i" P. V$ P# R, ]; I
{
% o. t5 Z# \ z V0 l, _
LPSKILL lpSkill = &(m_aJobSkill
);
9 ]6 L& z, ~ [0 h# b9 I: k' p
if( lpSkill && lpSkill->dwSkill != NULL_ID )
: e4 K+ U' ^9 I. f" g- L) u
{
) T5 l5 N/ i$ E5 C
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 ~( l( H3 f3 d
if( pSkillProp == NULL )
) \ \ J/ X9 G. u! _$ l, o
continue;
/ a. n, Z+ P- B. n+ p% R; ]
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
, F1 A1 m; C3 c" r: D5 C
continue;
! ]& N2 _: g8 s6 |$ @1 H2 s: M% b2 ?
lpSkill->dwLevel = 5;
+ c- l2 M' V' y3 c' X
}
% _, L7 e9 _" h
}
. Q) `% o& Z1 V8 \& U
}
6 ?. W1 [! J, r. K
else if(IsLegendHero())
5 t% C1 l3 t2 h! n( c
{
l: W6 T# D& V ^/ r( f% G
for( int i = 0; i < MAX_SKILL_JOB; i++ )
( P0 m& b7 l( L: v2 |
{
8 D( g3 R B' ]1 g, w
LPSKILL lpSkill = &(m_aJobSkill
);
) K4 H* [$ F2 N8 }
if( lpSkill && lpSkill->dwSkill != NULL_ID )
f1 u( t8 c$ B' p" P m7 C
{
1 r# @2 r! ^1 w8 v$ l0 y
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
% c$ }- t7 i- a! r1 @6 p
if( pSkillProp == NULL )
7 t2 N4 k# J) u" U' ^6 g% A' y* ^0 A7 g
continue;
4 t; O5 P! Z' _+ @* i3 K# c& C3 K
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
1 i# J' E, o( f
continue;
! N, o: S7 D1 w0 {
lpSkill->dwLevel = 5;
& k( P- h/ q/ M! y- ~
}
' f; P2 w. n' {3 @* u
}
$ q1 k! h1 w" T5 v# W( |
}
- |1 a! g. R, w" c- K: ^
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
( U* w* j6 P( i' @: W/ l
if( bGamma )
. Z# g' {, K5 f
{
, S5 G' l: l- A% |& \: r0 O. @
m_nExp1 = 0;
' O5 I$ c" Y* ^' U; c, z. G" _, O% E. E
}
; v0 {/ E- p0 B% d$ e1 S" @
! a1 T! a' a* X' s( K# `
( (CUser*)this )->AddSetChangeJob( nJob );
! T1 [4 l$ R: G( q+ o' O
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
9 M& V* E6 k5 [: U V5 \
% _) N0 @, z" w3 c
# C0 ^6 n- n3 w' Q; B
#if __VER >= 11 // __SYS_PLAYER_DATA
' d" J1 ]3 g" s; Y/ N4 g9 B7 T- y+ w
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
' L+ f; j4 l: y- k
#else // __SYS_PLAYER_DATA
1 c, x% s/ X o7 V/ `3 J
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
6 b* h3 Z: B9 F* ?3 a. f
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
- q$ M7 D/ D1 ^1 z5 f5 Z% `- [4 L
if( m_idGuild != 0 )
) D) F# a, O7 v G3 m
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
2 F6 T7 _! @" e2 T9 M2 E
#endif // __SYS_PLAYER_DATA
$ ], Z4 T3 b- j. h
SetHitPoint( GetMaxHitPoint() );
4 s+ Y' F N9 P' o6 e; S
SetManaPoint( GetMaxManaPoint() );
% u! a* @2 }6 O
SetFatiguePoint( GetMaxFatiguePoint() );
& l$ z; b: a7 V( U
if( nJob >= 1 && nJob <= 4 )
- J8 y7 s6 |. y) o' P! V# A
{
$ { J$ m/ o7 k; e" F7 R$ M
m_nStr = m_nSta = m_nDex = m_nInt = 15;
( S- q B4 I' t, L& Q
m_nRemainGP = 28;
8 t- E8 a; S5 Z. |# k
}
) a! z* W! X9 g Q! I
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
) m' J7 q" B |" r- F5 ]+ N, {- }
{
" p; I; ~' B- P& m% F+ v Z- T& ^
m_nRemainGP = 118;
3 O" v9 I. A1 }8 f
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
& L# Q5 n5 j9 ~ }' Y5 i( @3 o J6 D
m_nStr = m_nSta = m_nDex = m_nInt = 15;
- A( n) p0 `& `7 T0 F
}
- K. k. V" ]% d8 d
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
2 B0 j; X2 e4 }
{
; F6 B% L3 f' T
CItemElem itemelem;
% s3 V" O8 |4 s+ u6 j2 o6 A+ |
itemelem.m_nItemNum = 1;
% I0 B5 d5 h: c: H
itemelem.m_bCharged = TRUE;
! d/ l9 z9 k5 {& P3 j; \* E
BYTE nID;
) h) r7 d% f9 O" i9 s8 o( n+ O
; \* k! y) E( k. n5 R. j* z
if( nJob == JOB_MENTALIST_HERO )
8 z r7 u$ F8 a/ k% `
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
/ i" c! E7 c! I$ ]8 H6 O4 p
if( nJob == JOB_FORCEMASTER_HERO )
( h- X* s9 n2 Z& Z* [8 {# f
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
$ M- @/ b H( B5 }
1 B6 `+ g$ y# t/ y* v, m
( ( CUser*)this)->CreateItem( &itemelem, &nID );
+ C2 c! d& ^ E1 o% n
}
7 b, x1 P: P, |; c& f# C
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
# R. t% {2 \ r! z% ]7 ~) K
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
: H( J# Q9 g, u/ {( _
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
4 U# _& }, F( N3 l
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
K- T7 \' {0 p2 V
( (CUser*)this )->AddTaskBar();*/
& i# T( g9 |- a8 N% D9 s$ F2 g1 _
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
$ d$ l1 z& H9 l2 {
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
! l( U( e: P. P+ S
((CUser*)this)->CheckHonorStat();
# \1 |5 p+ B) V! }) P) \1 r7 V7 [
((CUser*)this)->AddHonorListAck();
% l: [2 D# N3 `* i3 M; Z9 P: `
g_UserMng.AddHonorTitleChange( this, m_nHonor);
& X }+ w% H6 S& K1 E
#endif // __HONORABLE_TITLE // ′Tà?
8 q2 d& U" a5 M. a. m
}
) z8 H3 p/ m- K) [7 z+ u
#endif // __WORLDSERVER
3 [" U1 H% f2 Z, u
}
! t: f( n; ?( ]- G/ _7 ~
x! m Y- |# o6 W5 i
然后你进入functextcmd.cpp并添加以下
# J+ U) Z- C6 c0 n# \! |
% O, T$ f( [; x" K6 }/ b$ r' f( w
代码:
% T" T7 [% |+ P
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
# m8 x+ ^! i7 o1 M$ u9 c2 c
下面插入
' U; ^' P1 G1 b! n: Q! w
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
% ~. C% {) Z+ o) Q! q4 }; L" b
4 v, H8 K6 K9 {. Y3 t5 F
然后你去
7 W" w1 Y$ c* c% O
( W5 J* Q+ a) M$ [
代码:
: _8 G/ ?$ u+ h/ Q
代码
^0 m1 L! T5 C4 u
BOOL TextCmd_ClearPropose( CScanner & s )
! F+ Q: o1 ^: v, |6 \
{
: V9 A9 b% K2 J- C- y I# G. k& E
#ifdef __WORLDSERVER
8 d6 Y2 ^4 E9 W* o, V
CUser* pUser = (CUser*)s.dwValue;
* a& v2 c( m( Q* b
g_dpDBClient.SendClearPropose();
8 A7 A) l3 W/ v) @) W) t
#endif // __WORLDSERVER
- P2 P0 _8 l, m( f7 X
return TRUE;
' b& n+ l$ ~; O5 F, \1 m
}
1 y x3 ~& X; g7 J2 v" [" c
下面插入
! L6 ]0 M1 ]5 U/ L1 |* f
BOOL TextCmd_rebirth( CScanner& scanner )
) B0 K) n2 q4 ?, F8 v
{
2 {1 x7 D& x3 K9 M2 ~9 @' t; Z
#ifdef __WORLDSERVER
( @& |6 Q3 N* f( |( h3 }: P3 b
CUser *pUser;
6 X" Q3 N/ `" G' f. {+ T
pUser = (CUser*)scanner.dwValue;
( f4 V Z5 }1 ?- f7 h
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
4 a& g! s" i- [7 w, A: f# w
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
2 R( S& O; C, U
else
9 y, S* M. a, s
pUser->AddText("你还未达到重生条件!");
) M, g# M5 q+ G! t0 }" Q
#endif
$ }! O! `) e& n9 P0 i) m! p
return TRUE;
9 }( \: [ i( F! T3 l
}
) t5 y; u0 S) c. }8 P" P
8 k1 Y' v3 r6 z' G8 L* o3 R
( a- U' R9 Q k# T
" m4 h3 `" K" E$ {/ T
% H2 p6 \) }( x5 A$ T
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2