飞飞世界论坛

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

通过命令重生

[复制链接]

197

主题

203

帖子

1086

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1086
QQ
跳转到指定楼层
楼主
发表于 2016-1-10 03:42:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
至于V15和源文件发布重生不再使用通过HP它不再去我会告诉你如何可以通过与它聊天源befehel
1 d' h; x. Q  f. G9 j3 O1 |* y3 M) z
Mover.h
+ [8 l$ |4 R. i5 x) A代码:
& o( d" f: ]/ n4 `0 T6 C# E找到: void            InitLevel( int nJob, LONG nLevel, BOOL bGamma = TRUE );            // °′???| nLevel·? 1ù2?áü* v1 V. B0 E" @4 k* a7 \  Z
' s7 E! U" M' O! s
下面插入: void            InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma = TRUE ) ;  
7 T& a) n" |1 m- r4 q
! H! k+ h  N3 b+ N6 |; f% V6 O然后你去mover.cpp添加
* R  t" z/ q; B( Z- _5 c' w, G$ g3 V, r, z3 ]" w
代码:
3 }% j2 _; P  t$ _% s1 P! avoid CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
/ y; g, h0 A4 Z8 W2 l{3 r9 R1 j8 u3 b4 V
#ifdef __WORLDSERVER! R+ e8 G4 b" O8 t$ C  c# @; z' P
    // ???μàú ?í·éà?·? ·1o§?÷ ??′?°÷àó
9 @, S; B+ b: ?$ k/ v% P7 M    MoverProp* pProp = GetProp();& F0 U  J& U4 r0 h
    if( pProp )
( l5 [6 c: J+ w9 ?+ `# X# Y" L    {: z# i, g/ u. `6 E3 R; Z% E, t
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
. Z7 q4 ]- _5 q, p. m        {
+ f1 |$ g! D* o2 J7 x1 w3 k5 I" V            AddChangeJob( nJob );
* d! k' R4 o, Q0 H& `0 [' Y        }else{: C9 V: e9 h3 o- S
            return;
& A* [# @. @- R" h( _! ?        }
* K/ C* U6 ~1 f        int nPoint = 0;% B, d8 \6 p* T( j, i: U
        if( m_nJob == JOB_MERCENARY )2 O. i3 b2 R" A2 Z- d% V% P
            nPoint += 40;
: B" ^- u& j3 ]( Z        else if( m_nJob == JOB_ACROBAT )' q2 z# R+ u1 }
            nPoint += 50;* v( a/ y0 m$ Q  f" A
        else if( m_nJob == JOB_ASSIST )
2 O3 ]* S$ F' V# @, a2 y# t! D: v            nPoint += 60;
" w1 Q+ h, c6 _' }$ [/ T        else if( m_nJob == JOB_MAGICIAN )
- s6 T4 n& p) K+ [            nPoint += 90;
: g+ y- n3 j( h) h        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )9 T' {1 B, F& _8 t
            nPoint += 120;, f! G4 ?" n3 {% P) J; x
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
/ [/ X" o4 [* Y5 I8 N            nPoint += 150;; X. u4 ?7 Y1 b" h/ ]0 T' \) y
        else if( m_nJob ==  JOB_RINGMASTER )9 r  B. Y8 w+ l# e. y; ^* t
            nPoint += 160;$ V# q, f  @5 T8 u9 a/ E, H: W
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
& W% X' @9 r8 R1 e            nPoint += 180;
6 a" i4 r! k5 r+ k        else if( m_nJob ==  JOB_ELEMENTOR )3 T; C0 a: X! l6 p4 _; K
            nPoint += 390;" `- u8 N+ e) e2 Z3 s* o8 ^
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
6 t8 s8 o) o* m, u; e6 q( Z5 X3 Z' O            nPoint += 120;) p  ~4 }4 H3 \1 R2 t8 H3 i! j. X1 M) `
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )3 M' y4 S% h: b  l( ]2 ]
            nPoint += 150;/ A$ B; W4 \: [
        else if( nJob ==  JOB_FLORIST_HERO )5 N, y( P6 ^1 a
            nPoint += 160;
9 A! Z) U  o) N; r  Q+ l; i        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
  w. N1 Z- |; v            nPoint += 180;
3 ~) n3 o5 f7 `% `, u5 M        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
! X+ @" e8 a9 B' U1 j. {; L* c" G            nPoint += 390;+ h+ n' ?# H% m2 u/ C

4 k- f0 _8 Q+ i0 S        AddSkillPoint( nPoint );' b4 C6 ]& I6 k, O5 q# b% W
        m_nLevel = nLevel;9 k4 X/ A2 d7 s8 N

' g1 p* M0 T" L) Z* x1 W3 W        SetJobLevel( nLevel, nJob );- o- ?. ~5 K& z' `
        m_nDeathLevel = nLevel;# P( s  F2 l' }( ?
#if __VER >= 10 // __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans. ?! G8 G6 v: V8 U$ `: D
        if(IsMaster())" m3 j- N4 p1 i% V, t
        {
% Z/ r1 x+ Z" I6 T            int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
( A' r" x& m" l3 R            if( nLevel > 59 && nLevel < 72 )
8 m' m3 i/ ]2 G% K                dwTmpSkLevel = 1;0 }) p8 @  ^$ @- Q
            else if( nLevel > 71 && nLevel < 84 )5 S; c  E7 j6 J: E
                dwTmpSkLevel = 2;
6 |' P: D2 r4 V' I3 w            else if( nLevel > 83 && nLevel < 96 )% v* Q2 K) R  F; q: H) e' U
                dwTmpSkLevel = 3;! k$ `3 D; n7 I6 l  y
            else if( nLevel > 95 && nLevel < 108 )9 g$ d+ ]  C& @: V% V2 R
                dwTmpSkLevel = 4;  d* h0 `% z3 z/ _1 a* T* e2 J3 C
            else if( nLevel > 107 && nLevel < 120 )
# v" K& k; U- R4 L                dwTmpSkLevel = 5;
, r' S& \, I2 G( y, d- Q/ D            for( int i = 0; i < MAX_SKILL_JOB; i++ )
3 [" I/ t$ O8 F& X- r            {               
( G/ d- D8 b& p2 r& A, N                LPSKILL lpSkill = &(m_aJobSkill);; l% f8 k$ s) J: j) ^
                if( lpSkill && lpSkill->dwSkill != NULL_ID ). R2 A/ ~/ Y3 G; Z. z# C% }- m
                {
! D2 B  l4 i/ b/ M( U( u                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            4 R, x" w' d5 Q0 k6 v2 ]
                    if( pSkillProp == NULL )
# D1 z& I/ }9 m$ d5 e- f4 Z                        continue;
' y7 L; |2 V: D                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)/ _1 D" t; Y" r! J  \( d
                        continue;5 y  Q. F. f3 g
                    lpSkill->dwLevel = dwTmpSkLevel;; n& ^! T0 g/ j# x3 _! B# j! `
                }
3 H- s* t- j+ P            }7 j9 K# B+ z4 H0 `3 G' N' [; K  F' `
        }
/ C- d! E" \7 f7 M/ O8 N        else if(IsHero())( d6 f! O" O1 z
        {2 a' r/ a5 _2 a
            for( int i = 0; i < MAX_SKILL_JOB; i++ ) : o$ y, l9 h" |1 [
            {               
1 g4 t/ w8 ?) s/ a                LPSKILL lpSkill = &(m_aJobSkill);2 B& I! Y  m; l9 R0 V
                if( lpSkill && lpSkill->dwSkill != NULL_ID )  G. g0 P& `! f
                {+ N3 B' H# ^4 ~
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            : @. \" ?  g3 F% F( ^! R) C
                    if( pSkillProp == NULL )0 N5 D3 O1 `, R: A( L7 Q% W% V" M
                        continue;* D! C+ U3 o& d6 i, Q+ D
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)0 r8 g, S: P# N% P6 l& `  H7 X1 E7 N
                        continue;
: s' L* G  f7 v$ |8 P                    lpSkill->dwLevel = 5;! [+ p, ~. w; P. e
                }
- g- ~. o$ Z8 L* }. P4 w            }6 }# |! T: i1 j8 ]9 l8 t
        }
