飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:' Q" C+ W7 x# G
尾翼:
$ r0 D/ I8 E! U3 [$ E8 f  o+ L2 k  a% o
4 _( |$ }2 J+ U+ q0 U( G+ ]代码:; Y% H) D( @* |- j6 n
CWndAutoFood::CWndAutoFood()- T% A' I9 Y+ V7 `" k8 g
{
6 P+ c! G  d1 Z2 C' n        m_pItemElem = NULL;
% n  g& r# u, O0 `! U        m_pTexture = NULL;7 N' d8 g) m' `4 i2 O
        bStart = FALSE;' u# G# l/ @/ j
}4 }8 h5 _9 \( ^9 x

  t2 O" j& v" W" }) M2 C& |9 MCWndAutoFood::~CWndAutoFood()9 V1 u* \+ f. r; |' J/ _
{
% C+ m# H$ S$ O+ x2 u' }        AfxMessageBox( "AutoFood ist gestorben " );. l+ N8 [" F) J$ d4 K" m
}3 Q3 d. _' W# }: D
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
2 Z5 o+ e* A+ d# N{
2 J- u9 B: \! h        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );) o# I$ P& ~; _
}
+ K' u2 {5 ^  s3 l
( S8 U, e3 q* n6 RBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( j5 m% J( Q; m{8 ~8 p9 K( }1 t3 i
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );; V: A' Y1 x  k. x4 A: b
        CRect rect = pWndCtrl->rect;
( G1 _: C/ V+ t  D! Z) X! t        if( rect && rect.PtInRect( point ) )
& W0 f( j8 n# u7 k        {* E; U' F4 q+ i; u* e" X2 Y, d
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );7 n* K( G5 I: v4 v
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
. e2 M  ?( q7 m# o' S4 E6 d                {) Y8 [# H, j0 j& K) @
                        if( m_pItemElem )
( {6 b4 v! w) v: Z" a7 L/ |                        {
2 i& n9 F5 g2 v" J( V                                m_pItemElem = NULL;
: M" ]- w$ {  W' ?5 d                        }4 H+ }, D8 D) G! U8 n: I
                        m_pItemElem = pItemElem;4 o# c3 A" x0 d; H9 C
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 O6 U4 m+ t! L& z& P8 v  d1 B                }else{8 S/ j& s6 A" E+ {- S5 o% _/ V
                        SetForbid( TRUE );
  y- y5 P0 A+ \; Q9 c) q4 @) k' Y                }
+ i$ v# \6 |9 k/ k3 V& z6 l) B* {1 h        }else{9 R' y; |, N2 f0 X( D
                SetForbid( TRUE );: L7 ]0 ^( e2 n% F' e2 _) g
        }3 a* e0 ~6 W3 h2 \+ ]  l
        return TRUE;
2 _' c: S# T9 p$ z4 ^# g% m}) n& b3 d$ N- g3 T% N+ F! J
/ ~% s2 E" v' m! a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )7 d; K: N9 k* Y2 [6 i
{
  E/ ?1 y( ]; t) r* `        switch( nID )
. K0 \# t  S( t# U% _6 b7 e# b& n  |) f        {
, n3 I: Z" G. n, y3 ~6 f        case WIDC_BUTTON3:/ g) Y5 C* T0 B" Q  y4 U
                {) j7 v: q( W% u/ p- N0 a
                        bStart = TRUE;+ d: u0 @9 ^; A- m
                        break;
8 z2 a( \- T: M; j                }
# N; ~% a% F$ u" I+ |        case WIDC_BUTTON4:# e/ r7 x7 r+ Y: c+ U8 b
                {
; V% d# f0 }) K+ ?7 ?, ~# J, v% {                        bStart = FALSE;% U( X! L0 Y5 R# z' |& h& a* s
                        break;
4 F2 u0 W& ?0 u2 f                }7 g2 H! A) U  W) q1 t) k
        }1 T* _* r2 M5 k& H
        return CWndNeuz::OnChildNotify( message, nID, pLResult );: b" Y7 g7 i  x8 q
}        % e* D1 I& C% K' v( x  e
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
6 X  u" Z8 O8 Y{, p8 E$ O: R% ?0 E) G) q
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" s6 S+ G$ W0 ^; J" _        if( bStart || !m_pItemElem )9 z4 r- j4 p7 r$ a" R$ |
        {
# ^/ j& e, Z* l7 L                pBtn->EnableWindow( FALSE );4 `% w, P. o! D! Z! \' g
        }else3 w" d" p! F% ?3 {
                pBtn->EnableWindow( TRUE );+ ~$ ]9 j6 k3 h! D0 M
        if( m_pTexture ). |7 S; x* [* g. F
        {2 U$ `6 k& B5 M+ Z( V
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );  L6 P- h! g5 b( i
                if( wndCtrl && wndCtrl->rect )
7 d5 x$ l! \. U# ]                {9 ?$ }$ J) e) X1 W1 A
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );) ~1 v2 n  C9 G( \' }
                }
$ f+ M7 g' j+ Y# Z3 W8 b' `8 j        }
' z1 r  ~2 E0 f$ ^5 I1 ~. B}7 M) `* G8 p; @2 R, u
9 B5 `9 T; I# P
BOOL CWndAutoFood:rocess()
: [* F2 @( j! m& w  a& q{4 U4 Q' G  R2 H5 m
        if( bStart )0 B7 V( \/ [. }3 u' b
        {
  p9 \8 m: P2 F3 j4 H                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
" S4 H5 b4 s; V5 Y$ T                {
, X: |5 |- b0 P" 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() )7 Z7 i6 _4 \, P) t5 F7 Q2 [
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 L$ Y, N! p3 N& V! M                }else{5 k  ?" r$ V6 r1 c+ a
                        bStart = FALSE;- J. X# ~; p4 \* a" d
                        m_pItemElem = NULL;
4 B5 S+ ^( h& X9 s+ g2 v. b6 _1 h                }6 w, s  k0 M* C0 n* R& P9 W: ^1 |
        }/ N$ [* h4 j# ~+ o' Y
        return TRUE;5 j7 i+ s) J) Z2 H% X
}
( u3 w* \9 n) G( B/ D8 [& t0 P# L. L3 B& L
登录视频废话:5 e. G/ Z6 j- P' ~" n7 t
尾翼:, e/ ^1 `% k, q# A) z2 M  A; V

3 u) q! x2 c& H代码:
  B  u3 s- w& a( L7 M+ l# A; ^! y5 y8 }
void CWorld::SetLight( BOOL bLight )
5 ]$ E% @/ ~! L* a) J9 g+ A8 |+ e8 hdurch  L2 N9 q" S& ?3 y/ u1 ^8 V! A  {
Code:! `% K) E  p! ?6 ]3 D1 K- d
void CWorld::SetLight( BOOL bLight )6 {$ C1 K: A- [3 _
{
7 r( V% A7 x9 t( U5 [$ n% ~) j        //ACE("SetLight %d \n", bLight);
5 X# T, i, t8 n  Z5 @1 m( S4 \+ U        , h* d9 E$ V& c3 y- e
#ifndef  __WORLDSERVER ! w0 o6 Z( o  \1 m1 Q# Q
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
, h3 g- l" P1 |6 @        CLight* pLight = NULL;
' |+ y9 [4 G: j( J
6 K  o8 N9 i) V: j- Q9 c        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ z2 ^) f( A) c$ Z& |
4 S4 x* E1 B/ v5 Y        pLight = GetLight( "direction" );
: c4 w% p- A9 k4 i( ^7 n
2 l- B4 p! O5 ?0 V1 O#if __VER >= 15 // __BS_CHANGING_ENVIR/ z' c1 L8 N5 d% t6 J4 S
        if( g_pPlayer ){3 |/ C0 L$ `" K  d# ~
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
0 P* G! A0 N1 H! F                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
, [" Z: }: x3 Q; k0 j4 f                {
" z$ f+ h: |0 i1 d/ G, U                        if( pLight )
' L7 @9 a# q* K  u' H$ f                        {8 j- l4 b* `0 d/ o
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];5 e+ z( S& z0 l0 G
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
) c' u# T7 e; }9 W+ P8 [# `                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];/ Y5 E/ Y' w9 W9 o& }5 R2 r7 v
# K; b$ V/ ?& G+ j
                                pLight->Specular.r = 2.0f;8 E$ u! C$ L, b
                                pLight->Specular.g = 2.0f;
8 ^; Q* i) c1 i! j9 {                                pLight->Specular.b = 2.0f;
/ d) z% p+ E' M& ~# s        6 V7 ~+ }; E7 P: m
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
' L  q5 ]2 o! X                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];5 \! c" n0 O7 G# ?5 U9 ?+ ~
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* P0 w- [7 _4 S) K+ C7 G+ @# w% R1 ~; f       
+ n6 E) }) E; j' A                                HookUpdateLight( pLight ); $ J# F9 ]3 p4 _+ }* ^2 }8 e
1 ~6 ?! F% U; ?! T& X
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ t; ]; l6 Y+ `7 f                ( q7 u6 p0 o  `6 {; U) ]
                                pLight->Diffuse.r *= 1.2f;2 `8 A& H1 R, w- v5 t1 P  U9 R* H
                                pLight->Diffuse.g *= 1.2f;
8 `" g6 y- J. ~                                pLight->Diffuse.b *= 1.2f;
1 ]4 I1 B7 v* Y4 e3 Y& C9 t8 F1 p) k8 v% \: e) X5 D) y  ?" `
                                pLight->Ambient.r *= 0.8f;
