飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:% r' W5 t+ U5 v' @  `! A+ M* ^# n
尾翼:
* q9 @! K* x* L! D  v7 \. x. N0 T: ?" ^0 P( t
代码:$ g* A6 t1 }) u8 ?* `
CWndAutoFood::CWndAutoFood()
* ?/ N. @$ Y  z& p* X{
3 `0 n: k7 G! }0 i" o3 t        m_pItemElem = NULL;
3 k6 N5 x/ V  Q6 K        m_pTexture = NULL;( O  H# N  a4 J! m, S. @( i9 r6 c( m
        bStart = FALSE;
3 N7 @. C' K. U' J4 @}7 ~/ i' ?" J! g# B! w  Z
* m1 j  X+ t; Y- p
CWndAutoFood::~CWndAutoFood()
2 P% [! T& F% a) ]. N$ {2 m{6 c$ u4 M  J$ i8 A
        AfxMessageBox( "AutoFood ist gestorben " );- g2 n! X/ d) S
}
: O- t) v0 q4 QBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( n0 l3 y0 `+ Z: @! J{
% V+ U1 b% y& M# M; `" F& ~0 Q        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );0 z7 w" Y) u* `
}* S' E; w6 E2 R6 T: }
$ i) E! E# x2 V: R5 M  [) u% o
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 H, b# R9 d- U, Q5 I& z) b{
* J1 E, _& X% w% Q        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" ]: f+ Y# a& W$ s# b6 g        CRect rect = pWndCtrl->rect;
7 J" w$ D, W8 n4 N% Z1 K+ W        if( rect && rect.PtInRect( point ) )  B" Y) ]0 ?  Z# i6 R9 s+ Z6 C% D$ ]
        {
& ]8 H9 C( g( s! P# l                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );. ~0 U5 }7 E' B+ W# {
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
1 P7 S) Z9 Q9 D  |; X                {5 D; e7 f/ t* ~
                        if( m_pItemElem ), C0 s- _, m) N; g
                        {, b! V+ L  S" @- B# o) _
                                m_pItemElem = NULL;
4 R  H3 i& p; J( c6 b7 r& S8 I6 e7 x                        }
- @! O8 ^7 @" q6 n. ]* }/ z                        m_pItemElem = pItemElem;/ ~+ q. T. _$ L
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );( E' T3 A- r- w* U) q) v' e
                }else{) G: v9 d$ r/ b  a* y
                        SetForbid( TRUE );
1 ~" Q, j4 D6 H& V  \2 j0 {                }
9 w" |4 z  V2 R+ O. {        }else{
6 y: l" i% h! q% H% @/ ?9 k, J, e                SetForbid( TRUE );
8 j- Z% X5 S) @0 D        }2 g8 j7 }. G6 p4 G
        return TRUE;
: k2 P4 Y: x5 Y# I4 f) u}4 V! f( J! T$ i; u* l* e4 ]6 E
, g+ O0 L1 ?: ]
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )# z1 Q( h  w6 ]+ Z/ O
{9 u, U* ]4 Y( o) A* O/ Y& w2 X
        switch( nID )
