飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:* s% x( \% x' b9 ~
尾翼:
1 Q8 h3 [1 ^% m4 {: d8 i, M; z7 B4 W/ X2 v" y" ]" o( T" }
代码:8 Z# U- p0 z4 ]/ N
CWndAutoFood::CWndAutoFood()
) m) A8 Y$ M4 I{0 a2 E0 @& J6 G1 r( k. T% k+ N# Z
        m_pItemElem = NULL;3 d+ m5 `3 V: u4 D/ a
        m_pTexture = NULL;
/ {. R- B. ]; i6 B  d. S" F. Q        bStart = FALSE;7 |. b4 @+ B7 ~' S" m
}
! T+ |) [7 I5 {1 o* A$ ~; K/ }  u$ K
CWndAutoFood::~CWndAutoFood()5 s" i; ~6 C% E, q: w( ~5 \
{
) Q& M4 g! E, X        AfxMessageBox( "AutoFood ist gestorben " );) g. u7 e" [) L
}
) X+ o% V8 o0 V7 S  IBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )) K( C4 @$ _! ~; R: ~2 e
{
% @' v7 K5 ]7 c3 Z% b6 ]        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );; u% \! ~# P8 |$ ~
}% s& f* N% O% T( I' G1 U* k
, C2 F& H) {' q
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" X, ]4 [+ g- I' K0 J{2 u9 B' m- c5 m2 Z7 k; c) `& }& r* C, Z3 h
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );$ P# N2 E3 e  t6 N- J. w% p% v
        CRect rect = pWndCtrl->rect;
+ m/ |) @0 E$ W7 J- @$ ]8 l        if( rect && rect.PtInRect( point ) )0 S; |3 K0 {9 t2 o0 T
        {% n3 i/ ~1 y1 ]9 {* N7 j
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );( x4 g8 F6 B2 a5 l0 p2 r0 r
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- F, @6 f. Y; c' Y6 v7 j                {) S  ]3 @  c  ^. J+ P) x* z4 m
                        if( m_pItemElem )
2 u/ y' T: c1 \: j1 ~% S: i                        {
1 }8 O$ W8 c% t' A+ ?( u                                m_pItemElem = NULL;
% H5 W2 V3 A; R) L1 R. p                        }$ _  r- R3 V% i2 B7 ?
                        m_pItemElem = pItemElem;9 Q' D# x( f% o4 T4 c# V0 D! z* G/ T; m' ^8 U
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );5 T/ P8 O8 w& h4 D+ O. ~( T8 X
                }else{
( ], P# x: Q8 \! H. g4 Z                        SetForbid( TRUE );' B1 B7 P% c# Y  V# P" u
                }
