飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:4 G+ M& z! F- d. V" O* t
尾翼:
4 {# \% a  W# o: @$ Q8 }
  ]8 J3 g6 r1 H$ d5 ]代码:
" @! q, a3 R/ {% s+ Y  ^CWndAutoFood::CWndAutoFood()# |  L# g; X: V5 q5 E
{/ a3 S; V* |% t5 o. |4 V2 b
        m_pItemElem = NULL;6 Z2 P3 b; E! B" r3 R
        m_pTexture = NULL;9 t1 Z5 V/ _5 A& |
        bStart = FALSE;
: d6 J0 v; \2 R! o! V}5 t+ w' ^2 E& o  D

. j5 t6 L; v8 T0 k/ L7 d, w4 `CWndAutoFood::~CWndAutoFood()* S4 e8 `& E. H8 O8 A8 f7 p- @: f
{4 G! ~; o5 h' Q
        AfxMessageBox( "AutoFood ist gestorben " );
4 j; b$ F7 v9 H% f; S' `. ^2 L+ ?}, V8 g* J3 @5 S. v, T* E
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 }. i% e* Q& k) s7 `( B0 i. g{6 {0 G4 n# V2 H
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ {# p% k/ b& h+ l% x
}( t) C( |. H/ S! g( `! t1 N1 U
5 M+ q; F& ?1 p) V
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )# j4 n, `1 p( J
{0 Y5 x8 D7 x; O% R) e3 b
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ d- M3 k. x/ c1 y        CRect rect = pWndCtrl->rect;
* w, _7 l! _" ?. H5 ~* q        if( rect && rect.PtInRect( point ) )- o3 {0 v( F! E- S5 F5 G( s
        {
' _3 X9 Y1 M: K/ u/ @' j                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
# b) g; N% ^( A$ _                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
: c; f* V  B1 }6 y                {
4 f( I# Z$ M1 q6 T6 `- U                        if( m_pItemElem )7 p. z: s) e' e
                        {
# X4 p/ c9 h+ O: B3 F, |; Y                                m_pItemElem = NULL;
0 g: q" j  N0 Q1 W7 {+ k                        }
5 Q: o& R0 X3 D7 N1 }8 R3 M                        m_pItemElem = pItemElem;/ q3 H, T. F7 Z; E: \, T( j
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );6 w) o9 c6 Q. s3 Q, E! O- h6 z
                }else{
* [. B- r5 \3 S/ Y                        SetForbid( TRUE );
& ?! ?, W/ W0 d0 u3 S9 U5 O                }
& I6 R, q/ a  Z  G( V! t- S        }else{" m1 {! g4 e0 {; A& X; T
                SetForbid( TRUE );6 m% y9 x# M. i' i2 e
        }
- W( g6 a# q+ l) t4 u        return TRUE;
8 |, }9 F; s3 }}
% R  _4 b$ R* ]* O8 r* A$ B! W/ ~
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
+ p, s  Q' s2 i0 o6 _$ Q{! \) I+ a, o9 j; R8 f
        switch( nID )
