飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
; M: M! e& q0 j尾翼:9 k* x0 A8 J, B5 G
, b0 @# R, x  J6 A, m
代码:
" H) R7 Y4 A# v! E( a% U4 ?. fCWndAutoFood::CWndAutoFood()
0 _4 w& s: b% Y' j, e{, t9 q; M% Y: }6 D
        m_pItemElem = NULL;
& _/ u* I! z% A! h. z5 s2 n4 ?! O        m_pTexture = NULL;
  G! [+ L0 a5 K, R! d1 d" Y; K        bStart = FALSE;
9 R0 n2 A- |  }  a( m/ `}
  h' Z0 F6 K$ y0 ?  D  L1 O
" Q' N9 g* f/ `* ?CWndAutoFood::~CWndAutoFood()
8 j4 Z1 Q, u/ {" M5 m{2 U! m! Z) w# A8 N8 m
        AfxMessageBox( "AutoFood ist gestorben " );
: f1 s1 O0 O) `: G7 w}/ D& `( V1 X9 M8 N* `2 Y
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )0 ^+ x3 ^. {, p! X0 E! D5 {
{, F( T& K1 f/ d; l/ D; `
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ y$ D1 s) l, k8 M/ s) F
}( m& Q1 R2 D: W" l! Q# j, ]0 i, t2 i+ G
3 V2 I' _6 ]5 _; U% C
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
% S: P* f4 N& l4 s4 R7 O{
9 l: T) W' A& d, H  t6 R! S% A        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) L% k+ e& [" i8 P1 b
        CRect rect = pWndCtrl->rect;+ ^8 }* }; e" B& `: t7 Z
        if( rect && rect.PtInRect( point ) )