, ~% @+ V9 X) J# o9 u' d                                pLight->Ambient.g *= 0.8f;
8 g/ p7 M8 b+ H, X5 e" {9 A# U$ k; A                                pLight->Ambient.b *= 0.8f;0 y  `" ]! c4 J9 _0 P: S
        , m; y, X! o( Y/ i( j2 V2 D1 C- z
                                memcpy( &m_light, pLight, sizeof( m_light ) );
9 }5 e. p+ n1 T! C, @1 h6 \+ v& j- J/ a- P$ s
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 Q" j0 ?% O- c+ a$ w
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
5 x) W; K6 Y9 C                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 4 k3 k3 h% O7 D3 u
                                pLight->Appear( m_pd3dDevice, TRUE );' l" B  i: e4 d1 d4 F  E  B) z
                + C9 }9 a( ~* a" }4 T+ k, A- \
                                DWORD dwR, dwG, dwB;7 d- y# A5 D* j: W2 c: D0 [% ^
                                dwR = (DWORD)( pLight->Ambient.r * 255 );$ x  V; N3 }5 L" M9 l
                                dwG = (DWORD)( pLight->Ambient.g * 255 );( r" ^1 I5 z. L9 R& H; [
                                dwB = (DWORD)( pLight->Ambient.b * 255 );, e5 I, N0 ^% i1 T, P6 O% o: r
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );: f  D& Z/ l. J0 C; I/ C
                        }