9 b* n- |0 D3 H9 W) k$ R        {0 [" p8 n. T9 O1 _( j8 j/ n) ^! e1 l5 l3 U
        case WIDC_BUTTON3:
( T9 y: g- C  N9 u                {* W3 I, @& N; J3 i( [1 T, A
                        bStart = TRUE;
/ ]2 J8 B2 l- u                        break;4 x" e9 y; W1 _6 u, A
                }
6 P4 M- q% v' g; b9 b        case WIDC_BUTTON4:
# {! N" Y! {3 Q/ z. p3 ?- R( s                {# M; c1 v$ t8 }3 b
                        bStart = FALSE;
2 |" f( ]! q7 k% E7 [2 S! S                        break;2 F5 g0 R( p  Y+ N, s: v* U
                }( y+ c1 E2 d! H" N
        }
5 F, ^* g3 _& \$ N, ?6 I        return CWndNeuz::OnChildNotify( message, nID, pLResult );+ S. [, a* m3 @0 D
}        / u. z" \/ m7 y7 e; o
void CWndAutoFood::OnDraw( C2DRender* p2DRender )2 M% [( o3 X8 W; Q2 \3 z3 l- I
{1 K, f, a; R! q
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ e4 O- ~* [% V' _1 J+ z        if( bStart || !m_pItemElem )0 W& H$ X$ h' b% M  F0 I
        {8 u. d* Z2 d) q
                pBtn->EnableWindow( FALSE );
6 {$ m, z- L: I6 z: @. ]# }        }else6 ]0 _6 r% D  a9 t
                pBtn->EnableWindow( TRUE );4 _0 i0 e& @9 h) Y# ^! P
        if( m_pTexture )& \7 O" E6 o% C4 K7 b4 D+ y( ~
        {
& y1 n5 X0 B- b: s* H                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 [$ f% \! I5 ^1 }: V" m/ G2 F                if( wndCtrl && wndCtrl->rect )3 o7 f) y/ N- b) k$ _$ O
                {4 A+ u, _3 v% U  l4 A/ L# H9 p
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );2 I! y' L( j  c1 o( q' h1 o
                }
( i) _. O: G/ j3 l        }$ L7 ]: q& }2 ~4 v# [! N
}( \* C1 n' P+ W

* i1 w/ ^4 X. v; @; o6 E- IBOOL CWndAutoFood:rocess()
* Q6 v: U* u  e$ g$ [5 H' k{! `$ P$ Y; ^; L, q+ t
        if( bStart )4 x& f% P6 d3 j3 J( _- c* W
        {* ~$ P$ `# K4 i. J
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
) D  a# Q) @' f3 n# W$ y" Y                {
# {$ M' U/ K+ D4 V                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )9 H% t7 m. Z: Y6 p% v. Z" L
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* Q+ [# @7 {+ }                }else{
5 J- X. ]2 Q8 m! T; ?# O% ^+ R                        bStart = FALSE;
3 e) a( b% w5 m* p1 |- X0 w3 ]                        m_pItemElem = NULL;$ o& d. B; X5 Y& X
                }
3 B- w2 m1 _. W; H8 w7 I        }
* g$ t+ h3 f, B        return TRUE;: z# c( D3 {/ e' P& b
}
- [' s. V4 w# S+ N9 F' {. c9 Z
+ ]' v2 ]/ y4 P+ o9 P登录视频废话:( i0 l* {- R# c( I' I- |' ]8 v0 E
尾翼:
3 b8 \0 Z" y4 P. E0 P
' T. ~7 ^& Y) [4 P$ E代码:
+ T" d5 B* Y8 p! @
4 m! C" C; l5 l1 a% e: K0 y6 Wvoid CWorld::SetLight( BOOL bLight ); N3 Q" z$ R- D+ e% i0 |
durch# u2 l" F& U2 n) P' Z' C
Code:1 S$ X" V, j% M& b" c2 v
void CWorld::SetLight( BOOL bLight )
! v; j) u8 B: {( g$ H+ a{
2 {0 {  [2 i9 V. v( ]( q$ I6 A5 g        //ACE("SetLight %d \n", bLight);8 h& X$ e0 A1 G* }
        . t; J8 W' j# L! E; @! X6 N
#ifndef  __WORLDSERVER + @; t. Z2 l% Y- X- z+ |  z  T. N
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
' ~; X" b0 C4 _0 n. F* C        CLight* pLight = NULL;
% m" `$ B6 N. w. Y0 h3 U1 K8 }- v8 I4 T/ a
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );1 }) D% J) z# `/ z

% B; D# k- d, d+ n/ s1 C. j9 U$ d        pLight = GetLight( "direction" );& A: D- M0 n/ h! g% s

5 i; o6 i7 D% _# Z. `2 z$ o#if __VER >= 15 // __BS_CHANGING_ENVIR1 u; _6 ?9 I9 p% P
        if( g_pPlayer ){: R4 V9 x) k4 x* [, \* B
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 a7 a1 F+ v% h2 ~4 ]" F
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
; \4 u7 A8 @9 k( Z& I                {
0 y7 }5 |: P$ A% R1 w                        if( pLight )) y7 H% `! O! b" Q% N  ]. d
                        {; l+ Z; V7 t( \9 r& [7 T, M
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
4 K# X, U8 O* o* B5 s3 x, x                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
/ M9 y1 r# d0 d' y& N                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
' X! I$ K* K1 X7 }2 T: e. _- n- B* |" W3 J3 _- U6 k  C1 ]
                                pLight->Specular.r = 2.0f;
! d0 G0 @6 Q' Y6 A- D5 C                                pLight->Specular.g = 2.0f;2 N5 Z4 w8 y8 l  Z& B0 J. w' A
                                pLight->Specular.b = 2.0f;
0 D' O6 t6 M  b, U        - k9 s% m0 D, ?% L- R
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 L) |1 q# I/ w: U/ v2 o- U                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];0 ^4 y$ s! o& |5 D
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 h3 w4 H8 N( x7 ~/ a' n  \
        # i% k: X# h! C, i* `' |! x! W
                                HookUpdateLight( pLight ); , L$ m) [# e7 q$ K. W7 j
/ c! [2 w0 _4 @0 c2 R
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 {( G  ~% W0 Y8 X; q, p  K' f2 J
               
+ U& F( x, t  p7 K  N                                pLight->Diffuse.r *= 1.2f;$ `/ K3 \! ~. k' Y! @1 j
                                pLight->Diffuse.g *= 1.2f;9 M0 t  I+ G2 l  D( j  q+ r2 S
                                pLight->Diffuse.b *= 1.2f;) t5 {/ ?! @& r% F: c" D

( N' _$ q) Q) |6 `  v5 a! b                                pLight->Ambient.r *= 0.8f;
' Z) E' ]% V; h                                pLight->Ambient.g *= 0.8f;
3 O  A2 ~1 X8 ]+ X+ K                                pLight->Ambient.b *= 0.8f;
4 l, l1 Y0 B" Q! g5 K; \; O        5 w$ D0 o* j2 c  }
                                memcpy( &m_light, pLight, sizeof( m_light ) );
) b, D3 V8 c4 B. }4 Q
2 D$ Z. P4 j! ~                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);6 w( {3 C6 z+ D) O9 U
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
' x* K" O: `/ f9 J% j: V: f                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , v8 H3 j& U2 Y4 ]8 {6 h
                                pLight->Appear( m_pd3dDevice, TRUE );
0 u8 V2 V0 N2 U- ]7 J               
1 G, F4 E- l1 R; n' E- N1 k/ b                                DWORD dwR, dwG, dwB;
* E& c, I6 a& b$ _1 ^                                dwR = (DWORD)( pLight->Ambient.r * 255 );
! [  `$ w! W1 B9 q; ?                                dwG = (DWORD)( pLight->Ambient.g * 255 );
8 ^. y3 C% P" {" W                                dwB = (DWORD)( pLight->Ambient.b * 255 );
) S$ n  V9 q1 b. E8 T0 I' n                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 ]4 [" X& `  x/ a                        }
4 z8 K2 U& [7 O6 c1 L9 P# `                }% W& o6 y. O! x/ r) s
        }# f* ]9 m- p8 ^. z5 u! g' Q9 l5 G
        else
