飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:$ ]/ \( r4 ?5 i! h) y" b7 z7 B
尾翼:7 G2 O" x* t4 _0 x6 D7 n+ S7 g

8 G. K2 @2 F0 V! d; j- f5 b代码:# r1 X, D' m9 r4 N
CWndAutoFood::CWndAutoFood()  z9 @  \' B: `9 i
{
; G3 t$ l9 }0 }' o; k        m_pItemElem = NULL;
# L( J- v- u% N6 ?        m_pTexture = NULL;
: M# Q- n3 @1 |1 o( P- e6 n3 A        bStart = FALSE;
/ L1 T9 \, q0 _& v}( k" H4 {/ G# `* @- ?4 x4 l3 v& d5 R

6 c9 \3 d7 `" p- [) w1 K# e* S2 QCWndAutoFood::~CWndAutoFood()
3 T9 n2 Z3 O! L3 v- G! r6 v{
" k* T. u  \+ h9 T- U2 w) Z        AfxMessageBox( "AutoFood ist gestorben " );% v9 Q( j- c. _: l3 K/ f
}
& t& n1 ^6 ^: SBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 F/ ?$ g2 _  G! K{
- C3 m1 U9 h$ f/ J" p        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );4 b9 s3 J4 ]* Q) Z; f( O
}
. y7 C, U! i6 R8 B
8 D+ l- w- y# l( x* w" c% GBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
, T! H  u- K9 i0 {; [, @{
% n/ j5 m* i  v: E        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );  I6 L  x& ]6 ^5 X& k8 |* q/ ?7 c
        CRect rect = pWndCtrl->rect;
# {8 j; e4 h# \' N2 _& S4 y* J4 Z0 o        if( rect && rect.PtInRect( point ) ), V4 d' H% H& E7 {$ r! d
        {
; S. ~6 v9 F8 G" L. M& U; K- j                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. _; q. p* `( L9 d' w/ O
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
8 d# x2 N2 F$ I0 k( h; k                {
3 J: r( a9 W  \. G; r                        if( m_pItemElem )
" _6 d9 ]5 k/ w2 T5 V! `4 N: [                        {, |6 d' t+ S. b0 E
                                m_pItemElem = NULL;/ t- v% M5 B+ _! V( \# Y  w9 K$ X4 i1 z  Y. _
                        }
0 E$ A( T8 y, E; Z* |                        m_pItemElem = pItemElem;
9 G+ q1 ^" x+ J                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 K$ G9 K: e7 ~1 R' [+ d/ Q; s, n2 h                }else{
$ J" W8 d$ M/ A                        SetForbid( TRUE );
3 O+ _: c7 ~  Y                }
  ?4 |% Z. X" G; G! e4 X        }else{; C5 V! H' l( [
                SetForbid( TRUE );# h! i* B! R$ `) t/ }  E
        }) _7 d* S. i# z  [+ n  e
        return TRUE;# V  Q/ R* O; F5 a; @5 A2 o
}
3 j% d2 `$ W8 D- T8 W
% M- F8 @$ U7 g1 iBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 k: n6 h5 e3 ~; d9 T8 Z{$ Z! \5 }* w/ f2 X3 D9 I
        switch( nID )/ ?- ], K: X, m- z" W; f+ D3 h
        {
! e1 C& d( K6 T* J2 d4 ]/ N/ M        case WIDC_BUTTON3:& m' b% I. |' |2 B8 d0 I( n. |: p( l
                {3 J" [5 D$ j: r
                        bStart = TRUE;
+ U6 C, G+ l: |+ e: T                        break;+ l$ ?& d" L, y* g6 A
                }
7 C: `7 p% t) V        case WIDC_BUTTON4:
) |( }& p+ P+ l1 h2 G                {& o$ k( p" o( t4 I% Q4 u6 x
                        bStart = FALSE;
4 d, U  |% K$ C; K8 u- _, M6 i                        break;
/ x  S# k, z: M                }5 ^+ b8 F9 ?: p" [2 x# W
        }* I' \+ j! v+ f# M6 p, _0 q
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
1 ]/ L/ b) D6 A0 Z}       
. h% @7 K/ y7 B. Avoid CWndAutoFood::OnDraw( C2DRender* p2DRender )0 n3 V( l% z+ E) E1 e
{
0 x1 f/ F% e7 p        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );$ B, P0 F1 g' d% \
        if( bStart || !m_pItemElem )
