飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
# V% H: X8 b) K尾翼:
1 ]5 E$ G( d; w; u3 j* t4 @/ D1 n
代码:+ W$ Z# G3 s- G4 |- |: _' Y
CWndAutoFood::CWndAutoFood()
% d+ H5 }) H2 }: Z7 r{$ V$ L" V' B4 m1 n
        m_pItemElem = NULL;& {. A# q+ r: Z& b+ G% W
        m_pTexture = NULL;" @5 _7 X8 R$ H
        bStart = FALSE;) C. X" y* q% ]; n
}. e% o$ F# @, Y. I

: k9 r; r* f; g7 }CWndAutoFood::~CWndAutoFood()+ ~' c, U4 J* u$ H! o$ t
{
* E' e: h! \- g        AfxMessageBox( "AutoFood ist gestorben " );, |  x, ~4 f$ S) M5 I( a
}
# o3 L! @+ G& {" g' z6 p1 U% WBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' C4 |: P- u" i7 V) S9 S{
% W$ c# S0 \) J2 e) n3 O        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
* B4 k, G9 @' @$ p1 g7 u}
; t) f6 l, t( j" p" z" Z' ~
0 ^! j  r. \4 f# k! ?6 ZBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; b' O. Z8 ?7 t  h$ B6 s{
% d3 Q1 I% U0 I5 j) p& |: b, w        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( W5 f6 [/ Z$ ^* R& Z' G/ S        CRect rect = pWndCtrl->rect;
, y, C5 B4 {; ^) k- Q        if( rect && rect.PtInRect( point ) )* y3 K1 K. t* Y- B
        {+ Q) q0 o  \/ x
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
" X& q# a, G) Z- _+ X                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
9 n# B+ m  N( @; S2 D8 a) e3 |                {2 [5 C. r/ D: M# P
                        if( m_pItemElem )
! U3 e, B8 d3 e' q                        {9 h7 [% O/ a! K. ]
                                m_pItemElem = NULL;
. F& l' _( s: r) l5 R                        }: Y! K! G% s+ Q: f! n1 [2 v+ |
                        m_pItemElem = pItemElem;# g. Q' o8 \2 [- T
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );" A1 u6 Y5 p+ o: I2 E! E' _. b" O
                }else{1 G1 U- B9 R; h+ y% y+ ^
                        SetForbid( TRUE );
- Q9 x2 d  y5 e8 O+ Z                }. f4 o+ e, _$ P1 J; n
        }else{
2 B! e. e; W  y9 s0 S$ m                SetForbid( TRUE );* z9 c+ [7 t8 i' W
        }! i% F3 X' r. J; {
        return TRUE;
+ n" D+ r0 b, l}
. B, W% e1 v( }2 o7 {
7 [% D8 y7 k4 z4 S  uBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
' E. v; T' w5 r/ [9 {% I2 O  l{
7 {/ p4 Z+ i# ?* Q1 v        switch( nID )8 y6 J; q/ P. s: A# j( a
        {
1 I4 q8 E) S& u* m2 x* V        case WIDC_BUTTON3:8 ~- v) O6 q- M; a- o
                {$ |( `3 t0 y& g6 @
                        bStart = TRUE;. [( V- T& P* v, W) T6 [
                        break;1 Q, z6 Z( ~$ G4 i* S
                }5 I. w2 G4 M3 \3 }& l
        case WIDC_BUTTON4:( A( v' T& I# e: t
                {
  S) D7 u3 T4 h                        bStart = FALSE;1 ?7 E: V/ D( g' ]# ], k2 l. `; M
                        break;
! H3 {4 Y, W8 A. I# K) o                }
# q6 f2 Q( F! J4 Q- W4 ~$ ]        }4 z% T5 e1 T8 v, `
        return CWndNeuz::OnChildNotify( message, nID, pLResult );! f2 e  {# G- l8 W& _+ [3 y
}        - |8 ?8 l8 k2 n9 {$ X# q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
& e- x( L( K- H3 k. `7 G{
1 g# E) w6 L5 ~! R0 r5 G+ s) C        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );8 k& O" {" `' N) F( G. Q: Y
        if( bStart || !m_pItemElem )
3 k: r; \7 Q: w$ W3 @        {
; p" A$ S  Y# [. z- k0 I; _                pBtn->EnableWindow( FALSE );
# `7 P% o4 [+ A) [        }else
& q+ [$ M/ C3 h4 [: j. N                pBtn->EnableWindow( TRUE );
; K' ~% B3 S( ^. S        if( m_pTexture )
) f' Q* b6 P+ y/ g1 `/ b# G( x' [        {
. j1 i' d; d% n/ e                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );9 z) U8 p2 y; s& x
                if( wndCtrl && wndCtrl->rect )7 e# G1 I/ P- z/ b6 y2 L
                {
) D9 }) _- O0 @" i                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- u; c+ p" U5 v& ~  q- M! h5 K                }* |4 g3 B% q: \) j1 M" ?
        }
$ I& O4 [$ y0 T' r}4 W  G( Z5 B; c; }0 ^) P  H
# M. _. Q. _+ {8 M
BOOL CWndAutoFood:rocess()
7 L3 w; I3 e: ?- N& f$ l{
. Z, N2 B- B: {  F2 W' k* P3 k        if( bStart )4 T$ |/ b- I% U
        {
4 ]2 e, z$ ?$ j; O5 q) |, D+ L1 H4 S: P                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
3 H' U/ E' i+ b& x; |, M                {4 \1 T  ^( Z; n2 R2 k0 B
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )" b8 M8 ?! w3 A3 ]1 S
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 C: L0 W% F5 G  m+ p. B4 N9 D2 R2 \                }else{- g3 q7 \1 y" d
                        bStart = FALSE;8 v0 u6 e' e, u8 Y7 k1 b# b
                        m_pItemElem = NULL;
2 i$ u) y6 z+ @' {/ `8 `: u                }
5 z  u) ?$ P% R- J& e7 W5 _        }% G2 v+ D8 q1 k# Z
        return TRUE;
2 T0 i3 o$ G7 P& x2 X# J1 c( p% ^}
' x1 |' G- T; f' W! B5 ?" L" S) a5 |' R
登录视频废话:5 `5 h6 `; q* D7 o( Q
尾翼:
, N) R0 B) T0 W5 s/ f( p  ^
- R- T) Y5 _6 j  d9 p% ~代码:; `) p9 m$ _7 \' i
  W% Q' t4 K. [3 k
void CWorld::SetLight( BOOL bLight )1 U% V! c3 y; h, w/ _. g+ [5 [
durch
/ h( w" e  {' S; |Code:
7 i9 O( l5 ]9 svoid CWorld::SetLight( BOOL bLight )4 c5 E2 `9 u& J
{: a4 k$ b2 r5 c4 h6 \5 W# g
        //ACE("SetLight %d \n", bLight);% l. L) u3 z  `) z% V
       
& @) p. ^+ m, a4 r0 V# j! T#ifndef  __WORLDSERVER
# t, c- L7 k/ y# ]        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ ~; {) R2 U3 p* y8 g1 o' w. [0 l
        CLight* pLight = NULL;' T- j$ [, O' A1 Z! z; D9 B2 t3 o
  ^6 F& C5 |, b. m9 K# U. L
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 t; h4 w# {% _" h0 c8 V1 m9 Y& D, L$ P4 O  g% D
        pLight = GetLight( "direction" );
+ }2 q6 N* B: u" N) D( U! y  I
3 a6 h7 W; |0 \8 ]. \# \#if __VER >= 15 // __BS_CHANGING_ENVIR
; @& b+ _( h9 E8 o        if( g_pPlayer ){' s/ B7 G/ D" {. o" }. T
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );6 u$ w8 ^; H0 l5 H4 B
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
' n: g! J7 V) j+ T2 c' ~, H                {* Y% x* l8 z# i6 F
                        if( pLight )# j$ L0 V5 v% s: {4 b% Q3 Z, t" P
                        {
8 L, l, ~3 q) O7 k                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];" \9 J- u. t$ K$ [9 |+ [
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];  r: K9 G! B' @
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
) @; j; J0 b6 ^+ A9 {8 M) }3 a6 {
0 f/ S6 `' K. c! R                                pLight->Specular.r = 2.0f;2 |. x* _& i* ^. G5 j
                                pLight->Specular.g = 2.0f;
- d# R# d  l. e( p                                pLight->Specular.b = 2.0f;
& [6 n+ p; N, V- m# y$ y        # ^0 A/ d3 I& B7 D- [& Q' g, Z
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];7 ~0 f4 N& d1 W$ R# }) n
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! d4 {. d# o3 O$ J1 Q1 b                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% y% F3 D& f4 M4 ^2 i+ A, O       
! N  L5 p3 j% q5 b5 k                                HookUpdateLight( pLight ); / u7 O1 E5 V; m; e

# y" P3 H8 _; i2 O7 K' H/ c                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );/ j* k* H; E3 _$ ^; O: E$ Z
                6 ?5 q+ Z7 U5 \1 c
                                pLight->Diffuse.r *= 1.2f;
- ~9 d) s2 V% v                                pLight->Diffuse.g *= 1.2f;+ t" v! X2 m. g: j8 T
                                pLight->Diffuse.b *= 1.2f;
: M) ^2 m) e, l0 o* c
) d8 q% [, g1 n0 s/ m                                pLight->Ambient.r *= 0.8f;
& B4 G7 v1 u* u0 K" e1 M                                pLight->Ambient.g *= 0.8f;5 I9 _2 D( p3 A% V
                                pLight->Ambient.b *= 0.8f;
) d+ d" [  j2 A* ^( k* t       
9 ~; l3 w( K$ H4 Z2 j7 R                                memcpy( &m_light, pLight, sizeof( m_light ) );. a8 W6 v3 n" q

4 ?" i7 u9 \1 D! E, g( m. Q                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);9 Z* k0 W4 @/ S6 N, b
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
0 t" R7 E( _: ^                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );   R' Q% ?$ u! J' x1 z9 G/ `. C
                                pLight->Appear( m_pd3dDevice, TRUE );- p- R+ ]1 I  d8 a$ R$ ]0 n
                9 e) O0 U  Q* m$ p- l  Q
                                DWORD dwR, dwG, dwB;+ G& U1 d- ]( S7 x
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
2 [3 a6 \7 k' j- U2 P: L                                dwG = (DWORD)( pLight->Ambient.g * 255 );
  E  T- ^9 T) X  b6 L9 U" O                                dwB = (DWORD)( pLight->Ambient.b * 255 );! f, E1 {! p6 A4 I' N
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );9 y3 D' w( e0 L4 v* A6 x. O- g
                        }+ i, A- Q0 I6 n* s+ A! d. E
                }8 F/ ?  s( ^: S. i
        }
8 D" f4 u# G3 n        else
* p7 z4 i& s( ?* }+ m- d- c2 h#endif
1 R, e$ c" u) F% T- Y! ]
; [1 `  [. n; T        if( m_bIsIndoor )
8 k6 {/ [! O; n9 F0 l$ Z        {
2 l- n% _% z. I+ ^" A8 @5 M                if( pLight )
3 \" y2 N; D: ?' M1 J                {                & f  X- V0 r$ J$ a! x' B
                        // à??μ oˉè*
. i, t9 u8 ^* W# C% a                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;1 Y% p  \& u' m2 n+ J
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;+ S0 u7 ?% j# x* J" m& g
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
& @3 }4 P0 y/ }7 B
- x" f6 [/ r/ k% a  t& h. e                        // oˉè* ??à?
3 ~# C  n  L) h9 C- Q                        pLight->Specular.r = 1.0f;& \8 {5 b* m+ Q' ~& G. Z8 W
                        pLight->Specular.g = 1.0f;
* R; z; e. U% I7 z                        pLight->Specular.b = 1.0f;, Y* Z9 t+ t" U
                        // àü?? oˉè* 3 n& i7 K0 t' ?+ P1 e4 g) T
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 k& q: N! }+ j- m5 G6 M5 a% K                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
4 q3 E. W3 z# d: e9 f/ ]' Y; S                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;4 _) D  @/ `4 t# q
) G, {! E0 U6 F5 ^* u
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 t- e0 l$ `# x5 }+ j                        {
: m! U' s; u8 G) f# ?                                pLight->Diffuse.r *= 0.6f;
+ V( n0 k; w3 ^5 W1 x9 F- M; n$ R. M                                pLight->Diffuse.g *= 0.6f;
; a+ t# p( [6 o% B6 K                                pLight->Diffuse.b *= 0.6f;
' X! U) p6 V9 x- V1 H6 @                                pLight->Ambient.r *= 0.7f;, L- j. {1 g0 q  b5 j" d
                                pLight->Ambient.g *= 0.7f;& P- C! j. O. M# ?8 V) }! J
                                pLight->Ambient.b *= 0.7f;8 b/ ]. }- u) P
                        }; G& e4 |2 b1 t  D9 l- g
2 C8 F" ~  Z! k3 a2 k# I
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 i1 H# E$ Z# d& C0 S, g8 {% X% o                        if( g_pPlayer )
# L/ x: B& _7 L, }/ P, w! ~                                HookUpdateLight( pLight );$ i& ^# Z# {# X1 U4 P
#endif
; x- p$ h) s# s: \# W4 w. g                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# A8 w! {# b- u3 f% ?, f5 |

4 M0 x& V* Q* `: P                        pLight->Diffuse.r  += 0.1f;
% e$ U& H. t0 A$ F5 h4 e                        pLight->Diffuse.g  += 0.1f;
' r" I* l1 k& C) c$ _$ E                        pLight->Diffuse.b  += 0.1f;
5 d. d- d- P7 M) ?  L4 X% f                        // oˉè* ??à?
! x, t1 g) G9 ^5 g: o1 G( G& z3 \9 K                        pLight->Specular.r = 2.0f;6 |6 p" P; ~! ~
                        pLight->Specular.g = 2.0f;/ |7 Q; P5 k8 o" U
                        pLight->Specular.b = 2.0f;; B0 G5 h! _9 q$ }1 r
                        // á?oˉ ( p' k8 s  t9 e8 Y
                        pLight->Ambient.r  *= 0.9f;! H6 L0 ?& h  P
                        pLight->Ambient.g  *= 0.9f;' j( V1 w$ m4 K$ ]; |0 Z2 c- M; F
                        pLight->Ambient.b  *= 0.9f;2 I# B( {: \9 X