% y+ p( `. V5 C                }
6 i7 f& _9 T3 f        }
" C1 C5 k/ J8 i4 q0 O        else
. H5 y+ W' W0 v# _, ~5 j#endif $ o8 w4 ]1 G& t: O; m+ I* q

1 M* m/ o; h8 Q3 H        if( m_bIsIndoor )6 e' ]9 z& U( x# j. r
        {
7 T3 V$ N9 s" Z5 M& ?# `" H1 O+ ]( I                if( pLight )
% {- f5 j) S/ S5 n/ R8 R8 o! |                {               
) K9 p* h- J: w% n. [                        // à??μ oˉè*
# I& E9 V2 {! C# c+ N; D                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
9 f* i; |% x- t/ |0 H' G                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
4 x: N8 K7 R/ O% q; d                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
9 w; I' y6 |2 @# F7 O2 i' J: ^* Y! u* e5 J0 B/ S
                        // oˉè* ??à? ; ^% p# t8 T: i& u1 w1 E
                        pLight->Specular.r = 1.0f;
& C1 W; G3 G6 e+ ?                        pLight->Specular.g = 1.0f;3 A2 y  i- l, ^4 R5 y& z
                        pLight->Specular.b = 1.0f;  e/ P' O9 c6 r; Q. k1 f; C% Y
                        // àü?? oˉè*
& |5 C# F3 c3 w                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
: D7 n) F+ Q0 ~" s5 G1 N- z                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
$ E- ~  }5 O/ m: U, T                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
$ A, x# ]. X3 j
1 {9 ]% D3 N5 u; N; C* R& p                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 L2 F( M& g& G8 y* P                        {
! Y) _3 }3 Z% _' |' t                                pLight->Diffuse.r *= 0.6f;- D/ l) E, u0 _8 i1 [- _/ ]0 H
                                pLight->Diffuse.g *= 0.6f;4 |8 U$ `* u. B# m; S6 ^9 M0 n/ D: Z
                                pLight->Diffuse.b *= 0.6f;1 G  P& J% _- R
                                pLight->Ambient.r *= 0.7f;
1 ]+ {0 g5 {4 I/ s+ |                                pLight->Ambient.g *= 0.7f;, \8 q5 V/ n+ y& |0 Z
                                pLight->Ambient.b *= 0.7f;& b2 ?; i) g, ]8 L$ ~% w  j
                        }0 n( i6 L$ D6 d7 Y9 `; ?

