飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
5 }+ K2 j7 j+ L. U; p0 ?4 C
: G' V1 L8 g# y$ I7 ]0 r
Mover.h
1 C6 X% K8 ^0 g8 j; h+ P
代码:
$ V j6 c2 e4 j( g: \2 N
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
" ^# w' o* x: P- y; E% v1 U
Z+ Y) c# ]9 j# }3 v4 ^
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
4 C$ r" z% m' C/ [
' _: z( [- t' O% y
然后你去mover.cpp添加
5 u! t2 V' q! E6 b! R, i
) t: g. I7 K$ l: y+ S) K9 z
代码:
# k2 K5 S* ?" b$ Y6 E
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
/ _6 v) g- t; `" H
{
1 `& Z3 h0 t0 C8 e. L% I
#ifdef __WORLDSERVER
8 e% r# Q |; |& v# L
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
7 B/ f D& z9 D! S E6 U3 N# _
MoverProp* pProp = GetProp();
0 S' |7 U- t. {: _
if( pProp )
) `1 Y& [& F$ q7 F0 m5 z7 j
{
6 o4 V; g( f/ I- |- S& h
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
- `1 x1 ^: L# \7 u* E
{
8 G' x6 k! b2 R
AddChangeJob( nJob );
5 z+ j; x: e! l2 T0 G1 c4 ^
}else{
) C: ^* q- D) a8 a
return;
( ~8 z) ~+ _- F" |
}
* m ?2 o* K) j& i! d+ Z0 n
int nPoint = 0;
$ `. e6 G. w% C; S, F% b
if( m_nJob == JOB_MERCENARY )
2 f# _" ^1 @3 G% v. M
nPoint += 40;
8 t. P) Z8 E+ Q
else if( m_nJob == JOB_ACROBAT )
3 ~9 a" H% G. [7 Q, A
nPoint += 50;
8 j: d' A/ G) W3 V: D9 b
else if( m_nJob == JOB_ASSIST )
# }& d9 X( }! s" o
nPoint += 60;
+ k+ h- u0 M$ S) M6 O
else if( m_nJob == JOB_MAGICIAN )
) o" t4 u) Y& \8 r* q
nPoint += 90;
" B _4 T& }0 o t, E* D7 f
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
" B9 a" k; e, N
nPoint += 120;
p# u7 L" `" |/ d8 Z
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
6 N/ n) E& M$ S# u: S% t+ y
nPoint += 150;
8 y+ K/ y" P8 Q* {: S0 b9 I2 U
else if( m_nJob == JOB_RINGMASTER )
& i" L Q0 I; {7 H e: ~9 `8 j( O5 C
nPoint += 160;
3 b& F6 F5 J9 {9 q& c; I% W
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
9 R; h0 G! b, `4 |
nPoint += 180;
2 Q% ?* f7 E: P- ^, R/ C
else if( m_nJob == JOB_ELEMENTOR )
( o( E' w( L# F% q( m
nPoint += 390;
$ B" W8 ]' M1 ^$ B. z7 x0 q
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
/ T: v* [3 `$ o3 J9 e" K3 @2 ^
nPoint += 120;
+ J4 s% C3 d. k4 U' J( W) C$ W
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
0 T& J. L0 o9 B2 y1 L& I
nPoint += 150;
: {# z1 M4 t' _9 E/ Q
else if( nJob == JOB_FLORIST_HERO )
+ u" L! D& @" N& Y
nPoint += 160;
% ?6 Q1 O4 D6 F- H5 o) Q
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
X z( D: M; Q& A+ N' [
nPoint += 180;
2 F3 H# c( e: T3 N! j: @& o
else if( nJob == JOB_ELEMENTORLORD_HERO )
4 R( e2 K9 \5 [/ e. v7 R6 C
nPoint += 390;
1 I+ d& |+ R3 W. s8 M
$ @3 r3 _9 z: m' x
AddSkillPoint( nPoint );
6 Z) }1 W% S& m% p- ?4 t4 u
m_nLevel = nLevel;
3 s8 P7 z4 t# w7 @0 o/ f
3 t- N, f; e" U' P& }
SetJobLevel( nLevel, nJob );
5 H2 o: f$ _7 f. U; d+ f; [
m_nDeathLevel = nLevel;
0 k6 h6 r9 |/ w* v: |" J3 {6 E' O7 B& ~
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
. f% G3 {9 v( R; A9 v( J3 W$ i) `
if(IsMaster())
4 M/ H8 O* `9 G: b
{
7 }1 q, j' [: r
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
& Q- F( E2 B) `6 W% _& g
if( nLevel > 59 && nLevel < 72 )
& ~- W/ p8 s6 U* z+ X$ y
dwTmpSkLevel = 1;
* Q* y8 d0 ~# R
else if( nLevel > 71 && nLevel < 84 )
9 \7 b. i! q* p
dwTmpSkLevel = 2;
6 w. j( C0 M, M8 @" `
else if( nLevel > 83 && nLevel < 96 )
' J* _: \- S# p7 n+ B8 s
dwTmpSkLevel = 3;
7 Y9 Z- F7 C. o' }7 A
else if( nLevel > 95 && nLevel < 108 )
* Z5 F3 O: }! y, F! S* b4 G
dwTmpSkLevel = 4;
: g( ^9 [" Z! T5 Q* d' K3 b5 T2 `/ l
else if( nLevel > 107 && nLevel < 120 )
# x% d- L5 V4 J6 G. N* o' k; W' B
dwTmpSkLevel = 5;
5 b+ n7 ~' D A! `4 B+ S
for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 s/ |1 b/ f1 o6 y8 \, x0 f
{
& O K( o+ T. L& M* U& Z! u( j, A! Q
LPSKILL lpSkill = &(m_aJobSkill
);
& f1 x6 E& e' W1 r) z( a
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! `$ U- ?! H- X# @- w, e
{
) `2 c$ g" a; `/ f$ d: e
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
3 y. y4 ~, ]: _( C6 `# `
if( pSkillProp == NULL )
8 x( l7 ~( g) B* j% Q; w' S( c
continue;
# [5 g, x: |4 U! i6 N7 q0 Q3 e
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
7 q4 [ t' @0 {# L! Z
continue;
: A/ I, v# n9 [. `- {
lpSkill->dwLevel = dwTmpSkLevel;
3 D8 E; R- D8 t- q f2 L2 A
}
8 v3 r) j" ?; R5 Z0 H. L
}
+ f Q5 ~7 v$ Q0 s
}
0 z% c2 `+ f6 {" r8 e6 `* s
else if(IsHero())
5 b2 T) w! H! \- X
{
! Q) R7 a4 ]) O# V4 s
for( int i = 0; i < MAX_SKILL_JOB; i++ )
7 b5 p3 R- c1 S' {. c2 E* r ~* q
{
% k4 W! y. a$ D. l9 p* O3 y: R
LPSKILL lpSkill = &(m_aJobSkill
);
! G+ Z# b6 Y- j9 d
if( lpSkill && lpSkill->dwSkill != NULL_ID )
, Z; K8 s" A# b
{
! `# Q; ]) U0 J: s. \9 V
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
7 {; @1 Y3 \; H7 G& c
if( pSkillProp == NULL )
1 Q8 b" g O4 J8 y j: K( l0 V$ w- _
continue;
?: @- r0 p/ p7 d, u4 R. J
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 I5 i/ u9 G9 E0 v
continue;
6 f# ]. ^6 ]& J8 F
lpSkill->dwLevel = 5;
+ f) q: r2 }$ ]1 e0 d3 c
}
4 a8 N. @0 K# E, ]& k2 O
}
" [0 V4 y2 D) C& S B. i, |3 ~- U
}
' P. |1 `# J8 r4 Q# w
else if(IsLegendHero())
( g5 r. Y* G2 g5 c+ ]
{
# m" C/ i7 r, C; ~) e
for( int i = 0; i < MAX_SKILL_JOB; i++ )
# n# \: p9 l6 C0 E. J' o5 T
{
! ^) @6 q; s4 n$ |, V/ j2 e
LPSKILL lpSkill = &(m_aJobSkill
);
9 [8 j, O: `! a6 r' W$ ?8 S0 s
if( lpSkill && lpSkill->dwSkill != NULL_ID )
! s$ W P2 e, K4 t- X8 G
{
& Q: R9 M* Z6 o' G
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 p9 M1 f8 j1 z" c- `. f
if( pSkillProp == NULL )
1 y5 d0 x# X6 o% `
continue;
: O2 `) D4 U/ j; w8 w) _# W
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 Q7 a3 P. w$ D! S' C
continue;
$ w. i# A2 [- C3 C7 ^! B% V7 W9 C' A4 {$ }
lpSkill->dwLevel = 5;
+ t- I4 Q4 C! A* K( V
}
/ p3 q: P: @* Y; N7 C( I
}
: {( ?. ^- t: o6 b3 ~7 k
}
! b. C; w0 n- @4 T+ N
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
$ }2 v+ V" h* v) W
if( bGamma )
$ G3 G+ m1 i$ Y% I! Z$ c) u
{
- n8 H5 B/ A1 `* G& M3 b S4 a: p
m_nExp1 = 0;
% \2 V" A) h, c8 ~/ U) e/ v( I) [6 I) z
}
' p9 F% V! _4 [" o7 {3 ~
1 p! k# x$ I- J) X4 r5 r
( (CUser*)this )->AddSetChangeJob( nJob );
9 m- h: O1 l& j7 p8 k, @* P
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
w2 m6 }3 O. V& w I
+ {- c5 T! [# e6 ~7 {
m" s" m' N F
#if __VER >= 11 // __SYS_PLAYER_DATA
: e% x( f3 S- x5 g
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
8 K; v+ U2 w) v# w" w0 k1 H
#else // __SYS_PLAYER_DATA
/ g) U6 |" ? [, m: k
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
5 p( z; @& A" a* Q0 L
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
! ?$ L f" B7 O1 ~4 S
if( m_idGuild != 0 )
0 b" g9 [! b8 D+ p- }
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
4 Z+ W( ?. ~7 q0 H
#endif // __SYS_PLAYER_DATA
: A* R0 B* K I# d+ x
SetHitPoint( GetMaxHitPoint() );
! `6 V! J0 K7 x% q) f* U8 u
SetManaPoint( GetMaxManaPoint() );
9 _* J: w3 b* N
SetFatiguePoint( GetMaxFatiguePoint() );
/ S6 V% ?- K* j2 u3 `
if( nJob >= 1 && nJob <= 4 )
2 T! c0 `8 V9 ]8 g5 |
{
. O j' H& R" P5 j: O. u7 r/ Z' H
m_nStr = m_nSta = m_nDex = m_nInt = 15;
! S' f8 q2 O) J! y( {; R9 V
m_nRemainGP = 28;
) j# G" \4 O& d9 z: q8 H5 t
}
7 f A3 n3 I2 _ c8 W: {
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
; W' r: R8 c/ h: k0 e2 W# n( Q
{
; X) |5 p" ?6 L% G3 g) @
m_nRemainGP = 118;
7 Z" k3 L: `6 q( u( O
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
1 m& k0 S1 T, Q: y: s1 v8 w
m_nStr = m_nSta = m_nDex = m_nInt = 15;
# D* n% x2 j7 X$ q
}
( y6 g; v* v/ e1 V0 i# \: R, X( ]7 j4 H
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
6 b' `) @2 E# ~: G
{
1 |8 a5 E0 w7 G
CItemElem itemelem;
) @+ s' ]" X4 \7 v
itemelem.m_nItemNum = 1;
; J5 F, a. B9 b! O& O3 J% B, W% O9 _
itemelem.m_bCharged = TRUE;
& B/ Q9 Z: s" a3 F3 r
BYTE nID;
$ R3 x0 U% h6 }( W
2 S4 o) i8 \" L) x+ g4 n
if( nJob == JOB_MENTALIST_HERO )
5 A! a" L2 j3 a2 A: y" r$ v
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
3 ~* n/ y% y( N9 Q x7 L! [) ]
if( nJob == JOB_FORCEMASTER_HERO )
$ {: {, \) o3 k
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
- X: J+ {8 T1 ]5 o/ c# ?
~3 f" ^6 v$ y& C1 x
( ( CUser*)this)->CreateItem( &itemelem, &nID );
1 n+ P% q4 M; J: ~4 x+ {
}
7 k5 Y; z2 @& M k O( y( Y
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
" k1 @/ _$ P3 c7 ~
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
- S7 \( X* d" Y$ L Y" n0 P# e
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
6 C- {7 Q* C( l9 [! L. L
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
' _: M. b g0 u( U9 h0 U, C
( (CUser*)this )->AddTaskBar();*/
" M* I; T; H' t+ a) N
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
5 G: M, Z' j5 z$ ~; u- ]
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
2 t4 {% B& P, [2 u. A5 r) j) f5 ?
((CUser*)this)->CheckHonorStat();
6 a } _+ r' K* k f6 J0 D3 f. i
((CUser*)this)->AddHonorListAck();
3 H# g/ l3 Y8 ? q j4 B, k
g_UserMng.AddHonorTitleChange( this, m_nHonor);
2 c3 U5 I2 B6 q; _4 ^) h: F9 E% ^3 ^& Z
#endif // __HONORABLE_TITLE // ′Tà?
% u( U" y- u) F& c5 m
}
+ p, e( r3 g5 g) r1 u3 T0 J
#endif // __WORLDSERVER
! ?9 d* }" P8 t; X4 R: _
}
5 E3 } u1 {: |( K5 t$ V! x3 R* P
) K, l* E0 H: v. a* Z( ]. q8 A( p
然后你进入functextcmd.cpp并添加以下
3 B: T8 C2 Q3 V5 I
+ d- Z* s$ Y' Z( x
代码:
! q* w& y8 Z1 k1 P/ ~
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
$ h$ ` y, a6 }7 Z+ M: C
下面插入
/ K, u+ R; }* p# Z x/ y1 x1 }4 c
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
9 O. C# A* G7 J" G! i) j3 \- s4 r4 [$ S
5 S6 A N8 O) w1 r1 D" N o1 @+ ^
然后你去
( x) I* s6 t3 e3 O t
5 a Q! ?+ b* }" }9 v
代码:
$ Q0 J2 ~0 K' ~* \6 H7 I
代码
9 Y/ X1 D9 r/ r, A
BOOL TextCmd_ClearPropose( CScanner & s )
5 ?6 L$ N5 j7 R, X
{
; }1 Y* D4 _) q0 N) c
#ifdef __WORLDSERVER
# Y5 I+ `' L) J
CUser* pUser = (CUser*)s.dwValue;
6 h7 B; A' h2 I: f% Z9 t! i
g_dpDBClient.SendClearPropose();
0 y0 p V! E! `- S7 B
#endif // __WORLDSERVER
! q7 B/ m' d6 G* M5 G
return TRUE;
i1 C2 ?) W. F' k4 \2 L4 e
}
0 ?, E7 V1 ]# n( j( i: V
下面插入
$ N! B! b) j* k7 Q1 z9 }
BOOL TextCmd_rebirth( CScanner& scanner )
: e! u: n$ o( m: O
{
. q7 e- T2 C5 Q
#ifdef __WORLDSERVER
" F$ ^0 j- U6 l; G. U
CUser *pUser;
* w6 N- e: S- r+ v3 Z
pUser = (CUser*)scanner.dwValue;
% J; Z( N* b+ b
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
* o. ?) r& R6 }( L5 j/ I
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
& G/ z: C; @5 {+ L$ j) n+ h
else
3 h2 Q! U" ]2 y" Q3 ]
pUser->AddText("你还未达到重生条件!");
* P+ ^# Y9 e9 Z( m& g
#endif
8 E( \/ I# @0 W- i, X! y
return TRUE;
* u: ^! o- R$ S) ]6 E ?
}
' R( o5 g4 z4 i; G% E# k: e4 m5 a' X
: X5 {5 X+ H. @/ \- Y: T% _
- `6 B- Y/ g, C M6 r. C) ]5 k
2 G9 o: C, [- u: n0 W2 v3 l- D
& o) U+ p8 ?7 h* w
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2