" a( Z) b; ~1 I+ a+ B3 U        {: u7 q% e. O* n; }! Z
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );( M2 Z! C% ^8 ?2 P! t! q
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ). q1 d1 R- H9 ^
                {
) c% _% F  U' B2 d; f- d                        if( m_pItemElem )
% A* j  L" r: z# M                        {
+ y/ I  M6 h6 _' n$ a- q3 `                                m_pItemElem = NULL;( k2 a/ n' h3 }* @& _8 w" n1 {
                        }1 [2 H, j  F7 a1 T: P0 I8 U/ M
                        m_pItemElem = pItemElem;3 u3 j2 C4 e( t, p' I
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
- n; O' S  J8 E) s# U6 P& n+ m0 K, g                }else{5 J9 `% H% r6 E
                        SetForbid( TRUE );
0 h6 Y  a  W% @* _. L* {                }/ v  ^! x5 d( m6 c$ z
        }else{
3 y9 B- v; j0 W8 b1 c  _- {                SetForbid( TRUE );
; j* \* u7 c- R6 e; M1 A: M        }
. W" k2 p  P: d# q. L: y0 Q5 Q        return TRUE;
, w8 Z4 c( P/ x& J# v' z4 N! G- J, m}  L$ ]5 q3 x- v9 ^) Z

) N; A% A$ x7 ]/ U2 P: _2 kBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )1 N* ?! \3 P& h
{
) p  p0 b0 v2 `        switch( nID )
# y1 Y8 {0 E1 C# l7 ?        {
, i  k6 q' R( K; |$ S, x        case WIDC_BUTTON3:
# C/ M. Z0 R6 s# B& E9 [" H/ g% _                {
9 R3 r: G$ k- v0 ^/ E9 U                        bStart = TRUE;
) n/ J& z. l6 f                        break;
$ T2 S4 }; q, ?! r2 U: u6 Z3 S" s                }
9 y5 q+ K8 L2 V. w) Z* I        case WIDC_BUTTON4:
: V3 J0 t* B6 A+ H! B4 Z+ n- A3 Q                {
( c" w; p3 J- q* w: g4 S                        bStart = FALSE;. _/ h7 S1 T/ M' c" \) \6 m2 I( ^
                        break;
. X, \6 a* h5 T/ }                }
2 R. i9 Q, @- t- L: u$ f% x, f        }
) S/ Y, }/ E" Y: L8 s        return CWndNeuz::OnChildNotify( message, nID, pLResult );! R- G% W) e* ]0 R
}        6 ?6 u3 `9 K; m* A" A- B& K' r2 {1 T: w
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
( f7 J8 V, n5 z) B7 H& c# K6 o6 w{
# @: L$ I2 k9 d+ f, L$ v        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );4 ~, N( N% }8 K+ I6 P) m- C( ?
        if( bStart || !m_pItemElem )
! k  C9 ^* z% ^6 r, z4 S) @; {        {9 z0 P# {+ T8 D% K+ H8 S) J
                pBtn->EnableWindow( FALSE );
" M8 I' N5 |* z# @8 G8 R        }else
9 F0 s" o8 Z# K; ~) y* s$ j& s                pBtn->EnableWindow( TRUE );) h' x4 n$ j1 ~1 Q' ?
        if( m_pTexture )
- P4 n1 e4 F- s$ Y6 f( P$ _  ]2 Z' P        {6 S. D2 m! w7 |( Z& S' `
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );2 z( F; \, f9 ^6 r3 c! x
                if( wndCtrl && wndCtrl->rect )
# h# h# o; X% i9 O5 L                {, |2 \4 i8 e8 Z& ^1 M% ^
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );6 A/ o$ E8 A* f: O& B, W
                }
5 t$ A. i6 r6 A1 S" P& v, A! V        }$ s; Z' w! ^9 U, O2 Z
}/ M. [  w2 R& I8 K
* M7 C9 V# V7 N( l
BOOL CWndAutoFood:rocess()7 O$ I) T( J- |) e
{
, _  F' v) h+ }8 r# z. u        if( bStart )
$ S7 \" U6 p8 ^) F; q* D        {! l; F+ M3 V2 i3 Z
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )7 z1 ^9 q0 s4 R0 v5 ~, u+ w* n4 h& j
                {
/ y* H) K5 h0 u' S                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ). V, ~, ~. E% k/ M0 K7 R* ^6 {5 |
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
) V2 N; ^! w. J* {0 u# V                }else{8 P6 B9 }; r' P% E/ |
                        bStart = FALSE;/ t2 s% X# h) |
                        m_pItemElem = NULL;: i3 N( w* l. g, Q; x
                }
+ U6 H8 z, F4 Z+ W/ E        }. K/ N' j" I9 K
        return TRUE;" k# D+ ^. F7 y3 a
}
2 i. d' i; e5 G) U8 p' E6 Q3 a/ [$ m6 g, n* F
登录视频废话:
% j6 N: `) l! j尾翼:' i/ ~$ L3 D  z  f' J- F
: T% e: P' B$ T# N8 D* r
代码:
% _7 C, [9 U( W3 Y/ |; o, U$ n& R9 O8 F! y/ a6 T& d8 p
void CWorld::SetLight( BOOL bLight )
5 i: ^/ k2 F+ b. P' z$ Y, Jdurch+ g( V8 [% R/ A( n" T. x+ K, Q, A
Code:4 X% o" X: N  w2 W) |; B! a
void CWorld::SetLight( BOOL bLight )# q6 T0 H+ f$ |) m/ z3 |8 l0 ]  p1 e& r
{
6 T; \# A9 H" {5 h        //ACE("SetLight %d \n", bLight);
3 f3 h+ S2 ?: `          Y& L( t( h2 \, h# o
#ifndef  __WORLDSERVER 7 d3 i& B2 q" W, c
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
9 U" ^. T% V- f& m2 t! n& K1 |        CLight* pLight = NULL;
5 D+ }  x0 u! o) |
- |4 e6 b$ @) B* |8 h/ k. ~7 U1 C7 z        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
; m0 \! |! m  [3 \
( i/ F: j' W6 {' [. H' N        pLight = GetLight( "direction" );: C4 X# F  |. t8 p% g3 e8 V5 z* w+ a/ E
) S+ X" @. v5 \! L  h
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 d/ E7 U' r" R* j        if( g_pPlayer ){# K, p- [8 e4 @( m
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );( r+ ]3 ]" F  _' ^3 H" l
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
9 V" O. T6 p/ h6 y* `- y                {+ U4 R! }* m0 r7 s) L! J4 n
                        if( pLight )
2 t0 U6 v0 c0 y* n/ C                        {
$ R7 w7 [( b6 x1 N                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
) x5 R0 q" j. M# [8 ?8 w! O                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];4 s8 V2 u% M7 f+ b- g+ D' ^
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
" Q* p9 E% m7 C6 p. p
2 P# s% n8 _/ _' i1 e6 t                                pLight->Specular.r = 2.0f;
# G4 {. \3 h4 P0 x+ ?9 g- Z: Q! W                                pLight->Specular.g = 2.0f;5 f6 Y4 W- d2 ?; @; M+ _8 ~9 V9 @
                                pLight->Specular.b = 2.0f;
7 e" B) G9 d: r       
% e8 z! R8 y8 Z, T1 B- f8 [( K                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];( F# `1 F' ~9 W% V
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
# [3 @( |, M" h& K2 l$ s" L& E                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 e: r- X; D4 q" _5 t; l       
5 _9 z7 P; M  b+ g" V& u& w                                HookUpdateLight( pLight ); $ E, {* X$ x/ x6 d- D
+ _9 j/ `& p) F% [% T
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );& W' J  ]$ T3 l$ E$ E( O' q6 a: S* h
               
  o! T+ s4 H1 E                                pLight->Diffuse.r *= 1.2f;
' e# A7 u2 `: C% p7 I2 F9 E                                pLight->Diffuse.g *= 1.2f;
1 a0 M; t0 \: N, z9 [                                pLight->Diffuse.b *= 1.2f;
' n' H! z9 y$ N* ?& x  q
& \3 u$ z7 @* T0 ~7 _0 M: }% T                                pLight->Ambient.r *= 0.8f;
8 @  S; e; r& h. v% \$ G                                pLight->Ambient.g *= 0.8f;7 ?: v, W2 T! M* U+ r+ o, W; P
                                pLight->Ambient.b *= 0.8f;0 Q4 y& Q! D) D* m+ T0 M
       
4 h! c$ D7 G$ E; V9 i) \- B7 W                                memcpy( &m_light, pLight, sizeof( m_light ) );) F4 W1 ~$ e1 ]0 P( p

' D& Y7 x" h6 |+ ^3 y                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);0 h. F: {2 R$ L4 i3 g! N4 h0 c
                                D3DXVec3Normalize(&(vecSun),&(vecSun));$ C" R, Z5 B% K& W) W* O6 F# m8 L: T0 G& _
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; x3 i& ~5 n, h                                 pLight->Appear( m_pd3dDevice, TRUE );. t* q$ y4 I* h
               
2 E; M/ \7 [0 ~/ e                                DWORD dwR, dwG, dwB;
1 }0 q8 J- t5 _) E- O3 X                                dwR = (DWORD)( pLight->Ambient.r * 255 );
7 ~/ Y5 p8 h% B3 i% d+ }2 L                                dwG = (DWORD)( pLight->Ambient.g * 255 );
; S* z+ S6 G8 K) A; h                                dwB = (DWORD)( pLight->Ambient.b * 255 );" j4 U5 W" |. _$ S2 U
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" S" A" X% R* |; S                        }$ _, ]7 A4 g# J" m
                }