& N8 M7 X, H) F1 `#endif
! X# S9 M! \0 @& P# x
8 r" ?. f/ I5 q. h        if( m_bIsIndoor )4 N& w# A. j4 r- [; j1 t( q  z& f3 K3 t
        {
/ e1 G5 Q2 Y( p                if( pLight )2 t2 g, R" H3 Q8 ]
                {                1 q# y/ Q" }1 f3 n5 R
                        // à??μ oˉè* 4 A0 O# I, d  Y9 O( I
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
4 n  ?; F5 n+ }  ]; G) r                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
) [& T+ y- U/ Y- \                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;; ^1 p! O2 C9 n
" E7 g& H3 q* C; F$ K5 O& W1 E$ G
                        // oˉè* ??à? & V1 T1 H, A! p5 x) F" A2 W. t7 X
                        pLight->Specular.r = 1.0f;% ~- w  m$ u. d8 y+ j. B5 l) ~
                        pLight->Specular.g = 1.0f;7 U" y! u  g! A! o9 f9 ?; R
                        pLight->Specular.b = 1.0f;' v/ e9 o! C* X4 q4 K
                        // àü?? oˉè*
) }1 o+ |% i+ p' S/ }: K. G                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
* r3 A! Z/ \8 I2 ^4 B                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
# f5 T3 F  X7 S& l                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;( Q" J: X8 J1 X6 x
  Y1 l* Y. _  H1 [$ V
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 m* y9 V' u5 {9 L/ N                        {! n5 P7 {) `- P7 B5 K- @( t1 ~
                                pLight->Diffuse.r *= 0.6f;
5 V, I' m- l( W                                pLight->Diffuse.g *= 0.6f;# h+ {2 F0 g4 ?4 {1 k/ n
                                pLight->Diffuse.b *= 0.6f;
# Q2 B2 m7 W, f* ?                                pLight->Ambient.r *= 0.7f;
$ r7 [: @+ O4 ^$ A4 H                                pLight->Ambient.g *= 0.7f;0 ]  g$ b. u; Q2 y; j: D
                                pLight->Ambient.b *= 0.7f;+ e  \5 R( ]5 _  H( F
                        }
) S$ R: s" z2 z
% z" J( D' H% X$ }& b: Y7 c9 d#if __VER >= 15 // __BS_CHANGING_ENVIR6 }/ K7 Y; \; ?. o7 S% {  m
                        if( g_pPlayer )
