飞飞世界论坛
标题:
通过命令重生
[打印本页]
作者:
admin
时间:
2016-1-10 03:42
标题:
通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
% q! q% l# k6 A
) ^# \- W8 \2 C, w2 [
Mover.h
; v! L6 u7 i( m. U: [" R; n2 c
代码:
, O, f3 {5 J0 S. W% l
找到: void InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE ); // °′???| nLevel·? 1ù2?áü
5 D, { d. w/ r: k
% O u) @% ^% f" ^% `' i; r
下面插入: void InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;
/ h8 f9 j( }" _1 L3 l% K& T& q
3 u. g2 u3 S* s o O0 H
然后你去mover.cpp添加
; X+ Q. e& V7 M: d; w
' B# z; Q* T5 K2 r0 b/ y
代码:
+ J$ B- S& I5 |0 u+ R% F1 ~
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
4 o8 w8 m4 C. _
{
. w$ [ ]" b1 f9 ?( y4 ^; B: W" N
#ifdef __WORLDSERVER
( Q/ g3 p# i1 G( Q: H
// ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
- m+ O! _* N/ M4 G6 j- d: G
MoverProp* pProp = GetProp();
8 \) f7 C4 x- _
if( pProp )
: H( G4 S% P: X5 S9 }+ I
{
0 p5 a) K& |4 }: P/ c. {" v) b
if( nJob > 0 && nJob < MAX_LEGEND_HERO )
- B% }5 D/ |% y' x! @% m
{
% `8 l, D7 T+ R
AddChangeJob( nJob );
m0 {* `0 S: U$ H- w
}else{
& s$ E0 m& F$ c) \
return;
$ v+ r! j1 E8 K% P9 a
}
- `: n% s! S9 d' u# i( b- m
int nPoint = 0;
% Q/ @! h- N9 ~- I* t* [% V/ `3 U7 p
if( m_nJob == JOB_MERCENARY )
1 y3 r7 X6 C) h
nPoint += 40;
# a9 w6 O! v6 }+ K; H
else if( m_nJob == JOB_ACROBAT )
7 z3 e& ~, d7 b8 ]
nPoint += 50;
$ A7 M6 C, x, b$ w) `+ f" O8 ]
else if( m_nJob == JOB_ASSIST )
/ r% w7 n2 p8 N! b4 b7 W
nPoint += 60;
d" B7 K$ |' u5 @' c e
else if( m_nJob == JOB_MAGICIAN )
+ e% A G3 u- C( D& P& I
nPoint += 90;
7 |! k$ S' L0 ^
else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE )
- ]9 w' m- P; ^' n( J( b
nPoint += 120;
' w& {8 ?; y5 i
else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER )
, r9 O- M! v9 s) C+ w. X% y! v
nPoint += 150;
4 g8 b N# Z5 t3 M+ \, v, Q
else if( m_nJob == JOB_RINGMASTER )
1 {0 p- q% |, F6 m- Z/ o$ s
nPoint += 160;
/ q6 u7 h0 k! O' F& }. t
else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER )
; ^2 G5 \. K' u/ [8 i. R: I! x) ~
nPoint += 180;
4 p) a9 b- n3 s9 a' x
else if( m_nJob == JOB_ELEMENTOR )
) l; N) @( m/ k1 S
nPoint += 390;
+ I1 m; L0 Y& U l7 _
else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO )
1 m2 Z5 j3 H2 F5 V5 `5 N3 E
nPoint += 120;
! a% B5 ^8 R4 m) k% N" ]
else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO )
# o0 C. Z, x3 |3 _6 Z" t6 Z
nPoint += 150;
p1 V7 l) F, M5 U2 p) i- [
else if( nJob == JOB_FLORIST_HERO )
5 M3 z; f3 ^; k7 O: z; T9 a
nPoint += 160;
# R" s/ X2 c$ X% O
else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
( G2 _& r0 k3 w& _( @; j$ K& N
nPoint += 180;
4 M s6 @* K' c
else if( nJob == JOB_ELEMENTORLORD_HERO )
) K& J/ X; W* }- H* d# f: q
nPoint += 390;
/ |5 r8 @0 X6 {
( @$ N" H- w! o+ _6 g; a
AddSkillPoint( nPoint );
( T# d4 f0 f8 H" k. e' k, {
m_nLevel = nLevel;
; D O+ D, @6 X: }8 G- B
$ s* R# s: f, L9 x
SetJobLevel( nLevel, nJob );
- m& t7 c! u) E# C x; n( A
m_nDeathLevel = nLevel;
: p7 s2 g4 z$ J2 V6 E2 c3 E$ q* p0 E
#if __VER >= 10 // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
# e) Y' E: p i0 o3 b
if(IsMaster())
, i4 V5 l) k' k3 _) |% o( |# U. ~
{
9 s. ~$ ^3 n- M; x2 o( Z, `
int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
* U) v" N% z& Q2 [: T- z
if( nLevel > 59 && nLevel < 72 )
0 Q( a) z: w: F5 S2 e% B3 E. a
dwTmpSkLevel = 1;
; U x9 \9 l& e- v: R
else if( nLevel > 71 && nLevel < 84 )
) _) M2 Z( J. b- ^3 Y
dwTmpSkLevel = 2;
! Z/ T0 x. M' r4 w4 E8 \# l8 H
else if( nLevel > 83 && nLevel < 96 )
& [; U- k. A6 m$ r9 S9 d0 p8 a: [ Q
dwTmpSkLevel = 3;
1 K% O' Y. w4 i: n
else if( nLevel > 95 && nLevel < 108 )
0 u, D/ `6 w' K/ v5 M0 [! h
dwTmpSkLevel = 4;
2 |% s& u4 p; }" j. `
else if( nLevel > 107 && nLevel < 120 )
2 v+ f& N/ u0 Z
dwTmpSkLevel = 5;
, i% z1 }1 T5 U/ ]+ `
for( int i = 0; i < MAX_SKILL_JOB; i++ )
% Q1 R: w1 a2 ~) N1 R# S6 C
{
: }% E/ a, p5 z1 G6 R
LPSKILL lpSkill = &(m_aJobSkill
);
' [; d( T$ v. z4 S
if( lpSkill && lpSkill->dwSkill != NULL_ID )
# j! L8 q# {2 M& }
{
p. D% c7 q. u- r- B q$ t" q# ^
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
; p, H# Z7 L3 W3 j
if( pSkillProp == NULL )
& [ E1 ]2 L5 w% M. X
continue;
! Q; L) t" c4 L
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
- {0 W) U! G. L% }. F) a
continue;
4 p4 J u4 L8 O2 e$ l
lpSkill->dwLevel = dwTmpSkLevel;
7 x4 m6 q9 |! v
}
4 ^8 Q5 r0 M1 G! I
}
" o" r% B. m8 C8 J( g
}
& q8 L) s. f) A E
else if(IsHero())
5 q' i$ x$ l! S' V {+ n; \
{
C# c6 }+ b8 b8 j+ N! Z3 `& C' G* i
for( int i = 0; i < MAX_SKILL_JOB; i++ )
' Q2 E- n5 `, T3 w- X
{
# H) N2 M$ @0 E& g8 _2 t( _0 t4 Y
LPSKILL lpSkill = &(m_aJobSkill
);
& }& _& |+ y* M8 J) Y
if( lpSkill && lpSkill->dwSkill != NULL_ID )
: g) k0 q/ {7 n! b: @4 ?
{
+ M I0 i$ P1 n8 X& H. g* ~
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
0 B" z- m6 j; \" V" _
if( pSkillProp == NULL )
& i0 U7 @" {" `$ j7 J
continue;
- U% t8 w- k# d, u& t& j& {
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
( z5 d* s4 u" p- P }% i6 y
continue;
3 v1 h7 A+ T: ~6 |
lpSkill->dwLevel = 5;
8 Y% } f& X9 ?, [0 n7 I" r
}
" e8 [3 p$ V# \# d7 p4 ?% w
}
: j2 x* S+ J4 T0 m/ W
}
: k0 t" `9 I9 G- `
else if(IsLegendHero())
% R$ X; x# B- D8 o
{
. k# V- A& o: e" q- [, o2 i
for( int i = 0; i < MAX_SKILL_JOB; i++ )
. q2 k6 V v K
{
' E3 N+ p3 ?4 f, u% p
LPSKILL lpSkill = &(m_aJobSkill
);
6 X, f9 P: W& R0 y9 s: |# P
if( lpSkill && lpSkill->dwSkill != NULL_ID )
. }& L T1 J) {# j
{
9 g9 d! V& m2 P+ p- s, C! d
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
( j) P4 i1 C5 E, e5 r" \
if( pSkillProp == NULL )
2 N7 {$ q9 R ^$ M% e/ z$ \( q
continue;
+ ^- _# x9 V/ I$ [; r. R+ L( n
if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
5 G+ [: w9 X5 X$ s6 z
continue;
4 j5 }3 ]" l$ B9 H$ u% P2 Y
lpSkill->dwLevel = 5;
% B) |' {- I3 H8 |
}
x& u0 c6 I( ?5 W: ^+ Q
}
! h& Q% c$ U7 y$ e' y6 M4 L
}
+ ~8 z6 d5 P" _; ^0 B
#endif // __LEGEND // 10?÷ àü?????o?? Neuz, World, Trans
' M2 A) g3 F( g; b E$ |
if( bGamma )
; U1 |/ x p) ]% Z# ~# Z- l8 c
{
) @5 ]5 L/ C. c( ^0 Q6 n' ]
m_nExp1 = 0;
. i# b, b2 R) F' h
}
j6 Z" Z) f) J. b. ^7 v( E9 k( o
2 _( p" r! ~; d
( (CUser*)this )->AddSetChangeJob( nJob );
2 G2 [- b$ L$ L* R, c
g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
( b' ^7 h+ j; ]5 w
6 R0 A3 D" w+ W9 R$ R
, M* Y# f) b1 ?
#if __VER >= 11 // __SYS_PLAYER_DATA
7 C/ l6 j- }$ X7 ^ @; Q4 ?/ Q& O" `
g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
$ |" W& v; Y; X- j: L, H
#else // __SYS_PLAYER_DATA
- D+ \! L: m2 G4 B( l$ W
g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
1 |5 n; k" X% c& Q9 E" f+ x5 }- f
g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
, w! l* g! U$ g C0 u
if( m_idGuild != 0 )
) m7 ]: C) V8 {7 n( a
g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
4 j/ F; |& F# H
#endif // __SYS_PLAYER_DATA
# I4 _$ K% h+ h
SetHitPoint( GetMaxHitPoint() );
; G) X9 u5 D, X6 G! r5 ~
SetManaPoint( GetMaxManaPoint() );
" }7 Y: \7 w% j) r c# q
SetFatiguePoint( GetMaxFatiguePoint() );
$ F& x/ W- C* r0 N, F
if( nJob >= 1 && nJob <= 4 )
, `' T! B, F* R
{
9 m3 ^, |6 \4 K6 l
m_nStr = m_nSta = m_nDex = m_nInt = 15;
: N+ r3 I8 t$ k0 o3 t
m_nRemainGP = 28;
0 | R$ a7 P! `% G. B
}
& S/ L( E8 i+ E; u, W+ b/ m0 M1 J
if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
) j) h, @7 {2 m* B: j9 n
{
+ r" t! l/ T1 { e+ @7 u4 Y/ Y/ ^
m_nRemainGP = 118;
* z# c% A# z7 @, Q$ D* L
//m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
$ M! h( ~; O) p3 ~
m_nStr = m_nSta = m_nDex = m_nInt = 15;
Y) O% D" Q* |, S3 J* w
}
! c" H" i. `& n% y& V
if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
) ]4 W0 ?" ^- D' d
{
) P, a: V. h u2 H# [+ Y# C
CItemElem itemelem;
1 N6 I' ~! V* Y- d9 W
itemelem.m_nItemNum = 1;
0 ?* m; x( ?0 a* i# L/ b
itemelem.m_bCharged = TRUE;
6 [/ N0 W7 I2 r/ o9 `
BYTE nID;
. Z6 ^& J8 F6 z
1 n y m0 V9 T; b
if( nJob == JOB_MENTALIST_HERO )
( [* C* a2 a1 e
itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
F8 ^8 z# D9 R# i' a2 e
if( nJob == JOB_FORCEMASTER_HERO )
& l/ ]6 g+ M/ B9 u
itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
: {, k8 N' Q7 R& g9 u
+ r6 Q7 Y3 h% [% ~6 |" b! P
( ( CUser*)this)->CreateItem( &itemelem, &nID );
: g& _0 g* B8 x% `+ T/ D$ v( ~, ?& s
}
, y3 S2 p. s' u4 z! @
g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
0 q2 F7 D7 k! E3 z1 e0 X# ^! W/ j+ m
( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
0 _6 p, W3 J; ^2 [ F. V
( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
6 z/ Y# Z6 p% z% p9 M3 I
/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
) U" {+ Q; K, k3 b) w
( (CUser*)this )->AddTaskBar();*/
3 {4 {# `+ `9 Y, o2 l) N" f
( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
( k% Z8 _4 D6 l
#if __VER >= 13 // __HONORABLE_TITLE // ′Tà?
* D/ u- }4 h# X h; m( A8 h# |
((CUser*)this)->CheckHonorStat();
) D* B' m3 |0 q! H. J2 a3 V/ B
((CUser*)this)->AddHonorListAck();
9 I5 w" Y+ T2 Z1 V
g_UserMng.AddHonorTitleChange( this, m_nHonor);
, S( H! Q J0 ]
#endif // __HONORABLE_TITLE // ′Tà?
- X! L/ E; e8 {2 P
}
) a$ J& N; Q5 ~! Q W) A/ g3 U
#endif // __WORLDSERVER
4 f! x9 ^/ y! ?. T+ T1 o' E
}
0 `' d( ~8 j4 ~3 h' C
& Y4 r5 s. i, e
然后你进入functextcmd.cpp并添加以下
9 M$ r/ J8 c! \1 x' x
6 U# t. ^* v# O
代码:
8 K, b: I# ], l. _) m1 R* }
ON_TEXTCMDFUNC( TextCmd_say, "say", "say", "??", "??", TCM_SERVER, AUTH_GENERAL , "?ó?èàó [/?í·é ??àìμe 3???]" )
2 s, h. t6 w) f! C8 h" g- C
下面插入
! a0 D% D3 [* _; K1 ]4 K; l5 k
ON_TEXTCMDFUNC( TextCmd_rebirth, "rebirth", "rebirth", "?ú·1?÷??", "?ú·1", TCM_SERVER, AUTH_GENERAL , "?ú·1?÷??" )
; k. V% |, Z5 A6 @
7 C; A; d; c ~
然后你去
% C" X/ h6 k# ?: l
5 v% e2 K/ J+ ^# g9 [+ D* B
代码:
# x& {7 y0 j- w
代码
1 e: Y- w; I; w O
BOOL TextCmd_ClearPropose( CScanner & s )
. x( V9 n# W( j7 [( C/ l6 R1 J
{
: F4 a* V! N+ x7 c! F7 F
#ifdef __WORLDSERVER
1 c0 K {9 G# b6 j
CUser* pUser = (CUser*)s.dwValue;
# R" W% s5 ^0 j2 f7 P
g_dpDBClient.SendClearPropose();
0 M4 N) {. B5 N3 k f1 M
#endif // __WORLDSERVER
! G% D( y2 C' h$ ?' z
return TRUE;
7 w2 \; b( o" e
}
2 `0 ]$ ?$ T; N: K8 Z0 f3 h
下面插入
" R5 e" p. u. b) D( C$ _
BOOL TextCmd_rebirth( CScanner& scanner )
8 R6 x# W. A, ~8 \6 U
{
1 V* }8 Y; }0 n! ~% z! h: }
#ifdef __WORLDSERVER
9 h6 |. D, ^/ x) ~, R: y
CUser *pUser;
# c; @0 X$ r* y1 t# D: k
pUser = (CUser*)scanner.dwValue;
& v* g, R7 F" h7 h. V0 m
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
' p8 a0 h: Y; r7 M, w5 Y& p
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
8 u, h2 F* f2 F2 T: ]3 X9 H
else
3 W+ n+ L0 c ], G5 ~2 N s
pUser->AddText("你还未达到重生条件!");
: `1 w o, C- N. ^* v2 b& `1 r
#endif
- k5 x% _; v) t
return TRUE;
9 x w# ^' ?( T/ I% Z
}
4 S8 T. K6 e L
) p3 S p* [# Z* c7 w' j" ~
' R8 Z6 a! O+ E7 f
+ c, V2 X+ f% R9 }. V- ~
7 t, X, T0 n Z9 K3 {; G2 K* `* S
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2