飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
- A6 u% k# V% ]尾翼:& g- R/ {/ }+ s3 n/ X

& e0 Y6 G8 V) o9 \. J代码:
% C, A0 r# `+ i& r! R6 `" A8 bCWndAutoFood::CWndAutoFood()5 u  C! Q/ h- ~8 o( F4 a# G
{
4 K0 u: E/ _3 ^2 M9 o# L) R        m_pItemElem = NULL;
7 |, i+ Q0 _; \  {% x2 f. ~( I5 f0 z1 u        m_pTexture = NULL;
2 U" i8 L: L) s. z3 y5 L        bStart = FALSE;
* h8 g8 \) u( Y; b}
% L0 O5 _; [2 z% @" B( p4 }9 t" h5 R+ k: E: |4 V# N/ M  a$ i
CWndAutoFood::~CWndAutoFood()
. K# f) _. ]6 T" z' R/ Z{
, P( S+ C  I7 P6 s$ k! R, ~        AfxMessageBox( "AutoFood ist gestorben " );2 t  z+ p4 U; Y' g
}5 C. u: Y9 |. }' o
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 C. d# D0 j9 n$ V" J7 C. V* u$ c{* U2 Q6 Q0 Q1 R( F! I% ^
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );: y: H4 n- B' Z
}
* F% ^6 C$ J$ f2 Q$ f, }, c/ b( F/ u# X' `
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )6 E; r. @+ a: B/ [$ |. m$ ~( R8 e; [
{
+ |5 n9 m( ?. d% f3 _% n        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, _1 u0 y( b4 P        CRect rect = pWndCtrl->rect;0 ~, z8 W# Z) k3 L
        if( rect && rect.PtInRect( point ) )
6 U( [: @  l  g! T7 q5 I        {4 i( m9 E" l  r7 J9 ]; z
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
# w/ T5 n4 I/ Q+ U' G                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
# M& \5 g; ^* b4 j( h                {7 E9 W7 V7 ]$ P; o' p7 U$ I
                        if( m_pItemElem )$ \- c6 N+ E& E$ [  A/ R' i' a
                        {$ A7 `# [, z# Z$ Y2 b0 [
                                m_pItemElem = NULL;
; O  g6 _- |0 O( M# Z2 n                        }
2 `" H% P- V7 y8 s/ j+ I                        m_pItemElem = pItemElem;9 M' ]3 Z( Z7 `8 ]
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );% i& A2 L; n9 F( v; J5 X. N' r
                }else{& D2 I; A8 M: e6 e/ o6 F
                        SetForbid( TRUE );
, o$ L0 j$ y( }5 h+ R1 B8 b                }
! Q, d1 S9 z5 P/ ^  J7 P        }else{
7 F; ^3 o/ A! \4 Z/ r4 X- q3 V* o+ `                SetForbid( TRUE );
$ B, d: d" O% ?: J, d; c3 m( W        }0 x6 W  N  e. V2 K% i1 w
        return TRUE;
3 u6 _# `/ o# L+ L/ Y}
- \, x1 U8 J) u5 K% j
; |7 ]* j' D! b( jBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 u3 b: H; O" d( N
{& E( j0 t5 U+ X% z0 O* s
        switch( nID )
0 p  {8 U: j6 u, y  h* Z2 G# ?        {
  n! l6 f8 h* D5 m3 d        case WIDC_BUTTON3:
0 t; ~5 p1 o1 L8 q                {& Z" d* r' a; \7 {4 q0 a
                        bStart = TRUE;
  }+ ]% B, x6 H; h: D                        break;
7 E3 V: d6 Z* L6 X+ z: I7 R% g                }( ?4 F0 p0 O5 D4 L: y, X$ i2 x
        case WIDC_BUTTON4:. E; M  A( R* O3 O$ A# _
                {8 P0 L% i' N5 ~- V" M& e8 e( o9 u
                        bStart = FALSE;
) V4 P. _6 G9 p                        break;  b" f% o  A. T7 O3 l# O& [4 W
                }
+ l( [8 y& V1 g1 A/ @: S        }6 N+ \4 M1 e: A$ E) p
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 D, Y+ c% s& K4 O2 a( ~}       
/ u; ]3 o" J; xvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
' n) U, }. a/ C, I& z& y( c{8 R% J0 C" o" ^* Q( l" H4 v
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
  v% G3 D0 y) y0 q& x7 w- n        if( bStart || !m_pItemElem )& E# M6 r  E, F: J% p$ B! c' U3 Q0 J6 L
        {$ i6 z3 s# @  {6 j4 p
                pBtn->EnableWindow( FALSE );2 [! d8 ^6 e2 M% E' m
        }else7 y4 U; c* B, f/ l$ _2 m6 I
                pBtn->EnableWindow( TRUE );. |) B& [) \* \
        if( m_pTexture )
% J& [5 b! S# J6 p# J        {" Y6 {- C# b) B2 W% e5 G7 s( j4 U( i
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 N. v+ ]& ^) _                if( wndCtrl && wndCtrl->rect )
7 ^  A' [2 N2 X- r                {
; e: U# X' v9 K0 t9 J; u                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
3 z1 ?+ _* }9 r                }
, S6 V: y) l( R" d" ]" K        }, T( j1 B2 q0 w! f& {
}2 i4 c5 ~6 C: b8 u2 t+ X- W
" J! }" k- s) o1 u! C+ _
BOOL CWndAutoFood:rocess()
0 g& V8 V  ]( T7 ]' b' t{
" A1 R* ^) r1 Z& |5 D        if( bStart )
" i4 r* q4 @' r* C- x        {7 b; c- k+ ^3 A+ Y
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )1 C. E3 t8 K8 R2 [! V9 ]$ B5 k
                {$ n  c5 s0 a% b9 d2 ^- r9 n" \1 ~1 B1 ?+ q
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
: N) U$ t& @6 @  q                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );8 S& n7 E% H! j$ i+ \' ~
                }else{
1 W3 F: f2 `. o  o) L! N9 |                        bStart = FALSE;
" v% }# Q* n0 \3 B0 Q0 v                        m_pItemElem = NULL;
& Q, U$ ^  w# h2 Z* X$ b$ W& a' P                }. I# r; C2 ^' q
        }
+ C3 g# v. h8 |0 g/ C. @        return TRUE;
/ A: n; n+ z" v" h9 G}/ L& t! ^4 K5 i/ f
# }# {! `- Y5 C0 w% x) q: |
登录视频废话:
5 y* }3 ?: Z( q; l: V; [, Y# }& E尾翼:
  h0 U* W) H* k* D$ ?7 E9 `" a
3 {* l& c; Y9 J0 I代码:
1 c$ b7 c  D8 H- v% Y
* H# G2 t2 e! t4 [void CWorld::SetLight( BOOL bLight )7 |+ i5 ?5 y  M# r, x& ]* |9 s
durch# T7 c$ k2 a' z8 K2 C2 P
Code:( d' c. `( q! t
void CWorld::SetLight( BOOL bLight )
  U) V/ Z. X4 j- b6 M9 ]{
3 S3 c. Y) {& Y# W/ z& ]/ y4 o6 Q6 N        //ACE("SetLight %d \n", bLight);
7 n# C+ B8 K' f* V# a: u  n7 ^        " v$ E" r- f, U" f; a
#ifndef  __WORLDSERVER
  L9 `  K( [) d        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( I* Z3 z7 d1 G$ |        CLight* pLight = NULL;
  R% ~/ _" y( D8 }/ p) i5 H
% P! \' v: I2 ~& ?* n        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );2 E5 i1 k: o# J' ~# @

* T" A  d0 E; `8 i$ Y        pLight = GetLight( "direction" );9 l7 ~! C* e& ^( C& M. s4 a9 v
1 |* Q9 x3 y, W2 {
#if __VER >= 15 // __BS_CHANGING_ENVIR: d- C% A* R' f
        if( g_pPlayer ){
6 K0 x5 K5 Y& _- N                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );7 o0 k4 Q  j  Y
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!" l- B5 V! t7 e, t2 n; K
                {. b  I  y3 e% u6 b0 L4 M/ E
                        if( pLight )! ^/ X, V8 B  A7 p$ S
                        {
! N0 I, @; f0 x. z1 P& X                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
; n& `4 Z; E" \5 A( Q- }                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];% O0 z5 ^2 G, x8 p' n
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
3 p0 _' Z# W  {2 B; K/ e" h3 U
5 u. b" I* F  }0 K7 C! t                                pLight->Specular.r = 2.0f;* I, R- `8 V. a0 o$ q$ c! @: D
                                pLight->Specular.g = 2.0f;; W9 r8 e9 S3 i: |" [9 I4 N' {
                                pLight->Specular.b = 2.0f;3 Y$ z; R8 n  Q7 I
       
3 }, Y. D' A* n* v) V+ a/ i                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
& ^' g! O2 Q0 g) S+ T                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];3 j$ s% X% a# p$ N
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];8 {- i5 U2 p3 e# h( Q% _
       
1 v1 D; S  @2 N% Y6 {4 u                                HookUpdateLight( pLight );
' t1 b, H' ~+ F+ T/ ^: l6 e7 R6 J+ N) Z( o4 Z' F
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 D8 e+ W9 H! V4 R( m
               
8 H4 f# h, o" m& J                                pLight->Diffuse.r *= 1.2f;
" d# T  h) ^* {/ z5 n! F                                pLight->Diffuse.g *= 1.2f;
! d* p0 t/ K/ l  I" k1 n& H                                pLight->Diffuse.b *= 1.2f;; w' [5 n% N: o% L! l8 I% B6 m
; ?# q1 o" W% @( Q
                                pLight->Ambient.r *= 0.8f;1 _3 H; G7 ?* T3 p( q
                                pLight->Ambient.g *= 0.8f;( C! M# b$ `6 e$ w0 H2 p% g
                                pLight->Ambient.b *= 0.8f;0 O) @! K/ {8 k7 g0 c
       
' i8 n( j9 O2 `$ V4 h                                memcpy( &m_light, pLight, sizeof( m_light ) );
7 Y) n# C0 G% v  p- b9 Y8 i+ e$ \7 a
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 A0 ?3 N3 Q8 R) i                                 D3DXVec3Normalize(&(vecSun),&(vecSun));4 E4 t+ O3 ?2 h- Z# c1 c- x
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 `. W3 f) ~  Q9 ~                                 pLight->Appear( m_pd3dDevice, TRUE );* K5 y9 e/ z7 v8 G
                # E6 H/ {) p, j9 a6 J
                                DWORD dwR, dwG, dwB;7 U7 v0 O5 N& |4 w) }. q; u7 q0 E
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
0 f9 W% u! ~. Q* E                                dwG = (DWORD)( pLight->Ambient.g * 255 );
1 ~0 r- D& Q! T& K# M, u+ Z9 p                                dwB = (DWORD)( pLight->Ambient.b * 255 );
7 l2 O7 p8 E5 a3 j3 q! c! F) J- G- F                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ z" j. l3 {. Z) C
                        }/ \9 B( A/ r1 }& r2 A8 v
                }
4 K, j$ N* T9 ~; R# C# I3 ]        }
2 y* i3 \* W" @6 l6 N        else
3 D& l. @* M! h9 w& O( Y#endif
8 W5 h) p: O' a% ^
7 x( j# k5 ^/ e  \9 |        if( m_bIsIndoor ), v) m% v- `3 Q3 b  _
        {% g( Q# u6 M# ~% c
                if( pLight )! h7 J, e8 W. h- U9 G
                {               
# P/ f/ A0 Z1 V7 H  x                        // à??μ oˉè* * H( Q: T- N' q& H0 u9 [
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;+ I  o& n6 I; X) U% ~- |
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
0 T; Y( [0 z# B+ v4 U- a* D1 ?; d8 h                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
$ M7 M; Q' l+ d. ~9 W+ H( [1 t
5 S7 d$ b7 u( f) W' w: O0 g                        // oˉè* ??à?
- R( U. w4 Q5 ^                        pLight->Specular.r = 1.0f;/ q5 v9 M/ {/ ^( J9 t0 n
                        pLight->Specular.g = 1.0f;
# k9 J9 e0 S; [6 \6 N1 @" d6 Y                        pLight->Specular.b = 1.0f;( v0 R( x% [& t0 `/ W
                        // àü?? oˉè*
; L& _& U! V" M9 c) Y9 {: H                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ y- U% B! [8 [; U! f                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
" v) g- s' M+ g% x4 m                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
+ ^; n1 p' [) |  a' z# w* [, P* u* z$ \3 k
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.4 `) F- O) d3 k/ r1 \/ f6 H
                        {
' y  u# t! B7 q6 {" \                                pLight->Diffuse.r *= 0.6f;- H9 K  r! ^6 d7 y- q) H; D
                                pLight->Diffuse.g *= 0.6f;
- q. }0 i$ O& N1 N0 T                                pLight->Diffuse.b *= 0.6f;
3 P# Y  ~' b6 D8 a                                pLight->Ambient.r *= 0.7f;- v8 t5 \3 }6 R2 H
                                pLight->Ambient.g *= 0.7f;8 r' l& P" l+ M" d
                                pLight->Ambient.b *= 0.7f;  j0 `4 R2 J. q7 F
                        }
4 j! P) p" B, _6 y0 B3 i' p5 E
( A! G1 u3 [1 g* h1 `- v  w9 z#if __VER >= 15 // __BS_CHANGING_ENVIR" n- @" b& V. Q; y5 z( r( N
                        if( g_pPlayer )" \. P) P% C- m' ~" W& x& @6 i( Z8 h
                                HookUpdateLight( pLight );5 l2 L/ @1 m3 d
#endif
1 z9 O4 o5 D) B6 ^. ]& r" q8 i                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ `# N. }' P5 J5 T) z& D/ f: J+ e0 [& t1 T, w
                        pLight->Diffuse.r  += 0.1f;
& _+ N! `: H# v- Y- K9 a  F                        pLight->Diffuse.g  += 0.1f;) q7 z# s6 z7 K+ n
                        pLight->Diffuse.b  += 0.1f;
" _) n0 c- B# i6 p! U# o% u. y& N                        // oˉè* ??à? 3 G$ ~0 Y: X  m; B
                        pLight->Specular.r = 2.0f;. D( \/ }5 c* y+ L
                        pLight->Specular.g = 2.0f;
& N* ]2 o- j8 c9 p: {                        pLight->Specular.b = 2.0f;
% B- ~1 u  w5 w, p8 ]. n* a" b                        // á?oˉ - D5 O/ v* i# H; N6 A
                        pLight->Ambient.r  *= 0.9f;
5 L+ _5 ]2 b, J3 F3 ^                        pLight->Ambient.g  *= 0.9f;
/ G( ^- h, e2 P5 w- T1 Z                        pLight->Ambient.b  *= 0.9f;
; O! j/ u, P$ W" r* t; `* ^: K- i3 I# r% o6 \
                        memcpy( &m_light, pLight, sizeof( m_light ) );
# b: n* B+ [6 s( g" n: n/ {                       
( O. w; O9 V# d4 V9 Q' K: ~# D                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 l7 ~7 [3 J4 j0 B  f7 r4 f- ?                        pLight->Appear( m_pd3dDevice, TRUE );# r  F# O. h( ?  E* `: ~
        ) u+ Q+ i; W7 o- o
                        DWORD dwR, dwG, dwB;5 R/ e: I3 `7 N
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
8 w9 u# Z8 P: R/ L- [& ^. T, O4 E                        dwG = (DWORD)( pLight->Ambient.g * 255 );
$ Q- L* H2 D3 v4 z* ]4 t' Q                        dwB = (DWORD)( pLight->Ambient.b * 255 );
1 f( X8 E# e) y* R                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 M- G; T+ S0 V4 k* W5 M8 T                }
; j% A1 k- _$ a8 g        }
, y: u4 B, o2 h" D        else
& V* _: _! g* i$ M; l9 ]        {0 `2 W% X% W2 K  i
                if( pLight )& F/ c  s, z. A4 |+ T& q: `0 n
                {
; o" o4 a# l' U) L1 ^! q                5 p# A' T& }8 h8 t3 r0 W+ K; e0 i4 S
                        int nHour = 8, nMin = 0;( V0 t+ U( W; m9 K* ^
        #ifdef __CLIENT2 G+ M7 v& f, I
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
, V$ I$ d# ?# b- z                        nHour = g_GameTimer.m_nHour;, G+ N+ f. a! w# P' d" D
                        nMin  = g_GameTimer.m_nMin ;
" [2 c! ^, {1 M  j2 m- z        #else' D# w6 C9 B' a; P
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.$ N5 K  f8 m" ], X. {* X+ K$ i) D
                        if( m_nLightType == 1 )
' E: s- L& V9 ^- i& ^2 H% Z: I                                nHour = m_nLightHour;# `. k' J/ ]7 f( H! L1 z
        #endif
' p8 J, W" n" _% }' k: _" b' c                        nHour--;8 L! ~$ X7 o2 ?1 o0 U0 Z
                        if( nHour < 0 ) nHour = 0;
7 Y$ ]. j  ]. E( N' U; o3 E( z" z                        if( nHour > 23 ) nHour = 23;+ C! s3 d; b2 t$ e4 l2 t: S$ C% V
/ U6 A" q. S- {, ]% f
                        //if( m_bFixedHour )9 K/ Y$ ?9 f1 X/ ^
                        //        nHour = m_nFixedHour, nMin = 0;
3 j* [8 B! ]! @3 K+ O% U1 ~                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, u/ x+ L# p; Y$ x                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];% B( B& R# {, {& G- g+ O
. C7 \, Y2 ~2 Y7 B
                        //m_lightColor = lightColorPrv;9 Y# W2 }6 d! L# \) V
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: T, C. N1 I9 ?. X0 ?" E2 `2 L                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, b* z+ n# m- \9 a3 V# ?, H                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 F) v7 V3 D* K  v2 Q" P$ x2 l. c                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;& G+ \7 U0 Z, ^3 i
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;' F- q4 g# C' C0 t: E" ^6 r  Q
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, N# O0 d( |1 o7 ]: g7 w                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ u2 [3 ~. U) ~$ _
8 l) u& Q# t" ^+ ^- Y: B2 V* ~                        // à??μ oˉè* 5 |  P" [0 b8 |/ S& h5 y3 S" R
                        pLight->Diffuse.r  = lightColorPrv.r1;
. V- x# x% ~2 |6 t5 F3 E: x                        pLight->Diffuse.g  = lightColorPrv.g1;$ T: R6 t/ [2 w" Z8 B$ g
                        pLight->Diffuse.b  = lightColorPrv.b1;; X3 t" T, b! f8 G8 \4 i* c
                        // oˉè* ??à? 1 x5 J7 ^, [5 L) \
                        pLight->Specular.r = 1.0f;1 h& m( H; \% X
                        pLight->Specular.g = 1.0f;
) k( ~& J( W. O- ]: h  O2 f                        pLight->Specular.b = 1.0f;; F" X% u% R' H0 Q8 I! {
                        // àü?? oˉè*
6 b; }1 A, u/ n  V9 g                        pLight->Ambient.r  = lightColorPrv.r2;
5 h- N" p3 h& l8 N" @, P, D                        pLight->Ambient.g  = lightColorPrv.g2;
- v4 R5 B( u* m5 E  X& |: w                        pLight->Ambient.b  = lightColorPrv.b2;1 [4 S% X$ F% t2 f+ e# t, C
6 c" L! V; m- h& @& \/ _/ D9 U4 y
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. a( z6 @  Q( ~. n, A' m* ]& B/ a                        {+ G7 @2 ^0 @% g: V  ?+ `) X# q: \
                                pLight->Diffuse.r *= 0.6f;% O! l" ^0 K# c4 f8 Z6 |6 k# P1 C
                                pLight->Diffuse.g *= 0.6f;
! ?( t' Z: n7 L: y8 u$ B; t& e                                pLight->Diffuse.b *= 0.6f;
7 j0 J) {- {1 j) r* @" R+ _3 y0 h  [                                pLight->Ambient.r *= 0.7f;  a% I3 o8 ], n; w# P. D, `
                                pLight->Ambient.g *= 0.7f;% k# W7 f4 j7 \1 W
                                pLight->Ambient.b *= 0.7f;. K7 W! B, T+ b  U  B
                        }
( L7 l) I6 P3 R9 }5 Z, Q                        4 w, k2 y6 N5 p$ Q& G
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 y/ t2 ]1 l6 D- A, I                        if( g_pPlayer )' ^- U* _3 J) X6 d9 X$ @
                                HookUpdateLight( pLight );
8 Y/ S7 T6 S1 `9 w* |; J, ^' E#endif4 _8 n! l0 g$ `9 j, P  c' i
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 N1 W1 U$ Y+ w0 S" n. D
% ~9 p, A, f3 R7 Z#ifdef __YENV
8 R3 r# f% x6 _( }                        pLight->Diffuse.r  *= 1.1f;
* c; V& s' v# |6 u& U$ X0 a                        pLight->Diffuse.g  *= 1.1f;
) m3 J6 O- V( ^# w3 e/ f9 e; R! z                        pLight->Diffuse.b  *= 1.1f;
& @7 p5 A% _& r0 U3 }# @, Q                        // oˉè* ??à?
% ]/ X! m+ J; [2 G% M2 P  |# X                        pLight->Specular.r = 2.0f;
; A, }; x* Y7 X! A3 ~9 o, Y: F                        pLight->Specular.g = 2.0f;
7 }5 a; |" x' r3 F, f& ^                        pLight->Specular.b = 2.0f;" B4 ~" V' ~  u' S- k/ r9 e0 h
                        // á?oˉ
% w# _. d1 F* N" h6 B$ t8 ^                        pLight->Ambient.r  *= 1.0f;
. V2 \9 F" a3 ~                        pLight->Ambient.g  *= 1.0f;
! C1 k. N% m, s- U& ?                        pLight->Ambient.b  *= 1.0f;
2 _; N' A  Z4 Z$ J' y- v" A#else //__YENV3 F" J  `' w6 k+ r0 `
                        pLight->Diffuse.r  *= 1.1f;: L6 S. Y/ \: {, S1 U
                        pLight->Diffuse.g  *= 1.1f;
! n+ |- e7 x) O* H1 f& i& t& k                        pLight->Diffuse.b  *= 1.1f;; K) }3 r. t$ K  [' Z% u1 O3 ]
                        // oˉè* ??à?
. H$ ^% G& n6 V" @  O                        pLight->Specular.r = 2.0f;+ e/ [# E% Z$ Y. H  P
                        pLight->Specular.g = 2.0f;
! M$ p5 Q4 G2 G' y; k8 n                        pLight->Specular.b = 2.0f;
: u  H6 ^: l$ {                        // á?oˉ
! @+ a/ ]( R% K6 a4 s3 l2 j6 k6 T                        pLight->Ambient.r  *= 0.9f;
( i5 @; ^/ f, @  D; _/ R  `4 o! o                        pLight->Ambient.g  *= 0.9f;' J" q( Q0 [& F( m+ Y# m/ V
                        pLight->Ambient.b  *= 0.9f;
% G( }) i! Z0 m! j  O3 e* D9 e#endif //__YENV
3 h% X  ^& I$ C% R' u                        # M5 L2 S( B# N; ]8 W
                        memcpy( &m_light, pLight, sizeof( m_light ) );% d7 g& p( s$ s- m
                        ! K4 I9 w( ?) h2 T  |  E* \
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' u7 u2 s2 T5 U( P1 P' q5 \                        D3DXMATRIX  matTemp;
: {, v' \7 ~; E; R1 j                        static const float CONS_VAL = 3.1415926f / 180.f;
) d8 [; e, f2 @% b) w$ [/ f/ p$ L+ d+ |1 Y) S
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);# B8 e1 B( U9 `7 ?+ @/ B
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);3 h- ?- }  H& N: {( ~
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 0 I" b* G# {" [9 {! r$ a4 T
                        pLight->Appear( m_pd3dDevice, TRUE );
. a( T: d+ f0 }5 }* m! F! N8 b* S+ L% t3 D! j& p
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. g# S" a4 P0 I. X. B                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));/ W: N- q' ]- e. w2 F* h
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ P% F, X* D) o; v$ ?$ C7 [" q. e* _' R2 W/ `+ n
                        DWORD dwR, dwG, dwB;3 S6 {# ~3 a9 U, B2 q- @/ b5 t
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
8 A: Z9 Z4 `7 _2 J1 S1 d                        dwG = (DWORD)( pLight->Ambient.g * 255 );
1 L& G9 G, [# R1 B3 Q6 b                        dwB = (DWORD)( pLight->Ambient.b * 255 );
) y& ]) V: X$ N0 z9 p7 Y' u                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        * n$ X8 P- U' u, _+ @& W* Z
                }& C; P8 k; j' Q  K  t
        }
+ D( @  T  S" o  f6 o- A/ Z9 l7 J4 w7 H  T% _! c& J, M8 p
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
2 V: X7 ^9 q1 z2 H+ t! s. U& k        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) );7 }! I5 d) P! \0 V; g
        ::SetLight( bLight );1 r% j1 w, m$ i! e$ R- I
& \: f0 B! m& G3 ?3 X
        // ±ao? ?D?í???ó á¤à?
) y4 h% z" x7 X- M4 v0 A        m_pd3dDevice->SetMaterial( &m_baseMaterial );- I: r* L, p7 G% G
       
$ C( I6 M! N4 a3 P#endif // not WORLDSERVER9 R8 G2 f/ v3 l  E7 e* X
}
" k+ z& [% I5 `  g8 ?9 P6 ~& r, E并更换. b+ T7 B/ M2 [6 K8 X
Code:) j/ l: u2 _) t$ D- g5 [4 A9 r8 C
__FLYFF_INITPAGE_EXT* l" Q2 y; q( Y2 _; I" \) p# h
定义
. e2 C1 a7 B' L( A- Y6 `. Y6 m8 l  \! D: g8 f

& \4 z* t+ Q/ `- s3 Q5 t
0 a. X2 l. \0 r, C5 j* P7 q7 ?5 |% A6 i  \
现在终于删除我的狗屁加速...
9 w6 n( G! g) j% R1 s! x# `( K9 n- S& }
" u/ m8 [( ^* f$ B% W
: d5 ^  k% l) H0 x& t0 t1 y/ L





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