飞飞世界论坛

标题: 自动饮血和登录视频 [打印本页]

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:' u7 Y. L, b: {* f7 r1 A, j# ]
尾翼:
$ A5 W8 I( p- C
# L) J' }+ Z' j+ Q5 z代码:
6 n) M9 f6 W9 e" ?! f( u& S0 }CWndAutoFood::CWndAutoFood()
/ l( f9 D, u. }. ~{
# A. z) P. }/ o( i) H& l        m_pItemElem = NULL;
; A/ F9 W+ L' \! r        m_pTexture = NULL;; B2 r4 g5 `5 X& @) Z7 x9 {
        bStart = FALSE;- B8 L: h/ _& P( _6 t" j" J
}' m* Y$ o; }/ U, `7 P$ i: x+ K

) Q2 i; @. [/ [. X1 F# G" E( D3 o% _CWndAutoFood::~CWndAutoFood()3 h4 L* V6 h% n# B. k; b- O! E
{
$ y& h9 }& e" n% h        AfxMessageBox( "AutoFood ist gestorben " );
! Q2 L) U7 h3 h: `0 A5 t9 ?}8 d; D1 I! p' C! z
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )* m0 _2 z, b4 K* w% M) ^1 v; ~
{
. [/ ^. }; O" U8 {: O  O+ A        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );3 |$ ^5 Z+ P7 r* @% V( h7 J
}" y9 x" J0 O: D
5 O5 K2 d2 v. m* S: G' H4 V( A. t
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ); w/ G& K) Q9 |" S9 r" }. o/ i; Q8 o- X
{
; X$ d/ a$ Y' ?" a        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, g0 `7 i* f! \1 @8 B' ~8 x        CRect rect = pWndCtrl->rect;
$ e' e  m5 z: _; @  H$ s: d6 `, F        if( rect && rect.PtInRect( point ) )+ A/ L5 A1 P* U! a& X, k) k/ k
        {3 c7 Y! ^# R2 }' [
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 \, t7 n8 i- z                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
1 A8 q, o) m: l  N% [4 q                {
" F* L, l; H' [! n3 g                        if( m_pItemElem )
0 ]; w8 P% }$ G4 Z9 J" H                        {3 X7 P' P' C8 A% \; ~
                                m_pItemElem = NULL;# q6 _& j0 o3 l8 @
                        }
3 {" S+ D- a$ g5 L0 [% ?+ `3 A8 N                        m_pItemElem = pItemElem;: c/ p5 k' [, u8 y4 Z2 s3 H
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );/ p( _) _- l1 M" A) {
                }else{
" ^9 \6 g9 C: \; |1 G  z                        SetForbid( TRUE );6 ~) n- q! x) F3 R
                }
5 R0 V" @1 B$ p% t9 C        }else{) i6 o1 s* t1 ]0 B1 R# [
                SetForbid( TRUE );
/ |& P% ^* @8 d5 y; y        }3 |% ], B) c* W3 I! O
        return TRUE;
