飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
" t9 {* e. C/ T( A  P1 `6 l尾翼:" N1 L1 T1 m8 Y" z1 n& W

8 K2 o# j( Z* O代码:
$ n; g8 }2 W. A0 I/ H) A$ v9 nCWndAutoFood::CWndAutoFood()
4 J- H7 M0 Z6 {  \{0 d' n' m6 v; [, u
        m_pItemElem = NULL;
7 @9 |5 o( R" T8 v5 E        m_pTexture = NULL;
$ _2 u/ p" D. ]1 y0 u# W        bStart = FALSE;
. o$ |  l. Q2 S0 `}
: C! w! @+ U9 C6 k& k
% D0 |) _' H" |CWndAutoFood::~CWndAutoFood()/ Z7 X. ^1 u1 u7 p2 U" X
{5 }; `8 ^$ o- O% ?: c# h
        AfxMessageBox( "AutoFood ist gestorben " );
% O) b  m8 E. {3 E: m  d! B5 v}
4 I- S7 ^4 A, Y/ HBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )' [& `3 ?, h3 m, G! D
{
2 T6 h) @) k* r. m! m; i1 |4 O% }, J' `        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );" }" P; v4 m- O. u: c& `1 Q% R/ O
}
. J0 ~! ]0 [; S
& K9 Y) T( ^; ]  n2 W. G) GBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 p+ r+ X5 @1 V+ l' }( q, @* @& |) Q
{
) n9 U2 |6 H8 L/ w8 u3 D+ ^        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 H3 r8 E* K5 l( x, U8 _        CRect rect = pWndCtrl->rect;* w& U- [: ~6 J
        if( rect && rect.PtInRect( point ) )0 z+ a; n# P; v4 }7 @
        {
# j+ O% h$ H* s1 U$ s                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 e6 |! t4 ]! |                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! a( W. m1 g, }9 d  [                {5 n% o0 u  i& o3 l
                        if( m_pItemElem )
- d: |; V' n1 y, Y9 T                        {0 [4 O( _% f: O' `
                                m_pItemElem = NULL;
' u7 _" U4 e+ ?9 R, L                        }. `3 N3 E* {" f0 ^
                        m_pItemElem = pItemElem;& n) a9 e8 P6 o3 C+ d* S. b
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 A9 V$ D2 h" x6 Q- q% [! l                }else{. i2 {, G+ q% V# r) R
                        SetForbid( TRUE );  R  r8 k. q, e0 k% f, c! {6 U5 n
                }
7 @: {4 z* `* X* O        }else{7 i0 }" N! Q8 @1 ~1 n' F  ~
                SetForbid( TRUE );: F0 g5 u) T/ {' \5 s) |
        }& d9 P" d1 a9 Q$ W% L$ f" q% i2 E
        return TRUE;
+ A, u1 ^5 A' w! G, @}
0 |0 J6 l0 [- y: Z- `% N$ I$ _( B: X. m. o
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )3 H0 ]5 O' H2 p$ p2 {+ O
{+ k; Q7 d; g% G' {
        switch( nID )
) [8 @8 g8 @, b1 }        {
) Z- {* U% w9 D6 U  j& V* N8 ~        case WIDC_BUTTON3:
& y( L9 V8 }( s0 n                {8 [4 Y/ S0 O$ H$ e
                        bStart = TRUE;7 _. D) |/ L: w) c
                        break;
7 l, }" t4 o! z/ m8 u7 V5 H                }3 j7 T0 m' u8 Q& R# d' x
        case WIDC_BUTTON4:
3 u' M: p  p) U4 d                {
& \9 F$ H  f; I' L% |" @                        bStart = FALSE;
7 c) W% h4 p# W6 e! @                        break;. U, y; L0 P4 b) k7 j
                }; Y/ n/ }" b! _5 Q- }
        }9 W/ V# K9 ~) d' T5 {. O) t* [: c
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
# k* Q2 P9 q1 f  P9 |}        5 e! O3 M, Z( h
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# X! W& F# T4 }* R8 z{" F0 g) Z5 v4 v; c6 e: N% n; i
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );* E" Q2 g) X) o: l
        if( bStart || !m_pItemElem )  {0 M2 d& x' u# b' z0 A3 b% r( o4 {; U
        {" U5 r& c) b, k3 J. z
                pBtn->EnableWindow( FALSE );
8 g8 A) C8 M5 J3 u9 R' D        }else
9 a; y* o' @' q& h6 P* X1 j- R2 ~                pBtn->EnableWindow( TRUE );- \$ d7 e! _# _' D! M; ?
        if( m_pTexture )
4 d$ p! W* ]  S; ?1 ^( @+ C        {
$ u$ j' m, y" S7 g& F1 k$ T  D5 z                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" g; }0 z1 J& W; j( _6 f                if( wndCtrl && wndCtrl->rect )) T( R) K, I% j1 m+ @* O
                {6 H' S* f+ D; Y. k$ Q$ N! b
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
4 a8 M+ v5 H( b- e8 O9 `5 ]2 y                }
& R$ X$ `# K; o* b  N+ |8 ?        }3 k0 ?. M* _# q
}& }3 m# H* r4 S4 m& ]$ r* M4 n& {. k

, C0 i9 v/ `- U% LBOOL CWndAutoFood:rocess()
% _6 Z; ^& B- S3 n- n7 |{
$ w) N4 S2 h' p& I( I5 f! s7 l; j        if( bStart )0 p7 f, Y7 S: E0 n! W
        {+ c9 w; `  g6 _' v) U
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
# o# x4 I! U- {+ n5 x) \                {
" f) V# \# h  m+ P                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )9 \: U+ j3 |9 e
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 W/ z8 ]$ K, V5 i
                }else{
* C7 K2 l2 u, C5 ^3 @                        bStart = FALSE;* |- ~2 s/ `4 p6 E5 v; y
                        m_pItemElem = NULL;
/ f1 M3 A4 T  d# P( `  L                }! [+ S  C3 K; B- q3 w) D
        }6 M" g* z7 s4 d( A1 S0 }/ B2 a
        return TRUE;! j, [9 |% ~$ S: j6 e/ ^$ c& U/ R
}
9 [5 }3 {: |% k7 Z( f4 X  v2 Y  o5 g" e& Z- s. i& M
登录视频废话:
) |& _( ]+ [$ ?1 U1 K# }, @* R尾翼:4 n+ ?( q, `, i: V

8 H; P7 j# ]' [* q+ \, k代码:
: X8 w  w( G* c/ y0 |7 j/ P2 Y. s. h8 l1 P) k8 J) n* k% t- P; I$ e+ v
void CWorld::SetLight( BOOL bLight )
0 A" Q% U! {2 E' _" m$ v% t6 Adurch. h8 ]( w& \2 g  w$ `) }2 c
Code:
1 K2 {" q2 T  v1 H9 Yvoid CWorld::SetLight( BOOL bLight )
- W8 d" k' b0 F  e{
5 S  D. ?5 V. N3 x        //ACE("SetLight %d \n", bLight);
( C+ I4 \! B' m4 U        # V" ?3 b8 U: k9 D4 n5 a
#ifndef  __WORLDSERVER
+ m/ ~1 f( f7 B3 c1 |. m        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
+ w% c( w; J7 y* }        CLight* pLight = NULL;9 B$ ]1 y& y1 }' X

5 B9 L" J0 }% M        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
1 P. d0 r: ]( N3 E% i* D% o  R( ~+ _# w
        pLight = GetLight( "direction" );2 i$ E( d' t9 z
& n6 U, u( R7 D5 p. {
#if __VER >= 15 // __BS_CHANGING_ENVIR
. L) c& }5 B6 Y/ L, ]% K8 m        if( g_pPlayer ){
, B. O) I3 U5 n' q& Y9 H9 b                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );; f* a+ F) M  e5 W4 F
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 ?- L9 h& j" _2 ~" y6 I0 M                {% w' t! ]2 D  j& w) i
                        if( pLight )
5 W  H7 Q  F9 W, n% ?1 A; h8 q" Q; F                        {4 H# b  x2 `( V5 K" d' g
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];0 A2 q3 m. \, i1 y
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];9 C+ W. E: v/ T, p
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];; D$ B, Y5 z/ ?4 x4 ^: {) e2 c