- g, N1 w' s: q. M        {
+ O( g9 c( K" {" A$ w; s- Q9 A                pBtn->EnableWindow( FALSE );! _% _# `5 Q! X
        }else0 N8 [1 s% C" T& J+ L4 r( J
                pBtn->EnableWindow( TRUE );8 v& Y: ]; w' l
        if( m_pTexture )
* f& m; `7 a; ^6 B        {
" \9 J  X" R  u3 F/ e                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );: f9 ]  P5 v# I( I
                if( wndCtrl && wndCtrl->rect )# a$ e) b3 u# V3 H% d% ?. C0 W, v
                {
3 \2 E. L! f4 I# l8 I                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. F% P& X. l0 b8 Q0 s2 u0 c7 W                }) U7 a) \7 M3 G+ ~! n! n
        }7 J' g$ O- d  v. E
}
9 U" C( ]( O' F! ^$ i* O; k2 s7 i! |( h1 B$ K( t" g( A) P
BOOL CWndAutoFood:rocess()' b6 I! ?, k! [9 s
{
# f+ X9 }+ n+ K% v        if( bStart )6 }  h* y- h$ |! w2 q
        {
# C1 t8 |; l7 o" U$ n9 j* A2 R                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )9 I- \$ S6 g1 }9 T7 B* E
                {! j& c+ C9 \! K9 o
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
, e) m/ S. M* E                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );8 X( X' X) f$ q. F- T/ f5 E
                }else{
. P0 D8 D  _/ a8 ^$ k8 c1 D                        bStart = FALSE;' a' @& C% Q8 }8 u
                        m_pItemElem = NULL;+ f& F/ c3 W& t" Y+ I
                }. i! {) m# G0 Z6 _3 o
        }
7 n$ @" |7 n; n( b) E) w- R8 R: j6 v, N        return TRUE;/ _8 S# ~' K) g/ G& g
}) g! a3 o5 `- [3 @4 X: g1 s

2 F( J( M" O- H7 [2 l  N, |! Q登录视频废话:
, m6 w- j% S8 |尾翼:
8 ~% e1 B/ d3 b0 h5 |9 ?0 V' |* H% }3 ^# @5 S6 H
代码:
; e1 s5 d) i% Q. Z! `: e! d" b: V' `$ M' d1 O
void CWorld::SetLight( BOOL bLight ); m; }& H( e5 C% i+ X, {
durch' j1 c9 d6 c7 Y: w
Code:
# `) J* u: c# Dvoid CWorld::SetLight( BOOL bLight )
) F) S/ S0 f' p1 ~7 S{
( S* |6 X/ Q5 ^6 y0 z        //ACE("SetLight %d \n", bLight);
. M3 ^% Y' g9 f1 B  b        - E2 w8 A" {" T% w% \( w
#ifndef  __WORLDSERVER
. x+ l: N: [, R4 m0 E+ U3 m, G6 t        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
) [9 x: d# b  i0 ^# v        CLight* pLight = NULL;( ]. d: ]) r6 I# J6 C

9 g+ E6 g8 W9 H        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
# `, b+ u- \. ]6 r+ {& T
. ^* z  H$ s" C( @        pLight = GetLight( "direction" );' A) [0 U) Z1 o' ^" r+ ^

% K; O4 b1 a+ v#if __VER >= 15 // __BS_CHANGING_ENVIR$ W$ Y. U" i! `8 C1 }
        if( g_pPlayer ){* M" ~8 @9 n  E
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
: ~+ S, ?/ H8 |( ~                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!$ d) i, d# b% L) }) m9 t$ S
                {
; E( ~" Z. D+ |; c/ Q                        if( pLight )
9 Y' B2 y, l$ C6 L$ w                        {
0 d4 I1 F8 U8 g2 C7 g' s                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
2 l$ f9 Y$ g8 O4 r1 E$ X! M                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];8 B9 f' e" m. [6 k6 @2 t
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
% p  |% \$ C1 N3 E  u; ~$ m2 R* ]8 }* ^; n" u. G1 n; v4 U7 Q, l
                                pLight->Specular.r = 2.0f;
' K, J+ T, b4 B) Q% H                                pLight->Specular.g = 2.0f;
5 g$ ~0 u7 b# o9 w                                pLight->Specular.b = 2.0f;
( ~0 o) l4 \; ^3 Q7 W       
0 h, f. ]2 I0 S& ]0 {                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
' b8 F: B1 u5 F0 p5 m) d) E                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];/ ?! ^) n9 `" X- U! `( P2 y9 f4 c! w) l! @( B
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];$ l8 H0 j8 q( ]+ z' B# }
       
+ j, Q  W/ v9 ^" \) O                                HookUpdateLight( pLight ); . r- G1 }4 x1 L* e  P, N2 P

$ z+ d& J$ d1 }" D+ S( _4 p3 Z                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );1 ?6 N; r7 X6 x; v
                4 R+ `1 C6 M2 ]# Q
                                pLight->Diffuse.r *= 1.2f;) \4 P' M; A" ^6 a# w/ r1 Z+ d
                                pLight->Diffuse.g *= 1.2f;. n/ ^7 t# T. s& |- O. Z
                                pLight->Diffuse.b *= 1.2f;
6 T7 N# z# g. b! M$ u9 e
+ V5 G6 C* J/ t                                pLight->Ambient.r *= 0.8f;
2 S7 K9 z, H* ^0 ?                                pLight->Ambient.g *= 0.8f;! B7 f5 i6 v- Z( a3 t) t
                                pLight->Ambient.b *= 0.8f;' k( B2 h$ E8 Y5 x# E
       
% W1 N2 {2 \7 X5 t. B                                memcpy( &m_light, pLight, sizeof( m_light ) );& k" t. d) b# p3 `( o) I7 ~

2 S* G) p7 d& U, }1 l; D* y                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" R# F* ~* t9 E/ U2 U, d                                 D3DXVec3Normalize(&(vecSun),&(vecSun));; G+ t5 Y% I" ^; y- j
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); & f6 _5 ^' w/ F5 G- P; I6 n5 d
                                pLight->Appear( m_pd3dDevice, TRUE );
