飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
1 ?  p) c; L, k( Z* }& [# M) |# e9 L尾翼:
" A! E7 C* y+ _' F  e# T4 [7 n- b: i& M5 P2 {/ V1 P0 J3 e) V
代码:' ~2 `3 E+ z+ U2 ^% X+ d& M( Y
CWndAutoFood::CWndAutoFood()( |& z6 T) m' X. v6 r
{/ P# P$ ]& Z' b; M
        m_pItemElem = NULL;
6 X# U6 c" v7 S* x" F        m_pTexture = NULL;
# c4 x6 U9 Q7 m( P( o5 U        bStart = FALSE;: O$ e# H5 A8 e5 ?3 l; ]$ m
}7 K, d4 D: z5 b% e
1 x7 h( a, C$ _$ ^- K
CWndAutoFood::~CWndAutoFood()
3 B* w% x* E0 u) F{
0 L3 b& n& q; H        AfxMessageBox( "AutoFood ist gestorben " );/ o( H5 s( x9 _9 a  k6 P
}2 \* Q# q& [2 i6 I. w, k
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
/ b: R! [$ c5 l9 O7 W{
- M& j8 a; O; M# w8 L        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
+ b6 m( ~' t* L5 Q- ~$ q# n4 [}
) {( K! m8 L9 {& y  U+ k+ A8 D
* U  U4 W+ v3 CBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
1 L6 T' y! p: a3 E) V6 P8 M' V5 V{1 A: ?* H8 A, E6 l! k! |
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );/ w; y2 ^- v$ J' w
        CRect rect = pWndCtrl->rect;& E) m) B, e$ e) d! O
        if( rect && rect.PtInRect( point ) )
9 `) [. J* y6 [3 S! E        {, k! _. l# O7 V" W" X
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );0 x) p" _- K! z% T' i9 |
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ); ?7 a/ g# Z3 ]% n; t
                {0 x( ?/ X2 v# X/ H1 R$ J
                        if( m_pItemElem )
, K# _, f  H+ s5 S! c9 g2 r                        {2 h$ ?9 R: p5 _2 @. J
                                m_pItemElem = NULL;
8 |1 i- b8 [: U6 @, t                        }) k) l# |: M: F" a1 E
                        m_pItemElem = pItemElem;
! y2 @! h1 I- o% v7 ^6 f" I                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 k( Z4 h4 I. _; B4 E. ]                }else{5 ^& l  P) N3 `" v; G! F: ^
                        SetForbid( TRUE );6 |3 }8 e) s3 s" G! ^9 s% v" U
                }8 ]- C- ~. J3 h2 P  G  x
        }else{) ]% `2 P! u& q: S4 `  V
                SetForbid( TRUE );