8 L) y; t) K4 M4 b7 l) o        else if(IsLegendHero()): T" a/ R3 m. _& g3 ]
        {
$ F* P" a3 o% L: g: |8 R8 b            for( int i = 0; i < MAX_SKILL_JOB; i++ )
5 i9 B0 S# J( ~            {                : M' X) P8 q6 i+ E! |
                LPSKILL lpSkill = &(m_aJobSkill);! ]) o8 Q) k6 P" s
                if( lpSkill && lpSkill->dwSkill != NULL_ID )3 B* |% p8 y6 O& w& E: Z
                {5 }  [3 t$ ~  k4 L
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            4 d2 t; T; q4 F: m$ r( P& R2 ~" e9 h
                    if( pSkillProp == NULL )" `; l8 o8 J8 V9 m; ]
                        continue;7 a- ~4 h4 U6 R* Q) l
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
4 k& J( @' g6 w# j- B  k                        continue;! a* Y. f/ ^1 J0 F! m$ L# f
                    lpSkill->dwLevel = 5;; E" N8 m8 k* H0 U8 K! R
                }
% h% k) K) @8 N* A& L: ?, r            }
" @2 E( a, t3 x* W6 M4 c        }
8 H- [' B- v( ^. Z7 l, b#endif    //     __LEGEND    //    10?÷ àü?????o??    Neuz, World, Trans3 b& A- A* P* n9 A4 {- ?4 q. L: a
        if( bGamma )
$ ?( \- H/ Y9 p0 J3 \4 b( F7 A        {/ F) z4 o, Y0 u
            m_nExp1 = 0;; P7 g7 }# |  g
        }
! `- l" ]3 l. C* r& g+ @, d8 E4 a; {5 S* S
        ( (CUser*)this )->AddSetChangeJob( nJob );& G# L; F( e  F0 y
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
3 H' T* N$ }: j" C1 T: B* \% n' T. x& Z" c

. [& a4 p: U: b7 o- o" O#if __VER >= 11 // __SYS_PLAYER_DATA
& N& K) D- U; m8 @' {. t& U        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );, C: e2 Y% d. \- R" l& Z' G% p2 Q
#else    // __SYS_PLAYER_DATA
. T' b, \" M% k, m        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
3 x3 k7 S1 h6 Z. J6 V8 }. g) S        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
& [/ H' K8 X/ z  E        if( m_idGuild != 0 )
/ k) e- A9 m/ W+ R            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );0 g7 V1 M3 r8 |' C8 `
#endif    // __SYS_PLAYER_DATA" {2 z1 Q# D7 r- y1 S2 r  W
        SetHitPoint( GetMaxHitPoint() );
3 m+ ?( ~' i! }1 Y        SetManaPoint( GetMaxManaPoint() );
' J2 h' R/ `# i        SetFatiguePoint( GetMaxFatiguePoint() );
$ A; q  l" N* y8 j, A, I1 s        if( nJob >= 1 && nJob <= 4 )
3 |3 _, I( [- A  _% U        {' P0 ]* C0 \% F
            m_nStr = m_nSta = m_nDex = m_nInt = 15;: X. ?4 Z" ^8 T4 [* x
            m_nRemainGP = 28;% ?. B0 m( f4 i: l
        }' X! |8 O7 Z( H' H* E; S/ e
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )# r: @2 g" _7 b6 f- E( e/ \  ^
        {2 v$ E6 ^8 |' p3 y! Y
            m_nRemainGP = 118;! i  Y! y9 M3 U: i2 s
            //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
# }  ?; J3 i+ c& A            m_nStr = m_nSta = m_nDex = m_nInt = 15;
7 `/ D  d( _8 m. @$ l" ]' A        }
8 s/ G3 \& h! E( Y1 a        if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO )  A4 P; [. K1 M9 N" O! ^% Q
        {3 O0 x: ^) U! F2 `  z/ a
            CItemElem itemelem;
$ `. R# M* I  @            itemelem.m_nItemNum = 1;
5 d8 Y8 |) b& d( T5 o$ K            itemelem.m_bCharged = TRUE;
( Y, e, ?2 C% X- w; C5 e# a            BYTE nID;
% T" o3 B, X' y. x: }3 M% {
) p1 l6 k, G! h9 {, g% U            if( nJob == JOB_MENTALIST_HERO )8 H$ Q' q4 S6 m
                itemelem.m_dwItemId = II_WEA_BOOK_BOKROMAIN;
. {, d0 O- O+ a- S4 O" k            if( nJob == JOB_FORCEMASTER_HERO )
" |* l0 R& B# `5 C$ c2 R2 j$ ?                itemelem.m_dwItemId = II_ARM_ARM_SHI_ZEMBATO;4 ?3 Q2 s0 p* }' b1 O6 z; s

3 x8 C# Z0 \+ j# M, ^" Z# z            ( ( CUser*)this)->CreateItem( &itemelem, &nID );$ Q9 T/ a5 `0 j' b1 |9 M9 M
        }, `9 F$ p! R# Z! v
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
9 \0 B0 p3 A5 ]8 a& @, d. @) C        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );3 G) b- B1 v, `/ j4 d( B; W* `4 u
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );3 U3 r6 j- {4 a3 r
        /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );" M* E0 E- }5 [! r# o" w7 Z
        ( (CUser*)this )->AddTaskBar();*/
+ d% |$ v+ a* ?6 }        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
  d: F; u- @1 l7 W+ C2 Z#if __VER >= 13 // __HONORABLE_TITLE            // ′Tà?- y/ Q$ a% v9 X  C- A+ @
        ((CUser*)this)->CheckHonorStat();# q% r/ _4 J" x0 p+ V
        ((CUser*)this)->AddHonorListAck();
' j1 g/ U1 ?/ g5 L! A7 {        g_UserMng.AddHonorTitleChange( this, m_nHonor);
, g3 ]# e6 q. y( \#endif    // __HONORABLE_TITLE            // ′Tà?
& z' U/ U+ G0 a6 p$ p1 W) n    }
2 @4 v! C& g8 h# N0 L8 M#endif // __WORLDSERVER
4 R5 c- V- y" K1 s9 x0 o/ G}  - R& _+ D( n/ Z5 r- L

# A( }8 s" A% x: k% h然后你进入functextcmd.cpp并添加以下
% c: f/ A0 Y' r: @* }+ s- ]$ x. q" T- d5 @6 T2 f
代码:1 G& L! q2 p+ k4 k4 L& a3 U
ON_TEXTCMDFUNC( TextCmd_say,                   "say",               "say",            "??",             "??",      TCM_SERVER, AUTH_GENERAL      , "?ó?èàó [/?í·é ??àìμe 3???]" )" l% V1 Y  A& H, n4 F! `
下面插入
9 a; m, P+ Q) |ON_TEXTCMDFUNC( TextCmd_rebirth,              "rebirth",          "rebirth",             "?ú·1?÷??",       "?ú·1",    TCM_SERVER, AUTH_GENERAL   , "?ú·1?÷??" )  
% Q1 Q: v4 g3 R0 F3 b, J+ ^! `; \( O% p
然后你去
- Z, v9 U0 D4 M. M  F
2 z1 u* H8 x+ E  b& t代码:8 K5 i' e- N+ @4 |
代码7 y8 r- }& P7 J% b+ o- F
BOOL TextCmd_ClearPropose( CScanner & s )0 n6 G5 T+ w% J$ _
{
; w* O/ Q1 W: G0 J6 p; F#ifdef __WORLDSERVER% _$ b* ]8 h! [0 j* _7 V3 `0 d7 N
    CUser* pUser    = (CUser*)s.dwValue;
/ u2 G% y% ~/ y    g_dpDBClient.SendClearPropose();$ t* V' ]: |- J; n% K& O6 u5 ]
#endif    // __WORLDSERVER
/ \9 B/ c* N: `  q7 Y    return TRUE;
0 B( e+ [1 r# N* X7 d0 l/ Z, e! m6 z}5 t: E( J" M: p; k# C& z: ^; y2 g
下面插入
( }% y1 ^5 o7 w4 B$ I5 eBOOL TextCmd_rebirth( CScanner& scanner )) N" m( P/ d/ M( G
{
# d( f; r: T- T5 c* P8 `" R" t#ifdef __WORLDSERVER
$ |+ I, Z- f5 |! k' L, e' Z; V0 `CUser *pUser;5 f9 [, Y) K2 s  J% _
pUser = (CUser*)scanner.dwValue;
; v0 Z) C1 D, U2 oif(pUser->m_nLevel >= 150 && pUser->IsLegendHero())5 P  g* r. ~& ]' k, K/ o+ l" {
pUser->InitLevelPumbaaa( pUser->m_nJob-16,60);
2 I; G# a8 X4 ?  \% U/ relse
. s0 ~0 @7 f+ p- Z( rpUser->AddText("你还未达到重生条件!");7 Q8 n  o% ]: v( L( J, W. R; P* h  m
#endif* d! X" A' T3 g) @
return TRUE;
8 ~' Y: A2 `9 f& a" B9 q}  + {( h7 s" N2 |9 A9 w6 D

/ i  a" M  ?1 a2 S  ]
) Y: G1 o/ m  ]1 V7 D8 f$ }6 J+ L, A7 x0 D
1 f% E6 n& k! E
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-9 16:17 , Processed in 0.060495 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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