飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
' j9 x; p7 U0 {; j& I$ {! l, F2 J  L$ ~: A9 @, L# ?1 l
Mover.h9 ^( M% R1 G# r  ?4 S
代码:
' n4 v2 s/ E1 i- o* W) r找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü
$ y; {3 k& L2 _
) ^6 I( o9 T6 v+ W下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  4 o8 f2 ~0 P- A7 y% G
; U2 I9 f& i% y7 J
然后你去mover.cpp添加
8 [$ r& e/ _+ l4 p; ?6 r! I. s4 Y( z9 N# B$ _
代码:0 I4 R1 w+ k+ |/ W. n4 S( e* r
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )! \3 x0 L: R! u8 Q
{
) \; q# c0 E* P- x#ifdef __WORLDSERVER+ ^# ]- r; l5 @. T! i2 X
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( D$ ?- Z, A0 \$ e    MoverProp* pProp = GetProp();% v( Y0 F3 h. _, n8 }( u
    if( pProp )
7 i0 a# c4 h  e6 K2 U& t; \" o    {; N+ p4 A* m, u* x1 o
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
. s+ f, j- R' B# b: w6 t        {4 {8 J5 [# o$ u& g9 N3 E5 t
            AddChangeJob( nJob );
8 b+ @3 r! g$ A& F' y2 z  w        }else{
- p. W  h6 A/ t7 n0 y            return;# h% h3 C$ }2 }
        }) Q9 u5 z( n6 d; `9 X8 b
        int nPoint = 0;
/ [& P+ @+ O- J" [        if( m_nJob == JOB_MERCENARY )
! a! _. m0 ?" W9 Z7 v4 F1 I            nPoint += 40;
  {2 C' ^2 ~4 H        else if( m_nJob == JOB_ACROBAT )! r9 f- r: \$ D) C9 a1 r* z* t8 N! h
            nPoint += 50;
0 E3 `7 S  {: B% K6 o! a% a        else if( m_nJob == JOB_ASSIST )' }1 w6 }0 f4 i' v* n4 [
            nPoint += 60;3 Y8 R# G3 p4 ?( ^1 j
        else if( m_nJob == JOB_MAGICIAN )
. \9 |" j$ L7 p8 u            nPoint += 90;; c: M2 x2 n0 b
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
& e4 o% A7 J2 X9 y% |' Z            nPoint += 120;& [( s& R* H. `1 A* t# Y
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )2 T3 H1 u; K' g. |- ^3 g6 Z8 S
            nPoint += 150;# \5 b' i5 b; d- U( t
        else if( m_nJob ==  JOB_RINGMASTER )# _- M0 M: G' x8 z
            nPoint += 160;+ W5 a( C! C: B6 r& {4 q
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )/ Z) L; |4 g  \! X& s9 t9 D
            nPoint += 180;
6 n9 L. Q5 H8 x. }        else if( m_nJob ==  JOB_ELEMENTOR )
+ W" R1 C0 u6 @; ^4 x            nPoint += 390;
" `7 l! Z6 a! i! a8 ~( O" M( Y        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
/ f# b* v# n5 K2 [" G            nPoint += 120;
4 N  c  g3 p% {; d# x+ o( `9 v9 I        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO ). g$ [. [0 c$ U; g" C* c* w/ Y
            nPoint += 150;( t; L1 O$ x4 V6 \) d1 b
        else if( nJob ==  JOB_FLORIST_HERO )
  z' p5 B0 I+ B6 p6 o7 N5 d% K1 e            nPoint += 160;
) v9 l# A' Y; a5 K        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
; F; U8 y+ ~. a4 p            nPoint += 180;
  E; X" X$ C: c7 O; g7 O3 N        else if( nJob ==  JOB_ELEMENTORLORD_HERO )) w9 a4 U0 G4 l
            nPoint += 390;1 G6 E& X* _& @. }* a$ R

8 ?% B0 ]  s% y        AddSkillPoint( nPoint );  z4 D  e0 D. E7 U1 s0 e2 o" {
        m_nLevel = nLevel;
- G- o8 a( ^" g, J: |7 N- c
7 {; U( c; l8 e) X6 N        SetJobLevel( nLevel, nJob );- P; {# Z; b* x; h# B1 _0 H  O, |
        m_nDeathLevel = nLevel;' M/ V  s( l/ v
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans- Z' @7 ?. ]8 `2 j0 e! u
        if(IsMaster())
% L7 g7 P5 R5 H        {7 O$ p! S! p1 K& B2 S
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
4 F7 w. r* x+ H7 g/ {3 L            if( nLevel > 59 && nLevel < 72 )
# f% H* Z5 K9 P! D: r                dwTmpSkLevel = 1;0 T% V7 D* h! n
            else if( nLevel > 71 && nLevel < 84 )
; H$ y( l/ K2 v1 p3 f/ C9 i8 F                dwTmpSkLevel = 2;6 w- O- z; Z" ?6 `: c& w
            else if( nLevel > 83 && nLevel < 96 ): D1 j$ i# E0 Y
                dwTmpSkLevel = 3;5 W# {4 E1 j$ Q  c$ V$ n
            else if( nLevel > 95 && nLevel < 108 )
; _) \' S5 c9 x2 f- k: D' b                dwTmpSkLevel = 4;
0 m2 ^1 w) z8 z            else if( nLevel > 107 && nLevel < 120 )) H' \0 N9 ?; }, U6 P3 T2 E4 `
                dwTmpSkLevel = 5;
. @9 W( q9 u- E' P- M; o; d4 X$ C" b            for( int i = 0; i < MAX_SKILL_JOB; i++ )
9 k6 Q; I8 z' @% Z8 p9 l            {                7 ~  g6 O8 d- Z/ G" R3 m( `- F
                LPSKILL lpSkill = &(m_aJobSkill);; `5 ^( B5 E$ O. k9 X! X) I
                if( lpSkill && lpSkill->dwSkill != NULL_ID ); @: o' R1 N0 T/ v/ X4 v- D
                {
3 j$ _' t* P2 x$ t* \                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
6 n  l9 t; v% m( a  X8 i1 b+ ]0 N* t                    if( pSkillProp == NULL )+ u8 k% M( X5 R# p2 Y- k
                        continue;
8 c. w# V7 {' R: h                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)+ l% _! D, q- B; h0 y# q0 z
                        continue;
+ R% f4 X- Z6 w, @7 R                    lpSkill->dwLevel = dwTmpSkLevel;
" j- V& o8 G- P/ E  K8 M                }( O  }0 c7 B; J0 d& {
            }
4 G! R+ w7 b/ L( K# Q        }
7 z: M. F  D5 D& C$ Z        else if(IsHero())
1 A$ D4 n' o' Z+ c& \        {
- I$ L9 D0 i$ A! a% K# [- N2 M: t+ n: w            for( int i = 0; i < MAX_SKILL_JOB; i++ )   n  [" M* d6 S8 b& h& T
            {                , m! B& F) z8 Q5 i
                LPSKILL lpSkill = &(m_aJobSkill);
3 b5 A/ ?, k8 x8 f# ~, L6 i6 L  Y/ n% _                if( lpSkill && lpSkill->dwSkill != NULL_ID )) ~! T! L; ~) v
                {
! P9 `* P% s% a7 O) T                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
0 R* e8 g' @% H; ^, c                    if( pSkillProp == NULL )6 c# Y' z. U. q' l! M$ b9 f
                        continue;
7 y0 R' R( Y2 a" J$ w                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)' T0 V1 _" z- P6 y5 a/ Y
                        continue;
3 m' @8 v9 Z9 n- D* P( c0 j                    lpSkill->dwLevel = 5;
, ~' I6 G5 O2 ^( j) T, d5 f' ?                }
/ a3 j. D" Y2 ~' m. p1 {0 y5 m0 u            }. ]( b7 s; o6 Y5 w/ B6 h1 J
        }3 m+ k7 T8 p6 j" O+ E& Q
        else if(IsLegendHero())5 D+ x1 M9 Y1 n7 M' @, k
        {) Y& g4 V7 [: K% i8 x# ^5 O- @6 a
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
$ _/ z' g* t8 |/ B. {            {                9 P- k  H2 S9 A& S
                LPSKILL lpSkill = &(m_aJobSkill);  C& P: ?4 I$ y+ }
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ P6 P+ `9 Y, j4 d, q$ B2 {; g3 ]                {2 y0 B) Q" p" R& R6 R# a( K- _
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
5 i) l9 v2 I' a                    if( pSkillProp == NULL )
2 b& @9 B  l+ U  Y1 I                        continue;
, E8 Y9 y" ^: m- A6 Q( \                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)6 I& A+ A' Q' P& H
                        continue;
# Z& r1 d" V, A2 g- y0 A, i                    lpSkill->dwLevel = 5;
5 {6 \  f$ U, U) z+ H5 g1 P/ c                }# |8 I, d5 x! y3 ]9 ~. i  r
            }
5 N" w. {9 q: u+ i0 j        }
' N' m/ v7 e$ `; y, I#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans4 ]" {) W% O0 |
        if( bGamma )
2 V1 p0 p8 v& L/ D7 i: y7 N  i* \  }1 H        {' w0 E: O4 a+ c  P% g5 b
            m_nExp1 = 0;' z; g4 {  {  `1 K
        }9 A! C$ o5 F) s) \4 @& K
- o$ _* @/ P* I$ M6 I4 w
        ( (CUser*)this )->AddSetChangeJob( nJob );( e$ \1 ^( W# J/ \
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
7 {+ F9 K( j6 M  ~5 D( ?) Q" l8 a) |9 ~0 P% H: F

- Y: @* |' Y) N+ C2 r: V( q% M4 z5 R#if __VER >= 11 // __SYS_PLAYER_DATA- w; z8 }/ H2 Q# D
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );: V- P" ]2 D$ O! v7 A
#else    // __SYS_PLAYER_DATA! c$ j9 v. n2 U. j1 }0 O
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
$ y5 f, }0 {0 K' s        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
# z* e* k8 Y# ^5 M$ O9 h        if( m_idGuild != 0 )
: F; ^5 v9 _) w" {/ K3 C            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );6 l- e6 b' g0 l- i9 m* G, c* R
#endif    // __SYS_PLAYER_DATA. X% u( I, l% T  r, m+ ~# \! L9 i
        SetHitPoint( GetMaxHitPoint() );- O+ l% u4 |% u: D- _6 s. b
        SetManaPoint( GetMaxManaPoint() );
* U8 }( ]( H9 }$ I! r& u* ^* a9 q        SetFatiguePoint( GetMaxFatiguePoint() );) O+ W( K8 f+ D5 N
        if( nJob >= 1 && nJob <= 4 ), u- U5 |# a( b6 D7 m
        {" Y# L; p, w% ^" X7 ?! _
            m_nStr = m_nSta = m_nDex = m_nInt = 15;5 h  Y3 _  K0 l5 z: i, F
            m_nRemainGP = 28;
2 v: N9 Z6 h8 J1 ?  U- H        }1 E. M$ \/ h$ Z3 C4 X# _; S# j9 R/ Z
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
7 p% ^, {! q$ z$ }5 T        {
% w2 ^  w) w8 }8 _5 ?2 F" q$ a  L            m_nRemainGP = 118;- V% }% j& F+ z3 u) l6 n: r, ]
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;3 C1 _( o* f# _2 L( }
            m_nStr = m_nSta = m_nDex = m_nInt = 15;% ]6 P% r4 P& k# E9 O  E# X
        }: g$ D' f0 F7 |- q! [
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
' h# }' i, ?7 h/ s- K( n  V3 D        {  n' J4 B8 e1 v! Q3 A
            CItemElem itemelem;
7 N3 A% B0 G+ Z+ d* F            itemelem.m_nItemNum = 1;: ~$ o5 O& s5 y. Q0 o8 ]+ S& R) R
            itemelem.m_bCharged = TRUE;
$ U  S  p0 m, _6 @% {; L" R; t3 B            BYTE nID;+ \1 c5 E5 A( N9 B/ k1 i9 j
' q- ?: B/ Q, K& O- k* a2 ?+ T
            if( nJob == JOB_MENTALIST_HERO )6 }. r* k3 y0 O! t  O
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;4 {! C( U7 A3 _3 R2 |
            if( nJob == JOB_FORCEMASTER_HERO ), a+ P$ e' [2 k# ]
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;4 P- O: r) U% {: }8 \$ B0 F

# r& C0 `# n" g            ( ( CUser*)this)->CreateItem( &itemelem, &nID );% P7 P$ x) P* x8 p; J
        }* k$ o; S# I. u  W. p9 u- R' F. f8 e
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
4 E; n0 o7 y; n* K" P8 p        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );& t6 l; {  O8 X0 \
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
0 e, ~& c, O6 p        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );* b( @- M7 I, a: y& b
        ( (CUser*)this )->AddTaskBar();*/' o% A3 t% e$ g, [* q' K
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );5 e$ ]5 y( |+ O# j9 b
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?& w; D1 e1 c+ _! U+ ?7 Z
        ((CUser*)this)->CheckHonorStat();
3 |3 ^! I$ `4 _4 f* D        ((CUser*)this)->AddHonorListAck();. x4 L9 q- n  G4 S6 o8 K
        g_UserMng.AddHonorTitleChange( this, m_nHonor);, r: m3 o8 ?& R9 ~/ @9 _) z3 [; [
#endif    // __HONORABLE_TITLE            // ′Tà?
1 g% l$ T5 m2 o6 j+ C    }
  I9 f1 ?1 f2 h; B& Z6 ~* f! N#endif // __WORLDSERVER% n& R. i- `$ h% [1 m$ `+ C
}  ( x: T+ H, V- U" y

4 Q/ l8 L: E! l% b然后你进入functextcmd.cpp并添加以下
2 f0 [, P9 w& f7 Y0 \$ \" G3 _. ]8 r
代码:8 Z+ o8 t& F7 n8 [+ M: `
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
% ]  r5 Y2 t1 K下面插入  [; }, p1 f! t3 y
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
# _5 S! ]3 @  ^# `: i2 A; w' W+ j" T. J* A4 K
然后你去
( V& y8 M( N: }% ]; W0 Z: x! }5 {. ~9 h
' N3 a2 p, _" N+ p7 w代码:
& g& F4 m. d0 |1 V( x代码
' z- E! Q) _* j- }* ~  x# ~BOOL TextCmd_ClearPropose( CScanner & s )
: O+ b) \; I: z7 e( @' T{
" k: F" g" l8 `  B" Y5 W6 {- I#ifdef __WORLDSERVER
4 v& p6 P0 i  b: T  @: d4 f8 ?) f  }    CUser* pUser    = (CUser*)s.dwValue;
- P+ r0 J5 i" ~" k    g_dpDBClient.SendClearPropose();
( x; F/ h7 A- p  A2 m, |#endif    // __WORLDSERVER
( H$ K& @% L: z( i. f) o# r1 }    return TRUE;
* D. {3 ?" u) L1 Z. J& G}
$ A( Q  a9 T8 @# C下面插入6 p. r, ]# _: Y) o" t
BOOL TextCmd_rebirth( CScanner& scanner )
: g: }7 v; p: C+ i{! \  G- h6 F( `% }- Z8 p5 {0 c
#ifdef __WORLDSERVER
! C3 x; N+ l. Q4 t2 @CUser *pUser;* ]! @9 @7 I5 C2 l4 G
pUser = (CUser*)scanner.dwValue;
# x5 I4 d' W$ q! d5 lif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
9 M% i$ ]) ^  _0 xpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
: `4 D3 X! d! X2 E& k  P  d6 U+ K: ?else
# D. u+ e2 l2 epUser->AddText("你还未达到重生条件!");2 z5 w; B, }4 d- z" o
#endif
: z3 r, ]; x% }7 \, z6 mreturn TRUE;  T( n; n: S4 L  l& L7 y
}  
1 C6 K1 p; h$ q' g( o* T+ {( d8 q5 q7 S* A% H

7 i4 c1 I6 }9 i4 @
. a+ B6 b; ]( Q+ y. L- D9 h; J* a7 o4 ~3 Y, y- q/ R
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 07:19 , Processed in 0.067168 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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