9 f+ w5 e: D, g1 {}0 V# d7 `" j; s4 F, D
, ^  u7 o8 Z) x+ D. c0 g
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
# b7 D6 _0 y# P+ P{
2 @- {+ y( W. r1 G2 P; l* F* o) ]        switch( nID )  F5 s- s9 z5 A
        {8 k; a6 R+ r7 J$ L$ h
        case WIDC_BUTTON3:# G# t* j$ u5 Z7 y& s+ L1 i' ~+ F- B
                {" h/ D/ U2 e, V% q
                        bStart = TRUE;  O1 q( {5 b) X6 U  N
                        break;
# N& L- J1 T* o2 P5 M: t                }
' [  A& f  |6 v: y        case WIDC_BUTTON4:
" P7 `. a" y  `' f1 Y% G                {
, k( o# q6 a- V, w, P                        bStart = FALSE;, _8 [, l! E( z& z: e
                        break;; N3 n( X* n2 y2 }6 T
                }) S; v5 l) R1 W0 b
        }  T, y3 q, Z9 T+ \* m
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
0 A$ o9 b9 h" M) V* M6 T; |}       
# O- }3 X9 `0 z% d7 n/ E! W9 \& Jvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )% [' y" `9 ^. v) g9 D  Q
{+ _, B% E: Z1 Q1 @7 z
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );' @+ y& \" ]; j# x6 A' X
        if( bStart || !m_pItemElem )
9 {' z0 [! Q9 {9 K/ o1 F; Z- a* S        {3 I$ _: R7 }0 r0 R
                pBtn->EnableWindow( FALSE );; `. L0 ]7 T; z2 X. e% B# e
        }else1 Z; }. q. X0 ^- h5 w, Z
                pBtn->EnableWindow( TRUE );
2 A+ i5 p8 r2 {' d        if( m_pTexture )) M" a( m: i8 O& m! U
        {
0 v- f' Y# N' ~                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" m* L' S, z3 m7 P0 I+ i                if( wndCtrl && wndCtrl->rect )+ C; z3 c# a* |
                {
, U6 c" {1 v) q% _                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 `1 a. z" U& z6 k$ M  |                }
" s9 B) }' z3 I9 p) o% _1 [- ?        }8 p( G7 i- I6 w, v3 `% K9 s6 Z
}7 n2 v5 v/ d. c2 V& v
; H4 m. I. t9 }% d' p9 J
BOOL CWndAutoFood:rocess()- s/ T* Y, X; ^8 D' a
{
# N5 f+ N- W9 ^. R1 y3 S        if( bStart )
! l. ~& A) A1 ?        {/ m$ l: i6 T! X" x( S5 D
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
0 o, P- j# W4 F& x                {8 _9 m; ]  t# z! l
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
* ^* F9 a+ D! t$ I3 j3 o, S                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );% G8 ^4 b8 J. ~0 o% }- o
                }else{
9 ]% }4 A, Y4 j7 }                        bStart = FALSE;; G9 \4 Z. o% ^! Y! y
                        m_pItemElem = NULL;
) F5 @% w; ?1 m' B9 ]6 n0 b                }
/ e% }8 U, D9 f. M        }
5 G2 O7 D/ i* F7 p1 s5 y        return TRUE;
+ i5 [" H9 h3 k# Z5 L}
! `5 z; p3 O; `6 C) p
; M" ~! O$ ~3 J7 \/ O登录视频废话:
4 f. F7 r2 ^3 p7 ^+ q尾翼:* w; m  h% H/ y3 a

/ L& J% I  A  l4 P. e代码:/ w2 G. X, Y- h  R& W, f
+ t% |7 v. R; a
void CWorld::SetLight( BOOL bLight )
+ |# n. ^/ K" k  }) d/ Edurch  L; s' b( [- D: U4 m0 ?
Code:1 k/ G' J( d) P7 s
void CWorld::SetLight( BOOL bLight )
4 P& A9 _* d( n) I3 N( h' K6 [6 G{
% w( @' Z6 L  m1 O; P' h6 f: m        //ACE("SetLight %d \n", bLight);
. C. f; J2 j2 ?6 \3 T$ P0 Q, t3 Q; f       
+ c  Z/ a/ A2 K- }8 g+ O7 L#ifndef  __WORLDSERVER 5 B0 h6 K1 M& [. q6 c$ @
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: Y4 w: B" s; s7 e6 C  `9 S! L        CLight* pLight = NULL;
) n2 u1 c! J: l0 Q& E/ C) ^  c6 P! W$ i4 q
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );6 [$ h( t7 V6 H2 b2 f% i) G
; @5 b. q% s( K  J2 i0 @0 Y
        pLight = GetLight( "direction" );
6 I' z; V- a4 [) P1 N8 h: x7 ?" f! k# K; s$ w
#if __VER >= 15 // __BS_CHANGING_ENVIR
. E) z; j: I, k. i5 h# \        if( g_pPlayer ){4 X" }" {4 R) J1 D5 D+ q
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );% Z7 g! j6 G/ }: O
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ J: P% y5 g6 z4 @4 Q) N, L* L                {
& k! T5 r) x) P                        if( pLight )
. r8 Y; H7 O0 x3 l2 E8 n7 A2 s                        {
' Z( N' Y" L, m& y) b* U6 E                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
+ b, B# Z: e9 k: T0 Y$ ~0 w! @                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];$ _9 U" L& o5 v( F$ r# a
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];6 R# J3 h1 p8 M

, J, {4 }( O& k% Z, h) `, c                                pLight->Specular.r = 2.0f;4 ?% b2 L1 S; p4 U
                                pLight->Specular.g = 2.0f;& u! Y0 Z0 W, @6 ?- v
                                pLight->Specular.b = 2.0f;, _5 h. I; }: F( R" n
       
* a; Z+ K* G4 e+ D: |) }                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];. E& b: {! {! f" Z' N: l
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];( `- k/ P, L$ |4 O$ W
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- h9 O7 E2 J& @        % z/ q! k. f9 h* s
                                HookUpdateLight( pLight ); . T* g% C. z4 Y# X3 x

