飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1092

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1092
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
$ }. s" @6 a/ I6 p( z  F* z: M2 W
% s, d. _7 j# d* ~+ T1 L0 @. lMover.h
8 Y9 n: I7 H- q. z代码:( O; D0 i, i  b9 w
找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü+ D1 @0 n; |5 D$ X  s
5 d# N7 m" l- u
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
; @6 x- Y* ^5 l" @! _2 w2 B) c: n6 O* |
然后你去mover.cpp添加
& ^0 J" ]* _$ A3 t* k
4 H8 `2 n7 V" V1 ~代码:
' k9 [* O5 z1 t* G& Q: x7 Qvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )9 Z7 S* U- p: G& I
{" [! q  i' A  g" _3 @, f) ?" s
#ifdef __WORLDSERVER
' N  @# p  }5 z; z: R    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
% h# F' M+ ~) T, u    MoverProp* pProp = GetProp();
5 X+ a: e6 Y' t: P% p1 L# d    if( pProp )  U  L" k( g0 _" C4 O% Q
    {
; R+ X7 @, d8 W, f/ }  Z7 {        if( nJob > 0 && nJob < MAX_LEGEND_HERO ). J# c" |, l- q4 t2 P9 t1 j# z, H8 r' ^
        {
+ i. I1 P2 g& i8 u            AddChangeJob( nJob );$ o: }/ P+ `  X- l9 [- S+ }3 w! d
        }else{
$ w! C$ z3 l6 q0 ~' a            return;1 J& W5 B, Q. W/ h: S" ]- U: k/ J
        }1 S5 P! `5 Z* T# t- b+ J) ]
        int nPoint = 0;
/ T* c) ~7 p5 j7 c$ b% l& f        if( m_nJob == JOB_MERCENARY )
% u' T2 Q& K- k: \            nPoint += 40;! m! Y+ Y' y* s& ]
        else if( m_nJob == JOB_ACROBAT )
) \7 v6 i$ D; |            nPoint += 50;
/ t0 K4 [. q3 ^, u$ L3 V        else if( m_nJob == JOB_ASSIST )% f2 Q' J; y! Z7 W: x: N
            nPoint += 60;: }4 Z5 t1 u& V5 p* s
        else if( m_nJob == JOB_MAGICIAN )
- g% f* g( n' m) p4 T            nPoint += 90;
% x5 _& z# r( j2 c2 ?        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
) _/ H: T! C: J+ B" V, j6 H" o            nPoint += 120;
/ J/ g' P6 `/ s; M- V6 q        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
/ P; u5 m& A; r, P2 C            nPoint += 150;' L$ u( z3 j, U# P
        else if( m_nJob ==  JOB_RINGMASTER )
