飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1094

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1094
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel8 I/ k* Q0 z9 L/ F) U' j

; y8 D# b- U7 e" hMover.h
$ q% C  }/ y! ]' e  u' F( v' w7 F1 |/ G代码:
$ s; B7 b* I3 e* X8 J- Z找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü& D; U8 T! o  ~8 {* P* U

, f& u- ~% m" s8 Q" M. F: ]下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  6 p" F& D! o9 D1 @2 n
0 z# @- s  F/ B9 p2 a; o5 U6 }
然后你去mover.cpp添加% z* _& B4 x. Q, V
4 c% l, L' c  C) a+ n7 [
代码:
5 E7 f: J8 `8 X8 `( p+ j8 Qvoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
0 T6 ^8 M3 _3 U0 S{
; r# t4 S# S# ?' }, M#ifdef __WORLDSERVER7 Z. K+ M$ g, \: R9 ^
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
! s  m) s  i) R# D- D$ q    MoverProp* pProp = GetProp();
5 `. o' z8 u* B1 I' V2 R    if( pProp )
% s2 D& K/ T' i6 A0 f    {
( O; T' s' i6 Q$ S        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
! A2 J( l& O4 w- M+ [: ~" [        {; h; ]' ]8 H) M, m
            AddChangeJob( nJob );: S! Z$ K1 q: [, `, ]5 `. X% T7 B
        }else{
, m+ [2 ~: R. l& y8 ~9 E            return;& R0 M' w; I' ]1 B
        }
& }. k% a+ B3 `: A        int nPoint = 0;2 V( e1 m) Y) \+ C2 q1 `
        if( m_nJob == JOB_MERCENARY )
: ~/ k/ \. R. N+ \9 g: [& o$ d            nPoint += 40;
: X" H3 n% Y7 n( Z4 D6 e        else if( m_nJob == JOB_ACROBAT )& M! q& |6 Q5 [2 ~& b& v
            nPoint += 50;( K) j; m+ v3 u9 O4 x4 K
        else if( m_nJob == JOB_ASSIST )
5 y4 I5 A* p) G' ~            nPoint += 60;
! s- a- m- C: L0 \1 [) `        else if( m_nJob == JOB_MAGICIAN )
) @' Y+ k. e: n            nPoint += 90;
$ ]8 Q! N. h& ?9 g9 I, K! g        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )" N7 }9 B* q# W
            nPoint += 120;
0 W- X: I/ s( ]+ M5 `( g/ j: ^        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
* V1 O. \1 J- ?  e2 B: \            nPoint += 150;
) S  ?. b) G; d; j  M/ {6 e+ |        else if( m_nJob ==  JOB_RINGMASTER )* f, \! o; A* F/ G6 l
            nPoint += 160;
1 P% z0 L5 l3 J. X- `0 C2 k$ D        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )1 a1 v( ?0 ^# L9 C
            nPoint += 180;9 H) t- a! C" ?9 J" R% A
        else if( m_nJob ==  JOB_ELEMENTOR )
0 `0 V1 A1 z' k, r6 E  n            nPoint += 390;/ J. `6 m. H9 O: l! I" W: v) C1 K
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
9 Z6 _' F. V4 `% e            nPoint += 120;$ m: C- M5 [* f. j
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )5 a; V$ E! F: g3 m
            nPoint += 150;