/ w0 U$ P/ h, j2 M                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% {/ I. D6 d8 X; V9 A               
& n& |6 N9 |& @0 L$ Q) [5 c) V" v9 h1 p                                pLight->Diffuse.r *= 1.2f;
2 A: D5 ?$ {& c: K/ @                                pLight->Diffuse.g *= 1.2f;" W/ b, M! @; b
                                pLight->Diffuse.b *= 1.2f;
) r7 M6 m/ j) A- U* @
+ ]' S( B+ w- ?5 E. D  e                                pLight->Ambient.r *= 0.8f;
0 f( I  i( [+ S+ ?1 c" i) @: g                                pLight->Ambient.g *= 0.8f;5 b8 @, S$ C: ]. Z: L0 Q* G
                                pLight->Ambient.b *= 0.8f;' [; a6 {5 n$ J/ b
        8 h2 Z5 d8 {5 B* B7 g
                                memcpy( &m_light, pLight, sizeof( m_light ) );# J- ], l+ R$ ?3 `( ~9 }

/ C( b4 s' G( S. }8 X4 {/ Z                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);' m/ d# T, q. w! e
                                D3DXVec3Normalize(&(vecSun),&(vecSun));5 y, H: M: t, Q' f+ d9 l/ G
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); # P. p4 i3 V! [/ ?: J: O2 I
                                pLight->Appear( m_pd3dDevice, TRUE );" N- C2 _/ G+ }) G
                & n  Q* F" U: m# Q& d
                                DWORD dwR, dwG, dwB;; ^7 ]6 a7 J& i* V, Z
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
1 B2 z0 n0 U. D7 S6 P, m2 d, ~; F                                dwG = (DWORD)( pLight->Ambient.g * 255 );
' y  E6 _7 y+ R1 a) {                                dwB = (DWORD)( pLight->Ambient.b * 255 );8 e& P6 A. Y) H. B5 t  @( |" |
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( }6 i" v' F  A1 {" F                        }
6 I8 O' S# L4 u                }" D. q1 ]$ A4 F, ~) i( ~; w' i
        }0 l2 q, S) B6 @
        else