; Y5 d! O6 Y1 L6 ~- H. G3 f                7 y# ?& w5 |2 [1 k
                                DWORD dwR, dwG, dwB;
8 c2 B" S8 s- U5 x  h& i                                dwR = (DWORD)( pLight->Ambient.r * 255 );% p9 ?6 N; a$ q( b7 `" z
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
" s4 s/ n. ?8 e2 O/ M3 c                                dwB = (DWORD)( pLight->Ambient.b * 255 );
9 h  L1 ?6 x1 d+ ?& E                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );1 p, o* e( s2 x
                        }
( i7 P7 _, c3 V6 _5 t  k                }
0 i2 F2 D: |2 T6 E: z        }
4 Z6 T) i3 V& G" ^1 E        else
% C* y7 k( ]* k- L#endif % v. [% Y& a1 l. ~6 Q" E
* R  ^3 U5 Z* X. _( }
        if( m_bIsIndoor )
* W* _8 [, J1 `( L, t0 `        {
3 {$ d! B5 {$ S! }                if( pLight )& E+ E$ n; N/ a+ y+ M) {
                {               
6 W9 C+ ~- d+ Q                        // à??μ oˉè*
) d* i$ m+ q4 n                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;" G- ]" ?2 t3 v3 C& d
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;- C8 p1 d1 F5 p/ \4 B# C. I
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
6 P& b* x6 U! q3 W- u+ r4 }; q  k5 C
                        // oˉè* ??à?
, n( j* y5 d8 \# P' k                        pLight->Specular.r = 1.0f;
4 x; Q- s9 E" y" `5 C9 ?                        pLight->Specular.g = 1.0f;
9 h# b) n4 P; A                        pLight->Specular.b = 1.0f;& g: N$ w9 Q( K' \
                        // àü?? oˉè*
% W6 d+ J; g6 Y$ }4 z$ r                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
, A- h% w( Z# s3 Q+ Q                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;2 o3 j# e8 r. r! ]
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
, W7 Q8 R; m3 `2 G+ n. K) e1 d( h3 K: {' N  u7 N" j
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 u  z$ p( q" Q- K& U: A                        {! K2 k5 i! ~* l( h! ?5 Y
                                pLight->Diffuse.r *= 0.6f;
2 L& L- v2 O: C/ Y5 M: H7 Q0 U, h                                pLight->Diffuse.g *= 0.6f;% [' g  l- E4 ^, U# C
                                pLight->Diffuse.b *= 0.6f;
" o; p+ n+ W  u( E& r" {9 c7 ^0 E                                pLight->Ambient.r *= 0.7f;. |: Q: Z& }% ^2 F
                                pLight->Ambient.g *= 0.7f;5 X. u: }! Z) O( J
                                pLight->Ambient.b *= 0.7f;
- C1 y3 a7 ^2 N4 [                        }2 Z$ H: h7 C" V4 Z2 V; T

& f6 Q6 X! N$ e+ T; E#if __VER >= 15 // __BS_CHANGING_ENVIR( Q/ u# [4 b8 N; d6 t- D2 A
                        if( g_pPlayer )1 l8 G9 g6 s& l/ f6 u7 E
                                HookUpdateLight( pLight );
+ `  p; ?: i' b+ m#endif7 d* w2 |$ m$ P4 e
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ w/ @! J' H8 L
5 E# D7 I( Z5 f6 U* K- E                        pLight->Diffuse.r  += 0.1f;
# E3 c* n! b& r& a% ~" I                        pLight->Diffuse.g  += 0.1f;, n1 K6 q- y2 u2 T
                        pLight->Diffuse.b  += 0.1f;
: Q7 v% K9 ~% k1 Y! W                        // oˉè* ??à?
8 v- C$ |- \# W- b                        pLight->Specular.r = 2.0f;
, t  @- E/ G, M; |7 ?: X                        pLight->Specular.g = 2.0f;' y" v" [3 Z5 w1 v5 F1 Y! X. r
                        pLight->Specular.b = 2.0f;6 L* N1 q$ J; j4 D; V
                        // á?oˉ
: W/ t; P1 m$ |4 d! P! e, K                        pLight->Ambient.r  *= 0.9f;
9 s( S4 ~& l! e8 \1 y  T+ i                        pLight->Ambient.g  *= 0.9f;0 h# w# I6 p0 r, e3 a) F  g, I
                        pLight->Ambient.b  *= 0.9f;* X# ~) @  t0 F6 B2 R
. q" @, k9 e3 Z5 a0 |
                        memcpy( &m_light, pLight, sizeof( m_light ) );* g/ C5 B2 o& ~( T0 E' ^
                        6 r  o+ b5 Q9 M( Y9 K
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
$ w4 O1 K  c) U+ E5 M: h' _1 q3 }$ C5 J                        pLight->Appear( m_pd3dDevice, TRUE );
0 q( b% w% A1 b% I" Y& `       
2 F+ A  V2 q) f' k! @                        DWORD dwR, dwG, dwB;
* V( ^+ [3 q: {. ^) {% ]                        dwR = (DWORD)( pLight->Ambient.r * 255 );
7 b" m# B. I0 O" d; [, w% S                        dwG = (DWORD)( pLight->Ambient.g * 255 );
  D: E$ x. m: A: ^                        dwB = (DWORD)( pLight->Ambient.b * 255 );
" P3 D7 _& a' H" Z% C2 K                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: T8 U7 D( E: [2 g/ p- }6 ]                }( y' G6 ^' i/ n
        }
  ?* f8 K  }8 e. \& x: ]8 t* ^* f; q        else( s1 a" l& _! B  h6 W
        {# {" H+ H" e' a3 V4 {6 u  t
                if( pLight )
0 B" E  ~/ l% P( n                {9 _8 }( D1 |! H; W
                1 s# L. G4 A) I& n0 m3 X
                        int nHour = 8, nMin = 0;: u4 V. j3 ^1 G# n3 S; Q# s
        #ifdef __CLIENT2 R! `. e8 h" a: k+ y; e4 R& c0 B! X
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 i8 d" C! d# s# T( Z8 e; G                        nHour = g_GameTimer.m_nHour;6 b: U8 j6 f. m9 y# V1 d0 O; f# |
                        nMin  = g_GameTimer.m_nMin ;; V7 Q/ a/ a- W! l% v' D1 ^" w
        #else
( R  R# Q) h" t% V1 l9 B- G4 o                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.8 b9 o) R, p0 k
                        if( m_nLightType == 1 )+ l3 b+ C2 J, x9 r$ U2 T
                                nHour = m_nLightHour;
5 E  }% o% m, w/ `% @7 g        #endif8 T1 G! k( ~/ {' Q$ Q7 I3 `
                        nHour--;
/ A* s1 }. `; L. A  i! u* f                        if( nHour < 0 ) nHour = 0;5 K' d% T4 r" C" H! U% R3 C
                        if( nHour > 23 ) nHour = 23;' K7 l8 `0 F' z# l
! \, y2 @8 D; n+ N- C" _
                        //if( m_bFixedHour )2 f5 ?5 ~" y" _! R" Y. t9 _
                        //        nHour = m_nFixedHour, nMin = 0;$ A. F4 h; @/ \( q; O' ^* z* U3 @$ Z( D
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];% @; s4 e3 Y7 T8 O, ^! ^4 s& d
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 Z6 K/ O1 T5 ]1 [9 g8 `3 L
+ L( P* c9 _' `* N+ n6 U2 ?$ M                        //m_lightColor = lightColorPrv;, k4 _/ U" S1 Q1 Q, D/ a4 \
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;# k6 r* D6 I! R0 g( K5 l
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; ]! t8 e* S: ?* S                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;. U" w. @! P) {9 e; b+ p
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;- B; g/ `7 w" ?
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" C8 l' w+ @2 [4 j/ v                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
  [  J) |* K, w/ T                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)$ t' I$ A" ~: |$ {; ?2 E
' ]6 _& q" J4 n& u9 V- ?2 k
                        // à??μ oˉè* & ~1 M; m- y- }) t6 A/ E
                        pLight->Diffuse.r  = lightColorPrv.r1;
0 k% J5 w4 Y  J0 k" [- `; ]                        pLight->Diffuse.g  = lightColorPrv.g1;$ {3 U2 N5 T  s0 `# k% s
                        pLight->Diffuse.b  = lightColorPrv.b1;! m5 ~" j6 l: U
                        // oˉè* ??à? ' m  q) _* X; ^, _
                        pLight->Specular.r = 1.0f;
% B2 V0 b) F+ I6 G                        pLight->Specular.g = 1.0f;
) T9 H& U& e1 T                        pLight->Specular.b = 1.0f;4 n7 ?/ R8 @1 G- D
                        // àü?? oˉè* " h, \( f6 v0 w. E: \$ v. e
                        pLight->Ambient.r  = lightColorPrv.r2;
# O6 n. d5 c9 ^# _; s# {2 V                        pLight->Ambient.g  = lightColorPrv.g2;/ S' i; k- b: A
                        pLight->Ambient.b  = lightColorPrv.b2;0 K" S' K' F- j9 z! @; u. N

" M; O  u- k2 j6 u( S6 c                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.. Z4 Q" V! j; {/ N' C1 ]# e# ]* h
                        {
2 K# M. |9 F9 g% R                                pLight->Diffuse.r *= 0.6f;' E6 j6 B( l* Y
                                pLight->Diffuse.g *= 0.6f;# u! K6 w% H; W8 R- G( M( |9 f
                                pLight->Diffuse.b *= 0.6f;
9 Z$ ?1 Q2 w% e0 X* x; Z/ ~                                pLight->Ambient.r *= 0.7f;
0 H& o# Z9 \5 a0 [, j! d                                pLight->Ambient.g *= 0.7f;
8 P* v( n1 m3 J& _2 |                                pLight->Ambient.b *= 0.7f;
: g2 R( O) z' y/ t3 ^                        }
( H: |- ~: l5 F                        - @' n$ Z( N# t; l1 y5 s
#if __VER >= 15 // __BS_CHANGING_ENVIR. n5 V/ ^  ]6 `
                        if( g_pPlayer )
' P; ]. g1 E8 C                                HookUpdateLight( pLight ); ' o- @9 V$ w. f/ S4 C
#endif) g# P" W- {( L
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );% t" N* f2 [. `. ?8 m$ F2 l

7 X2 p2 T/ V( u: D#ifdef __YENV
& I- I2 v1 Q" f  h                        pLight->Diffuse.r  *= 1.1f;
& v, z3 ~  ^* L+ ?                        pLight->Diffuse.g  *= 1.1f;$ o" y$ f( V) n3 ~  |& w
                        pLight->Diffuse.b  *= 1.1f;
/ H4 A4 d. S* ]# a2 X1 ]# n9 c                        // oˉè* ??à?
+ r  \1 |# g* v( G7 R                        pLight->Specular.r = 2.0f;
# v' s, w" `- Q( ]/ k. `                        pLight->Specular.g = 2.0f;
1 \  |$ J& T9 D7 [) p                        pLight->Specular.b = 2.0f;
7 m/ ]' k2 Q: g: n/ b4 x( ~                        // á?oˉ
* ]7 X6 z% l. o$ G                        pLight->Ambient.r  *= 1.0f;7 ?& I5 J+ A4 U- _/ ^# F; D/ I& P9 P% t1 d
                        pLight->Ambient.g  *= 1.0f;: D4 B* w. I) D9 T6 [% K
                        pLight->Ambient.b  *= 1.0f;& A5 A/ r# V2 M# ~1 h
#else //__YENV
3 o/ t" T3 d& L2 S) y                        pLight->Diffuse.r  *= 1.1f;3 a) Q/ [8 a# P* f  O/ c+ K, g
                        pLight->Diffuse.g  *= 1.1f;8 q6 s, G6 ^3 ~0 ^+ B3 z* y/ u
                        pLight->Diffuse.b  *= 1.1f;
3 [1 |9 V0 X9 n( _                        // oˉè* ??à?
3 p- @) I4 a: T9 Y" ~4 F& k                        pLight->Specular.r = 2.0f;9 G* Y; f0 l9 P7 I8 P1 k" k4 d
                        pLight->Specular.g = 2.0f;6 }, F" E, Q* F! @; j: u- J% r8 F( B( z
                        pLight->Specular.b = 2.0f;
1 R# z. u4 x$ |9 i, u, A9 E                        // á?oˉ 5 l0 ]  e( N' i' U# ~
                        pLight->Ambient.r  *= 0.9f;
3 L7 E* F9 X+ H0 g% k4 ^3 J/ ?# a                        pLight->Ambient.g  *= 0.9f;$ a6 O- K2 z4 t$ K+ e
                        pLight->Ambient.b  *= 0.9f;
) `% @7 @  T, R#endif //__YENV , i9 X2 y8 W. \: ~) N- t
                        * o' O& Q0 }! {) E
                        memcpy( &m_light, pLight, sizeof( m_light ) );3 B& q( }: P9 b- B
                        3 Z3 c& A9 u3 ^: t* G* J; b2 R
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);6 ]" t8 |- g' @& [! Z  o0 ?
                        D3DXMATRIX  matTemp;1 L3 W. _% z0 V( u; n  B) I) v. U
                        static const float CONS_VAL = 3.1415926f / 180.f;* E- p3 J: z2 b' b; r# j8 j! i

3 H4 e, t0 y0 p; E, G, E* C. C7 X                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);; {& f$ l( {1 k8 C
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; _1 F% x. v" \                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 H8 F; A, v9 z# K                        pLight->Appear( m_pd3dDevice, TRUE );8 a& J% l# D7 @8 i7 u, g+ o
8 A) L+ Q- \( m4 o' n3 y
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% Q+ ^+ _2 C' O' u! w                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));3 T5 r  a( e7 r- Z3 \; f
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% }5 _" e* }& ~% f  K8 R/ c' e/ O! b) [" K; [& o1 g
                        DWORD dwR, dwG, dwB;
  k" h  t9 B7 R/ ]4 n4 u0 Y; I                        dwR = (DWORD)( pLight->Ambient.r * 255 );/ L' v0 B$ b+ }! |7 T. }1 g2 Y
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
, |3 y1 Q. c8 n2 \& K                        dwB = (DWORD)( pLight->Ambient.b * 255 );$ F. B; F: H: [) S
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        1 b' p( c3 L, _5 E) d4 p4 K
                }
, C% n$ Y9 E- P+ y" D3 g: ]        }
4 z5 `$ C, @& j! d& {' x9 N
' n1 }) |$ g0 n% |. O# M        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );# l0 A& H! Q3 D; l) u
        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) );