% j- p2 o# a' @9 s* {                                pLight->Specular.r = 2.0f;3 {' l' @8 \  _) [. l
                                pLight->Specular.g = 2.0f;
% o  T. ]5 [6 R( ?1 ]                                pLight->Specular.b = 2.0f;
6 H, i6 R' }" z+ i" _2 k! H0 ^6 |% Y! @/ n        . ?0 R; \7 e! m4 Q
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
: c3 _7 i$ N5 l' [                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];& ^% ]+ C6 v0 D4 f/ A7 x: a
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];8 v: g& D5 _7 z+ q. O
       
/ S. q: \- H3 q                                HookUpdateLight( pLight );
! `0 W; Q+ `$ a/ Z1 E! f+ ?3 |( e% e/ z. N% P7 |( `$ |. B! K
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 }. r: e$ I0 f6 Y7 n$ I
               
0 e4 G0 O' l: @: X                                pLight->Diffuse.r *= 1.2f;+ E1 l7 \# z6 c8 [
                                pLight->Diffuse.g *= 1.2f;
0 J# k* F5 q$ f                                pLight->Diffuse.b *= 1.2f;
2 K2 u/ r9 t  t  r+ W1 i: n9 ?6 f3 }
                                pLight->Ambient.r *= 0.8f;
" i: s5 `" w: W4 `. D                                pLight->Ambient.g *= 0.8f;
/ b5 C5 }2 h! I8 M! |0 X6 k                                pLight->Ambient.b *= 0.8f;  ?, f& q- L3 w" q( G* A& P
        8 N+ L7 j7 w# j& e8 u- K2 x
                                memcpy( &m_light, pLight, sizeof( m_light ) );
0 X' ?1 Z6 H' Q" @, M' ?
% ^5 Y; L; C0 K                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ a2 g5 z; C% S; {                                 D3DXVec3Normalize(&(vecSun),&(vecSun));
! i; |8 y% O. Z3 z3 H" r                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ) b8 k+ J8 Y( P. y5 a* B/ j; Z
                                pLight->Appear( m_pd3dDevice, TRUE );' L8 u8 b/ T- }5 N) g
               
( q1 s& [9 K1 B                                DWORD dwR, dwG, dwB;
# M& p7 V  ^5 Q; A                                dwR = (DWORD)( pLight->Ambient.r * 255 );' s; B5 h9 v+ p8 |) ~# N1 j
                                dwG = (DWORD)( pLight->Ambient.g * 255 );! f$ k. O0 p. t) A! K( M
                                dwB = (DWORD)( pLight->Ambient.b * 255 );% J2 J" o, N3 I$ V. P
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) N* ^, M) Q8 r                        }
& E" ]+ W" m# C7 c+ x                }& ^. B6 |% X. O* s* ]  l8 C
        }