8 A/ R/ E- X5 Y. _5 a3 w& O        }% {' V) A6 h) j9 E
        else: z/ m, D6 p, h0 m
#endif 8 ^2 K7 w1 Y3 @4 ~0 L
- o, O- v& P# K. r8 q0 d
        if( m_bIsIndoor )7 x! o' k: p- G0 w: h
        {
9 y6 _8 r9 t' e* W                if( pLight )
6 N, ]& F  J9 ~' ]# ^: Q                {               
/ T0 P! t% u! v% [. p" [                        // à??μ oˉè* ) r) X# S3 l4 x
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
" Q0 }* ^$ Q! d' j: R3 q                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;& P, [, z. [1 [+ Y/ b! W
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
& v+ u! C; f$ a* o6 K$ F4 a( z( K* \8 I7 Q
                        // oˉè* ??à? / M. C. e# O, F" p+ u
                        pLight->Specular.r = 1.0f;
% k/ M2 f; {5 B7 r8 L& e                        pLight->Specular.g = 1.0f;; _: M# h, r9 N; V4 ^; Q, {; v
                        pLight->Specular.b = 1.0f;& A& o" ~& I9 ~/ N
                        // àü?? oˉè* 0 h  i8 l8 A7 A% f" a
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
" c& K& [1 u: O. P2 p+ r+ ^                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
* [, V. ~% C4 b* Z9 b& p% K                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
. U" Q2 l0 ?5 ]$ e, j4 L1 c/ r* M
) h% y, A4 i8 O- j. o$ x                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.5 q4 c( Q0 Z! W6 R  y; Y; t4 L
                        {" L7 F" @( z8 K$ x; {$ S
                                pLight->Diffuse.r *= 0.6f;) k: A* ~+ M1 M$ f  \. C( I
                                pLight->Diffuse.g *= 0.6f;, M# L* l5 U7 H3 d! _+ t
                                pLight->Diffuse.b *= 0.6f;8 W+ s2 x' g: c) V$ ]4 [6 h- F5 X
                                pLight->Ambient.r *= 0.7f;) s( N5 z) r% j9 w) O) j
                                pLight->Ambient.g *= 0.7f;
6 |2 L1 s1 P. K; D                                pLight->Ambient.b *= 0.7f;, l0 q8 T& b- r' C7 H' C7 }
                        }
5 q3 ~% L& E3 s" w7 w  K- [
, K/ O; I7 m" T' k. O1 L  G#if __VER >= 15 // __BS_CHANGING_ENVIR
( ~; T3 m! x5 L4 v) ~& G                        if( g_pPlayer )
$ k. r5 J9 z" _" [2 j                                HookUpdateLight( pLight );
) n, v6 q. N, n- g#endif
( w( p8 |+ z4 K) D; A$ {3 j                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) F1 X  G9 m' ?4 U
4 I' V4 K) ]4 |& q2 T                        pLight->Diffuse.r  += 0.1f;
% p  V9 p; P6 S                        pLight->Diffuse.g  += 0.1f;
  a2 C0 v+ `; N) M6 F                        pLight->Diffuse.b  += 0.1f;! _* j. A/ ^  l. O- F4 H- i+ M
                        // oˉè* ??à? ( X) P7 P9 H' n2 T
                        pLight->Specular.r = 2.0f;1 N8 @. F5 v& D5 [. k
                        pLight->Specular.g = 2.0f;- x8 Y6 I3 L) I9 T  ~5 A/ w
                        pLight->Specular.b = 2.0f;) d0 o" |' M& j2 |
                        // á?oˉ
( a0 b+ s5 a( L, x, w5 k                        pLight->Ambient.r  *= 0.9f;
7 `. Z2 a% p) y0 A0 ?: J: Q4 H                        pLight->Ambient.g  *= 0.9f;
8 L3 n# B, T/ z+ U- x                        pLight->Ambient.b  *= 0.9f;
% T; l4 J% n2 B0 }8 n; H# f) s/ g9 ]
                        memcpy( &m_light, pLight, sizeof( m_light ) );9 Q8 O) l3 W! J' j1 I6 B
                        7 X% b  M: `0 O4 j
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );7 o1 C8 b) S: \2 Q# v: h0 t
                        pLight->Appear( m_pd3dDevice, TRUE );
) ~. e, [! v+ q" K5 V7 _        ) ^. }8 ~* w  K2 d' T
                        DWORD dwR, dwG, dwB;
, ~7 x; A/ d4 j0 \& P                        dwR = (DWORD)( pLight->Ambient.r * 255 );
1 x  e3 _& ~1 i- U) n: ~  \; s                        dwG = (DWORD)( pLight->Ambient.g * 255 );
9 u* _  A  P2 p- U$ z, N                        dwB = (DWORD)( pLight->Ambient.b * 255 );
8 w. W; D' N' Y3 k$ {                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );" G6 D/ _' u' A, l7 Q
                }
$ m( h- }2 b! i& b) k        }
5 M7 A6 e) w2 j0 z! q        else
! M9 x  _2 }# z) ~# w/ C8 @: P2 R- v        {
0 u0 _* p; h) R6 [                if( pLight )5 a6 w4 k# \: K/ O  {
                {! u3 `0 e3 `7 U6 C0 v
               
& `& @( a6 I! O; S5 M0 Y                        int nHour = 8, nMin = 0;4 S: [$ t0 X8 Q
        #ifdef __CLIENT
! w/ y1 e6 M* n8 n: q: x                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! l& k$ U/ W/ P                        nHour = g_GameTimer.m_nHour;# N' B- \$ O/ n' H0 l. p1 Y8 t
                        nMin  = g_GameTimer.m_nMin ;; D6 q. ^6 k& }# }# o5 w
        #else6 k$ }9 u, Q1 L8 o4 |
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.% A* l# |3 b/ z+ t8 y
                        if( m_nLightType == 1 )
# ]9 D, o$ L4 q. X/ O# O5 ?                                nHour = m_nLightHour;
7 I* v& @8 L+ z6 b2 |; L( g; d$ h        #endif  X$ ], T. N5 ~7 ]  N  @! D* @
                        nHour--;$ U  j! L2 L( L4 P( ]% ]3 n
                        if( nHour < 0 ) nHour = 0;
4 P- a  o/ M' x! E4 M                        if( nHour > 23 ) nHour = 23;
' @5 E8 Z4 u7 P; v  S  A, ]' i1 I2 F; {: q) ]  ?
                        //if( m_bFixedHour )
( G1 q5 v1 s" b6 X                        //        nHour = m_nFixedHour, nMin = 0;* j3 H+ j+ e$ j* B& k- {
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ {7 }  g0 w# Y/ k' w                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];. y; E3 |# G& a+ Y( X( T
* V. M2 w  h7 \* n7 s5 A+ K
                        //m_lightColor = lightColorPrv;
1 X. d1 E9 l* Z8 {  S8 V                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;  P  c% E- E! R1 Q( V, `( @
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;/ {9 \; `' \2 E: l
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;( q. L% S2 m$ d5 K5 D5 l4 B
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
- c9 I. U2 ]6 N+ y                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ C5 x% k7 ]% \* m0 ]8 l                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 m+ g2 m3 ]( R9 t$ p                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ I. _) j6 t0 X+ ~7 z; L% O' S( r' o; E1 Q. Z# @: l
                        // à??μ oˉè*
8 I6 e% ?6 s, Q, r                        pLight->Diffuse.r  = lightColorPrv.r1;
% l: S8 P& l0 X9 r! h' o0 o                        pLight->Diffuse.g  = lightColorPrv.g1;. C0 A3 C6 ]& S) L* e3 `
                        pLight->Diffuse.b  = lightColorPrv.b1;
8 k$ L4 ?* Y" l7 F: U                        // oˉè* ??à?
3 i6 e" K$ m9 @+ b6 X3 _0 V9 w                        pLight->Specular.r = 1.0f;: C) ^9 R6 M. A1 {
                        pLight->Specular.g = 1.0f;; _: c; S/ v0 Y
                        pLight->Specular.b = 1.0f;. M2 [9 ?; Q! A* `2 K
                        // àü?? oˉè* / h7 {: G* Z8 h
                        pLight->Ambient.r  = lightColorPrv.r2;) [7 a% ^: Z& ?! O% E  J* b  S
                        pLight->Ambient.g  = lightColorPrv.g2;
7 Y% b& f9 [- B4 M+ G* C1 v+ I                        pLight->Ambient.b  = lightColorPrv.b2;- k6 Y$ L8 d  X/ R6 }
% Y' B/ G6 B! k5 a: A
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ q! t1 @7 v; e% F0 F; v: I5 L
                        {
" H3 X  |6 v; F+ l) @( R3 |                                pLight->Diffuse.r *= 0.6f;6 C' h2 J1 F% r. ^# L$ ^5 N' \
                                pLight->Diffuse.g *= 0.6f;; n: ?0 D. q8 b7 _) L6 M9 O1 `
                                pLight->Diffuse.b *= 0.6f;* c3 q$ x1 I; b
                                pLight->Ambient.r *= 0.7f;5 K7 \5 t) I& p# c9 K1 b% a
                                pLight->Ambient.g *= 0.7f;& }' N1 q7 b* D* O  \. v+ m5 d7 n. W
                                pLight->Ambient.b *= 0.7f;8 ]3 F1 R' A# K2 Q
                        }
