飞飞世界论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15439|回复: 0
打印 上一主题 下一主题

通过命令重生

[复制链接]

197

主题

203

帖子

1088

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1088
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel0 k% p# \+ ]/ _/ f$ U) d
1 T1 z9 ~- \/ y: F
Mover.h
/ E  w8 \" i  c/ s0 V! G代码:
$ o; c2 f8 z6 l+ Y7 s" U, f找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü0 o9 l0 K2 \+ L+ ?
: t3 M( J4 ~( Y9 {. Q" y. e3 M
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
5 R6 L* b+ N, `! z& u% `& Z5 C# E- t* @
然后你去mover.cpp添加
7 T; O, b! T2 n/ n
5 a/ K. {; C+ N5 j代码:5 v; ]' y- h% [5 L+ }4 t
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )3 Q' P3 K5 y/ |9 m& _, ?9 n1 h3 ]$ @
{
2 R- R1 h4 @; K+ P$ s# I* N#ifdef __WORLDSERVER9 ]/ t: G( q& k$ d8 {8 n
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó8 t% }6 d2 {! P+ H' a! S* b
    MoverProp* pProp = GetProp();
9 d& V( I6 N- T8 d, E9 Q" L; k' k! T    if( pProp )8 r* \8 D6 E5 B' i; L* w7 A, u
    {
( w1 J, a% l1 \: J        if( nJob > 0 && nJob < MAX_LEGEND_HERO )4 x4 P* N: O2 w" i  D. a; v
        {
( O8 I  [2 }% K0 S8 N            AddChangeJob( nJob );
: D' I/ X, y& \$ j- V4 S        }else{
2 v" a5 e! f' W% z$ y& Z3 n            return;! w2 P2 O4 n6 r, j! B6 V
        }& e  Y! d8 y& a0 l! C
        int nPoint = 0;
0 N. ~. v! y5 m, s9 `        if( m_nJob == JOB_MERCENARY )
4 b, N( U+ L( I1 t+ |- c7 q            nPoint += 40;
0 z/ \% ^3 p8 k* l& g& g% e7 Y        else if( m_nJob == JOB_ACROBAT )( I( A7 b" D& H; q( }& T7 J* f
            nPoint += 50;
6 a5 z9 X0 A7 |+ a6 b        else if( m_nJob == JOB_ASSIST )+ z; ^3 L9 m: M, I: t+ K( g
            nPoint += 60;/ e/ {+ `3 j/ H( ]
        else if( m_nJob == JOB_MAGICIAN )5 ~2 t9 S! K' q
            nPoint += 90;
) D+ f$ Y, @2 @  G) x) x- Y/ l) c        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
. h4 \7 t) w. L) `: G  z            nPoint += 120;
7 T8 W6 h$ o  n4 _9 M        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )3 [) ~' \7 R* Q- s9 `* [) U4 ^
            nPoint += 150;
' T/ g8 C2 q% J9 F: V1 X$ b/ N! g( O        else if( m_nJob ==  JOB_RINGMASTER )
: i4 n, c1 i$ D2 E; I            nPoint += 160;
( f  Q7 g, i6 B" k) K  H4 s  s# N        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )$ g% t0 ~) I# a) X$ f5 z* u7 T
            nPoint += 180;* Z0 _$ ~* p8 A4 L! j
        else if( m_nJob ==  JOB_ELEMENTOR )0 N) I& T, q5 g9 Z' H/ H8 O0 j( S
            nPoint += 390;$ p! e5 Y! Z; d5 A$ q
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO ): C6 q4 V2 u8 U$ t. Z' K
            nPoint += 120;* n+ b- l1 K% }# l% n' ?3 @; D( q) N
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
  r- |2 [+ P7 S7 k% h* `3 C            nPoint += 150;
1 m; C/ b. y1 E  R( J  ]  o+ h9 D; A        else if( nJob ==  JOB_FLORIST_HERO )
) |7 R. Q, F1 B; W1 M1 R3 N- Q            nPoint += 160;! D; Q/ X" |8 o2 x. ^7 @! _
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )  }, n- H: c( \$ d; g5 d8 G. \
            nPoint += 180;, I# }8 j& L, N% }& t
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
! U  i( T- k: U/ ~            nPoint += 390;
6 J& j! _% Q$ a) X- s; \  r: Z( h) F! D5 j/ U8 i- ^
        AddSkillPoint( nPoint );
2 Y( @6 z7 K5 I        m_nLevel = nLevel;3 v2 N, h7 Y$ ]/ J6 W& w- e' O8 i+ o6 o

- ?" `* l2 A2 C, {% H        SetJobLevel( nLevel, nJob );
( U+ g* k9 Q/ u2 k        m_nDeathLevel = nLevel;
  A) a/ I" Y; P" [+ X#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans) S) q. V* v4 J
        if(IsMaster())9 n' t; z; l- W" c5 O0 m
        {
  U! _8 P6 W/ t( |            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
- s+ ?7 P8 F; k$ W! J! }* q            if( nLevel > 59 && nLevel < 72 )2 P) E2 Q+ l: K! r7 F
                dwTmpSkLevel = 1;
) s$ |4 e0 T$ v2 l3 Y5 ^. o7 c- b3 l            else if( nLevel > 71 && nLevel < 84 )
# `- ^3 @+ U- ?8 H# f9 I0 L                dwTmpSkLevel = 2;
5 a  s) i& m/ H! u            else if( nLevel > 83 && nLevel < 96 )7 G- b6 Q6 r, }8 r/ B* L
                dwTmpSkLevel = 3;