" ~+ a1 p" N  n  T$ X7 s        else
2 x6 a% Z9 r* G% J#endif
5 z; u* K  X. X
: ^4 C1 G9 l) l- ~2 F8 |& J        if( m_bIsIndoor )
6 z6 c# |: S! ~        {" N, Z; d. D: T2 k; Z
                if( pLight )! }9 v" A$ `& U+ A3 z! f: m1 O
                {               
  b% X4 w' \! U- J+ x( Q5 F                        // à??μ oˉè* # Z. T( N  P. d  i
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;0 \2 P( M. E5 x% K1 k
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
; p+ P; r& L) M" H9 s                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
) B  g/ ]' n( c* S& Z
- c4 j$ j; y/ x  A9 a) z                        // oˉè* ??à? 3 Y2 b1 n) h" A. u
                        pLight->Specular.r = 1.0f;) E7 v0 L: H9 h' e0 p; V5 j. B' J3 K
                        pLight->Specular.g = 1.0f;
7 h1 u7 p" B" V+ P8 Y                        pLight->Specular.b = 1.0f;) N5 ^- D. Z* N0 C
                        // àü?? oˉè* - X/ e8 z) t6 }- Y; T! K5 k
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
+ v) G8 L" D+ N0 U                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
  ~8 [# y% ^6 l                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;" j2 g4 ]! n. X
, Z5 v# T, t+ S" C/ N4 C
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.) r, ?: F& e* `7 y( ]
                        {' w. [  `9 @/ h% L. Q$ f
                                pLight->Diffuse.r *= 0.6f;! `5 |1 V8 C8 J
                                pLight->Diffuse.g *= 0.6f;
7 R' X" t- Q8 z9 B* b3 X                                pLight->Diffuse.b *= 0.6f;
9 ]2 J& ^: q! \2 ]) n& m                                pLight->Ambient.r *= 0.7f;
  R. _6 d; J5 V9 \9 e' d                                pLight->Ambient.g *= 0.7f;
' }0 S5 ~0 S3 d: W( t                                pLight->Ambient.b *= 0.7f;* @9 a' C+ o+ `: ?- w# C
                        }5 [% s5 q- P4 ?  t& \
- \+ F: B; A+ K
#if __VER >= 15 // __BS_CHANGING_ENVIR5 {* n2 F/ t/ v  N+ X" R
                        if( g_pPlayer )$ b$ Z! T4 t0 S6 [  I
                                HookUpdateLight( pLight );7 a7 ?( r! R' q/ n8 [; C! R
#endif* H0 Q& l0 `7 t: @8 Z+ V
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );8 e, Z  R& g$ d+ O% d/ C  }8 H

' o# _, M+ G4 c! L9 ~                        pLight->Diffuse.r  += 0.1f;
+ V) T$ l# q/ c5 n" g                        pLight->Diffuse.g  += 0.1f;2 [, T$ b( p. _5 x
                        pLight->Diffuse.b  += 0.1f;% _) a- y" V! u
                        // oˉè* ??à? . r2 N" A; B# ^4 K6 V0 ~
                        pLight->Specular.r = 2.0f;