, ?2 p7 o+ _5 T  P- s8 L                        7 x  i$ P% ^: ]+ O/ l
#if __VER >= 15 // __BS_CHANGING_ENVIR
% J1 c0 g8 Q# i1 {& B$ [                        if( g_pPlayer )
0 G( p+ A4 b# _6 x6 z                                HookUpdateLight( pLight ); 2 p- Q  L: Z' a8 M% C& B  Y
#endif
5 i. L( ?: C9 Z6 @2 \, q" G                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 |7 p' n% H8 E  i9 X6 [: e( k8 z. o" z4 ^- D# c
#ifdef __YENV
* E( J" P3 p) I( }7 W7 M                        pLight->Diffuse.r  *= 1.1f;
* B, S* X4 ?: D2 m                        pLight->Diffuse.g  *= 1.1f;
) ^6 A3 ?; \$ |9 k                        pLight->Diffuse.b  *= 1.1f;
; t& T% T7 w- y) D4 R& @& H% W                        // oˉè* ??à?
$ p% _/ f% B* i! b                        pLight->Specular.r = 2.0f;; ?( \/ k2 a2 |; Q9 e- M9 x# a
                        pLight->Specular.g = 2.0f;$ n9 \( g7 p4 s! m# B
                        pLight->Specular.b = 2.0f;
$ ]* U# o9 f# @8 q3 e3 y                        // á?oˉ % l/ {; m+ t9 Z" t, V
                        pLight->Ambient.r  *= 1.0f;9 t; [: _1 c/ }' {( ?, y
                        pLight->Ambient.g  *= 1.0f;% ]+ }; c' x7 f% e
                        pLight->Ambient.b  *= 1.0f;