/ g8 I, V  n! V# ^#endif
: x+ F9 n: b& a+ A
. N! ?! a1 H4 e( O  [# H+ M        if( m_bIsIndoor )
% c* A' O- [( `# _, T  y0 X+ Q        {
# Q/ {; k, S9 @( k; G5 f) \. `                if( pLight ): \* E/ |8 W" A! Y- t& s9 Z( R
                {                6 i0 e% p; Q, C; E. x
                        // à??μ oˉè* 7 U- y; s% l# f- h9 y
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
# a4 C  F4 |- P5 ?0 B4 e! d                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;3 d2 ]; k2 M; l% j
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
! h; n- N$ _0 l7 Q4 F5 j. ^- X
1 V/ ~  S( R) w% x                        // oˉè* ??à?
! X: ?( X1 q0 C/ W7 I& e" r1 Z' D                        pLight->Specular.r = 1.0f;
, G/ d; {8 z' o/ c( f- U$ x7 n                        pLight->Specular.g = 1.0f;
" A/ G; U/ J1 v- t+ w5 b7 @9 N! z( c                        pLight->Specular.b = 1.0f;! t6 |; G" ^# {, t1 u
                        // àü?? oˉè*
# T& @6 M* K. |                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;; ]! l9 z- ^$ N* u. u$ P
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;! N8 J5 D9 E5 n; {7 K* Q8 T
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
/ u9 e; X& o! |, h! ]2 Z5 `5 ^( U! ]7 X* e2 B
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.* Q8 M7 k1 m; I2 c$ @
                        {
$ |! V- ^9 G$ C% `! R                                pLight->Diffuse.r *= 0.6f;
6 V" d* |0 j  n& }' ~                                pLight->Diffuse.g *= 0.6f;0 s7 p7 O- w+ q" j7 z* s) N
                                pLight->Diffuse.b *= 0.6f;
# h2 m. ?* x. G                                pLight->Ambient.r *= 0.7f;
! I; |8 p- c* L6 g2 {) b' `                                pLight->Ambient.g *= 0.7f;
# V' F1 O' D+ Y* G2 X7 q) F                                pLight->Ambient.b *= 0.7f;
* K% y6 s& b. m# K) \6 `4 A" k                        }
* [! y% v- o* |4 H1 D* k
! _$ W. @, j! F# `, ?% Q#if __VER >= 15 // __BS_CHANGING_ENVIR
, H( \, K! Q) U5 Z2 n                        if( g_pPlayer )
5 @$ `$ m$ V* g. c3 h3 ]( G                                HookUpdateLight( pLight );; M) J1 m" O$ l! h; |
#endif
3 S7 G) c3 C$ m* ]7 M9 R                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* t- u5 P+ d) z  X' T! M. ]! T. y3 @9 A2 S; n8 \
                        pLight->Diffuse.r  += 0.1f;
4 M9 `% Z% |  V  z                        pLight->Diffuse.g  += 0.1f;4 x  V$ q9 o1 v+ b
                        pLight->Diffuse.b  += 0.1f;
& U- X& c" r) x6 e% G                        // oˉè* ??à? * J3 g' D& J; X. n0 I# i8 T5 Z
                        pLight->Specular.r = 2.0f;
4 f  C# K8 Q& W) \% @                        pLight->Specular.g = 2.0f;( Z. Q* ~. c8 a- W0 E
                        pLight->Specular.b = 2.0f;6 T- Z1 {% s0 Z; t
                        // á?oˉ 6 L* `0 N  M: m$ z1 D1 @
                        pLight->Ambient.r  *= 0.9f;
0 e" _6 k9 p( n* _( t5 h                        pLight->Ambient.g  *= 0.9f;
+ P9 a( g! c; P1 d                        pLight->Ambient.b  *= 0.9f;
, E. |. c3 I. o; t! h2 H; X8 F: M5 u- H9 a$ b* M( K5 f& w
                        memcpy( &m_light, pLight, sizeof( m_light ) );
. J# \( B" `6 n* }3 V9 F; U                        7 G: C! c* u% A4 s$ m! f
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );, J  S# T+ G" K% V; t* Z* ?0 M
                        pLight->Appear( m_pd3dDevice, TRUE );0 r' n( ~3 X; [$ {$ H' _' A
        * H( e+ b" R- v/ D" s0 I6 \
                        DWORD dwR, dwG, dwB;$ J' s3 {% _: D& b
                        dwR = (DWORD)( pLight->Ambient.r * 255 );# u- a( w$ u! {1 W5 k2 g
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
/ h. Z( b7 |/ F1 z                        dwB = (DWORD)( pLight->Ambient.b * 255 );  r; j, j" i, Z0 R. }) P- N
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 b% b% `8 o1 x+ ], `$ l$ K( A! Z                }) j! K' N2 m$ E+ m
        }
9 ^7 |4 @. R' ~, b* v/ w8 i% T        else
( Z: p8 J$ F  ]( I        {
  V; K! s% ]) g. Z$ J# W" `0 R& p                if( pLight )/ Q/ k4 [% x6 W: J4 w; w* z, w
                {- v2 S  z2 U" M! i
               
+ P9 \6 T; R" [3 P0 B                        int nHour = 8, nMin = 0;
# C; n; D* T$ G& u4 o        #ifdef __CLIENT2 l  F0 Q. i- N) Q- f* Q6 w6 @* Z
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ M8 U. R% h5 m  _* p2 y; ?; D                        nHour = g_GameTimer.m_nHour;- f) v0 d$ t1 D+ X8 e% [; ~0 w
                        nMin  = g_GameTimer.m_nMin ;
* u9 M, A" y+ s0 T        #else
) Y% g$ c! f6 t" n                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.1 {! [, z* D0 U) \% M
                        if( m_nLightType == 1 )
2 g& d- H( R( {                                nHour = m_nLightHour;0 d- {* {7 Z# j
        #endif/ Y4 p6 ^1 e: o# g& S9 i
                        nHour--;* f* r( T1 S4 J6 [7 ?: a/ q
                        if( nHour < 0 ) nHour = 0;- K! C2 Q$ ]1 Y9 o% o6 H
                        if( nHour > 23 ) nHour = 23;( l. c7 e. j" [* X( K7 C
- E+ N; A7 e$ V
                        //if( m_bFixedHour )6 z4 _- ?% {7 _$ t
                        //        nHour = m_nFixedHour, nMin = 0;3 e2 W" Z# D; ]' S7 o9 c/ \
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ k4 j. x( L! M                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) Y$ h& J% |' p8 j. H+ p5 g0 B% ]2 a" _- U) Y1 L
                        //m_lightColor = lightColorPrv;
, {1 J9 d7 ^& B4 T                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;4 u0 M' z) F. h- Y# _7 h2 g
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;$ r% p/ B" Z/ f* {
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
" x7 l' V; ]; l, @- p9 P; b                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, ?, v$ _3 q; j& `                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;2 W3 @; Z7 H9 J8 o
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
- m# ?" \2 `' O( L3 M0 |& E                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; e$ ]: @, ]& @- Z0 x5 ]
3 l& B% C; q. H, o# b/ m) i# x" U                        // à??μ oˉè*
- ^9 s8 L9 r0 L" r( J0 M) F* j) [                        pLight->Diffuse.r  = lightColorPrv.r1;
0 t/ ?( l' X' W% s1 `) }/ K- w0 k                        pLight->Diffuse.g  = lightColorPrv.g1;
  N+ y7 U( R& b/ x                        pLight->Diffuse.b  = lightColorPrv.b1;
/ y0 G$ I. e2 D7 ~7 O1 L! ]                        // oˉè* ??à?
/ ]+ l( R- ^3 P  S: F3 X4 t4 N: [: n                        pLight->Specular.r = 1.0f;4 Q& z9 z; s& Y) [+ v
                        pLight->Specular.g = 1.0f;
9 b' T& ^  q/ R  t+ ?                        pLight->Specular.b = 1.0f;
+ D& b5 k8 T4 G4 y                        // àü?? oˉè*
) ^( w* T& t6 O0 }* c                        pLight->Ambient.r  = lightColorPrv.r2;3 B2 v1 r' s4 i0 g! l/ ]
                        pLight->Ambient.g  = lightColorPrv.g2;9 o$ @& e1 n, i" X7 D
                        pLight->Ambient.b  = lightColorPrv.b2;: o5 L/ w0 r4 V
+ E' n7 l: `3 v1 r; t
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- r( M. k/ d% ]$ e                        {
& w( K' `8 k5 X: t* T7 M                                pLight->Diffuse.r *= 0.6f;
9 V/ y2 i. S( F- K% E& |                                pLight->Diffuse.g *= 0.6f;- W. m2 M- Q2 I% y
                                pLight->Diffuse.b *= 0.6f;4 ?7 a! U3 `0 }; E- S+ o
                                pLight->Ambient.r *= 0.7f;/ T2 j! P/ ?% e: P: Y# t; L
                                pLight->Ambient.g *= 0.7f;7 ]! ?& W7 d9 P; L# M
                                pLight->Ambient.b *= 0.7f;
$ Q* Y9 L9 y' n$ \4 q% l: Z  Z" l                        }& {0 g$ K2 L" k
                        $ D; Z) n. a+ [7 M7 ~9 X
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ d% y) h" B& |' c3 d) M% [                        if( g_pPlayer )
2 p+ ?8 ^8 p' h$ i                                HookUpdateLight( pLight );
/ D2 r! U; S  K7 S+ V#endif5 L5 ?& a5 B1 g4 b3 t- g2 M
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 K" Z. u6 C; B; g. _+ y
5 w8 i7 X, o6 i" J#ifdef __YENV) \& e/ ^, Z; l) P6 L3 O
                        pLight->Diffuse.r  *= 1.1f;
3 d$ }4 H8 r' [. _' f' u                        pLight->Diffuse.g  *= 1.1f;
7 U- a3 c- b( s% Z2 X! I                        pLight->Diffuse.b  *= 1.1f;/ E' f2 @4 p" t) ]0 G
                        // oˉè* ??à? 2 c5 u& \$ U& R' Q0 Y* \5 B
                        pLight->Specular.r = 2.0f;) h. E, B2 w3 n- N
                        pLight->Specular.g = 2.0f;9 I1 }4 ?' v) C
                        pLight->Specular.b = 2.0f;
/ B" i$ g/ T5 u7 N- H* X                        // á?oˉ * a; _/ C/ B2 {, g& B+ I) M" x0 P
                        pLight->Ambient.r  *= 1.0f;$ }! q+ s- l+ k& Q8 A8 U% j
                        pLight->Ambient.g  *= 1.0f;
- Z  o  O; m  v' p' e' _                        pLight->Ambient.b  *= 1.0f;$ i% A' M: U# L/ N
#else //__YENV
& u# A- [4 P2 i3 P2 d5 q3 S* ]% R7 C                        pLight->Diffuse.r  *= 1.1f;
$ S% T3 }& Z' k6 |! K) D, s                        pLight->Diffuse.g  *= 1.1f;- K) x3 D4 r9 F  I0 H
                        pLight->Diffuse.b  *= 1.1f;/ f6 G8 W8 ]7 [
                        // oˉè* ??à?
( E" m, l' b% J3 @' A. ]                        pLight->Specular.r = 2.0f;) L/ `8 O: c& ]8 `
                        pLight->Specular.g = 2.0f;
4 V) f9 `0 d# s! G                        pLight->Specular.b = 2.0f;
& }2 N8 {( j! ]& O                        // á?oˉ
0 ^  f0 }) m) T7 C                        pLight->Ambient.r  *= 0.9f;/ B1 U; a" V7 Q5 F: H9 r$ t
                        pLight->Ambient.g  *= 0.9f;
0 M  A, `. [5 W2 r) S2 G8 X& r9 G8 v                        pLight->Ambient.b  *= 0.9f;
$ B; p9 w+ B4 R  ?; I#endif //__YENV   R9 f! m( q6 |
                       
8 l6 @' y9 m! s- q7 y                        memcpy( &m_light, pLight, sizeof( m_light ) );* [' e9 F& v6 ^$ ]7 e
                       
, ?  x9 G7 S" |; l. L3 t                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
/ a  i4 N  Q$ c2 w4 {/ F! |                        D3DXMATRIX  matTemp;' h2 _, a4 z& U1 V, `4 s3 [* i
                        static const float CONS_VAL = 3.1415926f / 180.f;
0 |- V# v1 I- m  t3 R+ v8 P) h. W7 G* t0 ^3 o
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ |! R7 t$ y9 g. S0 H& _                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);8 I* h1 w* J: O! _" S$ J
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
9 n# i1 R. e; U2 m6 `( i! L                        pLight->Appear( m_pd3dDevice, TRUE );
/ }! V0 {+ `- p/ |4 t" d% A
; a+ C: A7 [9 n                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);* e5 T% i5 {6 x" I6 R6 o
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
' K' j5 j) l( s6 m$ V                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); " m/ r; V& d4 Q# q( D% Q1 n" T7 i
0 X) c" `  c5 Z2 J3 [. V/ i, L
                        DWORD dwR, dwG, dwB;( }/ u5 O- \; m5 t
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
" e& L  p/ [2 m2 w                        dwG = (DWORD)( pLight->Ambient.g * 255 );
% O6 s5 b0 _2 g! U7 V, [                        dwB = (DWORD)( pLight->Ambient.b * 255 );
8 R1 ~- k7 f$ o+ L: O3 ~                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
% |7 K# v) v8 t% f                }
* d/ u  q! J+ c6 a& `        }
7 B) P7 J+ E: f9 ^& p* n' J" o3 O
3 z3 z7 J' a: Z! s" I        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* ]% \# l: L- C5 g! C* p        m_pd3dDevice->SetRenderState( D3DRS_AMBIENT, dwAmbient );//D3DCOLOR_ARGB( 0,0,0,0) ); //m_dwAmbient );//D3DCOLOR_ARGB( 255,128,128,128) );//D3DCOLOR_ARGB( 255,50,50,70) );
' e  b4 P3 O2 A0 F- B3 h        ::SetLight( bLight );
6 x% c# H/ f0 I& d2 c0 |1 m2 B1 g9 g' n7 m( ?* R- z4 ]. E1 Z
        // ±ao? ?D?í???ó á¤à?
3 G: f$ B9 @, ~2 Z; D: M9 U! i/ J        m_pd3dDevice->SetMaterial( &m_baseMaterial );
* |1 g4 H% |4 M0 K4 a. p' d* L       
7 L( T; t/ D$ N9 s#endif // not WORLDSERVER: K1 @8 C. T; P
}
' b3 g+ n) I( y- C1 T! s! f并更换
# V: U- l& a* f# pCode:
/ D9 t: H4 E! i/ a6 I/ Z; R__FLYFF_INITPAGE_EXT1 R/ P# W6 t/ D$ d% @
定义! V) G) I8 `: X* j+ c

/ |& S9 \, c  I/ S# \
$ E; u4 j4 l3 \! X5 L0 Y; H# t2 T, e* F* {
  @$ e: m& }0 `
现在终于删除我的狗屁加速...
  n5 D9 Z5 h0 j1 J
# S! T. W# q: f$ Q+ r# B! M* r& ]& y+ E
" V9 p' n- \7 j' t





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