. ^8 i3 p( X6 e+ k$ l2 h1 i2 F        }else{) l- F- d( l! Z; B; Q8 n# z9 V
                SetForbid( TRUE );/ G' ~8 _% }1 t5 j  A+ f
        }! l" n) U+ [8 u( j/ E6 ?4 s
        return TRUE;9 }5 ^1 v* t% y; j3 R, g
}
( ]: Q% O3 m# Z$ y) ?% P
# `7 X5 O, A$ R. NBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )! b* D5 a) b* y3 O
{- p; y8 M* r1 n+ G* ]: h
        switch( nID )6 s8 {0 m% U( V
        {
) Y5 y& f4 q9 m7 A$ b. t1 y        case WIDC_BUTTON3:
- F; U5 M3 V. I$ h+ E                {
7 M) F7 s' g3 b* e# x* C) B2 {6 }                        bStart = TRUE;, A& s. k9 a# w$ ^' r) o2 g
                        break;
3 ~; Z2 N' i9 X4 h                }
3 L/ |3 \9 L! P+ ?/ A# M        case WIDC_BUTTON4:) ]2 [3 ^# F2 i5 }# Y3 i
                {
! B6 u4 Y0 t- U6 O' z- l                        bStart = FALSE;% Q& y; `  ~" |" L
                        break;5 O! A" Q+ @9 @! `; Y6 @. N, s
                }
2 O7 X6 W# Z+ \( E% P% i        }
" \1 k/ |+ N2 t( W1 d+ T        return CWndNeuz::OnChildNotify( message, nID, pLResult );
: y) `) j$ Q3 U/ p* c}       
/ u. E1 V# F# S& a2 bvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )) u7 \' F( r4 q) @$ q% c. E
{; L7 n, g; M# e% F
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );& \8 N% C: R! ~( O' @- N
        if( bStart || !m_pItemElem )
) t3 @* |- |; ?/ W9 U4 V0 u; f        {
7 p& P! i6 l: ]( k* k                pBtn->EnableWindow( FALSE );
  O+ }# c, L) f7 @) y7 U. \        }else
, ^- a8 }$ V* ^- R8 x                pBtn->EnableWindow( TRUE );
2 B) \1 h6 d% L- L        if( m_pTexture )
& |$ _) O% U% u! m+ C" W( |        {+ x' b5 Y5 y/ j8 `
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 m$ M$ E4 k2 C4 c9 r' ]' N4 i                if( wndCtrl && wndCtrl->rect )
, |" X- F5 {- `2 ]/ W3 h                {
4 S& i4 r' l! l4 u) O7 s, Q) M                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
; V2 m9 @5 b5 U) Z                }( {. O$ D3 C. A) I' U  Y! r
        }8 M& B- `2 P3 ~
}
" q$ F5 E, [+ V6 J7 f5 Y: u1 m  }
BOOL CWndAutoFood:rocess()% a; {4 B, L( U4 U9 Q: d
{' V( F& q4 [" f: K5 e/ O
        if( bStart )
) D, P/ b3 Q( S, N0 `+ {7 N        {% W, F5 L& ?9 n
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )5 c1 L; Z) ^4 {7 ]. ]9 Z
                {
) U% J+ z: ^, a/ }                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )" q  O/ l0 z/ x5 i4 u
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: ^3 z2 D9 o2 C$ w                }else{/ Y$ Q( ?% f: Y. N4 A- w# b- [
                        bStart = FALSE;
- \( M- V1 o0 `& B/ i8 w                        m_pItemElem = NULL;
0 q- g* M2 H$ y8 U                }
3 Q3 z( o/ g$ O! R& c% a        }
- `+ K2 N6 j9 u8 C% O        return TRUE;$ B+ h1 n9 ~& _. ]
}
% v2 ^9 I4 [8 W! j* o1 i# T' ^. Z3 ~6 m
登录视频废话:. b# ~$ q, Z  m+ a) g; }$ w
尾翼:
- d8 p8 f  h0 P3 y0 q
# `7 o/ r0 F1 ~% Q, A' ~代码:
- f% `$ N7 M5 @4 r1 m4 F/ q+ m+ p; ?
void CWorld::SetLight( BOOL bLight )
/ s+ ?. ^' q9 {% ^' X* d' _& Fdurch0 T; x& s( V4 n3 ]9 W; \: A" R
Code:7 D- F7 m1 o# P2 c& d7 Z' F
void CWorld::SetLight( BOOL bLight ), R2 s9 E3 E/ v
{% V9 R4 ]2 @7 ~- k5 Q# E5 }
        //ACE("SetLight %d \n", bLight);2 R' J- l0 V! [% O) p
        ' c+ e) l' `9 [7 C5 _- P. t, N
#ifndef  __WORLDSERVER 2 `7 n1 Z. l6 d' O! Z9 w9 N6 a
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
' Z( `: i( _6 b: N6 r        CLight* pLight = NULL;
& g+ r1 f* o- B3 M9 u, C+ F3 _# ?
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
: m6 w. y# e6 {# e( I$ F, g  x6 i) l* @5 P, a0 ]
        pLight = GetLight( "direction" );
5 Y  O- R" ~' H& n6 Z( j8 A2 y6 ]3 e
#if __VER >= 15 // __BS_CHANGING_ENVIR4 Q# H$ L7 l0 {% m* L! \
        if( g_pPlayer ){) ]5 }; F2 w' M# w" B# {+ u2 w/ ~# @: n
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );# @+ D) }/ b5 R% b! z
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!! v$ G/ ]" n# E% n: J
                {
) a5 ^4 n" Q0 t) Y# [& ?( @9 a                        if( pLight )/ X- s% E3 e$ f0 z1 G
                        {
  s# L0 b8 Y) J; ]- Y, r                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];& b8 a3 e$ X9 u
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];0 k/ l1 v0 J1 D1 e) v6 P. J/ z
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
+ H  H, v/ d! N4 g! o: u& K7 r" a+ d) e( c5 C
                                pLight->Specular.r = 2.0f;