( Q. w2 b" X2 a8 ?#if __VER >= 15 // __BS_CHANGING_ENVIR
* E8 R9 v0 A. ]  M6 `7 j1 z' _                        if( g_pPlayer )9 o* Y5 [+ U2 m
                                HookUpdateLight( pLight );
" s0 `9 X( A8 ]3 i5 s* X/ L#endif
* |9 v) A& E! r- Z7 F# b* {                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 W2 p* g  V" ^
$ a8 `5 A7 y9 S# h& c
                        pLight->Diffuse.r  += 0.1f;
+ l) p' h9 N. I) m) x  O4 N                        pLight->Diffuse.g  += 0.1f;
, j9 l* {: C, j3 t                        pLight->Diffuse.b  += 0.1f;
& g0 S1 N: t! o+ v9 u/ h                        // oˉè* ??à?
' ^4 R8 v8 y1 A) x, N                        pLight->Specular.r = 2.0f;: |1 J) Y1 O$ g! k; K
                        pLight->Specular.g = 2.0f;. Z, }4 E8 [9 O# S5 t( M4 S- W
                        pLight->Specular.b = 2.0f;
: n0 T/ t9 d6 L- X4 {5 Q                        // á?oˉ
- e$ W5 k" S7 r3 _) J& }                        pLight->Ambient.r  *= 0.9f;( s" \( T' u! p( M' k+ |: E
                        pLight->Ambient.g  *= 0.9f;2 X5 j( ~" v4 B
                        pLight->Ambient.b  *= 0.9f;; {5 Z3 P. Q3 x$ Q4 H2 G5 W9 V
* F& {% Z$ t9 T8 i2 G+ m0 L4 Z
                        memcpy( &m_light, pLight, sizeof( m_light ) );
- q( Y1 H/ f( M6 @. O                       
7 L& `, c7 Y& H. `0 G: X( j                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );1 B* S* p8 ^: I: b% M
                        pLight->Appear( m_pd3dDevice, TRUE );
- }3 S6 H. w- o  U: L3 }- @& N( ^       
$ b) ^; V0 g; i                        DWORD dwR, dwG, dwB;- f( W; j5 w9 T( d" Z9 J
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
6 ]( U0 p- T4 n5 S  f1 e0 E                        dwG = (DWORD)( pLight->Ambient.g * 255 );- T. G' `- ^" K* S& |+ M
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
1 D# A- i/ o! r                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 K6 L0 O- W5 N8 l) W' A; \4 o3 S                }
9 ^# Z$ ^' a. p$ G3 h! o+ c        }8 N+ N$ |1 W7 Q7 t/ a: d  j7 t- H
        else+ D  m8 H+ w( d. i5 a
        {
* y: l) ?$ |/ W' O+ \' H" R; q                if( pLight )! U: a! x( C. Z: s
                {5 Q% K" s& Q8 \& `
                ! o8 D6 `. j. I) q# |
                        int nHour = 8, nMin = 0;
5 }8 p& e' l& z/ t5 o- b, d1 ]        #ifdef __CLIENT
' ^1 T& a2 K& W  E0 o% |5 m; {' w                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" S; q% B9 E2 a4 {; p4 i: V* z                        nHour = g_GameTimer.m_nHour;
! g, A; B) ?$ l+ B- P                        nMin  = g_GameTimer.m_nMin ;
& |3 e8 j% K4 l3 I' [        #else0 E5 s# l" }' I$ U8 s9 v2 U; t: {4 w! u
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.& S) \3 S+ F* n' \
                        if( m_nLightType == 1 )
  j! X; O( t3 L) c                                nHour = m_nLightHour;7 Z! g7 b& f% ~0 k
        #endif& V& v2 I. j, D! y
                        nHour--;; Y# ], S! `. L. @  @3 R
                        if( nHour < 0 ) nHour = 0;
8 }! m/ E$ e5 C& y% ~1 O                        if( nHour > 23 ) nHour = 23;( @. d5 N) e. x" F; d: @8 X
* r. L7 o0 t; f5 b3 V+ t! l5 t
                        //if( m_bFixedHour )
5 J0 m% K  f: I                        //        nHour = m_nFixedHour, nMin = 0;% i2 }. v) Y4 ~* D
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
. B# T% H: F9 P- _8 C3 e9 A: y0 e# G                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 _5 K6 W' x7 b, E
. D7 H$ O/ Z# I* P+ J                        //m_lightColor = lightColorPrv;
0 {$ i+ r% n* J# E                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;" ~+ J2 q& a6 K; N6 k
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;! n; c  y4 e. ~" T6 m+ \
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' Z# \7 s1 t* a8 T" M
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
) i& X# c0 u: r                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
/ m% R1 Z; e' F# `9 X( R; n                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 @8 ~0 g# `1 {4 g                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
7 {# F- o: a5 k; N; w8 S# z+ g8 P/ v$ P2 i! W( T; y
                        // à??μ oˉè* / U, o2 G, a; W5 g
                        pLight->Diffuse.r  = lightColorPrv.r1;
0 l2 S6 J+ Q/ u8 V8 r                        pLight->Diffuse.g  = lightColorPrv.g1;
/ e- S. u0 G) w4 S$ G3 d) A3 o' z; }                        pLight->Diffuse.b  = lightColorPrv.b1;
* [  }: I2 D6 r' C9 d                        // oˉè* ??à?
1 \4 H' Q1 i4 e( s# F0 @* r# M                        pLight->Specular.r = 1.0f;
1 P  I5 E6 E: H1 }' s                        pLight->Specular.g = 1.0f;3 [: b& V" _! t  `  P1 T; F" e
                        pLight->Specular.b = 1.0f;5 [5 w, P3 l- |  `
                        // àü?? oˉè* $ s2 A6 U( p6 m" E; W
                        pLight->Ambient.r  = lightColorPrv.r2;
) }% Z. p$ u. l' m                        pLight->Ambient.g  = lightColorPrv.g2;0 F( n$ ~8 _+ Q
                        pLight->Ambient.b  = lightColorPrv.b2;1 i2 W$ |# _2 l3 u0 X+ q
2 {- u1 X  e7 h+ H9 n5 d
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.9 x- Y! Q9 H- U$ x- z0 j5 k  }2 W% ?
                        {
( ]! [' c3 {. D4 S! r; D$ O9 T                                pLight->Diffuse.r *= 0.6f;' [9 _8 U7 m! N: x4 r
                                pLight->Diffuse.g *= 0.6f;
- A! k4 r. ^7 @' s1 T' Y' m                                pLight->Diffuse.b *= 0.6f;/ U4 W9 a6 V& Y9 F0 @& a3 }
                                pLight->Ambient.r *= 0.7f;: w5 U" F! B9 h8 h6 F2 V
                                pLight->Ambient.g *= 0.7f;
4 A7 V* g: v0 G% |                                pLight->Ambient.b *= 0.7f;
9 @0 Z4 D/ L  i6 P( p- w                        }
- X. C% e9 k( L" h7 v7 x, {4 D                        # e( @8 \0 r; ]1 ]# \
#if __VER >= 15 // __BS_CHANGING_ENVIR/ E  I4 z: U( f( z7 Z4 Z" N  Y
                        if( g_pPlayer )! p' ~0 F3 {, q! U: @( _0 H
                                HookUpdateLight( pLight );   B) x( S& h: z+ A5 H5 o+ K
#endif
3 u; N) F$ T6 S' T. P& g                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );2 X/ b/ D  D3 v; [) k0 K& r

7 j9 {. A; Y% D/ g) R) O% t#ifdef __YENV5 e: A3 j% Z3 _
                        pLight->Diffuse.r  *= 1.1f;
# ?2 b' Y5 g1 x( W- K5 ?                        pLight->Diffuse.g  *= 1.1f;
' C6 F8 o$ x* C0 g) h                        pLight->Diffuse.b  *= 1.1f;+ E: _. p7 E' ~
                        // oˉè* ??à?
) {& L" ~1 G5 C* c! U4 V                        pLight->Specular.r = 2.0f;- X; E# ~# w; X, x5 o
                        pLight->Specular.g = 2.0f;: P6 Z( @2 k2 c' L/ M
                        pLight->Specular.b = 2.0f;) O1 D2 s5 c: v; s
                        // á?oˉ ! W2 \. H! }+ E: c) V7 f
                        pLight->Ambient.r  *= 1.0f;
/ V8 V" e! I! x! K& M" p' l                        pLight->Ambient.g  *= 1.0f;
9 D! B% Q( ?6 H9 K0 m8 ^) J                        pLight->Ambient.b  *= 1.0f;
& A& V( @( {, Y% s0 f, e#else //__YENV
$ j6 s8 J+ X% D1 Y                        pLight->Diffuse.r  *= 1.1f;6 j3 t3 q- n9 N: H
                        pLight->Diffuse.g  *= 1.1f;) F+ G3 c# @; n' |, F, W
                        pLight->Diffuse.b  *= 1.1f;4 p6 N) L, r2 E
                        // oˉè* ??à? 7 K+ X1 z" q* @: `
                        pLight->Specular.r = 2.0f;
4 l' ^0 j. ^, I5 U% e                        pLight->Specular.g = 2.0f;/ H) D, N' T  K
                        pLight->Specular.b = 2.0f;
# s, x& B" H; T8 `4 J, }. v                        // á?oˉ
5 A& {$ A2 ~3 o) [                        pLight->Ambient.r  *= 0.9f;  y" W7 |; U8 \" {7 @# H0 j
                        pLight->Ambient.g  *= 0.9f;' k+ {  p# h% B$ ~6 |! C
                        pLight->Ambient.b  *= 0.9f;6 j* o8 C' g/ ~" n( H4 p9 n
#endif //__YENV
, \3 t/ T0 v% o  ~8 v* Z$ Q                        7 g6 V& x: o+ z! ^3 g' A; F
                        memcpy( &m_light, pLight, sizeof( m_light ) );
5 h& f- P4 k+ C. X6 h9 f                        - d6 x9 k; ^3 T+ |2 f" v0 S
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 P6 F7 t1 B6 v9 U* c% W                        D3DXMATRIX  matTemp;7 G+ T! J+ z9 n3 }$ \6 i
                        static const float CONS_VAL = 3.1415926f / 180.f;
5 c: e, P3 \, i! Q& z
, e* T8 ?8 f$ @- ]$ `                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
; s) I9 D& \2 w" x                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
# C  U2 W& t: q3 U4 M# q                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); % w1 y# S" M1 ?  u1 h  }$ J3 y
                        pLight->Appear( m_pd3dDevice, TRUE );
! ?0 ^8 o$ [* f7 [5 }6 l' w+ x1 }: C
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, s8 {) w; y& T  l4 g6 Z0 ?5 a                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));5 g& |% }' B: t  H9 g7 Q
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 E; ]7 P# @: V; D* @$ l8 G5 z1 U& C

4 N' f4 N8 ]- [6 C                        DWORD dwR, dwG, dwB;7 v5 L# a4 f+ A" N" r
                        dwR = (DWORD)( pLight->Ambient.r * 255 );% ~& j5 A! @1 q2 X
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
* f7 z& Q7 x. O                        dwB = (DWORD)( pLight->Ambient.b * 255 );
. ?, b: M9 j' A. D+ Y& w5 B' u4 a6 ?6 `                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        : n8 Y5 W+ T' _) l6 Q9 v3 B
                }