6 h7 k' x  G3 s2 L                        memcpy( &m_light, pLight, sizeof( m_light ) );
6 A* q2 ?4 e& _1 Y5 G* Q9 f                       
3 E% z, [1 W3 ?6 n1 }                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ T! I1 q$ I/ T' K4 m* _6 N5 X& W                        pLight->Appear( m_pd3dDevice, TRUE );& o5 R: B1 k2 O" }- U0 ^
        8 \* I+ ?* G4 k' R' {2 B
                        DWORD dwR, dwG, dwB;
8 D; f" P! g. N- A$ _! y/ O( i                        dwR = (DWORD)( pLight->Ambient.r * 255 );
) k$ p4 A- o9 k  p+ b: q, y' R+ S                        dwG = (DWORD)( pLight->Ambient.g * 255 );2 w! ]- ~+ b- w0 k" J
                        dwB = (DWORD)( pLight->Ambient.b * 255 );* ]) |! g) P5 s5 w
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );2 ~* h6 t; i/ l7 v$ t; b# ~' h
                }
9 X, u8 o  [( Q' q# r% V" G        }0 j/ Y% u; [* i# {
        else
. t5 F- m+ u5 [/ f2 g7 j        {
) B5 D9 \1 c0 D! h& C% l                if( pLight )
2 |  |0 B, M" _. v$ X                {
3 l4 v( K' ^0 j9 S               
( q7 `: C7 g( ?& e0 n+ B5 p6 p                        int nHour = 8, nMin = 0;
/ r3 C* @+ z5 ^1 ~4 z        #ifdef __CLIENT
+ ]3 {6 ~! g; J! I2 n9 U3 t/ l, }                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: B7 D* A; V2 O" j2 w1 \                        nHour = g_GameTimer.m_nHour;
8 Q. S+ X/ f8 l+ K, W9 l$ s                        nMin  = g_GameTimer.m_nMin ;, _8 K8 |$ Q5 q/ D  _/ {5 F$ I
        #else- F5 n$ f# E3 G4 ~$ m0 W& a
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.  D4 N8 v" A  ~0 n8 c# o' f
                        if( m_nLightType == 1 )- G* T7 p0 V$ T+ H, q
                                nHour = m_nLightHour;
% L' A8 u4 }1 d. Q, Y        #endif6 {6 H/ {5 |8 ?
                        nHour--;4 \6 U1 f" [, R
                        if( nHour < 0 ) nHour = 0;
8 h4 y' @3 s5 E4 ~. s! P1 F                        if( nHour > 23 ) nHour = 23;
/ q' p% N+ s9 `, B) i0 L2 w$ z; h) V9 _/ L/ W7 S9 T
                        //if( m_bFixedHour )+ a7 p0 n0 r0 P! t5 o5 J- g- G
                        //        nHour = m_nFixedHour, nMin = 0;
+ r: p. t- ?4 p/ A                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];* |$ u+ S$ z/ b1 b
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
" W. e' S: N6 t) a% D' K: b6 R! d9 H* s) y
                        //m_lightColor = lightColorPrv;4 d: V! u1 J, X$ E% O, e4 ]) G- j- J
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: a6 j  o! r* [4 o; P0 |                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
, p2 t1 E  I( U6 I" z' H: q9 Q% n                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, y. N: K$ ^8 g) Q4 E3 V                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& {" \5 M$ s0 P% L% a                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
  F5 S( I4 n: Y# w7 l6 J2 q& s& e, _$ H5 t                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: y* V  S: S. I+ L                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
( H+ O  v1 f  D3 S& S% _" z
' Y1 _! G( L; r1 }0 i) l                        // à??μ oˉè* 8 f5 |/ Y& f9 D9 U' a9 E
                        pLight->Diffuse.r  = lightColorPrv.r1;
+ Y, |7 N* R6 W                        pLight->Diffuse.g  = lightColorPrv.g1;" @. D$ @" {: Y
                        pLight->Diffuse.b  = lightColorPrv.b1;& f! u! l# E2 t$ p+ W
                        // oˉè* ??à? ( k1 I+ r8 T' e; q# {+ |
                        pLight->Specular.r = 1.0f;
$ x: u) P2 i) G: W                        pLight->Specular.g = 1.0f;
# F9 O; y" ^2 _                        pLight->Specular.b = 1.0f;: [3 X& l6 l( m9 L5 w+ v
                        // àü?? oˉè*
. }- @' q8 l! D# ?2 ?                        pLight->Ambient.r  = lightColorPrv.r2;* s( z& ?0 D5 a) E) S+ @
                        pLight->Ambient.g  = lightColorPrv.g2;
& U, v: q7 R# I5 j2 b' T4 ^8 E                        pLight->Ambient.b  = lightColorPrv.b2;
8 N0 e) o6 Z8 G! a: V5 k/ R  x. ]: v+ \
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! F; H1 |' u* A5 p                        {* ]+ y: b/ ?( h% X0 I& U; v7 [! O# u
                                pLight->Diffuse.r *= 0.6f;
( N. a, ~3 M# R$ x8 ~9 z' E                                pLight->Diffuse.g *= 0.6f;
: |; b8 x- o$ P' a! I3 i                                pLight->Diffuse.b *= 0.6f;; E# i, x9 |4 K& B$ G& \
                                pLight->Ambient.r *= 0.7f;
4 q3 B; ~# K9 Q( N: m                                pLight->Ambient.g *= 0.7f;
0 u! q3 q; ~  w+ Y. X* D                                pLight->Ambient.b *= 0.7f;' a3 Y: J9 M4 v6 ]" B+ O8 C
                        }
- e6 e  y: }2 I* _, r                       
+ e4 ^/ x# T3 b9 h# A7 u9 X#if __VER >= 15 // __BS_CHANGING_ENVIR
* R4 f' U( J* p4 I; I, q                        if( g_pPlayer )
, X; @6 b8 `. P9 p                                HookUpdateLight( pLight );
8 X  \0 X$ E5 o' j#endif, Y- e: y. }/ y6 x
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. K) T2 Z7 c& E* i9 A9 F8 I5 w3 `+ Y5 [( a
#ifdef __YENV/ T8 V6 u* d0 k- |; o& [4 m
                        pLight->Diffuse.r  *= 1.1f;/ v8 _+ J: }8 r6 x' u" ^
                        pLight->Diffuse.g  *= 1.1f;. R+ T3 S9 I" A* p* _
                        pLight->Diffuse.b  *= 1.1f;
; f' G- r6 W2 J2 h# ?7 q4 n                        // oˉè* ??à? " r1 h2 m# a* |$ d
                        pLight->Specular.r = 2.0f;2 h: z( Q$ }' [( y1 P8 r
                        pLight->Specular.g = 2.0f;
* u1 @- c3 f" @& K                        pLight->Specular.b = 2.0f;
; `3 n% U; ^$ N* H0 v; V; m0 c% H# B                        // á?oˉ
' L9 l0 T( z7 [1 d, b  x+ w                        pLight->Ambient.r  *= 1.0f;4 k+ p8 d8 R9 r$ j
                        pLight->Ambient.g  *= 1.0f;3 i, z- V& O7 C( e0 y! ]
                        pLight->Ambient.b  *= 1.0f;' T( z& T, Z+ e, g
#else //__YENV, D0 ]; v# b% T
                        pLight->Diffuse.r  *= 1.1f;
+ }8 K2 z0 c  j. g/ V1 C/ }                        pLight->Diffuse.g  *= 1.1f;
7 }$ b1 z( S9 ]                        pLight->Diffuse.b  *= 1.1f;
0 ?& V# z: n. `0 A4 o                        // oˉè* ??à?
4 D/ ^; [8 J8 o$ D1 {0 L2 x. Y. N, t                        pLight->Specular.r = 2.0f;6 e% ]4 {# L% O; a( f0 ^
                        pLight->Specular.g = 2.0f;1 D9 w6 c! A1 W- j. a3 \& J( F6 b" f
                        pLight->Specular.b = 2.0f;" k6 t$ Y* l! R  s0 [7 |
                        // á?oˉ / {3 G7 W7 W) `0 i
                        pLight->Ambient.r  *= 0.9f;* v8 e$ l! j: H$ |0 e3 }
                        pLight->Ambient.g  *= 0.9f;
" A$ I1 K, i$ @  f" {                        pLight->Ambient.b  *= 0.9f;4 _# R; b3 S2 N2 {
#endif //__YENV
( m! i. Y3 n2 b                       
/ o/ c! p' z7 r6 ~$ }                        memcpy( &m_light, pLight, sizeof( m_light ) );/ {0 ^0 ~/ E& M# G  ~
                        ' b3 I* [; k7 Q* k( H, _3 w) E8 g
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 u2 Z( y4 U  o" B5 d8 I                        D3DXMATRIX  matTemp;
( i0 J2 Z' F2 m# v& N                        static const float CONS_VAL = 3.1415926f / 180.f;1 j" ?9 \& N8 p& O

6 m+ t8 w4 [0 G: Z& ^                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* B  @! z  W  q$ j# N$ |3 E3 X1 ~3 R
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);; T# B* l2 a, P/ B7 b5 s
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); " D( J, Z$ T# m! `! C
                        pLight->Appear( m_pd3dDevice, TRUE );! |9 n7 X& d+ E& Y4 Y, `% l
& n# P& t3 B; ~  [* v; T& J
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; t' p3 a! f) \: r8 |                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));$ Z4 q( ^+ H4 I; Y* k. d) V
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, w3 X/ T6 w; n) }9 ?9 T
' G$ V6 p7 b! {2 z                        DWORD dwR, dwG, dwB;
2 E5 c: |! L. x6 `' |                        dwR = (DWORD)( pLight->Ambient.r * 255 );) ~& z% D3 {4 E0 f8 D1 V
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
  A8 z& n" J' J+ H' H( ]                        dwB = (DWORD)( pLight->Ambient.b * 255 );8 s# L& p# E) ^7 [( k4 V8 N
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        & A1 P3 o0 O% Q5 y/ _. Y
                }" g, F7 W( f% y& J/ l0 k1 U/ i
        }
* M6 E- E' f' P- E7 C- e' y9 V$ k0 E* @; {
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: |9 b3 M6 ]+ V8 f( R( U  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) );
/ G" }1 H/ d; b. g0 \/ Y        ::SetLight( bLight );' a) v6 U& d& _% k$ [+ W" ?

  Z4 `: P- Q. `: P        // ±ao? ?D?í???ó á¤à?
4 Y4 F% D7 h/ e9 P) S  d        m_pd3dDevice->SetMaterial( &m_baseMaterial );$ a8 U2 |$ ~0 r5 I- O
        2 h0 ?# h/ ?+ s4 P3 H( i
#endif // not WORLDSERVER
' C- p# n7 ?) m3 B}& y* b% d9 J# G6 M8 U
并更换3 y$ Y( }! q! K# ~
Code:8 u; X) r3 t- Q) f7 x5 p
__FLYFF_INITPAGE_EXT
8 l8 f, B; N: o, O& t1 f0 {定义
; g, k( }+ @2 r+ L' Z+ |% B2 ?3 d9 ^
) T; S, H0 k* e3 M8 J; d% }: g! n, d: G/ x1 k8 x- z, R4 n
# \1 W5 i% _; u
1 j. t8 r5 I; s& p$ H- M2 z2 ^
现在终于删除我的狗屁加速...
- a6 }# R! m$ E( t3 |+ a1 z" a; Z% Q9 B( Q: W
. C( W7 h  r& s' P5 z6 f
1 p" N! O$ i5 u4 ^% ]6 u& `





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