( O- C5 i) v7 r' O                                HookUpdateLight( pLight );
6 }- l2 I, D6 [; e1 K5 w#endif' N5 G  O4 c" [& |9 z4 t
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: E) |$ \, X- J% E

5 b! O' z6 {% p7 d5 G/ b                        pLight->Diffuse.r  += 0.1f;9 O& }$ F( o1 q. H
                        pLight->Diffuse.g  += 0.1f;
! K& P6 y3 c2 o! r3 w' k( T: M                        pLight->Diffuse.b  += 0.1f;
$ C$ q" K( v& a7 t# ^  O) h$ I                        // oˉè* ??à?
$ m. K! c' e7 _" s7 w; Z                        pLight->Specular.r = 2.0f;
) l2 h/ ~, a# o9 _+ r+ l5 J6 L& ]                        pLight->Specular.g = 2.0f;3 r: y# I$ f7 V0 v$ W: @& r+ j  m8 x
                        pLight->Specular.b = 2.0f;
0 `: a: ^7 t% q: p7 i! @/ H+ V$ w                        // á?oˉ 5 [/ L9 U( }+ a3 A3 n' w, x6 R
                        pLight->Ambient.r  *= 0.9f;' T4 t6 T0 r# |
                        pLight->Ambient.g  *= 0.9f;
! a5 c$ t; |  h4 L. Q  H                        pLight->Ambient.b  *= 0.9f;) p; `  S! I* J4 g