/ x$ I8 Q$ b; _! F- P/ t) _            nPoint += 160;( i4 c1 b" Q( i+ j6 t
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
/ D% y8 j. d. {            nPoint += 180;5 w- U$ Z( l8 C! Y- M& m( `& X/ Z
        else if( m_nJob ==  JOB_ELEMENTOR ); S7 r, l  J6 k" t4 }& r
            nPoint += 390;
% [9 e1 G% A. w- d7 a7 f        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
( a3 r- R) l: u+ t            nPoint += 120;0 w' ^8 o' l1 h* _/ k8 ~6 k
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
$ t/ X; N2 t5 l5 ^- h) p            nPoint += 150;
9 s: q, h  b1 }$ w" d        else if( nJob ==  JOB_FLORIST_HERO )) w7 Q" v. z, J1 K, u9 C* v% C
            nPoint += 160;% H$ S# r, E# g  }7 l
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
, t* G! Q* t& p4 h" t- q7 X            nPoint += 180;
8 v0 z( H) @2 e+ W; a' g        else if( nJob ==  JOB_ELEMENTORLORD_HERO )) N6 d# x: d4 h/ _, s. Z
            nPoint += 390;
5 G# b1 f$ x) Q
, [1 h* T! n2 N; w9 N  e& d7 `        AddSkillPoint( nPoint );
+ d. R1 U2 A) V$ ^        m_nLevel = nLevel;
! d$ c% o  \5 N$ S3 ]8 S% y8 a( z. h4 [; @- a9 }( ]- P
        SetJobLevel( nLevel, nJob );, }$ X9 ~, b) K# x
        m_nDeathLevel = nLevel;* k" H" t% `, I! V$ w' x
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans. B- {9 C( P/ {! u  q5 V
        if(IsMaster())
, ?# D# ~6 k; R8 s( J        {  i5 l3 y7 ~# [  z: }+ ~$ a- _7 t' l3 w
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
1 O$ ?/ r2 \+ p. c( v5 [9 _            if( nLevel > 59 && nLevel < 72 )7 `. i# W4 k: W+ @1 S% l& k
                dwTmpSkLevel = 1;  G! y2 `: \8 R4 F" ?' Y$ O0 G
            else if( nLevel > 71 && nLevel < 84 )* `: i1 N  `, Q9 G$ P, V# ^
                dwTmpSkLevel = 2;
$ {% \- u2 e0 |& T            else if( nLevel > 83 && nLevel < 96 )
) b  V2 G4 D: q& m" Q                dwTmpSkLevel = 3;
9 @* v/ L9 {  w' r% O# z            else if( nLevel > 95 && nLevel < 108 )
- }& H6 ]% O, A                dwTmpSkLevel = 4;( @0 l8 T; {3 {( n# N7 P
            else if( nLevel > 107 && nLevel < 120 )
- A* c- F9 d8 l                dwTmpSkLevel = 5;
3 Q/ l7 _* ?3 J& G, U* H8 X            for( int i = 0; i < MAX_SKILL_JOB; i++ ) / F2 q( V9 }+ y- x3 A5 K
            {                , U& n  [# n7 r+ c
                LPSKILL lpSkill = &(m_aJobSkill);' [0 ^. j1 a7 f6 Z% W1 E
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
9 j" t; I7 O* _. b                {
$ ~0 b+ h' j& U. t" A2 R. ?. _/ o5 F                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
4 z* m7 c0 L; L" V                    if( pSkillProp == NULL )  X. {9 V8 z( y
                        continue;: g5 t+ ~: E% Y. c% U7 ^, D
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
; {' P# V, U# O' m) ?9 \, V* M                        continue;
4 ^/ u3 n, u  }7 e/ `' ?                    lpSkill->dwLevel = dwTmpSkLevel;( A9 i$ I5 m/ t6 w9 w) F
                }$ J8 w; G8 e& V) [2 S: j5 n
            }0 }  i3 d7 ~  U/ U' L. V! |0 h
        }7 K0 x$ F* W3 i1 `( n% d
        else if(IsHero())
3 v  L( X& N( u: s6 i6 H        {
. v; h8 @6 x2 M  y            for( int i = 0; i < MAX_SKILL_JOB; i++ )
0 w) ~4 M$ R1 d$ \- s- }+ F# W6 `            {                , l  Q- e) I$ K6 k9 U
                LPSKILL lpSkill = &(m_aJobSkill);