, H  D: o" Y) m' h#else //__YENV
- _$ Q8 E: ~- F' Z) e0 A$ g% s                        pLight->Diffuse.r  *= 1.1f;& E7 l! \1 G8 I" z9 k- R
                        pLight->Diffuse.g  *= 1.1f;
! H! q( h0 s! k7 q+ k8 a                        pLight->Diffuse.b  *= 1.1f;6 U0 s6 ?7 z. I8 s7 P" G8 C4 u
                        // oˉè* ??à?
# F) S* j5 D0 B( E- T                        pLight->Specular.r = 2.0f;
1 n/ D. f- e# l2 x                        pLight->Specular.g = 2.0f;
. Y% m6 n' }) J; ^7 L                        pLight->Specular.b = 2.0f;
2 k/ y  l7 D& z0 Z: R1 t, W# ^$ t( @                        // á?oˉ - }, l# D: p3 l* M
                        pLight->Ambient.r  *= 0.9f;
. b( U' b5 |, B6 a0 r1 ?/ L                        pLight->Ambient.g  *= 0.9f;
. N7 q9 d' s0 t2 i                        pLight->Ambient.b  *= 0.9f;
$ [4 ^6 X+ }* [$ y! ~#endif //__YENV 5 ~1 G7 V5 o$ y& [" i3 k! X! K1 B$ R
                        0 d, G, e' s0 ^6 `+ U0 y( E; A, |( g
                        memcpy( &m_light, pLight, sizeof( m_light ) );3 C. ~8 D" |: D3 S; _5 a- d, ~( I/ A, R
                        5 X) t& c/ D0 N  O. a
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 W4 Z( o8 Y* l% y4 R                        D3DXMATRIX  matTemp;- K- _1 c3 \$ Z, Y+ p7 b2 m) ~
                        static const float CONS_VAL = 3.1415926f / 180.f;: x0 [7 W* @6 V0 K& C. D" u1 n) V

) a2 \/ S# P# z1 N, C                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);* z. }. r/ H3 `) Y
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
/ k# R; h: ^6 A- \: A                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); * G3 s, n' [# U# f! s( j
                        pLight->Appear( m_pd3dDevice, TRUE );1 D9 m) y% T: L. n
% a- M. m  ]' q$ ^+ c
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) j: Q6 X& @7 X                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
' i4 F1 D& A, h, n6 U                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + U" I1 C9 K+ z& _; C3 U! j# L
7 w+ ]* {9 y/ j4 b! I9 L
                        DWORD dwR, dwG, dwB;  ^3 ?" D- [# d/ |, g$ m2 A9 o4 {! _
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
9 o0 v0 h1 Y6 |4 B. J! N% A6 z                        dwG = (DWORD)( pLight->Ambient.g * 255 );* H5 U, x1 n: C. t
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
! T' m3 R7 H! w- T. `% ^                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
6 E5 K3 g. S: w2 X9 }% q% i1 p                }
  i- G  S# ~' }2 m        }5 S; F+ _; ^' N5 ~/ U2 o