+ v) ^! a! D$ k9 g  I% B; T            else if( nLevel > 95 && nLevel < 108 )
3 C+ A4 d9 b" p  `' V                dwTmpSkLevel = 4;( Y, r' e# [7 Y# l8 `
            else if( nLevel > 107 && nLevel < 120 )1 c/ G% I, u8 Z  B+ c
                dwTmpSkLevel = 5;
) `) P; w5 I& e- x5 d2 Q, m            for( int i = 0; i < MAX_SKILL_JOB; i++ ) $ P+ R/ e4 W+ P5 H% \5 T0 w1 l" h
            {                6 C  W9 X: ~6 ?% t
                LPSKILL lpSkill = &(m_aJobSkill);1 r7 J- U8 O' f$ ]9 P% H
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
3 \. c# P* r7 Z% l4 R( n+ j                {
% l$ \5 j- ]5 _* w                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
( ^2 r+ p8 f; L$ c* d8 l; Y                    if( pSkillProp == NULL )2 t, @5 }" p6 a; q9 g. G
                        continue;
6 ?: w- F8 w/ T. O& z9 U                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)% a% f' c; q4 f1 @1 B2 |2 o5 q
                        continue;- h" S- h. b5 |7 {2 b
                    lpSkill->dwLevel = dwTmpSkLevel;
1 [6 O% Q0 v6 b! W5 Z                }
  |8 B- }" t0 ^2 z            }# p" \! a) j+ k; Y! f8 w0 m
        }; w( \7 A/ S% K1 f8 A2 P+ U+ Y
        else if(IsHero())( R4 o+ {! {6 U8 [
        {5 e; n! D! D& `/ r5 {& }9 B; V. T
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 8 ~* K3 S) L: s) t
            {                . ]5 S: N- _* T& Y8 j" \8 D- o1 H: n
                LPSKILL lpSkill = &(m_aJobSkill);