2 F; X# Q/ i5 y                                pLight->Specular.g = 2.0f;
, s6 R" E9 x% y: u                                pLight->Specular.b = 2.0f;
: E( l. Y8 z' I8 x( p" V       
2 e3 O  C3 R; K! i# }                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];. n- p4 j0 \! ]7 @
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];8 P; S1 V4 u3 D9 R0 `* N: F- c& Q
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];: ^  d# ]: p1 j
       
: T" |6 F) D0 X2 k1 k- I# A* [                                HookUpdateLight( pLight ); * l2 k# u8 x4 B; f

- x4 L! l* f8 f$ m  |- M                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 V$ C7 Q2 y0 L, [. ?+ V* Y
                2 ^1 i- ~' S+ v+ m* q7 o$ G
                                pLight->Diffuse.r *= 1.2f;+ D. q) i! ^: U) w$ |, u
                                pLight->Diffuse.g *= 1.2f;3 P4 d! T! n$ ~" ^0 Y, D
                                pLight->Diffuse.b *= 1.2f;9 I9 ~( Z4 l+ N$ W

' a1 S% B" {& _( \  N) @& m) c                                pLight->Ambient.r *= 0.8f;
  u+ i. J/ t6 P! @                                pLight->Ambient.g *= 0.8f;
7 k& Q8 {" T1 ~9 V                                pLight->Ambient.b *= 0.8f;" P! M. K2 U& V) s
       
( o, J7 I4 u* W9 W+ t$ X                                memcpy( &m_light, pLight, sizeof( m_light ) );* |& X# o* j! ~$ V- ]' X- K$ F

5 m; E5 ]2 Q: o; B8 L8 Q+ |                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( ]9 Y% }, t/ [6 C( P                                 D3DXVec3Normalize(&(vecSun),&(vecSun));. p" u1 D- \! F+ ?
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 k: ^) C$ L: d                                 pLight->Appear( m_pd3dDevice, TRUE );; B0 G+ P$ P; ~: _2 R, Q6 U
               
; E# i. ]1 Q* `$ M                                DWORD dwR, dwG, dwB;
; X2 \& ^& p$ c! @: b- k* {6 m                                dwR = (DWORD)( pLight->Ambient.r * 255 );, h( l- @* D+ f% D9 T
                                dwG = (DWORD)( pLight->Ambient.g * 255 );8 f- n. Q2 y0 W2 ~& e
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
) Q6 t4 W) Q0 \0 z2 v3 c8 }                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 J& \% g' Y6 P# S
                        }2 A4 H: e  i. Q1 K0 Z: Z) O% n$ l  p
                }
9 p0 t3 o4 x9 X% X7 V/ ]        }+ p& t( V9 y2 i3 e6 B: e% X5 p
        else
9 I" I! L1 b! B5 i5 @' a( ~#endif
- {  g$ ]: X, e$ ]# }
6 a% K, l4 O4 \5 J        if( m_bIsIndoor )
4 E. u: D6 i" {! `( u+ @5 ]- p, k        {; N+ z: U! P' l7 O, Z
                if( pLight )3 A+ z# j# i3 @( V; s& i- J2 x
                {               
8 E* B' D9 J0 `7 Z$ w. y                        // à??μ oˉè* # Z8 V; I6 c) o1 ^8 ]
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;, B0 H4 u; `7 h% D) @! O9 @
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;9 V+ h6 F8 i$ R. N: J
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
! g# C! t/ K0 G- X% w$ I& Y
/ {% H/ c; f2 f                        // oˉè* ??à? 2 z  G) _2 B% R; m: ~
                        pLight->Specular.r = 1.0f;
; L& ^1 q5 ~. k8 }0 V; r& }                        pLight->Specular.g = 1.0f;
  R1 K5 T& u3 @  m/ t( l( N% z; O7 H* S                        pLight->Specular.b = 1.0f;' Q" X, ~3 K/ _& h) N# g6 W
                        // àü?? oˉè* , L- X7 R' |5 {5 P% g# v
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
# H* S! z5 c5 |, |. X                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;, \( @8 S/ ^) Q6 \
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
9 b/ N7 H, f7 D+ E
; l9 V! W! o* v/ `                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! l1 m9 ~) w9 |1 X, r                        {/ k+ a$ C1 m4 M) f9 V3 w% B
                                pLight->Diffuse.r *= 0.6f;- e; ]5 n5 @6 z
                                pLight->Diffuse.g *= 0.6f;& n, ^  \8 T5 t; R7 h+ M5 |: ]
                                pLight->Diffuse.b *= 0.6f;' Q4 R. K/ d2 E' L# e5 v2 O8 U
                                pLight->Ambient.r *= 0.7f;