0 I6 d* s# v3 K5 o        {
5 e& a, ~( ?: S+ c6 B+ P        case WIDC_BUTTON3:4 C" o# e) z' d. R$ R0 ^
                {3 c8 |3 Z% X3 K. `0 E( ^
                        bStart = TRUE;
" X0 z9 k" Y+ D; P7 l) g                        break;+ _$ }6 J' m) G' ~) z$ y6 P
                }! _' y5 H/ I9 F/ a) r% U* q+ o
        case WIDC_BUTTON4:
; Q8 r2 |# w0 P; t                {' T- y0 `+ H; l
                        bStart = FALSE;4 u8 `3 j$ ]' ~- x) G
                        break;
! Z+ O- A7 H+ r4 g                }/ w* {' Z. |- t  d# \
        }! o" Y, M, T" i$ `+ w
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
# h, T6 T) C% i3 W- k. Q}        7 R0 M0 _, @& i. }- }1 X
void CWndAutoFood::OnDraw( C2DRender* p2DRender )5 i/ ~6 ?0 x+ r& r) k9 g# t
{5 ^; u9 N! y2 `3 a7 X
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );6 A( K* M7 r! j. X  B
        if( bStart || !m_pItemElem )+ h2 B/ P" n8 t" B3 J$ M6 j
        {7 M+ f; W* i$ s* o& f
                pBtn->EnableWindow( FALSE );$ w; G# \+ y6 x. C* g( k
        }else
# z0 Z' f: ^# m- Z                pBtn->EnableWindow( TRUE );7 v8 v; G  q# O5 _7 j" Y2 |/ @8 e
        if( m_pTexture )
. D3 S; `( ~9 D+ i# ^        {+ F: Y. }1 @$ T3 {+ b
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 B7 u1 b0 ~& n' b2 _; O4 {+ e' {
                if( wndCtrl && wndCtrl->rect )
: O9 B! a2 o- C  `. |2 e                {
% `( N, j( V- B0 O, Z) J6 g( p                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );1 e1 x, B# a2 e+ f
                }
' l* R- h$ x: i% u1 S        }* z5 d/ _+ g1 z  [8 Y9 `
}5 @+ @- F9 Q: `
3 {' Q: M: A' I' X% Z) `
BOOL CWndAutoFood:rocess()1 |# W2 P! J" u1 b9 d( z% q
{8 q% r1 W) l3 W0 z% c
        if( bStart )( l" m! k- x% j0 D% }' o
        {
4 B! X$ G; \; g; b; X                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ). {; [( `& O7 G, E4 v" p
                {
' X$ p" _% v+ K+ i' x                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )2 `1 M0 ]2 ^7 A& F5 I+ k
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* U1 Q/ j& A! B5 S* N- ^                }else{& \7 \8 G3 i2 J2 O* j: S
                        bStart = FALSE;1 u/ O' s, E: J8 b% @
                        m_pItemElem = NULL;
: |% V  n6 c* K; W7 Y                }
: s, h! l  j6 S7 X( _        }
' V/ u" v" _' g        return TRUE;
) S( N& m" I# D4 I/ w, ^}1 J2 C( d2 s" h2 K- a4 {. X

8 E( }' P  n3 C1 W7 i( h4 [登录视频废话:
: A# H% t  H2 K尾翼:  u; ^: @1 N/ A: X6 y2 }
  M; |+ k* y4 f1 a' A0 r; Q
代码:
( j: h% m% U/ d% V5 @, S! ^2 u1 p. `1 e
void CWorld::SetLight( BOOL bLight ): |0 Q9 M: f2 d& [
durch
6 D: L& c  \$ F; xCode:  A* G( f) y/ o9 V6 f! {# _* f
void CWorld::SetLight( BOOL bLight )6 d4 s  R' n! g) T6 A, Q' B; l
{, I* _$ V% T: p$ i
        //ACE("SetLight %d \n", bLight);4 j) R! g2 f3 @: `$ }: L/ }( W* u
       
  m9 ^" I" z, G5 A#ifndef  __WORLDSERVER + P! q# a( f/ j9 n5 r
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ \$ ^0 w. `% D& Y/ Z        CLight* pLight = NULL;5 G4 S4 ~3 b# F. S6 G6 n; H
( k$ }  _6 e0 _3 t8 o. B% X! h
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );  z: k  ?! {& P. j5 M

  D; J0 ?- {! ]2 k( ]" i) Z        pLight = GetLight( "direction" );- h) B: A5 I. h( K

1 ]4 @9 `- C( [#if __VER >= 15 // __BS_CHANGING_ENVIR7 o4 ?3 A/ u  s8 h1 Q' a. q
        if( g_pPlayer ){
) M7 L! z/ \8 `                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );) Y/ U. v: E6 d& Q) h4 s+ m
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!0 z. T4 `0 {  }
                {
% q, O5 W5 x+ I0 L, @, X2 g4 g& C                        if( pLight )2 J! P  I4 c! ~
                        {
; {7 J: Y' Q, \4 X1 l                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
* p* `( i% v; m+ I                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];0 R7 n# H* F7 e. ]0 H9 O4 }
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
% g* s2 s7 g7 z& G/ N: b
& d( f0 Z3 m; A; @3 E  [; x1 K% v                                pLight->Specular.r = 2.0f;& p4 d; u/ P3 e9 T6 d
                                pLight->Specular.g = 2.0f;3 v9 N5 a1 ?9 y9 J5 q) G
                                pLight->Specular.b = 2.0f;
; B& H; |7 Q. R2 U8 w        $ Z( l  @0 a( A* Y" A
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
2 D) `6 Q* ?7 j0 }) g2 l3 h' E- Q                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 u, W4 p; Z' L                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
- }! m. A3 I: e+ b9 [0 c8 I7 q        $ F$ e; L" t) n! s2 s6 u
                                HookUpdateLight( pLight ); + j, q9 }& u1 x6 Z

7 J  I3 ?2 j- f) ~6 {2 w                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );" f7 I6 C; C* }
               
$ ]/ V& t) f- M2 s                                pLight->Diffuse.r *= 1.2f;/ g% Q7 v* n+ M
                                pLight->Diffuse.g *= 1.2f;
6 e+ k2 q8 t7 z+ D# H$ y                                pLight->Diffuse.b *= 1.2f;0 y- S* W& D7 ^1 r

. p; q& e1 i- W& ]: E  q                                pLight->Ambient.r *= 0.8f;! `- r6 Y0 y0 K. S4 @% Y9 a6 N" C% u
                                pLight->Ambient.g *= 0.8f;
. Z4 O, R- U6 R- k6 O) C, y                                pLight->Ambient.b *= 0.8f;
4 R" K8 x- R# b9 T6 H, F% a3 P# D/ u        ' E! ]6 X& J: S$ m
                                memcpy( &m_light, pLight, sizeof( m_light ) );# o& P9 ?& `8 Z- z& O) l+ b4 e+ g3 [

/ V4 Z8 K6 {  g) a3 V( O; {9 r/ y                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 x" @; j! h+ J; h2 [
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
! l2 F' b5 @7 R  L3 i% _                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ v% N& E9 B" G. [/ L                                 pLight->Appear( m_pd3dDevice, TRUE );
2 d/ T4 R3 V$ }  }  \* h                ' y* M) x) a( _! D  _/ E. V
                                DWORD dwR, dwG, dwB;
8 S, A! R3 R4 \. g3 f' c" z. X                                dwR = (DWORD)( pLight->Ambient.r * 255 );, r2 |- L9 T' \4 q
                                dwG = (DWORD)( pLight->Ambient.g * 255 );% K8 H$ k" p$ l: T# Y
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
" G6 B/ E9 _" u) x' R( g2 N) U3 b7 ], ]                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( O$ U% `5 D. D, Z% L$ \1 Q                        }
3 h* l" w0 }2 n" ]6 C8 n                }# Z9 z/ Q& u, w' x& ~
        }9 L% E0 ?- \1 ~+ U
        else
