飞飞世界论坛

标题: 通过命令重生 [打印本页]

作者: admin    时间: 2016-1-10 03:42
标题: 通过命令重生
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel7 |! {& @( p+ w( l  w
9 X( H3 _" O' u5 G& f9 k0 Z! x2 t
Mover.h0 {" D5 Y$ ~' W# V+ x( f
代码:
) g% q0 o6 P' m$ ?( W找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü' e* u* g5 ?: d

8 n8 l. m. G( c) w$ c9 Q下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
$ [7 l, l* V$ q7 y; L( S$ V% d+ [' j3 T9 N2 H- e
然后你去mover.cpp添加
4 u. K& O; \1 X: q* P/ c
, T* q1 B0 P8 h! f4 Q代码:" g4 d9 Y' |9 K* ~
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )  `" k2 b' h0 S& o
{
9 w1 M, f/ x1 G; J+ P#ifdef __WORLDSERVER
5 T; W5 i- z: H    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
( u( M1 C* |1 {1 ^, ]: o    MoverProp* pProp = GetProp();/ ]( H  V, ~; `% I* g- s" S* p
    if( pProp )) }$ s! |0 z) P( `2 [2 F+ G
    {: v8 O: l! O; k9 ^0 s4 q- O
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
7 q# Q! ]/ G0 f" E3 i0 t        {) Q% G" l1 U8 v
            AddChangeJob( nJob );2 G) y2 [) n# C8 I2 K/ u+ ~
        }else{
9 |4 [4 m6 Y, J# B/ |. M& N            return;5 ~7 O; M1 L1 p2 @- }
        }% h. n0 Y" N* \# |' K2 R/ v  r+ b
        int nPoint = 0;
# U$ @9 w+ u0 F6 B        if( m_nJob == JOB_MERCENARY )
6 s7 P# p( a; L4 z; b4 v, b            nPoint += 40;$ _. [# L& S* d" k! S2 A" x! O
        else if( m_nJob == JOB_ACROBAT )
/ e. v2 E( w+ x) [3 f4 N            nPoint += 50;% |9 L" ^: o# V
        else if( m_nJob == JOB_ASSIST )
# D+ N- w2 T( M2 N) `: t            nPoint += 60;
* _. F7 i+ @+ w5 n# B        else if( m_nJob == JOB_MAGICIAN )! v; a5 k/ F1 x; \( M
            nPoint += 90;
. |' b+ m7 y- z0 x6 |3 j- F1 l- P6 J& ^        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )' n7 q. q& f0 X( E) V
            nPoint += 120;
" A- l+ [6 E. N4 Z- b- q        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
2 ?0 _: u; x1 K            nPoint += 150;
* P! o+ L2 [! o        else if( m_nJob ==  JOB_RINGMASTER )3 O- m1 p/ f: i+ O6 v; h
            nPoint += 160;
: U2 A! e2 x( n+ Y3 j' W        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )1 ~: x2 H( l1 `- \: {
            nPoint += 180;
3 D% m8 Q* M8 q9 n( d* y9 T; ^        else if( m_nJob ==  JOB_ELEMENTOR )5 k) W- j, i" t. L/ O+ T9 I
            nPoint += 390;
0 p8 T1 [% ]/ P% U        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
7 J1 Y0 h6 V( S) q. `            nPoint += 120;, Q; ?* s! p6 Q+ f) A
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )8 ~. m0 L* k% r
            nPoint += 150;
( m, I$ M! J8 L: n3 G! v        else if( nJob ==  JOB_FLORIST_HERO )# k, e8 L4 h- H6 V8 v
            nPoint += 160;
& Q/ C  r6 X: K' ^# A        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO ). x6 S1 e1 y0 c& d. G1 A- v9 P7 k
            nPoint += 180;& e6 C4 H8 V# X  P6 f0 {9 g" a
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )2 W$ }, D! k$ o8 W
            nPoint += 390;
9 n5 c, ]. {/ z- s  W2 `' t. ~3 R$ n8 \
        AddSkillPoint( nPoint );
0 N& C+ I# r1 s        m_nLevel = nLevel;( l; R" m& O9 z5 {

# L5 M3 f, R1 G3 Z$ _& l        SetJobLevel( nLevel, nJob );
* H9 k+ s* X0 |8 W7 @        m_nDeathLevel = nLevel;
1 Y. y5 F3 k9 f: V& S+ u! P" y#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
6 r  E* m" O$ x! _        if(IsMaster())
/ X5 U1 \& l  ~- C  D        {
7 @" ?! w) Y, n/ D/ e            int dwTmpSkLevel = 1;//60, 72, 84, 96, 1082 a% i7 Y( ?; }" I8 ]2 v) k" N
            if( nLevel > 59 && nLevel < 72 )# O7 J) ]; y( c
                dwTmpSkLevel = 1;* _) A- {+ ^- f; e/ Q* T" I7 G  S
            else if( nLevel > 71 && nLevel < 84 )% c+ a* l3 x* H  D* F; d4 j& m
                dwTmpSkLevel = 2;
: e" A- p- K$ G2 b9 H$ c5 {' w            else if( nLevel > 83 && nLevel < 96 )0 p$ {# a8 o! t; d
                dwTmpSkLevel = 3;
: H: h# t: h) i8 f, N6 A            else if( nLevel > 95 && nLevel < 108 )
/ v+ C/ {. S4 ?7 f                dwTmpSkLevel = 4;( P* p1 T( b4 ?5 O
            else if( nLevel > 107 && nLevel < 120 ); e* y2 w; A/ k" B  p8 k0 U
                dwTmpSkLevel = 5;9 ]! f0 N3 n4 n: H. f3 w, P4 X
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 8 C) a' M' ~3 j  q! G7 e4 p
            {                ( e. Q, |/ j3 Y; v, P% F- p; T
                LPSKILL lpSkill = &(m_aJobSkill);
3 k9 A' h# M* q% |                if( lpSkill && lpSkill->dwSkill != NULL_ID )$ Q, I& o5 J: M( i. P
                {; A: d6 w+ w. E( m* p; ]
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            2 P2 @2 h2 e1 ~# b* C! s
                    if( pSkillProp == NULL )
% q- V$ i, W, E7 O                        continue;7 a! h$ e0 ?) g/ z* U$ e  }  L
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)! q, L  _7 }  f( x
                        continue;( Z8 l4 F, F: {
                    lpSkill->dwLevel = dwTmpSkLevel;
4 r* B  R, r" K8 T  `/ ?                }' E) Z6 r& ~& ~# V
            }
6 I1 Z! u0 J  g  t5 }3 V1 {7 i7 V        }6 }3 o6 e, Z  A! B: Y  l
        else if(IsHero()), q9 W2 Q5 L3 {
        {  P1 k4 Y& @7 R+ w1 V& q
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) . N1 ^9 _8 p7 |0 ?1 I
            {               
. [8 t8 X& ]! l5 `4 |                LPSKILL lpSkill = &(m_aJobSkill);
9 _9 m) [6 ~6 }8 \9 G                if( lpSkill && lpSkill->dwSkill != NULL_ID )5 z% s4 Z; M7 r! y
                {' l  a8 [$ k) ~
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
6 r. b5 ?" \1 c/ i: }) `4 W                    if( pSkillProp == NULL )
( _6 A# U6 s1 ^6 s) {+ |) |                        continue;' f' m$ ^0 C( j4 {
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER). v! \4 X5 a1 w7 `
                        continue;
" d% Q# ?; I0 i6 \( ^( Z                    lpSkill->dwLevel = 5;( H4 o# w* u1 }8 L0 f6 z5 w
                }
8 l( z0 h6 o/ S: N) i/ m; k            }# n4 E" Z& N: i7 ^* l
        }- L: h3 C& p7 W, g( H0 p
        else if(IsLegendHero())) c+ s: ?$ \. i
        {4 j- K1 L) L( I) S) N3 ?4 |
            for( int i = 0; i < MAX_SKILL_JOB; i++ )
6 S* I' P$ G) s# o            {               
+ ~4 g/ T% A, G4 r  G                LPSKILL lpSkill = &(m_aJobSkill);9 }. J- \  ?$ q  ]% t
                if( lpSkill && lpSkill->dwSkill != NULL_ID )& Q5 l# i0 @- J$ G9 W' l) j
                {
4 g" h0 I# i+ m  k/ V                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            1 f; @$ a% m8 U; B+ {
                    if( pSkillProp == NULL )
0 h, ]' M# W) [8 p( g                        continue;
; d2 I1 M" _5 n% r  }# Q                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)$ _) t5 @4 _% {( W3 s  Q( x( d
                        continue;
8 J. J/ q# y: A8 Z                    lpSkill->dwLevel = 5;. \# ^7 p7 f6 [1 t" A* i- T
                }4 d- G- z" ~* J6 |) [% L
            }
/ s# u. k; N3 J5 [        }
: m) {% e4 f8 L0 S+ N5 Q#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
* |/ A# s3 A7 |6 U# |. `        if( bGamma )
! w& |6 N' o. v. X        {9 D2 y' P& L2 a0 a* \
            m_nExp1 = 0;% D% t- l5 l4 Z/ h& w9 e
        }
. A6 N2 M% v9 I/ q( K
1 t& S0 [# Z. b2 Y7 t        ( (CUser*)this )->AddSetChangeJob( nJob );
9 T+ d7 n' @# Z3 z3 k: A        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );( m9 E+ W% d/ b! }
0 ~" `" G& _( a/ ]0 t+ F

! `# `/ r* ]( B! F$ {7 z( y#if __VER >= 11 // __SYS_PLAYER_DATA
- R5 i, o& W+ h; f! ^) B+ X        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );7 \1 e, u' m$ P# H7 p
#else    // __SYS_PLAYER_DATA
' I( ~5 `4 c& n, R6 L0 T' L        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
9 M6 k# f4 j. l        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );% C* l; K: \$ y2 v5 j1 V
        if( m_idGuild != 0 )( a7 X6 y3 n; G
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );3 L' _8 C4 ~8 @! ~
#endif    // __SYS_PLAYER_DATA
- A; M" C* i% Q% ]7 G; E, J        SetHitPoint( GetMaxHitPoint() );
" [3 P6 Z& ^& o8 ~0 _        SetManaPoint( GetMaxManaPoint() );- S8 z6 O1 r% S  J9 J, E! r% `
        SetFatiguePoint( GetMaxFatiguePoint() );4 j, _1 w+ [% p% q: C
        if( nJob >= 1 && nJob <= 4 )
* s* }7 `. w- J: y" m        {
5 `6 W& ?4 _1 k            m_nStr = m_nSta = m_nDex = m_nInt = 15;! u, ], G( P3 }0 I4 P, M
            m_nRemainGP = 28;% H* b- f2 V0 o$ |
        }3 w  ?  D) y8 {0 A% l2 o9 y2 s
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER ): S7 F0 z0 `3 S* Q. \3 l
        {; @0 A" K/ o9 e* w6 P0 y9 O
            m_nRemainGP = 118;- ]6 z5 c5 ]4 e+ j7 l( e
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
1 {  e8 P, G! Y& e            m_nStr = m_nSta = m_nDex = m_nInt = 15;0 |0 B* ~8 F* V0 E5 v$ y
        }- }" y8 G5 K; f  S" j
        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )# V4 w. F8 n; N& ^" n2 ?% s6 o
        {
+ @6 d  i& E& U$ g% Z            CItemElem itemelem;
1 Q! q6 I% |8 w2 D            itemelem.m_nItemNum = 1;
& _& {- t' x6 W0 W6 f0 f* g2 T( t            itemelem.m_bCharged = TRUE;
; m4 D5 ?) A$ V2 ~* p1 }& z- a            BYTE nID;$ g2 U) ^0 M; W* J+ {% \
3 `4 G5 m1 N, v2 i: {' q% H/ v  {
            if( nJob == JOB_MENTALIST_HERO )  j: N3 h3 M8 g9 k" P
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;. p' d0 b8 P' J4 m, j
            if( nJob == JOB_FORCEMASTER_HERO )8 {0 m1 e! R# o" a! K
                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
. E. T/ m$ v4 D0 H: p2 ~2 f" o2 Z" N3 b0 N" h- y
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );$ M, y- m$ C6 T1 I! {; k$ [0 K
        }
  P5 S! p3 ^" q. o6 C/ q0 Z* p        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );1 V7 F  ~1 G4 e0 H8 P! b
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
) r% R- \" h6 j) i. D: ~, H        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
; B& ]  V: v8 ?) g" u6 t        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
3 g, `, k2 I: Y& y6 t9 N: U        ( (CUser*)this )->AddTaskBar();*/7 O/ G: {0 S7 i6 z- U
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
+ ^$ `) ?1 w0 @' Y" l#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?; M. b3 Q+ }7 a+ N+ }4 y
        ((CUser*)this)->CheckHonorStat();. S( ^/ N& T. Z- H# K. ?
        ((CUser*)this)->AddHonorListAck();4 T& p+ g( \: c7 p
        g_UserMng.AddHonorTitleChange( this, m_nHonor);1 j1 S, W3 A; S5 f3 M) o  N/ @/ W' Z
#endif    // __HONORABLE_TITLE            // ′Tà?
# r) O7 S- x! j# Q  ]5 |" j    }- R( y* H) J6 D" E% L: f
#endif // __WORLDSERVER! v0 A# U/ K% m4 N% u
}  
" a0 V; J7 M  q1 |( G3 }& H: F; V1 V
然后你进入functextcmd.cpp并添加以下+ ^/ C  J# F* B& r# Q  z; V$ k- W

  j2 w; L' G! k4 U* i代码:
8 s7 u7 W; P4 J7 D/ F' b) }ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )
% A! M% A, L+ G- M3 j: J! U3 w下面插入) b2 Q' V/ m& p6 }. D
ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
6 v% ~) Y# d- `9 u1 j6 w* u1 h& }+ t' B! e% ~
然后你去
, L9 V- D) D2 {; W: V$ l
: Y8 l& S$ p8 w6 Q  Q! e  |: |代码:; f0 M( s% k9 c+ N$ e% k
代码
1 v. S' A% l5 N4 z; K/ wBOOL TextCmd_ClearPropose( CScanner & s )
: q" Q7 U+ `# t  f) w& y! x; P{
3 O7 d' z# l5 R4 |3 ]. D7 k#ifdef __WORLDSERVER
' a( ^; I2 n$ U    CUser* pUser    = (CUser*)s.dwValue;
) e, O6 U1 E1 B6 R    g_dpDBClient.SendClearPropose();
" E' Y9 F2 k% G) v  k5 P#endif    // __WORLDSERVER6 j% b% `4 s7 V
    return TRUE;5 u) S2 D( l" v6 D8 ]4 W1 F# a6 j
}9 b) x( I/ b. n  S7 G- [0 L
下面插入) O" Z8 [* m8 g: T
BOOL TextCmd_rebirth( CScanner& scanner ), f  T' b8 I3 ?, p% V$ m: e+ `
{4 d- G0 P! D; H3 K$ @
#ifdef __WORLDSERVER+ \. P6 V* G. x( q: E: j9 d
CUser *pUser;+ Z9 N! n; `# [. ?
pUser = (CUser*)scanner.dwValue;
( l/ ^2 s1 H, I: C( W+ Bif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())
/ _% F' e* |$ H6 R1 y6 I) i; GpUser->InitLevelPumbaaa( pUser->m_nJob-16,60);0 u- a$ |, x: @4 p3 }4 U
else
2 \, S( M, Z" x* d8 q. c0 kpUser->AddText("你还未达到重生条件!");3 C- Z$ w3 l, `1 k, b
#endif* [% x" D; i' ]) ^; k
return TRUE;. L5 s! b2 n# J1 ^* M
}  ' \; s# O9 b. m- w
# j, f0 }5 m7 C$ h6 u
" B# O9 G8 K. k: \2 _3 S

0 U- B5 O, ^* R7 P2 V8 a* V# l* \2 p4 ]! {( j1 K' `) }





欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) Powered by Discuz! X3.2