7 Q3 a) U$ L2 [+ @        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
7 g7 c' N# [, p" J, g6 t5 ]        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) );+ E/ K8 A% V; F* e
        ::SetLight( bLight );
5 r/ X% }& D; M& k8 [( M. [9 q% L. h$ K
        // ±ao? ?D?í???ó á¤à? / U0 ^0 l2 `" A
        m_pd3dDevice->SetMaterial( &m_baseMaterial );- p! s& B  R% I0 P9 ]4 l: [
        ( n! ^8 H; s# o$ n) V4 q7 ^/ }
#endif // not WORLDSERVER
" n* ^# x$ P' k/ X+ ]1 v}3 |' M2 a! M8 S9 d% t2 M  j
并更换, I" i  i6 X/ r/ V* H% M9 ^  v6 A
Code:6 R7 v! A; M; E5 W7 u3 r
__FLYFF_INITPAGE_EXT3 P9 K' f2 `5 A1 @5 V6 `
定义- O" t$ o+ r4 X/ e- _  y
/ ]5 X5 ]3 x: V' u4 O3 l& k* o9 i

7 ~4 L1 |3 r% k+ v  }. `- v8 {2 ?0 u% G- G1 o' p- o- T6 O* Y
/ B( P! {$ k7 a( Q* j
现在终于删除我的狗屁加速.../ X' y8 v! B1 i! P" z& W+ P

- D" J& ]" p! M" K2 i. c; r% w# i. ?0 Z/ d4 a

2 |3 y0 W% i" O6 u; y2 S




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