0 N; K) Z/ y+ S                if( lpSkill && lpSkill->dwSkill != NULL_ID )2 A0 m8 x. n) P  G; ~& @9 o9 {
                {  j; D2 U7 E, m
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
- z8 s. I6 B0 w: L# F9 \8 z! P                    if( pSkillProp == NULL )
; w9 \: Q& p6 v3 B  s' Y3 H: z                        continue;
( z( [: q9 B+ x' Y* u                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)8 i' a0 f9 G) z8 U; C; x
                        continue;, c* C8 }' W# z2 E
                    lpSkill->dwLevel = 5;' U( x0 X. J% h- ?7 c: k
                }
! O- ?8 m. u, n            }: j$ f. U$ g4 f. f6 O6 H
        }6 @! Z/ f( S2 d, Y; V1 h
        else if(IsLegendHero())9 v) N8 `  M6 }% @
        {
0 D. g( b- W) U9 U2 C8 T            for( int i = 0; i < MAX_SKILL_JOB; i++ )
. d) Z8 N1 l2 T+ @- w) K            {                7 O8 X& f. M4 V, z
                LPSKILL lpSkill = &(m_aJobSkill);
5 q+ N! r) I; Y2 s                if( lpSkill && lpSkill->dwSkill != NULL_ID )
+ ~5 P- u. O3 S! J  ?0 z                {0 F- m& D+ R6 }3 l2 a
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
" f) {2 S1 \3 r3 E                    if( pSkillProp == NULL )
8 U" q$ I$ l" C! ~& V8 n$ G                        continue;2 h3 N9 p% W' i. L* V& W
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)7 D8 u! `- E/ [; K
                        continue;
7 W1 ?# n7 T- H- [                    lpSkill->dwLevel = 5;
( C; @% ?. a8 ^. b( T" g                }1 j+ v& `! Z# c0 E2 P- p
            }
3 ]( i  b  `2 c        }: H; |- y; u; }  N" V1 m
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
# Z6 \* _  K6 P4 U7 G7 ~7 z        if( bGamma )
/ k4 Y1 l9 b4 V. A3 g+ K+ p        {# k. A$ h% h3 b
            m_nExp1 = 0;. i2 p7 f  k. D$ |! c1 s6 V4 [, }
        }1 b( m# |' d' G$ k! Q2 q  |! e  Z
& P1 N8 z( _; h3 H5 e
        ( (CUser*)this )->AddSetChangeJob( nJob );
* l4 m7 `. n  Z8 Q: M7 ^        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
  i: q5 ?' A  }8 ]1 {) c
8 z# V% b$ w! g' {" }/ f% A* e* n9 R  o4 H1 z' l; S) v
#if __VER >= 11 // __SYS_PLAYER_DATA: {/ ^! y$ H% @' V# v  d# a
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );! G6 e7 P+ k0 u& e2 t
#else    // __SYS_PLAYER_DATA2 V; P, q3 K2 E9 C+ m" G% ?/ u
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
! s; ]# g8 D6 R; c- m6 |4 M        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );2 D+ J# }  \7 y% \( }$ a/ o$ B
        if( m_idGuild != 0 )
- T2 d( k0 ^' q0 F! j7 S            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
& @/ N3 g- m* E3 }6 b; O#endif    // __SYS_PLAYER_DATA
2 [" v5 e+ v: h: r        SetHitPoint( GetMaxHitPoint() );& p, i, ?& {% S$ V( k. |2 F% l
        SetManaPoint( GetMaxManaPoint() );
9 Q% I1 \& `/ G$ H7 D5 r) `; F        SetFatiguePoint( GetMaxFatiguePoint() );2 ]" ~& D- v2 d6 b( k5 W% L
        if( nJob >= 1 && nJob <= 4 )7 u: ~* I: z3 s- i
        {
0 @0 I0 m/ Q5 Y. s' G& k            m_nStr = m_nSta = m_nDex = m_nInt = 15;
( L7 `( t# |8 ?+ [            m_nRemainGP = 28;
0 J1 Q. f+ p; r( T" q% j- z        }
! m. O4 J, x& M7 V2 E- |; y, R7 h        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
3 k! K' q7 D" @& W. k% N        {
6 {: v0 N0 Y4 G' y1 o! X. O            m_nRemainGP = 118;" P" ]. u0 I* `# c" {0 a$ K
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
  y3 V' R. W$ M            m_nStr = m_nSta = m_nDex = m_nInt = 15;
5 j# b, m. [! {  `# \# N" Y        }
" u9 E  _" ?) z, J5 V        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )
5 b( l0 N+ e- ^( O" G' b        {
7 e" y; o5 k2 U4 f# e% G9 j            CItemElem itemelem;6 `0 c) b; @+ a9 [, i8 O8 Z
            itemelem.m_nItemNum = 1;& p0 F" m" m7 F. y. @# |
            itemelem.m_bCharged = TRUE;
# K9 s$ Q" _' }1 n5 \6 d( j            BYTE nID;
2 b" m0 _+ s' }7 D, O; A* D) y1 r' \. u
            if( nJob == JOB_MENTALIST_HERO )
: L$ b7 V5 [" g                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
- g' m& H! d. d9 e$ h0 r            if( nJob == JOB_FORCEMASTER_HERO )
8 R6 T6 v5 r5 Q* {                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;! V3 b0 }! j8 R2 d7 p# s" G+ {4 f, l
! N5 {' O! N* d
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
- }. d5 j- }- C9 |        }
, i* S' u4 ~5 {1 T        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );( {# \0 n- q: o3 D0 ^1 u6 O
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
( h2 b# r( p  Q+ s% f/ n6 t8 b        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );/ G; X! d) m/ k& z% f% ?7 c) ~6 a
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );9 ^2 V& X5 ?; @6 d/ E$ b% S0 h
        ( (CUser*)this )->AddTaskBar();*/( S0 V3 S5 x3 m' Q+ z
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );2 C3 I) o; |3 \+ u
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?) ~' U& \. u* _' x# i# D
        ((CUser*)this)->CheckHonorStat();& a# Q  ]7 _1 k7 b1 {# G
        ((CUser*)this)->AddHonorListAck();