! F5 r( P! j( M9 G2 N#endif   z0 i  D( S" `2 |* A8 i& \

, K, V0 ?: [/ h" A7 X: K0 ^- F        if( m_bIsIndoor )
7 P! R& T# m8 `; W        {+ j: l1 c# G6 b* ^% d- J8 y. k
                if( pLight )
* Y/ ?+ J% \. `) ^; X% z" ]$ X                {                / W) ]) X6 ^. D) k
                        // à??μ oˉè* + H5 W3 q5 t/ H( K
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ E# J8 R" |/ C                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
8 [$ {6 x9 D4 D2 n/ m                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;' ~1 u  E1 A. f8 h+ n+ H

. K7 q0 |$ v# m1 R' v6 R0 M9 ?                        // oˉè* ??à?
/ ]+ M- T( l3 M. C" N& \/ B5 r7 @3 E                        pLight->Specular.r = 1.0f;$ T5 }4 c0 u/ Z! C8 O
                        pLight->Specular.g = 1.0f;
- W, f4 r" e. U8 v2 {  J' f4 u1 B! T                        pLight->Specular.b = 1.0f;( P5 R" w. H2 s, a( O9 c8 n7 U
                        // àü?? oˉè* ( e. I5 q$ |5 j" f! }+ v/ T
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 G+ X) |- p2 x4 ]9 v8 |                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;- H3 H" U  V( t; Z  b" K! V
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;3 m1 h! ^# o! ?2 t# V

, X" R) Y# s, V+ Y& d                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.  M2 v0 F" D8 u6 n6 i
                        {
) n  E! f" Z! O- R& D: s7 q3 a                                pLight->Diffuse.r *= 0.6f;
, u: @1 ~/ R' ~+ t5 X: V                                pLight->Diffuse.g *= 0.6f;* g0 {8 Q/ a; Y$ _, W
                                pLight->Diffuse.b *= 0.6f;
+ y+ |7 C0 V* u; e! d                                pLight->Ambient.r *= 0.7f;7 G8 u+ Y0 O+ q9 e3 O7 s5 [8 d1 j) ~2 w
                                pLight->Ambient.g *= 0.7f;# K) k# G; {9 O( [, S, c% c1 ~9 b
                                pLight->Ambient.b *= 0.7f;' v0 G8 ~" R& `+ A- h  ?+ F  {
                        }6 }7 W; A6 ?2 W5 \  v

8 T, k& e  T# a( z! I; T#if __VER >= 15 // __BS_CHANGING_ENVIR
! h1 j2 |" v$ }: T; s2 |& u3 _                        if( g_pPlayer )
6 [: Q+ J! V6 C4 T                                HookUpdateLight( pLight );
7 P- V) `' n9 j- _3 c: V#endif( F: M. W# d0 p3 t( e* ^
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% T8 A6 e  O+ o8 {1 l! g& Y" x% ]) o9 z2 P- \" g9 t) Q
                        pLight->Diffuse.r  += 0.1f;# G& u; [% t% i1 h2 T
                        pLight->Diffuse.g  += 0.1f;
2 w% O2 a: ^, J2 M4 f                        pLight->Diffuse.b  += 0.1f;
  m, J7 m: I( W; t( m: k* H                        // oˉè* ??à? ; v: k. C% Q9 l4 ]8 ^( a' F3 _
                        pLight->Specular.r = 2.0f;
, V( ~( ]/ r- H+ t( A$ Z                        pLight->Specular.g = 2.0f;
6 \) o& V% X" V  ^, y) Z/ I                        pLight->Specular.b = 2.0f;
( _- A+ ]5 V# R                        // á?oˉ
' D! \" Y! z' m# h                        pLight->Ambient.r  *= 0.9f;
3 ^0 j% T8 W: p                        pLight->Ambient.g  *= 0.9f;" L. w( d/ H" v  k: t
                        pLight->Ambient.b  *= 0.9f;6 M8 K- L; W# C2 b  ]: L4 M

& \9 ?4 K3 k- L7 m8 y& L                        memcpy( &m_light, pLight, sizeof( m_light ) );
1 c9 N0 B6 R: r; ]                       
3 d! Q# q* N+ H4 \                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );; B' b' q3 W& y' y
                        pLight->Appear( m_pd3dDevice, TRUE );# e) A" A( I3 r
        , i3 @( g7 P. J4 g, e1 a, [
                        DWORD dwR, dwG, dwB;
, z% I3 l7 K6 ?; M5 O1 I                        dwR = (DWORD)( pLight->Ambient.r * 255 );8 H7 {' Z  A' u: F% p: {$ X6 @2 i! M
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
, [3 U+ @. T  D9 u                        dwB = (DWORD)( pLight->Ambient.b * 255 );
2 s& s+ H# n, G9 u; P- H0 W7 A                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( \4 |, y* }) f* p% a
                }0 K6 Z$ g" S" h1 h0 V- z
        }# U3 r+ H: c6 f& {7 R- y6 E
        else
! d( R9 A1 _" k- ~* I        {( i7 b7 i" {& s# ]+ i8 t
                if( pLight )
/ }& B7 O* q# a% l8 U9 J" s" e                {
& m+ G* c7 k- Q& _                / y4 F) b9 G% U: v5 r5 A
                        int nHour = 8, nMin = 0;! ~% p" L; N4 g0 J4 C
        #ifdef __CLIENT% g4 u1 q- W0 q$ c2 M: g6 b
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. % e* |5 B* H; E( ~
                        nHour = g_GameTimer.m_nHour;2 h7 I  {6 b* G' Q/ e- k9 M
                        nMin  = g_GameTimer.m_nMin ;9 O3 N8 b- c+ w5 k, b
        #else
: v$ S1 a- G, d: f: `- `                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- ?; Y1 v! u& v) w3 {                        if( m_nLightType == 1 )
/ W  c! m( f) ^" q                                nHour = m_nLightHour;
* s( e6 L1 t+ V% S        #endif
- ~8 g& l+ `, ^4 I- {                        nHour--;
# E/ C/ Q! ~$ c' n& Z2 f                        if( nHour < 0 ) nHour = 0;7 f. I! z8 }& b$ G
                        if( nHour > 23 ) nHour = 23;
5 M# h0 _+ K2 z$ A4 S9 U! A+ P/ X0 `) c, z8 G9 z
                        //if( m_bFixedHour )8 o& g) U/ B' g: n
                        //        nHour = m_nFixedHour, nMin = 0;
! [. |5 C5 \& S, p  Y                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ G. E0 R& Y5 E5 m4 j5 c( z# k                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];" [2 ^, T# a2 i, w( J
, x1 P) {- {6 x5 |$ I: r
                        //m_lightColor = lightColorPrv;) Q9 D' ^. y5 s8 k& f$ i+ E
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;0 K( L8 K# A8 h' Q
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
% j& @  o, z7 Z* k( z, D! E                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
4 P0 M0 D3 S5 {6 q                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;1 a. j9 L4 i5 |' Q. m4 H, U
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;" N5 `. l# Q% _$ |' D/ U4 n4 ?
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;6 D7 E. e7 e% G: {# a0 J
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)( U" `6 |" @+ m/ e8 A7 {! }. h
8 w6 {. Q# S# a; {7 }% A& ^
                        // à??μ oˉè*
; Y" P) h& e) Z" g$ Q                        pLight->Diffuse.r  = lightColorPrv.r1;
6 X% B. M! e. @+ N# C& X4 Z8 n! x& ]                        pLight->Diffuse.g  = lightColorPrv.g1;
. N0 y# M2 d2 h7 F) c: F/ c                        pLight->Diffuse.b  = lightColorPrv.b1;2 T, _& b$ u/ i+ i/ w
                        // oˉè* ??à? 1 K/ O. S9 q; [4 v& h
                        pLight->Specular.r = 1.0f;
% j4 {+ i3 I. g( K$ r# J                        pLight->Specular.g = 1.0f;
+ W8 h2 M/ u+ v& d& e                        pLight->Specular.b = 1.0f;
! f+ Q0 n; B  t$ ?% ]" \  r                        // àü?? oˉè*
5 k+ h3 j" V+ v5 p) W. }4 d                        pLight->Ambient.r  = lightColorPrv.r2;' y1 |7 e& w  q! p: w. p" f
                        pLight->Ambient.g  = lightColorPrv.g2;7 }: g3 L0 g& s" [* O+ s' n- ^
                        pLight->Ambient.b  = lightColorPrv.b2;  z" C5 [6 N2 b9 ~/ r8 z
# i+ `# W7 ?8 h
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 M' f. J$ R. d+ S# }                        {
* t9 x4 q# C4 Q9 b* |! }: b                                pLight->Diffuse.r *= 0.6f;" ?% G0 c) x' g! z1 j
                                pLight->Diffuse.g *= 0.6f;
/ ^+ e6 l5 ?" Z' c                                pLight->Diffuse.b *= 0.6f;& p2 M8 d* h3 @' z, k
                                pLight->Ambient.r *= 0.7f;& a. w# f' O' k
                                pLight->Ambient.g *= 0.7f;
9 _7 _( l( N$ K/ K2 n3 O5 l                                pLight->Ambient.b *= 0.7f;+ w! k1 X1 ^5 U" U( b1 N
                        }$ _0 d. J7 ?; \( ]: A
                        1 C% M& a( B, c% q/ {
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 \+ }- ^& Y0 d6 [* d8 H  T: I                        if( g_pPlayer )
8 a+ U6 e( l7 z" k4 X                                HookUpdateLight( pLight );
2 V* ~+ x% K$ m4 w+ ?0 K8 S; [#endif+ M/ x. W* B: s; w8 t4 {1 ~
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
  l2 f7 t" n: c6 a- T0 A: e) {6 r3 G  ?- h7 h
#ifdef __YENV; Z/ |& X% e$ V; R
                        pLight->Diffuse.r  *= 1.1f;# Y+ c) x# Q0 {3 i1 k6 L
                        pLight->Diffuse.g  *= 1.1f;# m" @9 u. |) R- N. {
                        pLight->Diffuse.b  *= 1.1f;. @6 Y: R. _; K* }/ y) X7 d1 m8 f
                        // oˉè* ??à? 9 E1 v' S9 u; g. x0 \, ?3 W
                        pLight->Specular.r = 2.0f;- i" y+ \2 W% }8 O
                        pLight->Specular.g = 2.0f;
. G  D0 f! a* o' m  F/ O% p/ \                        pLight->Specular.b = 2.0f;9 w4 Y: D2 v$ }1 i0 b: B
                        // á?oˉ # l! C0 e+ W! k  k( Q" ?5 U
                        pLight->Ambient.r  *= 1.0f;
5 h& i5 [6 s) w$ v0 u. e                        pLight->Ambient.g  *= 1.0f;
6 m- q2 F" G* M+ l                        pLight->Ambient.b  *= 1.0f;
5 w9 F# G5 V# o1 g6 _# U#else //__YENV$ k  s# w# G! i% Z; l
                        pLight->Diffuse.r  *= 1.1f;
) }  {7 ~- x0 t9 e                        pLight->Diffuse.g  *= 1.1f;# E+ g. G) O0 K, p$ A! t- P
                        pLight->Diffuse.b  *= 1.1f;5 H: q, g) |# N: z& P* Y, n# V: L
                        // oˉè* ??à?
% s1 F3 u! J; j4 n5 l2 y4 E+ B                        pLight->Specular.r = 2.0f;
6 }) ?% t6 _; r+ f, H! P9 W7 H4 u                        pLight->Specular.g = 2.0f;
* \' L9 D0 J; h                        pLight->Specular.b = 2.0f;
" E* {7 S$ r$ c3 W                        // á?oˉ ' W; X( G9 v4 }. S
                        pLight->Ambient.r  *= 0.9f;
$ D9 {/ v. N, t5 F                        pLight->Ambient.g  *= 0.9f;/ m" j5 ^0 C% ~( N( C8 R) P
                        pLight->Ambient.b  *= 0.9f;
4 l  N0 f+ z' n8 A2 V3 D4 ^" f#endif //__YENV
! E. x8 N" Z( O) r8 C                        8 v* P" |- |% |, x, ~8 P- j- R$ b& ~
                        memcpy( &m_light, pLight, sizeof( m_light ) );" [, `4 v' L2 H2 _  M0 @
                        2 s3 B3 E- G6 m& t  `/ c
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);0 B1 ?) u7 }0 c8 [" r- {6 O
                        D3DXMATRIX  matTemp;
" Y4 q+ ?" H. g: w+ E                        static const float CONS_VAL = 3.1415926f / 180.f;# S8 `# S6 n; ]0 _
* N4 y. J; E, A. A3 `2 k+ N
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
3 I4 O1 {7 I' y& P  r                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);0 W5 ~) ]6 b: H/ B9 T6 X9 S& n( R
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 3 g" M) a% t3 X3 N1 Y5 K7 l
                        pLight->Appear( m_pd3dDevice, TRUE );
0 t  x# M0 g' j% d9 u* H# W# _; g$ _6 F: W* y( p8 g, D, b
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! T7 T5 y/ Z- c                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));$ e* d( D0 t' T" U
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ' q. I  U0 u. X' _. H
. _$ O% U5 ?6 W: v, x6 P( r; {
                        DWORD dwR, dwG, dwB;
5 {' V; J) H5 G* r/ a* x                        dwR = (DWORD)( pLight->Ambient.r * 255 );# l* v" Z# Q5 a$ q! `( S
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
+ A3 F& `' Q  h. ^$ {( C' ?                        dwB = (DWORD)( pLight->Ambient.b * 255 );
) c/ Z& Y7 C  p9 i                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        2 V' v2 ?  `/ n# W7 \% I! w
                }
* a8 I8 ]( F0 a4 Y% u        }
6 L* `' D" F- G" I' n7 f6 m
1 l0 a* c/ |0 z8 c        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );) |6 c0 W; e, j8 @" k+ 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) );
1 M4 {. c5 ^0 _        ::SetLight( bLight );. ?; @% X, `  j! V: A, Y
8 Q3 \  l7 K" y6 F# J) G" P9 D
        // ±ao? ?D?í???ó á¤à? ( J5 L$ O$ Y1 T) [
        m_pd3dDevice->SetMaterial( &m_baseMaterial );5 k$ q. P& w! ~! u
       
  c- E, T; b4 y3 t#endif // not WORLDSERVER
8 r# ~2 b9 [0 K* c}( U% Y+ Z( n8 W+ i  D
并更换
0 C  B* X# \' A7 A$ BCode:9 s1 v: i9 p. M* z
__FLYFF_INITPAGE_EXT
, W/ B4 |$ o8 y( z' M' r& ]定义
+ o- C' t9 w$ Q, X2 d/ G6 N- }9 d8 [9 ~4 G6 p/ t6 s

0 U0 X0 X+ C4 n/ H+ C$ G" G- ^
. }" p% [/ T/ H  F0 F
2 Q5 O* U  u# C: T( h现在终于删除我的狗屁加速...6 l4 y8 b" V, t% W
/ \# P7 s# i/ X8 @7 s$ q
4 Z6 M/ k4 W9 l* l/ H, Q) U& e
1 X. \* Y  _% A1 d; A, Y





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