飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:1 v3 }/ @9 h& j. ~" s
尾翼:
: |9 s% ?/ ~! E9 v) d" s: L# N) w! m! H! T3 `+ k  m
代码:9 G5 ?- ~$ n/ d6 n! D
CWndAutoFood::CWndAutoFood()" x4 z' }+ n8 g8 u. H& K
{
; c9 M* ~: i3 o9 P& _        m_pItemElem = NULL;0 X% p4 [: X' ]1 D8 [) t9 H
        m_pTexture = NULL;& g: z( V& @7 _6 i  _" `
        bStart = FALSE;
# p5 V. |! k* a/ |0 n& F}5 O/ F2 ^( m$ p+ _2 e

) e" |1 }$ z/ l- g& A5 C& fCWndAutoFood::~CWndAutoFood(): {  o. i& m9 ?* T; g. L
{
6 w# a$ a# W3 [0 k3 S$ _        AfxMessageBox( "AutoFood ist gestorben " );
0 l# N5 {1 x9 P2 D( \( d}7 Z4 i/ ]5 S. Y/ `, W# K1 l
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ }* k$ b% g$ h  F( n' A{
. b' O. G1 q" w. U        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
3 r  A, o4 F% S( M& J$ S}. i& k# ^4 L' J6 `
! v! {- n7 Z4 R" E( k3 e+ t
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 e8 {; ^9 I/ |, v: |7 U{
: y0 @7 X) I$ L5 J3 D, |" ]        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );, W: Q  i, d% n9 `9 _1 v6 R! D7 h$ d
        CRect rect = pWndCtrl->rect;" T/ E$ H* r* l. t9 B" Q  I  V
        if( rect && rect.PtInRect( point ) ), U' }6 t2 x' {# m
        {
. T2 Z7 g8 p  g2 e8 g                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );9 W5 U8 j* E( {  h* N! j
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 z( D6 _4 e' t9 w( J% M                {
, _# w( D+ x5 _4 d$ B$ G7 f0 H                        if( m_pItemElem )' W) e$ w& n* g& U9 O
                        {  W1 d4 N1 I5 x3 |
                                m_pItemElem = NULL;
4 s3 q) B8 Z" D- a# P; L                        }* I; i6 s" D9 I! h1 q3 L- \
                        m_pItemElem = pItemElem;
% W" u2 h$ Z5 }                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
0 t/ d! C6 f6 ~9 u                }else{6 l! T, }( V, k" g& ?' q2 y  @1 B+ i
                        SetForbid( TRUE );
2 l& y5 I# s$ K; G+ U                }  v: B& [) o7 w7 u+ a
        }else{' a5 P: X* s3 O
                SetForbid( TRUE );
$ m" S+ J. t5 i! G2 }        }0 Q: S" x7 x! q  x
        return TRUE;4 V3 c! Q0 W' F- p
}
" A6 |- x1 _. \# g
9 V# x. c* L6 A0 Z0 @1 aBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )( O* W( B$ v  F/ P
{0 _- W! `, _, R. h
        switch( nID )4 P- ^- U8 z! h
        {
/ O( O6 ]: C4 n5 T& N! T        case WIDC_BUTTON3:
1 t; `! T# S/ D7 S, ^% J                {$ x$ D* a# o% r2 j8 j  h
                        bStart = TRUE;
: F9 y9 O& V2 M8 Y# [                        break;
* o  I9 i+ o! A8 \                }
+ D0 D) O, n+ L        case WIDC_BUTTON4:
9 P5 O( {% l: Y8 f' }+ y                {
; w. i, h* S) D( n                        bStart = FALSE;
) n' J0 P$ x# T                        break;
8 E* |6 X0 h7 a- P                }' R4 ^4 _  m5 Z0 F! I/ \" M+ [
        }' s( Z) K- |  x
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
% F5 m; d& w! u+ g' G& i  n# G}       
& j1 q/ W4 B4 h4 gvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )0 _1 Q( L8 Y/ B, K3 h2 n& K
{
6 k! z5 h( u! a8 y+ Q! D        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );+ j1 t) z( R1 H3 }3 v# \1 _* m
        if( bStart || !m_pItemElem )
' |* H* y" x1 f7 }& R        {
: F$ V: T2 k( ~; f) s                pBtn->EnableWindow( FALSE );
0 ]+ ~) ~! ~1 }! X. l8 P. v3 \. h$ b        }else
/ L. l( t! F1 N4 E8 n6 D                pBtn->EnableWindow( TRUE );
8 I. s# B8 Y* L4 d" r1 F4 K        if( m_pTexture )+ v/ U. R# ^0 \% y
        {
! e5 O0 W$ u6 u9 Q$ T                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );- P% B) [% h2 n8 `0 }
                if( wndCtrl && wndCtrl->rect ): r2 z1 ]6 t% r- W
                {3 j+ T2 `1 B4 s2 h% e' s( l; T
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );, k5 X4 j1 r! F1 E. x4 y
                }2 i0 |3 B" s8 F/ K7 m: ^
        }; r6 \  m6 h( `0 l0 ]5 P
}5 v7 L1 w3 f7 f9 z4 H) K- q
9 p$ f: J- F/ q% Y5 W9 J
BOOL CWndAutoFood:rocess()
8 [. x1 |! H2 n6 Y& S2 D4 Q4 g( G{
* Y. G! H8 a7 [        if( bStart )( \3 g. j/ `- v2 J1 t
        {7 i$ B, x# X3 W$ f. j2 y
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ); R/ I" b$ J/ X  Z- b' o7 s
                {# t. t, e8 F/ u4 Z
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
+ c7 z4 M( j: l: q; h2 J) v                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
" z) O, f" j* a                }else{
, m! `2 ?% g' q7 O8 N7 b+ i                        bStart = FALSE;
+ C/ p" L- A+ V' v& H' J                        m_pItemElem = NULL;
- L/ i6 R" u7 T. Q/ Q6 T                }. g$ N, k  m3 ]/ c$ O% o. I- }& ~
        }, A' U5 {8 U4 x! K0 z# O9 k
        return TRUE;
+ x9 m* Z! R9 i8 y8 `' G0 n- H}& T+ j, t( j; |+ g2 j1 A# X1 a0 U9 x% c

' _; F; I6 w: m* K/ E3 Z& C登录视频废话:
9 q) q3 r; L: P3 V尾翼:
7 I, k) b( C0 f- s5 W4 D+ v- w( [' ^* r1 ~
代码:
1 J7 O8 _  W0 u1 j
3 k4 p: V3 L6 B+ Hvoid CWorld::SetLight( BOOL bLight )/ b. C. {2 K- d9 d, k' E2 ~4 Q0 {
durch$ ~* `$ y4 A, S1 L* O/ O9 q
Code:
; H: L* x1 P- V- O  Ivoid CWorld::SetLight( BOOL bLight )
& S* b( k( g8 I3 s) _" R2 F{
6 a4 I) F2 `1 J/ |        //ACE("SetLight %d \n", bLight);
/ b0 a  P, E5 k" W) o3 U       
- }( B( w& }" U' o+ ]  A- z  F' A#ifndef  __WORLDSERVER
, ~) T2 F- I" e) d$ Y* |* N        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
+ u% o4 k$ e3 z* o        CLight* pLight = NULL;
! O2 K+ U. _/ Y- ]3 `: V$ f5 i$ r) p* y
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );4 |9 [: T8 V) s% H% r7 M. n
/ v& Q3 |  j, ?8 D7 r& R6 q2 ^7 M) Q9 W
        pLight = GetLight( "direction" );3 y  E% c. E, N9 c; ~! |: x
- j' |: z1 {9 ~6 V3 V( K
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ ~. t9 h- v2 T        if( g_pPlayer ){) g9 l8 n/ m4 t# C$ `: r
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );* r( z, `8 P: E; C0 w
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 }4 r2 X& u) T! i                {0 Q$ `) ~# D& P/ ]2 I
                        if( pLight )
' F8 r/ h5 m3 p& j: O( X                        {
1 p3 [( ~# f! {+ t& i. L                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];: K# e$ s- i( c1 F  k8 |
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];: a+ A7 a% c; z8 y" F
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];1 {( s" M0 h3 `  e' U7 ~1 t6 f1 }
+ M1 x/ \& R5 q
                                pLight->Specular.r = 2.0f;
: p+ T/ Y! h8 [3 o; Q8 H- i                                pLight->Specular.g = 2.0f;
$ h; [3 F0 B2 y( ~- k                                pLight->Specular.b = 2.0f;
8 b( e' O$ k* G  d       
1 z# X  X1 l. [                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];2 k& u$ E! l( [: ^  }
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];$ M# e1 V5 `3 a) N1 n3 a3 q% {6 n$ n" r
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
1 l) m7 J5 F0 b& n5 {        ; A  w1 P- N7 p4 O4 E3 r, ]
                                HookUpdateLight( pLight ); + k$ U: j  A% ]% S% D

5 \. Z4 A% M% H/ |2 h  T) v' i                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
* H' a% \8 h) ?) e! |               
8 B$ P) O- y( e! ]& \, ^4 X0 |1 ~# Z                                pLight->Diffuse.r *= 1.2f;
# e- P2 `8 M; K' P                                pLight->Diffuse.g *= 1.2f;5 z0 {2 A% i! D6 e
                                pLight->Diffuse.b *= 1.2f;, g. k, ?. L! [+ ]! Z9 @

& E5 A) O4 M1 A( y% V! [# d) A: D                                pLight->Ambient.r *= 0.8f;/ r& f4 v) W6 w0 N4 i
                                pLight->Ambient.g *= 0.8f;, R" l( M/ m# n" P7 x# Q) I7 A& c
                                pLight->Ambient.b *= 0.8f;7 N' C3 |4 C, v3 ?
        & P* l! K& G- q3 {5 u, s/ o
                                memcpy( &m_light, pLight, sizeof( m_light ) );3 ?. _  M5 I, ~1 M9 ?- F

8 n, W+ R+ w( o3 {. z! x                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);) t' E% O- M: [) P( E' f8 A8 e
                                D3DXVec3Normalize(&(vecSun),&(vecSun));# E) P/ M% S( m+ b
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 5 `' ]0 b) Y$ j, {! r' J8 `& s
                                pLight->Appear( m_pd3dDevice, TRUE );' v% g3 a! v) N, P
                % ]2 w% W5 ?/ D- {6 W1 E
                                DWORD dwR, dwG, dwB;, Z$ D$ _7 L; _$ {! p' S( E
                                dwR = (DWORD)( pLight->Ambient.r * 255 );% Z* f  U  C1 g/ F/ h
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
# M' ~/ R& I6 ]- n1 E9 D+ P                                dwB = (DWORD)( pLight->Ambient.b * 255 );
4 Q$ N* q1 m& a, ]* k                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( _7 Q2 j9 p7 _0 @0 A5 s3 u  |                        }9 N- `* ]; D1 h+ Q$ s" d
                }8 u' F% ~4 N. a- C/ v5 {  R
        }
/ {5 z: s# R+ }8 M        else
; }; \+ ?. O1 o; o#endif ( j( g3 C+ z( s

; Y, i  l+ R& W3 y& y" d9 X        if( m_bIsIndoor )
3 s4 N  X4 {% B5 [* b7 b        {
0 y" ?9 Z* N0 d3 s9 B" V( K/ H                if( pLight )
) }) J2 O, o. g+ n9 \: D                {               
2 y. n3 @/ Y& ~8 o$ u) o                        // à??μ oˉè*
. q) I( s2 r# c7 s# e& ^' y                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! i4 J5 y# l+ i5 K% ~- C& ?! i) V                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;; N4 m) l9 m4 b% W
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;1 U; [! ?# [* `2 V

" j# T* m5 Z4 a! A1 P( N: [                        // oˉè* ??à?
# h: _. {! D7 ~+ o( n! M                        pLight->Specular.r = 1.0f;
, D0 x% B9 _% H2 ^0 {7 Y                        pLight->Specular.g = 1.0f;6 K/ f) Y0 C2 ~* i# y( D/ P- J
                        pLight->Specular.b = 1.0f;9 K) w$ ?3 u, ^
                        // àü?? oˉè* & L: H. Y0 G# q! t9 T- B: O
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 P; _) y' s/ N; H                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
% V5 n4 X5 t) Y  w                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;+ J8 ~$ q- r4 w( }& e+ C" J1 j- l

1 y1 m* T1 T7 @: x- d                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.' P# m8 l7 _: c+ k% F4 X0 i
                        {* L) F5 h: j, t8 A7 g" `
                                pLight->Diffuse.r *= 0.6f;
# D/ K5 w) m( Z* n                                pLight->Diffuse.g *= 0.6f;: i- q7 w4 X4 ^$ R2 K
                                pLight->Diffuse.b *= 0.6f;
. p7 @, r8 k$ ^7 L; |$ z( d; K                                pLight->Ambient.r *= 0.7f;
0 `6 `; U! G( b( U! Y                                pLight->Ambient.g *= 0.7f;
8 {3 k% q3 E! K  z0 b+ A                                pLight->Ambient.b *= 0.7f;: H6 U% u4 O6 A  H) t
                        }! h6 p/ m1 l( L  V6 c& s( f
( V% ?" D. z. E* c% W" o) J
#if __VER >= 15 // __BS_CHANGING_ENVIR
+ C* U/ T# c1 M2 [" I                        if( g_pPlayer )
3 A" `! j8 l) E0 ]% m* W) d9 |                                HookUpdateLight( pLight );! q. `; G5 X3 h9 m- y, v
#endif
: X  m: y: U/ i) o% D                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& o+ v( t9 T, P! u. O( Z
9 j6 t; ?& }# h, S' w
                        pLight->Diffuse.r  += 0.1f;
3 o, ]+ x& K1 \: x# [                        pLight->Diffuse.g  += 0.1f;
4 r+ j, l2 o2 a) D                        pLight->Diffuse.b  += 0.1f;
* X) k+ _8 u; y! \! l  O7 W% J                        // oˉè* ??à? 0 C* D' |: r7 T: y, z
                        pLight->Specular.r = 2.0f;  h/ U5 n  E' p# ]( D7 R
                        pLight->Specular.g = 2.0f;
0 l3 w6 B, `  d# A. ?" ~4 t                        pLight->Specular.b = 2.0f;# P9 U4 L( N: h4 z" Z
                        // á?oˉ
6 O! j- j* X. W, N& J' |$ j& f- N                        pLight->Ambient.r  *= 0.9f;+ Q* \/ x( W/ L) U
                        pLight->Ambient.g  *= 0.9f;
0 d: @( B# E& Q) V" r                        pLight->Ambient.b  *= 0.9f;8 e. k: R$ v, p5 ^5 N

4 j$ x4 y* B& s/ {5 J0 M0 @                        memcpy( &m_light, pLight, sizeof( m_light ) );) q! i! t1 i2 E' k
                       
, S' }5 O, E$ h: b                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* ^/ r, h# H2 x6 w) _% l                        pLight->Appear( m_pd3dDevice, TRUE );
3 k! [6 G4 F# P  N- M       
3 U/ W" L' n5 I- e4 _                        DWORD dwR, dwG, dwB;8 k/ d9 j% r* G. t) ]
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
8 r$ y& K1 G+ |                        dwG = (DWORD)( pLight->Ambient.g * 255 );
- |! D: X/ [9 d& m- J                        dwB = (DWORD)( pLight->Ambient.b * 255 );$ y* L, k9 M  E) \6 F
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 O1 b  M) \# }5 c2 r5 j                }
6 O3 E3 n( f' i+ ^  k2 ~1 K        }( G& R: K  l6 ^- C
        else( m9 }8 V1 n' e; S3 |# q5 i
        {8 V# w, I9 r9 t3 ]
                if( pLight ). s) u+ ?- F; o
                {# h2 O7 z# [( `9 E" Q
                ! R& {) K2 R) e) s7 ^' K: R
                        int nHour = 8, nMin = 0;