( U9 G9 s8 J& k: ~        g_UserMng.AddHonorTitleChange( this, m_nHonor);8 I: c% K& q1 _1 H& P
#endif    // __HONORABLE_TITLE            // ′Tà?
  m9 `  C! V8 V; o    }3 ^! ^# `! K" v& q4 S2 i
#endif // __WORLDSERVER% P! e2 N! f( v* S# F
}  
( U1 ^; Z! K% @2 b* K  @" I# s8 J3 L2 c: q# P  X. F; ^4 g# `, g
然后你进入functextcmd.cpp并添加以下
0 C5 ^5 @0 N9 k! M8 U8 {: I9 W' ]/ B8 ~" o
代码:
% L+ k3 s3 \( {0 JON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )( R0 F. N5 K! r  [4 D
下面插入( v3 O9 W9 \4 D
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  2 a2 |$ Q; b6 J. y+ G+ i! t

8 }# l3 N0 x! n( Y  H然后你去9 Y# C8 o$ N! S5 X

( r. }, B5 |0 v4 Q, C代码:
, @* H0 m# c$ V& i1 b代码+ z) C+ e5 j) _1 ?; V4 w# k5 H
BOOL TextCmd_ClearPropose( CScanner & s )# Z( u5 Z, j) w0 E1 x# E
{
/ ^. F  v1 ]: ]3 g8 P1 `, K#ifdef __WORLDSERVER
, F- r" G* ?3 a7 d$ x; G0 \    CUser* pUser    = (CUser*)s.dwValue;7 o# k7 [8 L! v( O  Y( }2 c
    g_dpDBClient.SendClearPropose();; ^% U" F& l- m  d) l" U5 _
#endif    // __WORLDSERVER( |: O& h) L7 C7 n
    return TRUE;
6 \1 m3 y$ k  [1 b}. o$ @  r6 o: E8 b
下面插入- ]% }$ l3 c* ?3 J' g7 ~2 D' K# A
BOOL TextCmd_rebirth( CScanner& scanner )7 c/ o9 k: e4 C7 |" K/ R# K
{0 j' h2 Z, ]% M* V* e
#ifdef __WORLDSERVER
+ ^0 Q+ d! R8 X. L" u: U  xCUser *pUser;& X9 {- X2 J. ?0 a+ p, K
pUser = (CUser*)scanner.dwValue;3 m  J+ K: y2 j/ w; O
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
) a' @8 J. [5 R/ ]pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);' Q0 G  a2 B7 x7 W9 B
else+ n: T. t4 V6 h1 |( D: u4 |& G5 t
pUser->AddText("你还未达到重生条件!");
  H$ B% A, o6 y, E- b7 x#endif% y( o6 j0 I1 A: N+ J# ?; B5 X
return TRUE;
0 z* |9 |/ b8 a- u' i* R& D}  5 G4 d2 ~7 W7 ~! G
+ `4 `5 T; Q2 Y! x# U8 }) s+ N

0 Z' {9 X6 z8 e) V7 X
: c- F8 X' p( l9 J, v& @
& G7 J) A3 V6 i1 o
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-30 13:26 , Processed in 0.065050 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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