, D" o1 P$ y; t2 D: E3 q) ?                        memcpy( &m_light, pLight, sizeof( m_light ) );
0 }% Q! z4 l/ h8 p# c/ n# M                       
' S/ m6 N: I2 c' ]& L  x                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );# A1 t+ E) a6 Z3 I: J8 ^+ J4 }' ?
                        pLight->Appear( m_pd3dDevice, TRUE );
: }: y6 v/ R+ w% I5 L) p; {  P       
/ o- \1 }4 m9 K3 _: F                        DWORD dwR, dwG, dwB;
/ ?, I/ K0 o/ Q% ^1 T                        dwR = (DWORD)( pLight->Ambient.r * 255 );
" _3 ?* q  F3 n7 D$ m                        dwG = (DWORD)( pLight->Ambient.g * 255 );
1 S  {4 G' Z9 q3 K                        dwB = (DWORD)( pLight->Ambient.b * 255 );& v5 s& |% h. S* u0 h
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 a+ ~0 l4 a  v& E* Q& Q5 v                }
/ t: H& ~! S3 V2 u% V9 r        }
4 [/ K/ m; ^0 O% s, n& F        else; t  d+ M6 Y3 r$ f" Y7 @; N
        {
5 W- Z; k/ R/ S6 \, X0 T% \) Z1 |7 ^4 K  d                if( pLight )
$ z$ Y9 I% Q! Z7 y( K                {
0 q! z. f! d. Y8 m5 C6 g# i) }                ( x* M- ?, T, D. P! `# f( ?0 w
                        int nHour = 8, nMin = 0;( h1 o2 U9 d0 _; {( R- ^
        #ifdef __CLIENT
5 e8 d) ?# z4 B- u5 k                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
  E1 k( u, C9 c" l1 F4 p3 L* D                        nHour = g_GameTimer.m_nHour;
5 W1 r' N# c7 B                        nMin  = g_GameTimer.m_nMin ;) j2 u! b) E" A/ H
        #else
& s- C* V2 v. v5 R2 E% N" K$ H                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 }* U8 I& f% ~% R0 S# k                        if( m_nLightType == 1 )  ]- ~( u- H1 p: \3 q* R( H: ], ]( v. S
                                nHour = m_nLightHour;
; _. M- |4 e3 l4 D! _9 a6 e        #endif
6 N; e# l9 o8 [; N" J                        nHour--;$ e7 a* e% h0 R7 w; |% j1 E8 N
                        if( nHour < 0 ) nHour = 0;
0 ^* I1 C# ]+ H2 [0 w                        if( nHour > 23 ) nHour = 23;
0 T  }* ^# E. J  f4 ^) e0 i
  g9 X4 z, `6 V' J" {                        //if( m_bFixedHour )
+ X% I3 Z" `- N                        //        nHour = m_nFixedHour, nMin = 0;. @3 K* G0 t$ k% x$ P, y
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];7 @5 u# |3 ^1 [5 J7 |
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( ^- ^" Y, `1 y$ T$ T- N: z9 D: s; P9 n% o8 d# l
                        //m_lightColor = lightColorPrv;
$ `/ c9 e. x' F- p! S* H8 e5 T" x                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;# G3 H* j' o2 o! |9 B
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 C* f2 h& a0 Z8 o: N# \2 e                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;2 d9 T3 k4 c( S" I
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
2 u8 i! M- k1 k7 V, b( O: S* \3 ]; H& o                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; i: y1 {; y# d, C' L4 Y1 @                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;; e, p& L& n6 ]5 m, \
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)7 N9 \3 a) u- T  ^

" @+ d$ g! z0 o8 E; n                        // à??μ oˉè*
$ w) R8 v5 E" Q* o; B$ G  b- ]                        pLight->Diffuse.r  = lightColorPrv.r1;5 J0 E9 z5 v1 U: A7 V
                        pLight->Diffuse.g  = lightColorPrv.g1;3 C* R! B; _) y9 n) n* ]
                        pLight->Diffuse.b  = lightColorPrv.b1;
* Y9 s- O. A5 Y' k& ~/ W                        // oˉè* ??à?   i% j3 c' ~! C( R
                        pLight->Specular.r = 1.0f;
- z. D" i$ e0 x' t) G. {                        pLight->Specular.g = 1.0f;
# k3 w* T) X% N& G/ G3 m                        pLight->Specular.b = 1.0f;
; c4 n; h/ u% u+ q# s                        // àü?? oˉè* ) T: _. h2 w9 F6 ?4 u/ X/ @- m
                        pLight->Ambient.r  = lightColorPrv.r2;7 `% }4 S  _, b! s+ P& Q
                        pLight->Ambient.g  = lightColorPrv.g2;
, I( i) @8 ~) \" i                        pLight->Ambient.b  = lightColorPrv.b2;6 p0 U6 B0 Q/ C
2 l2 M# g# T2 P4 O5 E! |8 g0 z
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! K; h7 ?9 l6 |  r9 q. ?                        {
* P4 t$ j# I+ V- x% d6 e                                pLight->Diffuse.r *= 0.6f;6 j8 K: e1 k1 _3 u
                                pLight->Diffuse.g *= 0.6f;
3 I, W) X" R0 g. ]/ w, U+ {                                pLight->Diffuse.b *= 0.6f;' g3 f2 l* S- G: `' S2 x! z" r
                                pLight->Ambient.r *= 0.7f;. v* N/ t% Z' k) E7 O( s- M, t4 I
                                pLight->Ambient.g *= 0.7f;. e# s8 l5 C% [) _9 @& q/ x
                                pLight->Ambient.b *= 0.7f;( O; w" d" {2 y  l9 Q7 A
                        }" n* ]5 x' @9 N! t
                       
) D/ p, |& [6 Q" J  x) O#if __VER >= 15 // __BS_CHANGING_ENVIR
" J, s3 p! v! }8 A3 M                        if( g_pPlayer )$ P* H+ `- N9 P$ e, F
                                HookUpdateLight( pLight ); ! o- |+ M" \* y5 T; A9 i6 r
#endif! O  l0 k9 X8 t, T3 j
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# V" t- C& L' H5 C8 Z% G( g* A3 s4 Y4 g% J7 U; y
#ifdef __YENV
( v: ^+ C  H. K                        pLight->Diffuse.r  *= 1.1f;2 }2 n6 |/ L9 H
                        pLight->Diffuse.g  *= 1.1f;/ S6 e! P" v6 i+ C0 Z! H4 O: L
                        pLight->Diffuse.b  *= 1.1f;
3 w0 D) h: y2 h2 S& u4 L( ^                        // oˉè* ??à?   L. y$ u: }. z- L! ?
                        pLight->Specular.r = 2.0f;* j/ d3 z/ ~2 F% @& g" h
                        pLight->Specular.g = 2.0f;
& V6 g# O% k. A' H: c8 w! I                        pLight->Specular.b = 2.0f;
/ F2 g2 G* x8 D3 n                        // á?oˉ
7 Q; R3 v  w1 A( A$ J. U                        pLight->Ambient.r  *= 1.0f;0 p$ K7 l5 {+ d
                        pLight->Ambient.g  *= 1.0f;  R: i  m. @$ W
                        pLight->Ambient.b  *= 1.0f;
9 j+ A# \  K; E, {6 t4 d#else //__YENV  W" S6 Y, K% l
                        pLight->Diffuse.r  *= 1.1f;
7 E( |) ]3 }" t& \( T! G3 R# N" K/ a                        pLight->Diffuse.g  *= 1.1f;
: |) p5 H8 E/ B8 j                        pLight->Diffuse.b  *= 1.1f;+ F1 @$ e" \& n; D7 Y
                        // oˉè* ??à?
8 g  J4 d6 J3 Z. K% V  {! o0 m                        pLight->Specular.r = 2.0f;8 o6 W/ l+ l4 D  x) Q- q$ }8 J
                        pLight->Specular.g = 2.0f;6 [9 |' P1 o- I7 s: T
                        pLight->Specular.b = 2.0f;) a8 M5 x: m) A
                        // á?oˉ 5 s4 |+ p. U. J8 _0 V& w3 h
                        pLight->Ambient.r  *= 0.9f;
5 }6 t* u1 m1 S; ~  f7 ?3 }1 \+ ?                        pLight->Ambient.g  *= 0.9f;
4 D; I8 ?( E. d8 c9 O9 Z6 N                        pLight->Ambient.b  *= 0.9f;
% r9 J1 h# q* I#endif //__YENV
; k8 Z- W' V, k5 x& B                        , t6 c8 Y' d) K
                        memcpy( &m_light, pLight, sizeof( m_light ) );: {7 O9 ]$ z+ U6 |! C" \) J
                       