9 d% }. C) W/ S( Z6 T! g        else if( nJob ==  JOB_FLORIST_HERO )
' `3 N8 D1 Y! m7 w            nPoint += 160;
1 e" d! T9 l; z& y( z9 n        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )) k9 U4 ]: L+ J! k8 u
            nPoint += 180;
4 a( y8 i: L' {& x6 X- y        else if( nJob ==  JOB_ELEMENTORLORD_HERO )- a3 [* m9 c2 a3 [3 W! w3 h& i5 f
            nPoint += 390;
: t7 ~& x" @, x
$ q# R) M2 @3 b0 R  l        AddSkillPoint( nPoint );
$ b# }6 `( U- }7 n: |6 e        m_nLevel = nLevel;
0 k) }/ s0 ^- Y4 Q% x) U2 |: t& }& j2 V9 F- F) `3 }
        SetJobLevel( nLevel, nJob );
; z  D; {$ s( u. L* n        m_nDeathLevel = nLevel;1 e2 j0 L6 Q0 M. B
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
% I) g; j- N/ w. D) {! L0 ~; Y        if(IsMaster())' J8 f. N8 K) b# U% v8 j9 m
        {# ]* M( D  A- [) [4 w
            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108( P% z, G) Z* j
            if( nLevel > 59 && nLevel < 72 )
, G: S2 Y0 _' X, b                dwTmpSkLevel = 1;
0 e; s- n# w) C3 Q% C6 T            else if( nLevel > 71 && nLevel < 84 )
0 x# }9 P7 x* x1 z' O% X                dwTmpSkLevel = 2;
8 M8 O! V# E! D- z9 b1 B% k            else if( nLevel > 83 && nLevel < 96 )/ o% i+ W5 M! B! x
                dwTmpSkLevel = 3;# V. N- i0 ~' B2 t4 \
            else if( nLevel > 95 && nLevel < 108 )
% ~; j) Y* X+ R0 g                dwTmpSkLevel = 4;! D" Z7 j6 @' l" W  |1 {
            else if( nLevel > 107 && nLevel < 120 )
3 e: N3 E6 A6 Q/ \; B                dwTmpSkLevel = 5;3 Y# I4 B) a0 Q( o9 c
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 5 y" l. k1 f9 W. n$ w. u$ B2 _
            {               
, @0 {! n) }0 {1 o0 ]  I                LPSKILL lpSkill = &(m_aJobSkill);; o# l3 @6 T8 O& r
                if( lpSkill && lpSkill->dwSkill != NULL_ID )7 P. H( Y9 i/ |5 ^1 g
                {2 L  A5 s* s/ ~" T$ H. |
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
) i7 ?. w8 K  P% A& \                    if( pSkillProp == NULL )
, _' H! J8 j( q. N                        continue;; `& n  D+ N' I) _$ ^+ k
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)9 X: N: a6 {% l4 b" @' Y3 k  X
                        continue;
: C+ a0 D5 l) z1 P5 z( b+ H2 C9 m                    lpSkill->dwLevel = dwTmpSkLevel;
. A2 @( f' ^0 \8 X% ]5 J( z, Y5 P                }
! }; U9 R+ j6 ^            }
! d- ]( [; z6 N& i        }
% h2 O  W( t7 d$ m6 [        else if(IsHero())
; x& c! z8 _, O8 M" f        {
# ~9 m& a, {) V" i* O            for( int i = 0; i < MAX_SKILL_JOB; i++ ) ) ]5 t8 K9 U, `' {5 i
            {               
: f1 F. {8 Y. s( @9 i- p* m                LPSKILL lpSkill = &(m_aJobSkill);( s2 @- K) T3 A- u$ \
                if( lpSkill && lpSkill->dwSkill != NULL_ID )0 q8 o. x0 _( y1 N6 A
                {* @/ i4 [! e! W" u: ^1 V
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            / Z* C! l  Q+ R3 Y
                    if( pSkillProp == NULL )7 p4 n) y5 a) T6 o+ `8 ^6 ^
                        continue;
& G3 p: |# ~7 f  L- E, g                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
+ b9 v" N" F$ A: [7 F" }                        continue;
- _0 R4 e+ i0 N  D                    lpSkill->dwLevel = 5;& A% ]# l' g- }8 n
                }8 e7 O" \9 }* a  y7 u( c
            }* @( O, S2 C+ ^+ O
        }
2 v$ g: |4 T) N        else if(IsLegendHero())
) _8 J6 u/ P- D$ I0 R7 D: p& w        {
( Z; f, N+ Y; q. V) D% d  f            for( int i = 0; i < MAX_SKILL_JOB; i++ ) 1 w! u2 t9 n$ V+ H5 `! G( A2 ^
            {                $ x; S$ u6 `6 Y0 [* T. t
                LPSKILL lpSkill = &(m_aJobSkill);8 E" e) }4 ~) V. Z6 M- K
                if( lpSkill && lpSkill->dwSkill != NULL_ID )
. Q1 [2 w- z: W" Z, g* ^' M/ k                {
& ^  k2 ]& [3 G6 s0 f                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            5 E" U( T) h3 W& z* q  Y* s
                    if( pSkillProp == NULL )
" Q; Z3 e3 v8 y0 z                        continue;5 E4 {" e5 ^* b( k0 r5 T6 J5 D
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
* W9 t1 a  x0 J$ s1 g$ l                        continue;
/ c# z" L' c; B                    lpSkill->dwLevel = 5;% ?7 \- T( M6 U5 e- T7 c/ f9 c
                }
, U2 J: d$ H& ~7 T5 t5 |            }
. V% U6 s$ o. h, m4 F! W        }. w/ G6 R9 a8 B# U3 T
#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans
8 l+ C& D% j% r% G        if( bGamma )
# Q$ c+ |9 Y+ N# G        {# y' X) u* q5 ?0 |- @4 O3 ^
            m_nExp1 = 0;; M# i1 r! S7 w. H2 \# J
        }
; X* {$ N- N; o3 F4 y
  W( M+ y6 B/ t1 B1 P! j        ( (CUser*)this )->AddSetChangeJob( nJob );
5 ?- q6 |; [" z$ {/ h: o        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );+ F7 U1 W, [8 l( ~6 t5 }9 l" o

) x; O2 j; F6 c2 I) e0 _" u+ M4 `- G# n* f) c- }8 C
#if __VER >= 11 // __SYS_PLAYER_DATA
& f5 {: {5 X% V- }0 e        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
- b: Q7 }- \/ `6 X#else    // __SYS_PLAYER_DATA
- R2 y  N. H. R4 X        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
) D, W* d4 F! ?8 R        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
& p# J7 ?7 U4 j' i  E# f* g        if( m_idGuild != 0 )5 g4 q% S& o& C3 H! b9 ^
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
6 J& y8 j/ }( h8 Y9 X#endif    // __SYS_PLAYER_DATA
+ V9 {% @( T; i5 b. W. f        SetHitPoint( GetMaxHitPoint() );
1 r) N$ }/ i8 m: z; g        SetManaPoint( GetMaxManaPoint() );* y0 G4 B7 C7 U: a+ ^+ P" i
        SetFatiguePoint( GetMaxFatiguePoint() );4 a( g% ^4 [( j8 _) Y
        if( nJob >= 1 && nJob <= 4 )
2 T* W: l) E# H3 h( M" H        {3 V, E% E$ ^1 {* v! N; C/ ]
            m_nStr = m_nSta = m_nDex = m_nInt = 15;" v- `* j( m4 y1 R: {
            m_nRemainGP = 28;
7 h5 V; |4 M5 L+ x' W+ [        }
' z. f* p' r8 k        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
$ _: \6 ~: i( W- O9 B3 W' c        {
( g/ h* O0 [/ z; {8 e            m_nRemainGP = 118;/ A( ?; a  p% }* P! ]
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
1 P3 k# e' p/ V3 Z            m_nStr = m_nSta = m_nDex = m_nInt = 15;& }# r2 O$ B& C( h' w3 a
        }
+ I* U1 A3 {) b        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )* o* H) P( G1 c% _( A& d
        {0 x7 R% B& }. V8 f0 _: ?, `
            CItemElem itemelem;
7 H2 _' [2 U  q3 S7 {+ j4 E            itemelem.m_nItemNum = 1;
# ^' b, F* }/ a; f+ q& p9 o            itemelem.m_bCharged = TRUE;
( K- e: s5 @% c; `8 ^3 ?. g            BYTE nID;+ e) m- I; e! V/ w4 `  w$ Y

! C( F! l, k, q( [2 ?" r% O. G            if( nJob == JOB_MENTALIST_HERO )
; y& u7 \$ q& K" l0 {- \- L! w2 t" W                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;- F% X# \+ w- F7 f* r' D# t) x
            if( nJob == JOB_FORCEMASTER_HERO )
' l0 ~2 l$ S3 X* B2 B5 A                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;
) q8 I5 ^; O5 q. g0 K" n1 K1 S9 l( Z" t
            ( ( CUser*)this)->CreateItem( &itemelem, &nID );
- \0 y/ b2 b! p        }
# n. D# O6 A. q  w+ u# b& u        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
8 u5 l8 G1 D! v7 m& c        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );3 I9 P, V  y7 ]" j) @* F2 G4 V% `
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );4 O$ ?  C& ?8 [$ `' x
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );+ [/ E* X5 K, x. p- l; p
        ( (CUser*)this )->AddTaskBar();*/
1 A1 f* {1 u* H% j: P7 a        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );9 b/ ~6 h8 X9 z' ?. B; ]  @
#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?
" l  o* U/ a0 r- E        ((CUser*)this)->CheckHonorStat();
1 C* V3 ^1 q# x$ [4 M  i+ s        ((CUser*)this)->AddHonorListAck();+ s5 x1 E8 Y" e. R% q, j
        g_UserMng.AddHonorTitleChange( this, m_nHonor);6 D# k! ~4 O4 [% {
#endif    // __HONORABLE_TITLE            // ′Tà?2 i3 v; b8 E6 Z2 e" _/ V' k8 C
    }+ ^; v* t- d, q
#endif // __WORLDSERVER
, H" G% q; _4 Y# q) t* Q6 c}  " V' I1 l' B5 k- i: S

0 E- r, i$ c5 D! L0 n$ u然后你进入functextcmd.cpp并添加以下
+ p! X$ O+ q! B$ a; S
- X& D. |9 U6 ~7 J9 B/ U代码:+ o* Q. \/ r3 I, v, H  ~
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )$ O2 w1 w0 j0 [+ I2 D. H
下面插入
. _0 p+ }1 t2 [& Q+ a$ A; dON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  5 F6 {" G; B* U1 Q! D% @: I* N
# s# Z. {4 n3 \8 q' }
然后你去0 Q2 E5 m! k6 o9 i9 a. l* B- S  m
& \# P. T! M  \! \7 @; y' Y4 W
代码:. A$ H+ r( F* @8 W) C0 k
代码
; q/ p+ T8 o1 K9 i5 a7 W/ Y* I& I+ lBOOL TextCmd_ClearPropose( CScanner & s )! L% x7 v/ c  R; r. Z
{+ A! w; t! i2 ~  T6 d0 V
#ifdef __WORLDSERVER6 a: x- w5 ?) C6 v6 F6 N
    CUser* pUser    = (CUser*)s.dwValue;( z0 v8 X* W" p
    g_dpDBClient.SendClearPropose();  g: c) ]5 L& ^) v" ?+ ~
#endif    // __WORLDSERVER9 y8 ]0 m+ q( `" a2 \5 ]
    return TRUE;) H) ?2 s2 k( `' `/ M( ]- D" w  d
}
2 ], u( a) j$ U6 u下面插入
, k, R- i# o* H: X* zBOOL TextCmd_rebirth( CScanner& scanner ). y8 [( M$ {$ K( ~1 C2 u/ |' T
{
. o2 ^: g: i+ b( _( E1 i/ x8 V#ifdef __WORLDSERVER7 A: Z" q1 [- s
CUser *pUser;
6 i: j" ~1 h1 e$ d" G# N+ N+ j0 ?) ppUser = (CUser*)scanner.dwValue;  Y' ^  n: o2 G8 p7 H# f6 ]
if(pUser->m_nLevel >= 150 && pUser->IsLegendHero())$ [6 G* X  v$ @! P
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
0 [. p* c, h/ R' \else: C5 K' E/ u& O( h$ B# o+ l; V0 l
pUser->AddText("你还未达到重生条件!");
/ h4 [/ s$ L/ V3 ]1 p: o' Y#endif0 @8 n9 K: `! Q9 l
return TRUE;
" W. s! I; L# X2 r7 A}  
4 O3 \$ w% _9 W7 C2 ]* Z/ S/ T" {8 Z* k* t5 ?: P" p. M

- `5 X9 d9 q4 ]2 a' q" O3 B& u, W
8 |; L9 f, a) i" N  c* _- A  e0 Y9 S/ ]' ~: i0 l
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-31 22:03 , Processed in 0.076929 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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