2 L3 ]# e* g5 j+ Q8 y' ~                                pLight->Ambient.g *= 0.7f;+ w6 f/ R" _% R8 G
                                pLight->Ambient.b *= 0.7f;
% B7 n+ s, M% x. J  J' G1 E                        }
/ j9 Z7 z. H- [0 D6 n
) W/ }7 P3 K& k0 f7 K6 K# |+ ^#if __VER >= 15 // __BS_CHANGING_ENVIR
! {2 q! u5 G# S& n2 M! |- F% J. y' W                        if( g_pPlayer )$ ~) E# `* I* }; a. ~
                                HookUpdateLight( pLight );9 G$ Y+ [8 X. \2 S2 a5 y% u) |
#endif3 G3 z& x2 q- m6 w5 I/ @' o
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 h" ]6 G. M7 R4 E
, q& J1 r) P2 ^6 f( q8 E                        pLight->Diffuse.r  += 0.1f;/ F3 R5 G- D0 g, F0 z, F8 W
                        pLight->Diffuse.g  += 0.1f;
% d+ H8 ]4 x! g3 u) \# z                        pLight->Diffuse.b  += 0.1f;
4 H* ^# B; l% |) Z2 E  Q" q% R                        // oˉè* ??à? ! C7 k6 @. L, T4 ]/ F! `
                        pLight->Specular.r = 2.0f;3 ^2 w5 J4 z! R4 h1 I$ X) t( y/ s
                        pLight->Specular.g = 2.0f;
' I& Y) g9 v+ ?# `                        pLight->Specular.b = 2.0f;* Y, I9 a0 W7 v; O# u. _  {5 q
                        // á?oˉ 9 T( K9 j; X' e8 K  R$ w
                        pLight->Ambient.r  *= 0.9f;
9 L# \* W" F, {1 G8 j7 U                        pLight->Ambient.g  *= 0.9f;3 t, r* |( I" Y
                        pLight->Ambient.b  *= 0.9f;
( W7 _5 @9 W8 G% v( O3 j! ]  u1 k0 c# _! X. n3 c1 e- x
                        memcpy( &m_light, pLight, sizeof( m_light ) );
8 N& S; @4 q& q2 K4 I                        8 y/ ?3 E$ S5 P) E' F7 w* z
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );" x8 W/ j  r$ Z+ ?- d
                        pLight->Appear( m_pd3dDevice, TRUE );
. l1 D( o" L+ l& A0 I& {        , k) M3 l8 A& X3 T6 b
                        DWORD dwR, dwG, dwB;" n  ?8 }( Z- I) ^
                        dwR = (DWORD)( pLight->Ambient.r * 255 );. ~0 D3 y* t. @  ^, _% ~0 n
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
* j- Q8 b- N3 E6 R3 V% d5 R                        dwB = (DWORD)( pLight->Ambient.b * 255 );2 J) H0 V% s% b$ A  S  K
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 d2 Q( Q/ H9 W' l! v; w( g7 w                }: K, G2 Z$ D: z3 g, I
        }
4 {. g9 [% v( L+ Y+ \% S        else
6 i1 A6 a# O% ~7 `& J        {% f& I. Z0 O: V7 _4 Q9 I
                if( pLight )
. F# |0 _$ }9 f3 t) w                {" n+ `0 ]/ v9 G3 x0 q3 p" b
               
6 y' ^' x2 w* n) L, s                        int nHour = 8, nMin = 0;
+ L; G0 C$ @( ^1 B+ f! l, ~        #ifdef __CLIENT4 i! n8 g) ^3 s
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
* E0 D$ V3 ~/ \: J1 b& ^7 L                        nHour = g_GameTimer.m_nHour;
* P( u; x4 Y: Y& C                        nMin  = g_GameTimer.m_nMin ;
& @; Y) ?7 ~, ]- y- o, h        #else
* _% A: x3 ?) M, U                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# Z( c! g5 f/ F/ Y7 @1 G  ^- a                        if( m_nLightType == 1 )
5 h9 K3 U' U. x( \                                nHour = m_nLightHour;
! I; ?. L" m" D8 ]) P        #endif2 C7 i1 i. W2 }$ H9 Z/ U* e2 U4 n
                        nHour--;