9 G3 \  U( J# N4 V& |1 O9 U) ]; M        ::SetLight( bLight );) U/ ~* u$ L5 d# y2 b' \

$ y7 u' ?7 n+ f5 f8 p( l/ ~        // ±ao? ?D?í???ó á¤à?
( U3 w; o' f1 x. G% o. d        m_pd3dDevice->SetMaterial( &m_baseMaterial );% y' o1 A4 ?; [' Y5 T
        ) b% _4 Y# j) \. E4 l
#endif // not WORLDSERVER: Z$ v8 `2 ~4 c$ L2 ]* {, y- F8 }
}
# S8 Q  N1 {2 ?5 C8 i并更换+ ?, r* L# X0 t
Code:
* _4 o' \# I* t  M* L__FLYFF_INITPAGE_EXT3 i5 l0 N6 J6 g* c5 k
定义$ T; H! G4 {3 w4 \- _! S

9 r2 i9 z- p5 F% g
" c4 y# Z* |" y. }; J1 e7 p0 z* c' x5 f* L" i' l

0 L% f- _6 \7 S" W4 t; J! o现在终于删除我的狗屁加速.... @, G  e% |" w) v

9 i% _1 e( k. H( r7 q# u; a. o5 t7 N% G: `
( _- Y4 n7 n1 i( l& }





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