3 E; l0 }$ F- Y3 k: i7 k        }; ?. X. L/ B- j+ r4 {6 K$ K* d3 b
: O& f; U! m' S* a6 q3 E
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );" y1 S2 U9 J( X6 `7 P0 i
        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 j$ n, H! b  z) g0 r0 T
        ::SetLight( bLight );7 V4 M' W8 D2 O1 q
* h/ W7 ]& a& A- r5 I
        // ±ao? ?D?í???ó á¤à? ( i  O6 A  b# T5 o; T/ h# R3 b
        m_pd3dDevice->SetMaterial( &m_baseMaterial );3 F: t: B, }/ R5 T
        % V2 ^, c( @9 l
#endif // not WORLDSERVER
4 H% w( E4 [9 q}
( I" S, E  j# W0 d  X4 W# e并更换7 }  X0 K: u6 w
Code:& K: j- w! {5 n$ E* o
__FLYFF_INITPAGE_EXT
9 j0 k5 A- u' X! D* l9 L, u$ V) D定义
2 _( m" w! j# V7 b/ n& _8 l. t& S% L, L

) D' z. I$ N  H+ h* B' }
* s% G5 E) F' S/ c9 g' p5 C! J0 d2 ~  b
现在终于删除我的狗屁加速...
! K" {* w9 {8 Q1 m7 w7 k# ~' \5 s4 M6 i

$ B9 x7 W* Q, W' k/ I; i3 C3 z" q! P9 s8 O





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