, F& |6 q' z1 I2 w        }
1 g$ V$ J  {( h3 c- e        return TRUE;2 ?8 w" R5 |. x' c& n
}
2 }3 b* d/ B4 _- A! ^7 E; F+ x' u6 t8 }
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
( b/ V6 q+ T. Z( o+ c! S{4 J+ X& u2 [& x; s
        switch( nID )
- n! ]! N7 m4 s7 m        {7 E& u/ {4 e+ Q9 G/ G
        case WIDC_BUTTON3:, b# t; c- Y! ]5 m: C
                {( K. ~7 r2 d9 J/ n# ?
                        bStart = TRUE;& C' u/ a" |9 h5 U/ c4 ]9 u7 |
                        break;, c1 e/ L' e& r- T' U1 F$ f
                }2 u6 J4 b9 u$ ~( _$ ~$ w7 q
        case WIDC_BUTTON4:
* ]' r& u' ~( F0 c                {
/ n1 I0 B' }, ?/ p; i" k0 t  j# {                        bStart = FALSE;
0 B! ?0 r7 Z5 G, j" U                        break;8 e' J0 V$ _* b
                }
+ @. y# C" Q( l% [        }
  S; V4 d  o( [7 P7 K. d7 s        return CWndNeuz::OnChildNotify( message, nID, pLResult );
% A0 q# k  q7 |* Y  c; Z}       
$ [1 ~4 D1 m5 n/ J: |3 t1 K4 L( O  ]$ }$ Rvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )8 m. h% g7 N$ Y& w/ a- r. G# k) f
{
  Q! D' W9 |$ d- v5 Y2 P5 ^        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );" R8 j9 A" V) W
        if( bStart || !m_pItemElem )
) c5 Q" N  p& ~$ u        {" d% C1 ^' o% k
                pBtn->EnableWindow( FALSE );
" _" }1 J* o, l+ @1 V7 {        }else! X5 s' K5 j' ?3 B% W# h" r- n
                pBtn->EnableWindow( TRUE );0 g" [& ^" v& ~! y! i; T* {
        if( m_pTexture )
9 B6 Y& g# ]7 r' i9 N        {
* n' ?+ J* a  {                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 y. p  h( A  Z4 C
                if( wndCtrl && wndCtrl->rect )4 H1 ?% B5 m) C' [' Y9 t$ ]3 g* P
                {( z  X1 j: o9 K
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
6 e& ^1 {+ a6 d8 _$ y  G1 W                }( y* `& J+ S& [7 x+ _7 ?+ T
        }, @0 R! U) E, o5 h
}+ b, \! F2 w! Q6 T1 K; B

! ?8 x8 i& _: A/ BBOOL CWndAutoFood:rocess()
  G$ S& \& r" c: I( L' s% I{* \6 ?1 ?. ?' Q+ H# X5 c# h
        if( bStart )( ^) _! L( t2 L
        {' M: y9 G4 K2 R- P2 w! r7 N+ `
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )! E  N+ b0 B1 |0 ~+ J
                {
4 s' [- C7 I# H; Y; q6 P2 e                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
. w6 M! u  j8 N2 c5 u+ e                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );) ]6 O1 k, m* i7 |6 B( D# I
                }else{
' I7 z% a% J' r                        bStart = FALSE;4 i4 x* G8 v" L8 ~$ B4 D
                        m_pItemElem = NULL;
+ k9 M4 ~0 c+ J1 p8 F8 w6 x                }
& x( M. X8 Y+ O, Z3 f( M        }
+ j  o. C4 D, S/ U, y6 _        return TRUE;  L+ P5 P+ H& @7 C! s5 j" i8 `
}1 h7 U3 @3 d0 m' `
9 |# y' I# q: p: ?6 r
登录视频废话:
% g* r: s3 F  ]7 Z! [: ]尾翼:
, u+ Y9 `/ c/ o3 u% Z
. s/ V# {" D$ O8 e8 h- _代码:
5 z2 P5 F  j) P6 [) |) y0 z
! a1 X$ _; T! S; h+ [void CWorld::SetLight( BOOL bLight )  i; r% b9 j  o$ f  p7 U: U
durch
* O" b  b3 u0 KCode:
& r7 v. C; y% \5 @% |void CWorld::SetLight( BOOL bLight )2 m* t! y0 ~3 m) Z3 S' W
{( ?2 s3 [5 ?! j7 |# g' O
        //ACE("SetLight %d \n", bLight);3 \0 W9 E; T4 R! b4 x  u
       
  j7 A& `& G" l: c4 X#ifndef  __WORLDSERVER
* A* x: O; B0 r% `4 n# r        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);( i9 U2 c7 c3 U* l/ g$ R) K
        CLight* pLight = NULL;
% }, h/ Q2 u) @' S/ D; B
: S: E4 y- l1 O, @        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
  m) o' f, ^- G- _& Z3 F0 }( p. e' r% U
        pLight = GetLight( "direction" );
7 \" x, C0 n: b! z; C5 Y: K; A
6 G& y, d* q. P& h#if __VER >= 15 // __BS_CHANGING_ENVIR
2 D  s1 S! K, p4 \        if( g_pPlayer ){
) Z1 I+ Y& e0 G  C                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 w/ X- M- `- N% t1 l
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!, u6 E9 O2 q" Y( k* E6 w
                {
5 v! y) b4 |0 |% p4 ~/ `                        if( pLight )( H# ?5 s: D8 r# t3 @$ L
                        {. d" w7 T2 O( a7 B
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];4 K+ ?  x' U4 `5 P3 q- R
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];$ Q6 J  K  @3 D9 S# m$ m; m7 D1 B7 y
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
  v; v- s4 c! ?! [; p% q" T
. O; @( R5 D* B6 }- F                                pLight->Specular.r = 2.0f;$ }3 y+ x  N  s& {/ p0 u" D
                                pLight->Specular.g = 2.0f;
5 o7 R( ?2 {8 @                                pLight->Specular.b = 2.0f;, Z3 R& j  l2 |8 t  B9 v
       
! T5 W. B2 L+ l& N; o                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 f% X4 q8 N% O                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
# J2 C* ~! G9 U6 l. `* F% F3 u. a                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];  ]3 E! v- m' `
        9 x6 S; d4 s5 E5 x/ [+ B
                                HookUpdateLight( pLight );
# y. f9 e7 Z$ Y# u+ n& v& V+ \; s1 U7 d
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# Z, n7 p/ P- N3 x8 k/ K                ; \4 m9 c2 C5 z8 A
                                pLight->Diffuse.r *= 1.2f;! R% x" _/ \3 i8 H5 L% n9 P. k1 p
                                pLight->Diffuse.g *= 1.2f;
9 Q0 g+ Y; N$ g# f# `                                pLight->Diffuse.b *= 1.2f;
1 p* u( T" N! ?/ V, N; B) d) I) N" E# D. u$ N2 l4 H& {% ?
                                pLight->Ambient.r *= 0.8f;
1 q4 R4 i0 Z# Q& n6 T' f( d7 T; i$ Y                                pLight->Ambient.g *= 0.8f;
# X8 [1 b% r5 y' [' J/ w. a" C                                pLight->Ambient.b *= 0.8f;' ~  g+ X, g! x' w; L. B9 \
        & m# c* L4 q, C5 a
                                memcpy( &m_light, pLight, sizeof( m_light ) );$ y$ d+ w4 W) j
! k/ }' I- U" m4 H# f8 B6 U. i
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* v  Y( ?! d9 W2 Q. X) ?. j                                 D3DXVec3Normalize(&(vecSun),&(vecSun));% a" E  H4 Y2 B  O
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ( S7 A* G" z: t' Y9 }
                                pLight->Appear( m_pd3dDevice, TRUE );0 R* i8 [- v: N% `: q7 q1 j
               
' ]5 V/ ~# b" W3 g: t8 e! g                                DWORD dwR, dwG, dwB;
) s5 A6 _' Y# z5 O/ q                                dwR = (DWORD)( pLight->Ambient.r * 255 );
8 Y0 F) g. D; W6 f7 C) T& f* C: Q% s                                dwG = (DWORD)( pLight->Ambient.g * 255 );
" k3 o+ Q* V6 Q! V* G                                dwB = (DWORD)( pLight->Ambient.b * 255 );" b0 W( L" J9 m1 F" p/ R+ v
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );$ z4 K% \- L  J
                        }$ W; f" y) u1 x* A/ d2 n
                }" H4 H% Q4 o1 h+ K# q
        }8 o- V- C5 Z( e/ A9 Z9 W
        else
" t# G* e3 R  S) J- A' N8 ]2 a3 v#endif
. V* e7 @0 V+ g
6 Y% X  N. o$ U3 [# z. {1 V        if( m_bIsIndoor )
) O/ X  `9 \& f) m0 _9 [        {3 U  s1 T0 o# }/ W5 K4 u* \
                if( pLight ). v7 M3 Y, o  z; F) N6 f4 o3 D* o
                {               
; z! |- Q7 G( ]; ]' O                        // à??μ oˉè* $ n- q" L' R+ @7 Y
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
" a; [  ^! u9 p2 U" ~9 Y                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;3 w  d( T5 {( O6 Y* s4 N2 O
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
1 K" R/ G" [! }! M
  h# I6 M: a! Q6 b: x- R$ b                        // oˉè* ??à?
; [0 U3 W: E, n                        pLight->Specular.r = 1.0f;
/ t3 L. m0 g4 c* W& N. B                        pLight->Specular.g = 1.0f;
- Z7 B% u1 U/ @2 l! o                        pLight->Specular.b = 1.0f;
3 n' w0 q3 K# n9 g+ \- i                        // àü?? oˉè*
6 ?! D# F% v( w6 L7 ?2 R0 a                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 g; K6 }% l* `                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
" j) R8 P- p: ?$ I                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;( i& [6 T# i0 h
5 m: m! M9 @! E# o1 k3 Z
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.! |$ H/ s, l0 t, Y  N
                        {
* r; ]' y6 D+ S- Z; b) T8 b                                pLight->Diffuse.r *= 0.6f;' U% `! y$ ^( d$ R4 ]) l
                                pLight->Diffuse.g *= 0.6f;
# ^5 q) o' S" Z! z. ?* U5 y                                pLight->Diffuse.b *= 0.6f;( s7 z; Z  e/ c
                                pLight->Ambient.r *= 0.7f;; s3 ]1 z  z% W- B, O
                                pLight->Ambient.g *= 0.7f;$ y: h, ?% [! ]
                                pLight->Ambient.b *= 0.7f;0 O, Y& E0 e0 K- p8 Y
                        }
* ~7 Y; L; j3 g6 E
+ b* {0 O  {  F5 D9 f0 g$ [#if __VER >= 15 // __BS_CHANGING_ENVIR3 Y+ p, e7 z( n  t% v4 p- U5 j
                        if( g_pPlayer )
& X- u+ T8 r+ F' n                                HookUpdateLight( pLight );
, f; R/ U- B, Y% |! s3 ~#endif
  [5 [* _9 k- P. l. w# s$ z7 D                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );4 a( H. I% B% X
- l) X) ^) s; `" J5 o1 ]
                        pLight->Diffuse.r  += 0.1f;
: R7 W7 O4 S" h2 r4 I  O6 i% P                        pLight->Diffuse.g  += 0.1f;
# j# f/ m. `+ Y9 s                        pLight->Diffuse.b  += 0.1f;
2 B* U: ^5 K* C* y                        // oˉè* ??à?   M' ~+ E8 Q, |' F2 p- a9 }% @* ]
                        pLight->Specular.r = 2.0f;
) w! f# v( P& j" I8 Z+ k' K                        pLight->Specular.g = 2.0f;
, M3 s7 W- w! ]                        pLight->Specular.b = 2.0f;! P! i. }8 j% k( ]
                        // á?oˉ
+ c6 |: E& A) v                        pLight->Ambient.r  *= 0.9f;  T  c" i% l- d2 h3 O; S
                        pLight->Ambient.g  *= 0.9f;, R# B: j/ Z  z, B
                        pLight->Ambient.b  *= 0.9f;
1 ~! y. y5 X" w; i7 t
: |2 C' T# P6 w  C2 u: X                        memcpy( &m_light, pLight, sizeof( m_light ) );
  ?6 [1 f' i- t                       
1 R" x) F# I9 ^5 g$ y- \+ n                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );( V6 R/ @" N) m  v! p( Z7 u3 v0 f; t
                        pLight->Appear( m_pd3dDevice, TRUE );
" H! O+ L' O" v3 F3 g( q4 n5 ]        ! H4 L/ U; d* c: Y* d! g4 F# V5 L& I
                        DWORD dwR, dwG, dwB;
* R( R3 c6 m. J, F                        dwR = (DWORD)( pLight->Ambient.r * 255 );
0 n; j( Q2 j7 g# T! g: i/ H% s  F                        dwG = (DWORD)( pLight->Ambient.g * 255 );  `+ I. i0 j( [/ M$ d; o
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
+ [: \/ q, [, U* F; r9 V6 n  \                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 b4 O0 R! N& j6 V: A2 A# d+ x, z                }( m  l5 w$ p% ]2 ^' _
        }
& S# [# X7 ]+ J+ g) I2 B3 |; F) W        else2 u- @+ l' z- T* d) z3 w
        {
( j6 V1 M' Y7 B7 ~7 V                if( pLight )
3 w6 b0 [7 ?6 w- A3 N% R                {
5 T& V( w- q. I. Z# `5 Y: I                : g, r$ \. Z) ]9 r+ f) e2 h- c
                        int nHour = 8, nMin = 0;: l0 B3 k2 p" T
        #ifdef __CLIENT
0 r, J- o3 |  B! S& }! V8 Y3 @/ J! J9 ]                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 6 I& W! b( w6 [: I  C. K! Y% e
                        nHour = g_GameTimer.m_nHour;
( e% z; Y3 f. _' A9 N0 e! m6 s                        nMin  = g_GameTimer.m_nMin ;
' D# ]1 g, ?( d( c        #else- {7 P7 a' d+ P# {) x
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.! f" l% c. A& j* \7 n
                        if( m_nLightType == 1 )0 t0 B) _/ ]9 X0 v
                                nHour = m_nLightHour;
- t3 B7 H( Z7 T& V3 n: R1 _8 d4 L        #endif
; r/ l; O4 P$ Y. Z) F% w                        nHour--;
! u8 X1 W' p+ R, q3 G                        if( nHour < 0 ) nHour = 0;
! Y- t; w; T. y# O" j8 m/ R5 X5 J                        if( nHour > 23 ) nHour = 23;2 [: H2 d- X7 M. H5 f- K
) U2 p$ ]1 n0 y' b2 `  @) }$ I- o
                        //if( m_bFixedHour )5 n2 T* E- P, U
                        //        nHour = m_nFixedHour, nMin = 0;
/ _3 G* f. G1 T! i) f% x/ |5 O2 F                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* _! v; o( B6 t0 [! L                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
# I9 K8 T; }' D( `2 z, a0 I* y3 c" E% U9 T6 I" l1 w! Z7 I& p7 Y
                        //m_lightColor = lightColorPrv;
( P% a+ @" q7 o; w0 [6 p. n: B% A5 \                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
# }9 K0 L6 @0 x, C                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;; s% x1 l2 n! a  M
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;/ K# s: X0 f4 j, F5 `
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
! G! i$ w! y7 \                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;7 z% E2 F6 }) c6 I7 N" h" X
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 x9 y0 y( ~0 Q! Q8 E" K                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# @/ v& N. _: O& y3 }# e5 u. h  d- c+ u( S: I4 Q
                        // à??μ oˉè*
5 z5 u6 X  V# q8 N" X% |                        pLight->Diffuse.r  = lightColorPrv.r1;
* u' E& `8 Y9 E9 R. B( u/ ]5 `                        pLight->Diffuse.g  = lightColorPrv.g1;- g8 t; i. x& o+ c9 ^5 i# M/ Y
                        pLight->Diffuse.b  = lightColorPrv.b1;
9 x6 [3 R% ^7 J* L3 B$ g, K+ P# s                        // oˉè* ??à? ! x$ W  a$ b0 I2 G  x
                        pLight->Specular.r = 1.0f;
. C6 `, _$ x; v                        pLight->Specular.g = 1.0f;* a* {1 K; F7 p
                        pLight->Specular.b = 1.0f;
- O. C* C2 `' j3 }4 |% A                        // àü?? oˉè*
+ g* i- g. e- V                        pLight->Ambient.r  = lightColorPrv.r2;
' y! |& v# \. `+ X, Z                        pLight->Ambient.g  = lightColorPrv.g2;9 U6 B1 V$ ~" x; z, ^' _& E( m
                        pLight->Ambient.b  = lightColorPrv.b2;
& c) p0 N& D$ Y% j) g' R6 [. g# C1 ]- W1 @7 m4 L4 b, j
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.2 V2 J2 U$ b5 h" ?2 b6 S9 U
                        {; C! D6 K' h% |2 U
                                pLight->Diffuse.r *= 0.6f;. w7 S4 Z+ m, n) W- u
                                pLight->Diffuse.g *= 0.6f;' Q! a  U! e  }8 c- k
                                pLight->Diffuse.b *= 0.6f;& m% N. |0 {4 f7 m1 D4 h% i. U
                                pLight->Ambient.r *= 0.7f;0 A- r9 x% ^5 r3 W$ |
                                pLight->Ambient.g *= 0.7f;
0 u5 ]% t' G6 w, s, y. ?; k% y, {6 N                                pLight->Ambient.b *= 0.7f;
. {# J- k$ G, v) u! r5 L0 Z/ y                        }" ?" v/ z5 l% {$ Z/ ?9 g
                       
% _5 e8 `! s0 z' M: M# R% X#if __VER >= 15 // __BS_CHANGING_ENVIR, m! H9 x% F& I( H5 g/ ^' a% g
                        if( g_pPlayer )
7 B3 D5 G% v; t) f6 w                                HookUpdateLight( pLight );
( ~- {3 c  S& R#endif
$ `5 P0 l% ^  k0 \                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 V9 v( a0 W- y/ G' ]9 h/ d, G% @

: d0 ?: I4 \2 P3 N#ifdef __YENV. u. \3 v8 b  ?; v7 j- R  o
                        pLight->Diffuse.r  *= 1.1f;* J) G$ }, ~/ s; k9 t$ [
                        pLight->Diffuse.g  *= 1.1f;
  G8 n4 ]% Z; T                        pLight->Diffuse.b  *= 1.1f;  N' h8 J: \. F: k# O  N( k) _  _
                        // oˉè* ??à?
' Q3 _: `& D6 S  }$ i& G# H" @                        pLight->Specular.r = 2.0f;; o7 P5 c0 i3 \  n6 n& V
                        pLight->Specular.g = 2.0f;
" A. U6 S4 h" f3 H1 n; E                        pLight->Specular.b = 2.0f;
% i0 Y& w0 R7 t) @                        // á?oˉ 0 s' L7 F7 x% x) F) b" f) c
                        pLight->Ambient.r  *= 1.0f;% n" |* i7 x5 ^$ b  v) \
                        pLight->Ambient.g  *= 1.0f;1 p% p  B8 R- |
                        pLight->Ambient.b  *= 1.0f;
6 W6 u  |) A2 G+ ]! t#else //__YENV
% ]* E; v8 q. U% b) h                        pLight->Diffuse.r  *= 1.1f;
# q  y8 v6 l  o) u$ {                        pLight->Diffuse.g  *= 1.1f;: Y1 d3 z$ g( J& G9 [9 \5 }+ `7 |
                        pLight->Diffuse.b  *= 1.1f;6 t* k2 ?4 o, S  A' I' N+ L5 Z0 n
                        // oˉè* ??à? / K2 h: l" x8 _, w* C& |0 w, w9 A( K  o
                        pLight->Specular.r = 2.0f;
5 G+ M  H7 P/ m7 N" r                        pLight->Specular.g = 2.0f;1 c& ?5 \' p( R. U. s
                        pLight->Specular.b = 2.0f;5 ?0 P- J# T7 C" I4 }
                        // á?oˉ
3 @; T0 h  Q2 H8 p8 f                        pLight->Ambient.r  *= 0.9f;
- t  E1 |, T8 x6 l6 D$ C$ e) |                        pLight->Ambient.g  *= 0.9f;8 u8 @; p0 H1 l3 Z% x) I1 d! B; z
                        pLight->Ambient.b  *= 0.9f;
1 A; ^7 u; x4 k! @0 e; N6 S#endif //__YENV # z+ c" \4 ]' ]" F" E- M
                       
- s- J9 Z: f6 e8 `' q                        memcpy( &m_light, pLight, sizeof( m_light ) );2 J1 o% u; Z* G9 }
                       
- O* p" n: e& F/ l) n- h$ U) D                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 v$ M/ L; C/ S& d! t                        D3DXMATRIX  matTemp;
& {7 m, |' B" e1 T8 {% J                        static const float CONS_VAL = 3.1415926f / 180.f;0 w; y; i8 T! r/ A/ b  x$ a" t

# G- W8 E- c" A# R" }5 l4 G& Z$ V+ n                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);2 R& _" n. F( a
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
+ j* m! D6 t' B                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 }: F* U+ q, a+ [0 Q                        pLight->Appear( m_pd3dDevice, TRUE );
. D: ~1 v6 r. e7 _) B/ c# a* m! ^0 {. ]/ R' e
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, G5 w! F3 ], w( L                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));. J( [! O( z) P& t8 v$ Y
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 C; X3 A9 a- r" X) n8 }3 }5 c1 A: g) U  E1 V3 G
                        DWORD dwR, dwG, dwB;5 Y4 ~6 z$ v! c5 d& O* I
                        dwR = (DWORD)( pLight->Ambient.r * 255 );8 G6 M' i8 i( g7 F* w4 T; ?
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
+ Z* z/ b/ X( \" P, Q                        dwB = (DWORD)( pLight->Ambient.b * 255 );+ G' K- ?, Z; z! G5 f# H) f
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        7 D0 I; r& ?( O% i5 T8 C
                }0 C1 D/ o& n5 F7 K# d- g
        }
' p# `" z# G+ c  V, k7 G& |
/ N7 N! M, }5 ^- I6 R        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
: x2 O7 q( }; ^5 B# A        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) );
# j( [8 r5 |4 D  S2 v6 [' O        ::SetLight( bLight );
2 A0 T1 k7 `) G9 ~* y; `7 v4 ?1 c, U" Y$ V- L; ~
        // ±ao? ?D?í???ó á¤à? 7 S5 U- Q0 B9 f) e, q
        m_pd3dDevice->SetMaterial( &m_baseMaterial );4 I/ c3 ?3 O. L& ^7 h' x8 L
        6 Z7 d$ Z! e1 X% [) v% S) i
#endif // not WORLDSERVER
0 B6 k0 m- ^0 B}1 k* a8 |! Z  i& ]
并更换! Z6 I' k$ z! B
Code:6 N% l4 S* m) M) V+ Q$ V0 s
__FLYFF_INITPAGE_EXT
$ b' m9 r9 h7 r2 o定义9 Y" a& f) E- |# T

" Q/ A0 T$ V# d* S) @: n! J1 B% S- ]# W# J  m# z! B" O8 t4 {: Y

! I0 Z" e% E- h; _( \: W) N: Q: Z; h4 [8 D5 o, z2 r
现在终于删除我的狗屁加速...1 P* W6 z( v) D0 x1 w3 n
: o) @8 r% M- p! H5 s
# ^7 w# }# V! F* n/ g6 C
+ l5 Y$ X0 V- O7 n7 Y





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