' c$ |; |( Y. w. M8 y7 I                        if( nHour < 0 ) nHour = 0;
% u( R2 y0 V( \1 K: U' |- |                        if( nHour > 23 ) nHour = 23;5 d- v+ s1 f$ O* A$ H

; A5 X+ E9 r. @' S                        //if( m_bFixedHour )% P- g  P5 L% H" T
                        //        nHour = m_nFixedHour, nMin = 0;
  t+ b0 E; B0 k1 O$ m                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];$ q5 Y9 H, l; a$ b, d7 Q9 f
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
  `/ F& |( V) o2 S$ ~7 w4 {7 M
3 c' B1 w9 B" b; M                        //m_lightColor = lightColorPrv;1 x) ^: o8 z9 q6 D
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;$ @: ~; q9 X' l7 ~
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ A- Z/ _4 T0 S; M; A. [                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; c1 Z& e: l9 `$ ]8 q" O                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;6 E8 P5 C# U* V3 ^% ]1 S: L
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( c, I, i* U! D: i# u4 }/ n6 Z                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;( W9 j, k" I9 I3 u" y' z
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)$ E# F0 M8 O* y8 _% Q6 V% ]
: H3 M( L4 Y, S* J* ~
                        // à??μ oˉè* # J9 B$ P5 w1 R. l* S' Q7 ~
                        pLight->Diffuse.r  = lightColorPrv.r1;7 d; T( m6 Y6 Q# Y0 J- M3 D
                        pLight->Diffuse.g  = lightColorPrv.g1;
' B7 A4 @9 b+ m3 o( X                        pLight->Diffuse.b  = lightColorPrv.b1;
4 W$ R5 v- d# p/ e0 I- e                        // oˉè* ??à? 0 K4 s6 o5 U- }6 t0 G$ J: G# @! S
                        pLight->Specular.r = 1.0f;
; f5 p3 I  T% |- Q: W                        pLight->Specular.g = 1.0f;! |) A  h6 @" x4 \" T
                        pLight->Specular.b = 1.0f;# T- {4 e# D7 {1 {* N# m* S- G/ w# O
                        // àü?? oˉè* 5 U& y: D% Z' W7 r% B( q" d
                        pLight->Ambient.r  = lightColorPrv.r2;
3 X0 V4 l: l& F. o' _                        pLight->Ambient.g  = lightColorPrv.g2;* w" N6 D% I$ N% A5 z, \& H
                        pLight->Ambient.b  = lightColorPrv.b2;- [: `' |& P* Y0 A" Q
8 @8 h& \0 O( K, g+ w5 u
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.7 B  U) U$ c! m( S+ x3 t0 X( `
                        {1 k" ~  d( u( R! m! H
                                pLight->Diffuse.r *= 0.6f;8 `( I# L. c% s% J% d6 W' D, ]
                                pLight->Diffuse.g *= 0.6f;
9 u# m' b1 u5 v. V0 {                                pLight->Diffuse.b *= 0.6f;
, C* y1 p% X* d3 z, ?; Y( t                                pLight->Ambient.r *= 0.7f;
. s, R" i- n4 |) p9 P+ O                                pLight->Ambient.g *= 0.7f;
. y3 a* q% G& w                                pLight->Ambient.b *= 0.7f;. l1 H( i0 i0 Q) d, G3 ?
                        }
$ C) F$ R0 E0 E) j1 i, [: F                          _4 V' p$ J/ F. c2 O- N! ~7 w
#if __VER >= 15 // __BS_CHANGING_ENVIR. r0 D( K! ^+ p
                        if( g_pPlayer )
" ]0 p' X5 Z% ^- R                                HookUpdateLight( pLight ); & B3 S: _0 F) C: i  Q
#endif
, I3 l! Y0 ?3 F. g" f& P                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 z+ ~1 s: o" y1 i6 g
" C$ t% v3 g  L. B& `: W#ifdef __YENV! [$ B4 _* F% }4 w8 U' N/ G5 ^% o
                        pLight->Diffuse.r  *= 1.1f;' N; F2 V9 j3 E5 S2 i
                        pLight->Diffuse.g  *= 1.1f;
  v5 L) y& q: a$ L( V4 ]                        pLight->Diffuse.b  *= 1.1f;
2 I7 u; H9 z. g$ U) X                        // oˉè* ??à? 9 ]. x: k0 F4 `) T; P
                        pLight->Specular.r = 2.0f;
1 w% E( ]9 H% w( i                        pLight->Specular.g = 2.0f;
9 P/ c  \' @8 ?( ^9 H                        pLight->Specular.b = 2.0f;
8 t6 L1 C. G: ?                        // á?oˉ 5 e& \2 f. z+ Y3 H
                        pLight->Ambient.r  *= 1.0f;1 a9 n/ s% L: T' b' F) b
                        pLight->Ambient.g  *= 1.0f;
6 X( F% X; v+ j: @. W, x" O                        pLight->Ambient.b  *= 1.0f;
5 T$ M: Y% @' V) Q9 @3 f# L) t#else //__YENV; t+ y/ h: x$ S# ?3 _% n9 S
                        pLight->Diffuse.r  *= 1.1f;0 r  _& U  r, @# j; D# x% s
                        pLight->Diffuse.g  *= 1.1f;
$ o" y) b0 u- e- F! U; e                        pLight->Diffuse.b  *= 1.1f;! A4 @4 U+ u. \7 K4 N
                        // oˉè* ??à?
& ^8 {- @( Z3 C& L                        pLight->Specular.r = 2.0f;6 G5 n6 W9 e3 D5 b& U
                        pLight->Specular.g = 2.0f;
8 n; g- \0 M6 o: x  r# H                        pLight->Specular.b = 2.0f;
! D& O/ E: A  A" @$ a1 t) h                        // á?oˉ
: M6 u: T' a$ s1 X                        pLight->Ambient.r  *= 0.9f;
: _2 t( Z( P: {) X+ z6 }                        pLight->Ambient.g  *= 0.9f;
0 P- t. Z$ G" e" ~                        pLight->Ambient.b  *= 0.9f;
" Q/ J: \) L9 o8 G! B#endif //__YENV
& S% F5 Q) X. A4 a" ]' m& W  p6 s# U8 f# @                       
6 C3 ]6 E7 x9 N- p9 A                        memcpy( &m_light, pLight, sizeof( m_light ) );
. A! v+ L1 N! h                       
: `  R+ ^" u7 w$ j+ c& k* d* ]& `4 \  i                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);& P. ]$ X% D1 S1 ]4 K
                        D3DXMATRIX  matTemp;+ J9 Z' @- f7 Z0 X/ E
                        static const float CONS_VAL = 3.1415926f / 180.f;5 z" l$ r- z1 |" J) B- [8 j: M
+ f- q  z- _! v
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 I/ S' D/ i: a8 H9 a                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 D; u( s, ?& Z& g2 v2 t+ |                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
; e+ S' ~5 L4 J                        pLight->Appear( m_pd3dDevice, TRUE );1 a0 c3 |2 `2 K5 a1 V$ f' [

) u/ M# n- _. g; O2 m6 M9 P                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 C8 _3 }. u! {: P& K# z7 H
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));+ S8 ~0 X8 H. P- s  ^' ]' R1 o
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; g7 Q8 q" ^9 X2 A
1 v8 o% i; x4 u( S0 t                        DWORD dwR, dwG, dwB;- h' H# W  c! P; S
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
+ p2 J  m) @. I5 S4 d                        dwG = (DWORD)( pLight->Ambient.g * 255 );1 q1 e* N! n. A& D$ ^- n- G! K
                        dwB = (DWORD)( pLight->Ambient.b * 255 );# N% K4 R4 M. `" C
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
7 n) ~) B& m4 F. f! U, j8 \) [8 C0 B                }
! @& _2 U9 e: \% x3 |        }) _2 u) h- s! ^  D' _1 v