! L  m( A9 ]/ R; ?, d                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 G+ ?7 r* n; W$ Q                        D3DXMATRIX  matTemp;8 H: ^2 @, A- }) r, |/ \9 ]% @* R
                        static const float CONS_VAL = 3.1415926f / 180.f;
7 @2 c- [- }- \2 I, T+ v$ S2 \. t( u: `! \% |
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: @1 g& O& [/ M6 Z0 T7 z) G                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);8 T+ `, p4 B- g- u1 l
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); ; E5 D5 ?4 ]# t
                        pLight->Appear( m_pd3dDevice, TRUE );
" `$ \. ?! l  U) G
& g3 o/ D* X0 j+ m+ ?  M                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
6 q% Z/ l* Z4 A. U3 ^9 b0 E                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
( \8 D# I- z4 z2 _" S                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 ?' V; j% l6 s5 B3 {- s. ~6 R
* F* s+ M+ z% V2 B% h: F                        DWORD dwR, dwG, dwB;% G; ~# r  |. x0 ^
                        dwR = (DWORD)( pLight->Ambient.r * 255 );: I8 G* ]0 s6 t0 o3 Q0 W
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
0 i  `& D) w+ o                        dwB = (DWORD)( pLight->Ambient.b * 255 );
; s# l( j! i. ?0 {- ]6 m& C: b5 A4 _                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
: M# E' N$ y# Y' u/ D/ R8 _                }" [( M6 S% y. ~8 Z) T5 s
        }% k3 ~  ^& E/ P8 @! |5 S
3 M# o8 h; C& T) i
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
( H4 B1 C* G$ x# D9 [' c: F        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) );: V1 \2 \/ z5 f3 g9 l2 k
        ::SetLight( bLight );% M! _/ `8 q) a! S9 g
, l+ O  T/ E2 g7 M! s
        // ±ao? ?D?í???ó á¤à? 7 _9 L2 y" c( b8 r0 U( E
        m_pd3dDevice->SetMaterial( &m_baseMaterial );2 a7 ~$ H8 H7 I9 t# F! J
       
# M$ w% z+ m6 y2 W#endif // not WORLDSERVER. |$ n/ Q0 P9 y1 m( v/ }
}$ C9 ~# D4 `, U) o/ }
并更换5 }3 i( V1 N! R: U
Code:
; K9 S3 [( m  d3 ^__FLYFF_INITPAGE_EXT9 e4 O+ @6 ~: |9 P: c8 `
定义
5 G3 x3 W/ U. w
) G. ?! D; p- p7 D0 E5 N
$ b/ E8 M" o: b9 G1 B- Z- [' D7 l2 p$ e8 q# @6 b4 G

& E! S- C  s% a+ I: C2 P) ?  q8 m现在终于删除我的狗屁加速...% T9 R6 R' V) ]3 H, K
. L/ i8 f# K3 J" w3 w3 C. ?

7 C, ?" S- w8 A3 ~  r, ?, R# D: x, G: k# _/ o3 G





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