: w% Z* A8 O5 b/ ?: m        #ifdef __CLIENT
1 {0 r9 J- N5 Y. K1 O7 V                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! B  C% y2 h1 [                        nHour = g_GameTimer.m_nHour;
( M, n6 R! x, m3 m8 L                        nMin  = g_GameTimer.m_nMin ;$ V7 ^8 N8 a2 e
        #else5 K! {3 W( A; V- i6 x1 x5 v
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( l7 V6 o. F5 z5 e) g                        if( m_nLightType == 1 )
% u) l! {6 I8 x" d% y2 K" z: N% m                                nHour = m_nLightHour;, c- Y  h5 J7 V, C6 r4 ?
        #endif
; P7 L- A9 s* R( {                        nHour--;
% G) d" _. `2 C5 c* z# T                        if( nHour < 0 ) nHour = 0;
% L, E, \6 O+ g0 i0 L) |                        if( nHour > 23 ) nHour = 23;
" ^% r+ n0 U% [7 _+ h9 \7 q1 c6 q) U
                        //if( m_bFixedHour )1 g- |+ Y' g/ b  X4 _! R- _& |
                        //        nHour = m_nFixedHour, nMin = 0;& f9 _2 d. K3 X) M) x! A9 t+ T
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];3 S* s2 t. a& a( a  K2 I5 s
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* O4 _& L1 k/ P, c  e6 b
, a  ?9 v# h2 {: c                        //m_lightColor = lightColorPrv;
9 j3 {2 T; t* I' Z8 y9 q                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;4 J; M  ~4 @+ J& `) P, V
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;  b, D% t: q( Q# E+ G1 a
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, m, @6 p1 H1 ?# j# g+ K' ^% q6 S: U                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;  ?: }+ F+ O' a. _5 Z" o) ~
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;+ f7 H' O( z. }& S/ E1 _# q
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;  X' i! E3 t0 o3 R' b
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% K0 b6 ?9 W/ C; A  b1 {
4 D; E+ a" ~: p$ K0 s- C# j& ~                        // à??μ oˉè*
( x3 Y7 B: Q+ d  k  y( \( j0 k                        pLight->Diffuse.r  = lightColorPrv.r1;
8 ~; F9 E! Z2 R' s                        pLight->Diffuse.g  = lightColorPrv.g1;
, M7 {0 J% C5 C% @9 S4 A  V, H                        pLight->Diffuse.b  = lightColorPrv.b1;! C9 t  N( n# i; F( O
                        // oˉè* ??à?
% Q0 U6 E6 o% J; b; I/ m9 N& ?' K& R                        pLight->Specular.r = 1.0f;
( Y  _( g2 M  Z# U# z2 r' ]                        pLight->Specular.g = 1.0f;0 ]& O5 b. \9 B# }: V7 l
                        pLight->Specular.b = 1.0f;
# D) C+ R% W3 b2 z6 e( u                        // àü?? oˉè* 1 Y; s; X6 g7 a
                        pLight->Ambient.r  = lightColorPrv.r2;
( P' p& }2 ~6 M) ?7 y( i; S                        pLight->Ambient.g  = lightColorPrv.g2;
; g: a- d  R. P9 M. E( D                        pLight->Ambient.b  = lightColorPrv.b2;
/ a1 [8 c; a* A" N2 t' s( X3 ^7 ?, M( ^$ i) S
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 a3 S% O4 `4 Z2 h4 ?5 X3 Y# E/ z# ?                        {2 j, n3 T* Y: ?0 `' X9 O+ u; E
                                pLight->Diffuse.r *= 0.6f;. j! E7 s9 C5 e
                                pLight->Diffuse.g *= 0.6f;; T- q' C5 `& a( r4 ?. e
                                pLight->Diffuse.b *= 0.6f;9 Z, N) L7 {3 w% {0 ]
                                pLight->Ambient.r *= 0.7f;7 ~# n1 y7 \8 ]9 {# b* p
                                pLight->Ambient.g *= 0.7f;
  Z2 w2 i' m3 Y1 \( i3 m                                pLight->Ambient.b *= 0.7f;! b7 ~& w3 J& T5 z1 P
                        }
) m: ]9 s( O# v8 m                        + x# s/ a; k6 X- J3 x7 V
#if __VER >= 15 // __BS_CHANGING_ENVIR
" F- C: u6 `# F2 K7 \# M                        if( g_pPlayer ); v2 N& M4 {! Z3 m, I6 U
                                HookUpdateLight( pLight ); $ ?6 r: r% d( n' E" N
#endif+ ^7 B( d1 G% N
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 B; N5 P! s+ l" ~. d4 ~$ v
& m' {: `1 O4 U/ h
#ifdef __YENV
5 p0 E) E2 ^6 ~# A6 h$ w/ }  j4 m                        pLight->Diffuse.r  *= 1.1f;7 F- |' \1 M9 b, s3 T
                        pLight->Diffuse.g  *= 1.1f;
  O, ~, Z# B4 p: X                        pLight->Diffuse.b  *= 1.1f;1 _: ?1 F- G  K5 P
                        // oˉè* ??à?
* a* C: A/ N& F& {                        pLight->Specular.r = 2.0f;
$ V" `# X" z- n' o/ U+ E                        pLight->Specular.g = 2.0f;$ [+ S: X6 |( U0 g9 ]9 s5 T4 ^# P3 M
                        pLight->Specular.b = 2.0f;
& O/ m3 f* m$ E* _7 J& @                        // á?oˉ 7 i. U7 F  B9 D  U
                        pLight->Ambient.r  *= 1.0f;
, ~3 M! g6 J2 l0 C3 r5 U3 s                        pLight->Ambient.g  *= 1.0f;3 P3 j3 Y8 U1 v' _
                        pLight->Ambient.b  *= 1.0f;3 @( `" N6 s1 E0 ~
#else //__YENV
* A1 V  r' G* W, h. B( R5 z9 M                        pLight->Diffuse.r  *= 1.1f;- V, Y$ F5 I5 o- z2 u- k2 A* h5 U
                        pLight->Diffuse.g  *= 1.1f;
/ A( e; q+ F$ h  d                        pLight->Diffuse.b  *= 1.1f;7 @7 L  x5 C9 L  k/ p# s0 i9 W
                        // oˉè* ??à? ; P8 d8 U" u9 v- c
                        pLight->Specular.r = 2.0f;4 ?5 C+ w0 C; o1 y( ]
                        pLight->Specular.g = 2.0f;8 b* B  X& M  K7 V, J# D! j
                        pLight->Specular.b = 2.0f;
- X5 [2 K) w. [: K! }2 d& j                        // á?oˉ $ N6 U9 ^  l7 z, Z2 _- f
                        pLight->Ambient.r  *= 0.9f;8 p- Y+ Z* r" o2 R+ G
                        pLight->Ambient.g  *= 0.9f;
% J& d/ \3 Q7 S) d                        pLight->Ambient.b  *= 0.9f;
! X6 Z  P$ h. F0 K#endif //__YENV ; j: `( @- a( S
                       
# Q0 S* f( w5 I* B3 M                        memcpy( &m_light, pLight, sizeof( m_light ) );
  N, N6 y4 e3 a5 W6 u" u                       
) T* v& L; |9 c( K- J$ B* @                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);6 S: \* Y+ l8 c( ]- x' n
                        D3DXMATRIX  matTemp;
8 L& B7 C& e) _  a. |+ y                        static const float CONS_VAL = 3.1415926f / 180.f;
2 b- e$ v2 z6 G! G3 S
$ v5 s6 ]' P4 r2 v& [                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);9 I  @. |* A+ _* I
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);/ z% W, p$ @  e! `
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
* N* P+ c( ]% y, Q0 z& m; V+ b                        pLight->Appear( m_pd3dDevice, TRUE );
( h! l3 n* H; O; C# @8 C# h% s  }- z
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 i! g6 W  [; B: W. \
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
; H7 h0 Y' V) i: c. B                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 `+ ]9 a1 q5 Z7 R* ]3 O2 f+ J+ {1 z3 u4 O
                        DWORD dwR, dwG, dwB;* p2 m5 L' B& f  G! Z% J; f
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
; k% P) f' l1 [6 [                        dwG = (DWORD)( pLight->Ambient.g * 255 );* Y9 o" P" d$ Y  E( _
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
7 G+ [! p3 ^9 C; s" N                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        % t' P# K' B% R
                }
4 R, C  G1 G: }  X        }
4 y" ~; \5 x1 ~$ F' y( G( R2 u3 ?4 }* s& ~% u1 d
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );" {6 _1 B- a% x
        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) );
2 ^. j( E* I. s& l; |2 u        ::SetLight( bLight );! n- n1 Q7 |. x; G- k
3 t. b3 Z( \  g! q  S7 H$ ~
        // ±ao? ?D?í???ó á¤à? * k" S1 h8 D8 s! {: A+ Q+ ?
        m_pd3dDevice->SetMaterial( &m_baseMaterial );& [1 A2 Z0 X  y9 k1 A0 ~! H
        ' D$ O1 J6 x2 G
#endif // not WORLDSERVER+ I' a1 f- W2 ~8 n3 S8 n0 j) `
}
8 j9 i. ^7 d/ I8 b1 d- `5 E并更换6 c0 ?; w3 [  r0 X( Q/ l
Code:/ `5 c+ Z; w% l3 _- J  m1 d! I
__FLYFF_INITPAGE_EXT
" x' y* Z0 D$ C定义. y1 R) M  n1 ?( U  u- q
; H1 @0 @) @. Y+ G& y5 q5 s
+ H5 `! |& C$ A! }/ Y- C* s7 `

* _/ Z4 k# ^6 e' O; {( P9 R) T1 ?1 x' E
现在终于删除我的狗屁加速...
; p3 s, A" N: M
2 A2 s9 t6 j0 ^2 R
/ i2 h# D7 s% y! R& j" E
2 t0 N9 Z- i" o2 y4 I




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