2 n, D4 C, G& t# H* y% T% I& C                if( lpSkill && lpSkill->dwSkill != NULL_ID )" C* ^7 M! W% N+ }9 v
                {# r" d, a5 X. t
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
7 u- s* [8 Y, b" p1 w                    if( pSkillProp == NULL )
  ~$ |7 V# c, P                        continue;  p" G3 Z  q! v) K/ n8 O
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
8 Q" z. g1 q) u/ s! t( o                        continue;
& U4 |/ s) ~$ p5 C/ I                    lpSkill->dwLevel = 5;
5 W( b5 X# e- e' ?& l" v                }( j+ }& X4 Z5 E: O
            }
/ u8 ~4 S7 H8 ]" W4 E8 D0 m        }
$ {+ V( }6 e6 c9 l& z0 {2 t5 ?2 {' X        else if(IsLegendHero())
" U3 A8 y4 E/ g. q! x4 @$ v  y4 ^5 W        {8 d* T% i$ ~- `$ L
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
* t( o& i: o: D( J. ^1 x1 i            {               
& K( C7 `0 v4 U' z8 ?" S* `                LPSKILL lpSkill = &(m_aJobSkill);
2 z; A  C8 m$ a                if( lpSkill && lpSkill->dwSkill != NULL_ID )
6 {$ q3 C9 y; O6 n6 e7 {                {
$ T, r. @1 X; c. \4 t! a+ _* Q                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            / \$ r0 G8 @' T3 S/ N( q7 f
                    if( pSkillProp == NULL )
# x6 f( f' B8 M                        continue;
& l: S3 H; Z6 o" [2 \* g# u                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)% j  ]! x/ w6 o" Z$ i
                        continue;" d4 o1 L5 y3 O7 _# h4 T  l' E
                    lpSkill->dwLevel = 5;0 o0 r5 u; \+ I( O
                }
0 W3 {; R9 C% }7 Y% U9 a$ t, o8 d# k            }* J: O1 J. S- T3 k
        }$ f2 F$ d* Y% c; H' z
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans1 l1 f( `( Z( S& R
        if( bGamma )2 J( Q3 h; _. b" t
        {
8 M% i8 S& f9 S1 T; r& ~            m_nExp1 = 0;
3 A" f, k' S$ P; t( p! z- h        }
9 e3 q4 N& y8 f7 I
" y. O' S1 O  d! S) f        ( (CUser*)this )->AddSetChangeJob( nJob );# t& K4 p0 U2 k7 K5 r
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
8 s' v6 I# h# w9 T8 C3 T1 v/ D1 |* w
3 b  c& p9 D$ B$ z4 E' k+ P9 t# G9 m- L" S0 Q! H3 t
#if __VER >= 11 // __SYS_PLAYER_DATA
) @4 _) Z% {& y1 J! s$ w        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );+ n+ w/ |" W9 r- N1 @
#else    // __SYS_PLAYER_DATA* k7 ~6 x' y6 g, n( E
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
. L* ^* a1 e4 T3 R7 F, w        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );' u5 h$ ?5 {* a- V( n$ T
        if( m_idGuild != 0 )! |# B. p, w8 M1 r( p% b6 i
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
8 [* G% ~8 @& N# Q; a#endif    // __SYS_PLAYER_DATA* \/ `% C% B9 ]
        SetHitPoint( GetMaxHitPoint() );( D$ \# P+ u7 z
        SetManaPoint( GetMaxManaPoint() );$ H, [8 b7 E! Z2 B
        SetFatiguePoint( GetMaxFatiguePoint() );* W8 |, Z/ [7 H% ^4 ~. J' k. `
        if( nJob >= 1 && nJob <= 4 )3 Q5 G8 Z' F3 I+ K, F1 d2 I. |
        {
) V' w4 _# A' A3 F( k: y( ]            m_nStr = m_nSta = m_nDex = m_nInt = 15;4 D6 v. P4 p- U
            m_nRemainGP = 28;& j) U8 K6 o8 b4 a
        }
) n! X3 R5 g! W: d6 C( O( N6 w% w2 b* v        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )+ N3 \+ w+ k' e% n, p
        {! q4 d# Z$ `8 x+ _  S9 r  G
            m_nRemainGP = 118;6 E. C$ L3 x8 m
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;. w" z6 n; X& D
            m_nStr = m_nSta = m_nDex = m_nInt = 15;
0 o2 o& v7 c7 W. u9 I+ X        }
0 g* l6 ~" k1 c; E' W+ \% O4 i        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )7 X* Z2 ?$ V  m( Z  h4 U
        {2 F) r+ x& l) i% A! m
            CItemElem itemelem;. }, z( R) R2 n* {, [/ e
            itemelem.m_nItemNum = 1;
2 D, v# w! b: ?' _' I' |( j$ ?            itemelem.m_bCharged = TRUE;
+ ]) f) W4 g0 B3 e4 c4 f" t            BYTE nID;7 D# J, B6 X& g8 W

5 J4 Z4 f3 O6 t) v3 B            if( nJob == JOB_MENTALIST_HERO )) U" V- a, W6 K; L* O% |) [
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;- p1 r) h8 U# y- e' F
            if( nJob == JOB_FORCEMASTER_HERO )
6 P+ [- I5 ~* k$ r+ B* @                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
+ ~' K4 u8 e% y- T) L/ I  ?) }3 Z7 a, {( k
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );- H. K1 o9 E- B6 j0 X0 v& {
        }0 u  r( }+ c; z# U" i" k
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );/ X  P% ?: M7 ^$ u
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );9 r9 E/ G' [& s/ D
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
7 S& x+ |* a1 Z- D9 u) _        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );5 q& N# m# u, [7 R
        ( (CUser*)this )->AddTaskBar();*/
+ f3 {  E! H( m( T5 Q0 k        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );7 a3 H% N% ?" }
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
& j( W1 F2 Y7 s4 w! L0 |        ((CUser*)this)->CheckHonorStat();
, S' g  ^" a* w" a1 l8 a; M4 r5 d        ((CUser*)this)->AddHonorListAck();
9 f+ t# L* b, |$ c        g_UserMng.AddHonorTitleChange( this, m_nHonor);
4 n4 f. B! x; M+ t  a2 N5 Q5 t0 T, h#endif    // __HONORABLE_TITLE            // ′Tà?
% {/ _( y/ W5 Q8 }# ]9 w( l9 g3 w    }6 }# K# ]) ~! u; L  H
#endif // __WORLDSERVER; f% n7 i( j, e9 C: P. _/ Z' b; b- z
}  ) V. v( U: A# ^- m& s1 Q+ U

6 C7 v& I; @8 f: K0 @. M$ m' i然后你进入functextcmd.cpp并添加以下
' ~' C# ~2 T5 j1 k. j2 U
+ l3 c/ L% B# ^# R+ ^: F9 [代码:
1 y% S9 F( I: k' N2 v* VON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
, w1 q+ u# C9 o+ `8 f2 R- X7 J下面插入1 x- `: s4 b/ v
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
, v: i. k2 j1 P8 z1 l
0 q" u0 \# B. c; g8 a& }0 y然后你去, n/ q% s" g+ L9 K! b" |; L5 {
9 {% c! c) h, ^
代码:" e8 {/ ?+ h/ ~
代码
7 ~" n% R. X) z! B2 u8 MBOOL TextCmd_ClearPropose( CScanner & s )
0 ^0 D, Y: s( q! ?8 }{
) ~) I* l* L! I' ?# i% q3 M#ifdef __WORLDSERVER2 W9 ~/ M$ _2 r5 D/ [; O& ?
    CUser* pUser    = (CUser*)s.dwValue;
* v2 R: G+ ~+ K: |! n    g_dpDBClient.SendClearPropose();
, b" g: B$ H  L; Q#endif    // __WORLDSERVER
% I! ?$ ^! M( X9 g. K/ T0 ]    return TRUE;0 P$ `) y+ G, ?8 J
}" Q/ c0 v0 B2 @2 V
下面插入% c- {" ?4 S" j$ r" U/ ~4 F
BOOL TextCmd_rebirth( CScanner& scanner )8 v: k, y# h* M! m
{
, s/ A* `# e' q* t#ifdef __WORLDSERVER0 u$ U" @/ u* o5 |) [
CUser *pUser;
7 t' Y7 c$ Y& t* ?8 P1 Z* O9 Z/ lpUser = (CUser*)scanner.dwValue;9 j* {* X+ g# I& ^4 i9 M
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
' v9 S- Y/ l" u8 d3 N) ~7 qpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
' V, c- j! A6 p$ E3 Zelse  H$ \4 U0 }, }% T' z
pUser->AddText("你还未达到重生条件!");: ?5 j3 F* `4 l% ?2 f
#endif* a* ~  c% u. `: i1 N% e0 T
return TRUE;" m  _  l  }& y) u3 s" Q) }
}  % Z: F; c7 V( ^5 J

; X5 N! m0 b4 ]4 H, I# [+ X& e3 j/ M

7 V" p) y1 p% R7 p' e3 |# z9 Y9 w- O$ E7 g. {- d
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|飞飞世界技术论坛  

GMT+8, 2026-1-25 06:03 , Processed in 0.151444 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表