飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
( ]7 H/ @, M( [" k* Y9 P8 `
1 l4 [8 Q. d' D8 ]$ ~ q* F' [
Mover.h
- n, C o& T# c5 d
代码:
; l, S4 [0 d z" M- w8 [
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
: h8 O/ s8 f/ q4 H( E- a% |: F1 I( ?
, c2 d0 \/ z& t' W! [- N
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
3 f' V/ h3 a6 g
/ h9 H4 E# W, L* y- Z
然后你去mover.cpp添加
* k) w! n. ? r+ J( K6 c
- A( b+ d a; x( `
代码:
) `* m* ^+ H7 }' F+ @, C, }
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
% p. ?7 T) C# e7 n
{
5 H) v9 D% V$ s% _
#ifdef __WORLDSERVER
+ t7 v, ]3 b. s# R8 @
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
) s) B8 a0 w9 N- ~# i
MoverProp* pProp = GetProp();
8 ?! d6 m# H9 F1 U# B1 \7 T. r7 e
if( pProp )
7 @+ ?$ T0 w) A1 V/ V6 x0 `& c, Z
{
* a; ~5 S9 @4 C# k
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
a( g ]) O* P
{
. Q. k1 X) e" m6 N
AddChangeJob( nJob );
. N& Q% }) P3 B- S; m7 Z. a, h
}else{
. D2 R8 s' }5 N& u( t0 h
return;
- A. v7 @4 E6 i
}
% m4 q4 l8 D. ^1 W1 _) c: ~" X( e7 y8 s
int nPoint = 0;
2 k6 X3 L7 d( W. h9 W% y
if( m_nJob == JOB_MERCENARY )
2 m4 e, F% {$ D! [4 w" K0 @7 n) c
nPoint += 40;
6 A0 v, ^3 @% H2 \) E
else if( m_nJob == JOB_ACROBAT )
9 Z5 h1 n) u( S4 J M
nPoint += 50;
1 S3 Y0 a$ ^! W4 b, [
else if( m_nJob == JOB_ASSIST )
: C0 M! X- E4 Y% j$ c% X9 q
nPoint += 60;
$ t' y6 s9 t1 V ~
else if( m_nJob == JOB_MAGICIAN )
6 k$ d3 t. v' m' R4 x
nPoint += 90;
* P* `9 t7 U% x0 L" o+ b8 ?
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
6 j1 s; W# o5 d3 J
nPoint += 120;
5 C0 R5 O) }' o4 n/ x$ O0 [
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
% T' t/ i' f$ [8 K2 s! S2 g+ W
nPoint += 150;
; `3 }! {. S. Y' z
else if( m_nJob == JOB_RINGMASTER )
% B! _- f% U/ Z0 u k
nPoint += 160;
) t I$ |6 r, }5 \" K; H
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
# L: v, a6 Q4 }9 x9 _
nPoint += 180;
7 H2 y( Q6 j, O1 _; S
else if( m_nJob == JOB_ELEMENTOR )
* x' ? q7 `$ f' v3 V. Z
nPoint += 390;
r3 G6 l- ~( p( a6 j
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
) _% _, }- k* f, ]
nPoint += 120;
h3 A& c$ y8 G& r& v: P
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
+ P5 h l, Z0 R. z/ t: j2 D9 y
nPoint += 150;
' P4 f4 Z7 ^/ V% {
else if( nJob == JOB_FLORIST_HERO )
+ {5 [4 n, G0 [* e, v; K! e7 _. Z9 N
nPoint += 160;
7 V- R# B& i- {% r( ?
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
- f# W! ^) _) Q8 r7 k7 Y F4 B
nPoint += 180;
8 Q* r: I1 B- C6 d6 a( Y
else if( nJob == JOB_ELEMENTORLORD_HERO )
) j' Y0 ~0 w7 Z8 h! S) L( Z
nPoint += 390;
8 \7 s2 o* o1 q6 a. A2 O
( n6 b' A j! A4 @5 @7 ]1 i' o. M
AddSkillPoint( nPoint );
! q; Y `% Z, D" a" H
m_nLevel = nLevel;
. E* o; V* D& B7 E m; o! W& j
0 R" G8 F5 X' w" n( |0 `
SetJobLevel( nLevel, nJob );
+ y/ p/ H$ K/ l
m_nDeathLevel = nLevel;
$ Q# S$ O" i$ p/ S. {, M; Y- \
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
2 W# C* X/ ^/ Q% R
if(IsMaster())
4 z3 k* K8 A# }' G6 u4 i' V
{
$ b" M2 j8 r; \ t
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
) `: E4 {2 _8 x
if( nLevel > 59 && nLevel < 72 )
9 u' C% ^1 e" M4 ?8 @8 T- p
dwTmpSkLevel = 1;
5 K" N/ ], r7 Z3 w$ A: L8 V
else if( nLevel > 71 && nLevel < 84 )
% V$ K& u6 }' ?+ D9 m
dwTmpSkLevel = 2;
3 O5 p D& Z* l$ r
else if( nLevel > 83 && nLevel < 96 )
- c U ^9 R0 h' O' N/ M
dwTmpSkLevel = 3;
; S6 y, P6 B" u$ @2 \4 }1 e
else if( nLevel > 95 && nLevel < 108 )
6 e: z" g2 G* |
dwTmpSkLevel = 4;
5 e/ H8 F) v/ C3 }
else if( nLevel > 107 && nLevel < 120 )
) s7 O. M0 L+ R9 p' a5 _
dwTmpSkLevel = 5;
7 v$ I' c, \! O+ ?$ b" u) K
for( int i = 0; i < MAX_SKILL_JOB; i++ )
" z* k2 l5 b6 e3 W0 h' J
{
( P) E/ t; t' ^% r, q( ~
LPSKILL lpSkill = &(m_aJobSkill
);
9 }8 ?! j6 }& v$ S9 N: G
if( lpSkill && lpSkill->dwSkill != NULL_ID )
) u5 }0 `) `" D2 e4 T) Y' d9 H+ I
{
) f. Q' x) ?" f
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
0 T4 F8 C1 n- Z0 c
if( pSkillProp == NULL )
. X9 ?6 S3 i( t0 l* D# I7 u
continue;
" R+ s2 j( |' T9 S5 T
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 P$ x4 a8 b" b* G/ ]$ U
continue;
8 n D1 z+ [! A$ {
lpSkill->dwLevel = dwTmpSkLevel;
; s, X, z5 A3 X8 K4 z# M, m
}
! E3 f" {9 C4 t7 v
}
4 f/ U" {( _. t7 q0 I/ `
}
5 o. a8 o' S$ N2 F7 \
else if(IsHero())
0 M w) }* n7 ~! V+ k
{
, C* h+ v1 a9 W$ a% I3 H; z
for( int i = 0; i < MAX_SKILL_JOB; i++ )
( w z" S `$ V+ F- P. e
{
6 r7 F* W9 z+ o) {, n) }, d
LPSKILL lpSkill = &(m_aJobSkill
);
6 s- A1 k) k4 i8 c z+ {+ O2 ^/ |
if( lpSkill && lpSkill->dwSkill != NULL_ID )
; U# U. `8 k7 U& p7 ]
{
; k9 H0 d# Y6 `# z/ L% t/ ~; o
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
2 w8 `$ z3 T* o: a
if( pSkillProp == NULL )
* f' d$ K4 w# R' g, h7 h
continue;
" E$ L! j4 a# n# n6 P: ]8 V
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
: w7 L9 X2 E) ~; y) W- G
continue;
% h/ M3 {, o5 y5 n) |. } E. B) Z
lpSkill->dwLevel = 5;
' s& E o0 Z8 P: Q/ \2 W
}
7 H, ]0 f8 T3 X7 Y
}
" H+ C0 M2 P F/ h) t9 A1 @9 w
}
) v, [ @) w; _& M! g) O3 J) g
else if(IsLegendHero())
9 t9 R: d& [( Z3 A
{
+ C1 ?9 m/ w6 h0 g1 f8 p
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' m1 P3 w0 H$ X% x
{
5 A# W) G' e) x
LPSKILL lpSkill = &(m_aJobSkill
);
, D' y7 z- v* ~+ v4 D$ H
if( lpSkill && lpSkill->dwSkill != NULL_ID )
) W4 @( d: I- V1 Q9 j; b+ a
{
- g. l2 n1 C: l( `
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
1 ~3 ?% L; m/ `- u) W D# Q( M4 Q
if( pSkillProp == NULL )
- |# K/ p' Y! h0 ?
continue;
- Y" |# w/ L$ G. \- N( b- E; e! ?4 t9 h
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 j% y i; I b& k+ [/ `
continue;
^& x! w- R/ h. ]2 i
lpSkill->dwLevel = 5;
+ R' g0 O M. v2 c+ [
}
4 o$ n+ Y7 L8 {
}
; _+ r& }/ c9 y8 {: j. ]3 q
}
: c0 R, c" n; k6 P
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
1 B0 r! W; O9 l9 H
if( bGamma )
% V$ E7 E/ f3 P
{
9 U5 W4 \$ v+ A
m_nExp1 = 0;
! X; b; p g& b" N% L$ q
}
$ ~. u9 v9 k& Q6 m1 T" p" e
- x: `# E( a% N
( (CUser*)this )->AddSetChangeJob( nJob );
) u4 w( _& b- S1 X0 J
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
1 Q( y# ^( m. E- G. @6 G0 N8 c( W& X
4 u$ k3 ]- f5 P) ?7 p4 |* n
o; s) H+ a0 o) Z) ~ D+ H. y
#if __VER >= 11 // __SYS_PLAYER_DATA
\& y' |! {5 ?
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
$ \. f' g4 i) x0 N& u
#else // __SYS_PLAYER_DATA
$ B5 P1 u* P0 q2 K
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
, S1 ]3 h5 H) N, n6 j1 c
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
) l8 E/ V5 p* X# e9 t
if( m_idGuild != 0 )
* `) N# r0 w+ J8 Q/ s
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
1 w, ?! x3 D# Q! C
#endif // __SYS_PLAYER_DATA
0 {: n- O' t$ F$ t; g' j4 P) a
SetHitPoint( GetMaxHitPoint() );
/ F3 a j% r. \
SetManaPoint( GetMaxManaPoint() );
$ O/ K+ M7 ~' r" z
SetFatiguePoint( GetMaxFatiguePoint() );
* D' y5 M. P/ S4 k
if( nJob >= 1 && nJob <= 4 )
) v" p2 N% q6 M
{
) ~. w# e# y" N/ H( f1 V! h0 G* J9 e
m_nStr = m_nSta = m_nDex = m_nInt = 15;
2 `/ a0 Z2 n9 ]' r4 _5 w P4 c
m_nRemainGP = 28;
# G0 v j6 d2 J, I7 \8 h9 F1 a. @
}
" r* z4 Q7 j( l; J# [7 D) j: ^, L
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
3 ?0 i" [6 [1 x5 T: p
{
" f7 s, W! `/ ^" e
m_nRemainGP = 118;
, D3 k7 `' n1 k( @# z' m! z3 e/ r% b
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
5 w! L- n$ v$ P2 {/ O
m_nStr = m_nSta = m_nDex = m_nInt = 15;
8 [, s, N8 f% A) x" m0 i5 U$ T7 V
}
' ]6 P! u, ] d6 B8 r, h% l
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
; P7 M k. N) ^( }. P
{
% _ E. s u! H0 U
CItemElem itemelem;
% K, B' y1 ^, V6 H) a
itemelem.m_nItemNum = 1;
( y: d: w9 t$ p, ~+ w% V, u! `7 I0 _
itemelem.m_bCharged = TRUE;
; s: C+ j; p' q0 d4 d
BYTE nID;
' P$ j Y. A, K7 O4 V
' `; S$ _2 ~! y+ `: R9 K- k0 ]
if( nJob == JOB_MENTALIST_HERO )
) q: G) A, A# W
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
6 H6 J' y- @- y. U: w7 o F& B
if( nJob == JOB_FORCEMASTER_HERO )
, M1 r# S5 X w' D/ `+ `. D, C- e
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
6 U1 n n4 {% ?' ~
' J2 T, g+ \6 N; T
( ( CUser*)this)->CreateItem( &itemelem, &nID );
1 |9 D+ A" ~; L" Y/ {$ B; n
}
* X' ^+ _0 q/ w; t3 x: s" E
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
" z9 l' U( n6 Y. d C: |8 C
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
. f# ` M: i, C0 [
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
. }5 g" |' A% {' [; ^
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
: s8 Q2 t3 Q9 S5 ^* k
( (CUser*)this )->AddTaskBar();*/
: b3 T+ F1 J0 F- D: L
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
w& r7 Z! r. F, L+ [
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
Q1 y( B7 J# ?6 D/ b3 `- E& O3 x
((CUser*)this)->CheckHonorStat();
1 p- u7 q( }7 x* V+ Y
((CUser*)this)->AddHonorListAck();
3 ]# z" Q' o' k" s, Y
g_UserMng.AddHonorTitleChange( this, m_nHonor);
* Q/ k% r3 Z* ~% z; c3 ?
#endif // __HONORABLE_TITLE // ′Tà?
, f: w4 ~* B+ O* p9 R8 e n
}
6 k' W7 e) b" Y) R' u7 W) ]$ m$ o8 {
#endif // __WORLDSERVER
/ t2 z' _. h! {: n
}
, T; g7 |# g# @9 E/ `; b
c5 L& E4 c1 [% V" b& y
然后你进入functextcmd.cpp并添加以下
0 q: g* w" | C
% Q+ G2 i. k: G" y i( |
代码:
. m) O1 Y, |5 a" Z3 x6 i: P3 n0 k
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
" ]' I* ` q8 s q- f' G3 a( V8 J
下面插入
" f" A# o$ V1 s
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
7 K+ `) d$ i3 J' T
! X' P, r0 F3 O' _! x
然后你去
! x1 U3 \# y9 ]8 n, r: y! G- b$ M5 d
( i* H3 A% O5 m$ f
代码:
" ?( G5 \; S7 d5 t% ]
代码
' @1 @4 J. o( |9 S% w* V
BOOL TextCmd_ClearPropose( CScanner & s )
1 I5 B. n. ~, |3 f, c3 R
{
8 ~& h" k* f6 @# B1 J' ?
#ifdef __WORLDSERVER
% \2 m) A- O9 _5 x9 q% L
CUser* pUser = (CUser*)s.dwValue;
/ ~4 w; A E* [) o
g_dpDBClient.SendClearPropose();
7 e, c" r; N0 S( V. M4 M
#endif // __WORLDSERVER
2 k% n7 ^0 w6 W3 a1 ?
return TRUE;
6 j G# `8 j. o" l6 S
}
& w5 V! G2 b J: Z& v8 d
下面插入
# n" ~1 Y( N, q, G6 a
BOOL TextCmd_rebirth( CScanner& scanner )
- \6 ?0 u6 _6 \: t% [, D
{
0 i/ U- Q0 g5 p8 \
#ifdef __WORLDSERVER
0 s' {& l- o) w$ d1 i G; t( N2 ~
CUser *pUser;
8 ~# S# Y ~+ B
pUser = (CUser*)scanner.dwValue;
2 U+ Y/ D: q, f
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
+ L8 A& `! q8 {8 R, d J9 O) ~ f, I
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 |/ h. }( d( ^! F, P
else
9 B& S, ]* N8 j3 }3 a) z" v1 _
pUser->AddText("你还未达到重生条件!");
T/ Y) \) x- q2 n
#endif
: G4 e- [8 I3 Q0 Z
return TRUE;
# @ A# s4 W- Z
}
7 p4 j: Q$ u; S) Y- w
' l0 }3 E8 Y8 e/ C: O1 V' M
- {# { _8 G) b& A1 T
' g0 n6 M6 I+ w1 }
+ e$ W& [. X H8 \
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2