+ v. U5 {2 A* k! S2 l: K$ {                        pLight->Specular.g = 2.0f;
: V7 u6 K1 K7 h  g9 y                        pLight->Specular.b = 2.0f;' ~9 G: I, @$ R! M
                        // á?oˉ
2 h, f+ E& M8 L- f' N. O  `, B: q3 L                        pLight->Ambient.r  *= 0.9f;+ p7 Z# J6 \. n% J0 [: ~
                        pLight->Ambient.g  *= 0.9f;
5 u* |7 l8 W7 |! M3 H; ?  b                        pLight->Ambient.b  *= 0.9f;
" x: ]% i) U5 E) g! \' V( W- c1 D2 X
                        memcpy( &m_light, pLight, sizeof( m_light ) );
! u& y5 B8 X; \% w4 w! {                        ; e% t$ i" `2 Q% ]$ d, b/ w- z6 @. C
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% C# D' j+ W) }4 }7 v2 ~& r% c* p                        pLight->Appear( m_pd3dDevice, TRUE );
+ l4 m& {. p* d; Y% d: k' i# |" J. A       
3 H3 G& T6 x  c8 F6 J( L" Y                        DWORD dwR, dwG, dwB;# J& M1 W3 O( v1 p
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
# D& [( d& T# ?3 ?( T0 h4 S                        dwG = (DWORD)( pLight->Ambient.g * 255 );: s3 }/ L9 x! b) [$ H& r
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
; \) H2 g5 `* b1 _5 m+ k                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* B8 b2 f" v- o( H0 K+ r
                }
& W. K% S. ^( W  o9 x        }6 N) W  `% I; j* }3 Y3 C
        else* g$ [. [6 U1 u1 ~
        {* \# A5 o" |0 p! L- t/ R! }+ y
                if( pLight )+ g( x5 I8 j/ ^4 }
                {& H- k9 M) ^5 D% q; h6 N* x
                7 r3 j2 i$ h: b8 d2 N
                        int nHour = 8, nMin = 0;6 ~1 L( T! d. e* x) i
        #ifdef __CLIENT0 q; I; D& T/ q: T1 G/ Z: s
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ [7 R" u! q1 d/ ]                        nHour = g_GameTimer.m_nHour;
0 k( U( S$ _& R2 p; a                        nMin  = g_GameTimer.m_nMin ;7 I$ N7 F( n, `) x: ^/ D* H+ s
        #else
1 E( L1 N% R1 }7 F( z/ ~                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
" P! V6 v1 @* r: s7 J( E                        if( m_nLightType == 1 )' h4 {2 }$ C, o  h  }
                                nHour = m_nLightHour;
: l& \  R+ P$ g        #endif
! K/ Z2 U5 A6 A$ Y, U, d% V                        nHour--;
+ b  W! e& X* J+ v2 c- A                        if( nHour < 0 ) nHour = 0;
" `( X) T9 n. C0 }2 S& J                        if( nHour > 23 ) nHour = 23;9 d5 W& ?) ?1 Y6 ~( h% B3 @. Q# ^# _

2 `0 G1 q- r2 k4 b/ z% g& i                        //if( m_bFixedHour )+ F% y3 T: B0 g' I6 S8 D
                        //        nHour = m_nFixedHour, nMin = 0;- O  n$ W4 t- }" }/ e# n
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 b- X, U) L5 _7 S% h% E                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 N+ P' c# B( R7 n$ j: g
- D0 `8 F# i7 d- v& Z                        //m_lightColor = lightColorPrv;
# b9 n% N- q/ N% q4 C                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;1 m/ g! U3 X  y) g
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ J$ ^" q# a6 G/ k6 f, {                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;+ u' P- G6 \7 o' ]5 E8 S8 G- h
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;9 V. A' D7 A  _$ d; N# A
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: K4 h( P: l' }* _: G$ w  d$ S! m                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;. g4 \3 s7 L6 K
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 Z) c. w* [7 D) b$ t+ d- w  W3 ^4 g( `7 G& h" i. ?
                        // à??μ oˉè*   c7 E4 v8 @; w6 G
                        pLight->Diffuse.r  = lightColorPrv.r1;8 G' Q& H0 f; {' `" r' C- u, H4 w
                        pLight->Diffuse.g  = lightColorPrv.g1;
+ M9 d* y; o+ ?                        pLight->Diffuse.b  = lightColorPrv.b1;
, p6 x, h0 X* j0 L; \0 C2 y                        // oˉè* ??à? 9 A% v0 |8 v; X( X/ `& m0 |" z2 {
                        pLight->Specular.r = 1.0f;- c3 Q# x' J! K+ A
                        pLight->Specular.g = 1.0f;) d. N, x  d: ], l
                        pLight->Specular.b = 1.0f;+ r4 w1 N$ |, F5 r# G
                        // àü?? oˉè* 7 X# q1 J3 U! X3 `1 v" v+ V. {0 _
                        pLight->Ambient.r  = lightColorPrv.r2;
5 T; n  i& x' O                        pLight->Ambient.g  = lightColorPrv.g2;3 y$ D. [, Y7 }
                        pLight->Ambient.b  = lightColorPrv.b2;
1 y2 \. s( h0 I% n5 }  W4 w! f" h$ }: P6 g, f0 W0 k
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. B/ I# Z; E0 ~' ~
                        {
. \' k; p. }# G& `                                pLight->Diffuse.r *= 0.6f;( ?* g2 }# U4 }, e: v6 n
                                pLight->Diffuse.g *= 0.6f;: }6 o9 p; d2 U1 G
                                pLight->Diffuse.b *= 0.6f;5 [0 u/ j# w) C
                                pLight->Ambient.r *= 0.7f;: [$ U0 x6 P2 T- Q2 L  ?9 k
                                pLight->Ambient.g *= 0.7f;
3 b; M! e' z; R# V                                pLight->Ambient.b *= 0.7f;7 |3 n' m5 `" C- R  s8 G
                        }% d; L! V9 J  t- O) p
                        " H4 E8 c6 n  r1 K) U
#if __VER >= 15 // __BS_CHANGING_ENVIR
, B. J) W7 P1 D' v* A                        if( g_pPlayer )
( P4 L9 K+ Q2 e+ N% w! g& T                                HookUpdateLight( pLight ); 0 i; z, W! J, f0 G0 {: c
#endif
1 @. W2 e4 O. q! a( h7 n5 `                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 U  k2 H6 Z. i
& i) _- m1 Y$ }: N; X# ^5 E
#ifdef __YENV
. m' J  e- i% P' K) F) |: `% K$ z                        pLight->Diffuse.r  *= 1.1f;; i/ `: X, Z+ v8 H
                        pLight->Diffuse.g  *= 1.1f;
" U, G7 {9 ~! o! q5 q4 {8 f                        pLight->Diffuse.b  *= 1.1f;$ L! }' I! m6 c& H3 M, t
                        // oˉè* ??à? . _) L! z' P/ D# g" F, n7 M. p
                        pLight->Specular.r = 2.0f;
0 K; r' n) D0 v7 Z7 b( p                        pLight->Specular.g = 2.0f;
& X. G4 U/ a5 M+ z                        pLight->Specular.b = 2.0f;9 Q% ?* Y7 a, e: H* Q$ o
                        // á?oˉ
& l1 j+ h" g- M8 \7 h                        pLight->Ambient.r  *= 1.0f;7 C  S/ a; o8 q* r( r* {
                        pLight->Ambient.g  *= 1.0f;
3 x  n  n" o9 \$ ^1 G                        pLight->Ambient.b  *= 1.0f;
0 k7 t% r( s8 b#else //__YENV
0 i, R3 m7 E% B, J+ t                        pLight->Diffuse.r  *= 1.1f;
: t$ ^1 \3 H8 y                        pLight->Diffuse.g  *= 1.1f;
' _: q0 a& ]/ Y/ Q0 {                        pLight->Diffuse.b  *= 1.1f;
: j; v) B, u* T- b6 Z( I                        // oˉè* ??à? ; ^% c7 Q4 y" r) I
                        pLight->Specular.r = 2.0f;6 |' a8 c+ j) Z( p7 {  J1 p0 N. J
                        pLight->Specular.g = 2.0f;
& G% F2 f" T2 [- a                        pLight->Specular.b = 2.0f;( G: M/ A9 J7 R6 ^
                        // á?oˉ 2 ~1 w4 z  x! F5 V; t* H: Y* _
                        pLight->Ambient.r  *= 0.9f;
9 N: n6 \; o- D% o" O                        pLight->Ambient.g  *= 0.9f;
% [( I1 R, I* T                        pLight->Ambient.b  *= 0.9f;
5 D2 q9 C' h2 k/ t#endif //__YENV
# W8 K; U+ ?' B/ V                       
2 k$ b7 m5 M/ s8 @% b0 Q                        memcpy( &m_light, pLight, sizeof( m_light ) );- s# H' Z4 D: n1 \) G2 b
                        , C; ?; I+ C: U1 R" e
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 N9 P8 g  T5 N7 p! x8 u3 Q                        D3DXMATRIX  matTemp;/ b& J5 U- O8 ?) f9 w2 ~& S
                        static const float CONS_VAL = 3.1415926f / 180.f;
7 u4 Q3 E6 O' s, E6 w8 j3 p( W5 i& v5 s, Y
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);7 q# V! v5 X) z& j* [8 [
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
2 r4 g) [8 B& R4 p# h/ c                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); . x9 K0 E" Z( o3 Q
                        pLight->Appear( m_pd3dDevice, TRUE );( D) o6 Z6 P! d9 x
0 x# H3 ~3 C% R+ {5 I
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 W, c+ b* |8 T3 n6 d, }' d! ]
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
% M! w- U, l# u6 [" w                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); " J5 ~, @  j7 ?, D; c

7 z9 l- d! Q. e, [# a  E$ I                        DWORD dwR, dwG, dwB;9 u3 R6 [+ b. s- v' l" _3 A+ w
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
5 X9 M" v' _. E3 H# Q4 d; n5 o                        dwG = (DWORD)( pLight->Ambient.g * 255 );+ [0 C7 B! F$ X; z1 g0 t
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
% ~# U6 x7 ~# T% o! n: L                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
; v0 U6 @9 Z* b5 N5 W; L" o                }
: {( g" [* d9 p) Y& o# j        }
: H! q% k+ j( U0 x2 V) p% t+ J2 a1 i* H+ I
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );/ n+ t& u8 d+ {1 M
        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) );
, c/ i3 k8 Z" N9 `        ::SetLight( bLight );
6 |: s  k$ M6 A
9 H. i9 m0 X) k( Y% U        // ±ao? ?D?í???ó á¤à? 9 T" P; L) Y! v
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 \6 W# {" \+ q3 l% H8 M) o( f8 I        7 }" K# [8 n0 q) b9 J3 I- [& D
#endif // not WORLDSERVER. z, X( S7 }" E
}
: s5 l) g/ J' D7 {0 N并更换5 x) m4 [8 H$ m" a8 Z
Code:5 O% a( W0 U6 `* V% O
__FLYFF_INITPAGE_EXT2 A0 @' R5 j/ @
定义2 X1 P: Z, V9 F8 y2 x$ ]: v! ~
0 O' o+ T0 C! Z& Y

4 w% K; B7 s" G4 w/ g; @5 e) ?/ h/ j( e; _% n* u/ e0 [" Q' T4 X
+ K. N% r* \- r" v  c7 c9 ^
现在终于删除我的狗屁加速...' c4 K- a4 u. J$ i; g0 x7 A

: ]. V' W( l1 |" c
: G! Q6 x( \5 i) P$ m* I2 u2 u. r6 j2 Q* g) _9 t! V2 b; G





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