7 ?5 Y% r' e# R. y5 b% Q  ?4 j9 y        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* s* w$ \- R4 j        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) );
& B) o2 t* j" Z' ^        ::SetLight( bLight );! G8 x& h' N( l9 X% u
. F" f& u' |( A: Z6 C' Y
        // ±ao? ?D?í???ó á¤à?   J) q, {, b/ z5 A
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 S& R3 E2 N( x2 @3 G/ G$ a        6 d  M" R( T: ]  I* i- Z+ u
#endif // not WORLDSERVER% N/ ~. `/ F! V+ o
}
- f. b, ^& ]2 U( v7 _$ b并更换' }5 f4 o+ e, K5 |& ^. U
Code:
: L) b, N6 m- f0 T! V- ]* a* Z__FLYFF_INITPAGE_EXT- u. q- x) _4 c3 y2 l
定义1 ]: z" b, M- M4 G$ L: q, I

3 {' N% s0 X" K7 y7 o7 O1 K, q: U$ T( U

3 v; P( N' g% H! R# L) T4 G5 L$ m: A1 q7 Q2 W
现在终于删除我的狗屁加速...7 Q& f/ M) H: |' I" _" y
% T& G9 U% O6 j  q6 I- V$ V
& n: @5 n2 p) k, H; y; T8 D$ f

, R; A% u! I3 P. D9 ^' F$ Q




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