飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:* s9 ~/ y" [+ G& R
尾翼:
7 f* Y! d) l/ u; ^; K7 i7 o/ ]0 }# a: G
. J' V( h- U2 e" J! z代码:8 h+ L+ ]4 e. F9 D
CWndAutoFood::CWndAutoFood()
" h7 Q. M# s6 }; C, J" S{
5 Z6 ?, b, O8 O# i1 v        m_pItemElem = NULL;; U4 q/ H, F  L4 g" m! b  I
        m_pTexture = NULL;; j4 t5 k3 J/ f$ D. H) c; n! V# {
        bStart = FALSE;
8 |' m  P) N# c, u. O0 V% x}
2 [: _9 g. R" U: U" y5 g; Y( u2 [" S; m
CWndAutoFood::~CWndAutoFood()* D) j: F9 j% X5 C+ l, R3 l6 }
{, t1 |7 Z  F$ s3 u5 Y9 w
        AfxMessageBox( "AutoFood ist gestorben " );- L" j( w& T5 u. l/ f
}
" L8 I2 t# ?: _; GBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )0 x, K1 g; S4 K* L. n
{! A& h7 u% g/ _( U* z* a3 [' B4 r
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ s9 l$ Q  \3 Z# c) l# S}0 ?  I$ [/ J. O

9 s" e0 J9 ~, c- t3 dBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
8 R2 {2 R$ O# ]* \" _! T{
. g% t7 ^* _1 @4 {& k( N        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 L+ G  ]) x5 r$ n+ P, h        CRect rect = pWndCtrl->rect;; r! z$ s" ~" O9 H$ P( c$ ^. B
        if( rect && rect.PtInRect( point ) )7 z0 x9 K2 c; Z# {: S) h0 a
        {
: o, ]+ ]9 S6 s$ h0 i. [0 t                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ A* x2 P8 l% c- z# l. D                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )7 j0 c5 h: u7 v$ p4 C/ R# a
                {
+ {( {# {7 G$ ~                        if( m_pItemElem )- \) z) I* s6 [' A+ P
                        {
1 D7 J$ Y1 y8 f# V% y                                m_pItemElem = NULL;! Z# X: ^0 W3 ^$ r$ a: L+ I+ f* k
                        }
7 I! A  H4 x. p+ S& c9 y2 u                        m_pItemElem = pItemElem;
  t: x& M4 w6 C! H7 x; h                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );* a- R  B3 u6 S
                }else{
% B/ r4 G$ }4 g, }9 V0 [/ ?; R                        SetForbid( TRUE );
& j: `2 u9 p+ ]6 L' U- X                }5 Y( w  X- U/ l% T4 }( y- B
        }else{
, u) \2 c2 N- N) g# k                SetForbid( TRUE );
& w" t! J4 b' J7 p3 I4 u        }
! j( U& I7 V; M) |3 a% f        return TRUE;, \4 R7 d  X  d" a: {2 |
}
& m3 X" |$ d7 t+ k- G: S' i
1 Z' }) F# M# HBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- R) D+ F+ A* l2 o3 x2 O" H{
) r8 Z  Q& l  }+ w" a        switch( nID )
' d* ^( {& z* _2 L: q: y% g        {
5 t- F9 T  c6 t7 w+ F        case WIDC_BUTTON3:
! j& u1 E4 j; y& A                {
) Y9 x; ^( b) [                        bStart = TRUE;5 B" x3 J( v8 F# L, ]6 E
                        break;
- O) l& E+ p+ G: I: w6 v2 u                }
/ Y2 }0 B) E; f. k$ B        case WIDC_BUTTON4:
% q" z! J+ @+ l4 q9 e                {
3 x  R% m! e. }/ E7 J( b  C+ D                        bStart = FALSE;
& p9 F% q/ s8 M- D                        break;
- d, j8 R; R, L% h) X; p$ g5 g: |                }
1 u1 |, j% I+ F6 g        }+ w  Z. v$ U. P& X/ T9 R
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
  x8 |9 m/ J3 y$ }/ H! r}       
' `/ Y4 W% B! m1 N" o2 E  Lvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )
" [4 H* E0 L7 C6 j1 B3 k{5 q+ C  `# @0 y& U9 x. e; \# }
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; L- c6 j4 m+ s1 p        if( bStart || !m_pItemElem )# I; o. ~$ p0 @/ Y/ Z( A
        {) c0 N0 |( j& a: H, U0 Q
                pBtn->EnableWindow( FALSE );5 P# P; s& {: e5 c3 M
        }else
/ c$ `- w! z9 ^9 r                pBtn->EnableWindow( TRUE );
" d' _2 Z% j( A        if( m_pTexture )
, \$ W" Q1 Z# W+ Q, l" r. z1 M8 G        {) T; G4 c2 G' Z2 v! x
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );2 S5 G" P& U; |& w9 u- M+ P
                if( wndCtrl && wndCtrl->rect ). }% Y; l* B6 d0 \
                {
& ~3 n+ ~7 Y( N# B; i6 \                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ u; o3 ~6 u8 I" K8 g/ _7 f                }& f; O" E0 Z6 j0 Q
        }
: M/ @+ ]) F! ?$ p. t}0 Y) C* \3 n# s5 o6 Q( Q8 ?- \
2 s9 r! k9 V7 s, |- u
BOOL CWndAutoFood:rocess()
( e( c8 u  W4 j' R- I$ i  Z' B{& X) M. v% D& v
        if( bStart )
, k# k# S  `$ Z" \  g2 {( i        {8 X, z9 \$ s2 L3 E, ^2 ?; i3 x
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 ); g9 T6 ?4 T2 c$ b, d  w  p$ d& j
                {
9 n7 X  w* Z8 b8 z                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )8 S* u) M  Z: s. V# ?0 x2 k0 k
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 y. B, `) {+ m' k/ X, ]# V                }else{& w7 [: P6 M7 f
                        bStart = FALSE;
% E9 l- a4 F' n) a( D                        m_pItemElem = NULL;9 b# G; I1 Q) w/ C1 C" V9 h
                }: t6 \/ B$ V5 r
        }
9 z( A3 q; \# f2 @8 Z7 A        return TRUE;
/ f/ _+ O& ~  F+ Y3 j. K}
- H7 _- T/ q& _
$ N: z, C. j  M  ]# P/ z登录视频废话:# C+ L% \- F8 T7 a* `2 y
尾翼:# x2 {: [- m  K9 ]' D7 I
  i3 k( p% P5 l2 s3 w- ?
代码:3 [# {$ Q: V0 X' f
9 E6 l2 e% U0 ]
void CWorld::SetLight( BOOL bLight )
6 K' Y& h8 D( j! l0 U, ?durch
3 D; [5 m$ l5 i/ x1 r8 CCode:6 v% s: |' m! w' d1 H4 W
void CWorld::SetLight( BOOL bLight )
/ J* o1 d/ h" g' S{" B$ k, \( h7 ~( U6 R* @2 M
        //ACE("SetLight %d \n", bLight);
* y5 r% {' P4 {8 g8 ~7 x5 z+ Z& p. ?        $ J  M4 o9 T8 J; h9 z- X, f
#ifndef  __WORLDSERVER
  M5 A5 S6 k) V        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);- A" O4 z2 w0 v9 `, r$ ?+ I
        CLight* pLight = NULL;+ e: [! v. f, r6 `
% V; w; P/ G! s# K- n$ p
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 X4 Q$ F7 _4 b; [; G/ u" P% ?% I* x+ M( N  ?1 ]4 k! H: i/ i+ B
        pLight = GetLight( "direction" );
2 y4 f: d' n6 ^, [1 Z
. a2 L, Y0 n5 k& z- r#if __VER >= 15 // __BS_CHANGING_ENVIR& Z+ o- w* d  A! V! G; x+ k- N- d$ a
        if( g_pPlayer ){2 }+ F  W: f3 L: q6 c
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
( Z0 I$ n  C- F0 E. h! y7 d( o, r                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 E' v1 Q" B* {' N) y                {7 a" ?* K2 ~2 a1 m
                        if( pLight )" ?7 [5 j* ]8 T( i0 f/ L
                        {' A9 I; Q0 c/ ?4 Y: Q* T/ B8 E
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];* S6 F+ u! l* r, k$ y9 T8 B" U
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];' R- d6 d$ W; Z9 o0 x# Y
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];  a0 ~4 s; Z' ~& Q' A

: M8 F3 S. h0 P+ Q# V                                pLight->Specular.r = 2.0f;
3 y3 N. k: U4 O4 R/ O1 y% ~                                pLight->Specular.g = 2.0f;1 j2 N1 b* s& Q+ F/ R
                                pLight->Specular.b = 2.0f;
! b+ H$ X5 i; u6 j+ B       
) t% M) G4 A8 v" Z! q, ~& e% H: L5 ]# ]                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];* P  c/ a& u  t
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
1 M0 Q- _. Q9 ?% v2 r                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];% Z3 ]: D6 f+ C0 g0 U
       
# O8 Q' Z; Q! l9 H7 c                                HookUpdateLight( pLight );
& P$ K4 R. q4 x( j! `# J) @
% b: }' p2 U: C                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 J6 ]% D) \9 q+ h% i               
  }, `/ X! g3 r                                pLight->Diffuse.r *= 1.2f;
1 T+ ~; ]3 q, @                                pLight->Diffuse.g *= 1.2f;
. L4 B$ E, P1 s- r6 g                                pLight->Diffuse.b *= 1.2f;
% g: t$ O6 ~6 r3 L- I# {; Q7 r8 ^, g1 [: k9 X4 N0 V
                                pLight->Ambient.r *= 0.8f;
, ]( Y( ]( w9 @7 @                                pLight->Ambient.g *= 0.8f;
/ E; j/ ~. x  ]                                pLight->Ambient.b *= 0.8f;# n  R8 @( o" `% z
       
) _- |6 J0 `$ H$ o* `5 \                                memcpy( &m_light, pLight, sizeof( m_light ) );
- b. N2 }) `( T& l( w2 D
4 e  ]" ~! s+ \  d$ e                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 L9 d: O" u; B6 g                                 D3DXVec3Normalize(&(vecSun),&(vecSun));2 o  |4 j2 P5 @" r& R4 D8 @
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); , t9 }$ {5 U% `. S5 r8 l
                                pLight->Appear( m_pd3dDevice, TRUE );
: S% i3 x1 G; w4 R                ( f' H, J0 k, N1 m& j- }) D
                                DWORD dwR, dwG, dwB;6 [+ ~7 U! q; `4 v# n, }3 e; Z
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
$ _+ G* g) M5 ^+ r1 {                                dwG = (DWORD)( pLight->Ambient.g * 255 );
& Z- \1 O& @! p! \; a, B5 n2 a                                dwB = (DWORD)( pLight->Ambient.b * 255 );' T' A7 O1 b6 M+ O' d
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );! A" i- Q5 @0 w) M' x  P( F' Y
                        }
' G( m5 X! Y. a: ~* _4 B                }9 w5 b" H: a$ T
        }, N: j1 _1 ~! K9 p& x( F
        else: E1 T6 P6 X3 P$ T. w) j
#endif 2 X0 ^: W/ L# J  d1 {' c

6 G; D. \& |1 f        if( m_bIsIndoor )
2 i. V/ |% w" ~: C$ n$ Y        {
, `: W9 l1 i- {                if( pLight )8 A& N# W; _4 ^" M
                {               
5 d' ~! y. c! F! A                        // à??μ oˉè*
5 M5 ?- c5 O- L7 l4 v1 y                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;- V: g- J8 c* L! w* u8 K$ p
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;& w" c# s* a, r, ]+ G( q& }- Y
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
: Q8 B- \7 W2 y$ Z' D0 ]/ x" x! ^" f- r9 l/ V3 B$ H* V4 p
                        // oˉè* ??à?
3 C. x' Q" W5 Q& \. K: D                        pLight->Specular.r = 1.0f;
% S. s1 K; ~0 ]! T8 `                        pLight->Specular.g = 1.0f;
6 i- v6 {" u/ b5 p  w8 `                        pLight->Specular.b = 1.0f;' U& `4 _  r1 G
                        // àü?? oˉè*
- `' a2 w' T4 O& B7 X! l% C                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;  Q1 \, t8 o; V5 j
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;6 M& C  c6 {% r  t8 a( j) R/ ]
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;" @2 ?: a  `. q9 M: L. P6 ]% Z2 [# g
4 h& ~3 X- z3 [: a. F- }! ^
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' s0 [! ?& C( e1 H5 s9 A                        {% H) S5 a% Q  f
                                pLight->Diffuse.r *= 0.6f;+ k( U- k9 C: O! H. N& o- o
                                pLight->Diffuse.g *= 0.6f;
5 F  E3 v  o$ d0 `8 B  v                                pLight->Diffuse.b *= 0.6f;
3 V8 ]. S: {  j$ f* G2 i& V                                pLight->Ambient.r *= 0.7f;$ N1 {, _- G. `8 m( G
                                pLight->Ambient.g *= 0.7f;  J! j! w9 e- g. }/ G( S
                                pLight->Ambient.b *= 0.7f;9 l& {3 `: Y. S( n1 `: K
                        }
) {! g2 e5 j) O, a3 }% {$ H& h, f+ H! @; }6 @. U0 r
#if __VER >= 15 // __BS_CHANGING_ENVIR
( L/ t  A+ P5 ^" J2 o                        if( g_pPlayer )
8 f! l0 `6 e7 g& j                                HookUpdateLight( pLight );
/ l5 ], t; ]% d  R4 P, |6 w#endif
( d9 w* ~8 a& x6 I* N( _, K! {                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );( s% `" d0 R6 u: H( b7 \2 \0 W9 o

) Q; u/ @! U- t; o2 y                        pLight->Diffuse.r  += 0.1f;
7 y. X; B2 z" n8 _8 L- J                        pLight->Diffuse.g  += 0.1f;
$ |+ [* C: Q( S4 |7 S" g& \                        pLight->Diffuse.b  += 0.1f;. s8 ^$ j2 k5 D; _% s
                        // oˉè* ??à?
& ]9 h# d. l6 t' {" B7 Q                        pLight->Specular.r = 2.0f;! A; ^6 w% S$ I5 ]# ?. r
                        pLight->Specular.g = 2.0f;
# \, R9 D' j5 Q" b4 ~                        pLight->Specular.b = 2.0f;
$ F' O/ k$ ^) E8 @3 `                        // á?oˉ * M3 t9 D/ E. F- e1 Y- G, l& x
                        pLight->Ambient.r  *= 0.9f;) I) W. p5 E4 A4 u# A
                        pLight->Ambient.g  *= 0.9f;+ }2 o( W3 J6 P# [, _+ o" E. B; k
                        pLight->Ambient.b  *= 0.9f;
3 d. G; N  Y* o+ v) d
' h5 w( @! n" U* g                        memcpy( &m_light, pLight, sizeof( m_light ) );1 G( `  |* Y0 ^" b
                       
  m- V6 O4 x% C8 y$ ~/ p  M6 [                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% u6 y* V' {1 y4 `                        pLight->Appear( m_pd3dDevice, TRUE );! R7 _; q# s9 Q/ S* }3 U1 u. s
       
8 v) s3 w! D9 I6 l8 W# H                        DWORD dwR, dwG, dwB;
+ r+ i5 i; P/ e9 ?                        dwR = (DWORD)( pLight->Ambient.r * 255 );# O" ~1 Z1 v6 Y: \- X2 C4 U  k
                        dwG = (DWORD)( pLight->Ambient.g * 255 );- h; S# I  q. o* y
                        dwB = (DWORD)( pLight->Ambient.b * 255 );2 j  O7 q& v8 [) C% x9 z5 S
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: ^' \* q! k) B) x* \                }3 y# A0 u# r& W9 y# _0 u& w
        }; O7 T3 e+ Y  w
        else
; a: Q- }4 w# r! D, c        {% g. L! k! U, m2 R+ j9 I
                if( pLight )$ m6 T6 g) _! z& I$ O! `5 ]6 v
                {
8 u; b" K3 E/ J( p' U0 P% f1 u, f  V5 X               
! Q$ S( K+ B; G2 D6 v$ B9 a                        int nHour = 8, nMin = 0;* Y! i/ p7 j9 W/ ?6 a
        #ifdef __CLIENT, }# j+ U3 U7 ], [/ I' |
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 e5 H% Z9 K+ d                        nHour = g_GameTimer.m_nHour;
4 X3 Z, [9 z" q' P$ W, \; a+ L                        nMin  = g_GameTimer.m_nMin ;! p% A6 ]; |/ b( F, ~# b$ I
        #else( A5 G- p( J+ H9 N2 _6 b, L
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
/ C' P; [# M6 _9 R9 p7 |3 n' e                        if( m_nLightType == 1 )4 Y) \4 C) g* [8 o5 z, h. y
                                nHour = m_nLightHour;
  i, G; y1 \: z$ K( D& T$ o: W        #endif1 q  T' F" r7 b5 F) ]
                        nHour--;7 X6 M- _: F1 Q. t$ ~4 A
                        if( nHour < 0 ) nHour = 0;
2 [( z0 O3 W4 u- D  y                        if( nHour > 23 ) nHour = 23;
) N# G3 ^! O' f5 s2 [5 C& G6 @+ ]* u+ t. ?, i( t+ d1 o
                        //if( m_bFixedHour )# F5 P# a% z2 S& |/ Y$ s0 f( O) c4 v
                        //        nHour = m_nFixedHour, nMin = 0;
+ {# M0 \; S. E  b                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];, @( }5 Q& D; M- k
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];3 D' j' l) q- B4 T: e. A6 q3 W+ j
6 ]/ v6 k2 v2 b( l( @8 R1 a- Z
                        //m_lightColor = lightColorPrv;
$ W, ~) n/ D% }7 s# p, X1 G2 e                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;% Z, h( _/ I% f8 l3 ^7 D# i
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
% G5 |* M& J* Z                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;, z1 d2 o% p) z5 T
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;( ~* ~* ?0 l' G. p8 r1 R$ N) G4 o) G
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 H" g/ F, O- }  A( Z$ j+ ~5 x4 u                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;8 [; u6 G$ q" X8 u8 a; J8 B
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)% C% [) m/ c* N) ?0 C& d

# i1 ^. v$ x8 v( z1 g9 F- _                        // à??μ oˉè* 0 n  w2 t' I$ u7 O( B* w5 J
                        pLight->Diffuse.r  = lightColorPrv.r1;! R0 Z4 Z2 o$ I. U) t) G
                        pLight->Diffuse.g  = lightColorPrv.g1;
/ L; n7 T: w: p+ e+ h( c3 |                        pLight->Diffuse.b  = lightColorPrv.b1;+ u& t% E8 L% W
                        // oˉè* ??à?
. B2 H  n8 u# z+ Y4 a                        pLight->Specular.r = 1.0f;
  w" h6 u- ^: G6 a9 t. Z. S                        pLight->Specular.g = 1.0f;
& G% C- @1 j, M0 E* e$ p                        pLight->Specular.b = 1.0f;3 e" ]) U& n4 y. ?; A
                        // àü?? oˉè* ! @' }8 j5 O; D0 i
                        pLight->Ambient.r  = lightColorPrv.r2;
4 F2 v# k- C+ I% h- u$ L                        pLight->Ambient.g  = lightColorPrv.g2;
+ o/ b3 ]+ I2 p% s0 S+ O( c                        pLight->Ambient.b  = lightColorPrv.b2;1 F4 c1 c3 p+ ~8 o5 r( q

" I! u3 G. E7 [# u" f                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ l" x. l5 u2 ]  @$ ~4 _; ~# Q                        {% m% V% I7 F$ G& {, f1 S9 f
                                pLight->Diffuse.r *= 0.6f;
! }! R3 `  K$ O6 C' B" u. n" ~                                pLight->Diffuse.g *= 0.6f;
( G" c1 Q# N2 H, W, h1 G7 ^                                pLight->Diffuse.b *= 0.6f;
0 M) p$ \/ m8 b9 D                                pLight->Ambient.r *= 0.7f;7 {& p1 y5 d5 M0 y. i' J
                                pLight->Ambient.g *= 0.7f;* l- Y" _1 t$ a  y1 ]; z1 c9 p
                                pLight->Ambient.b *= 0.7f;
. t+ q% a8 L5 d                        }
) Y* i+ U4 v1 ]                       
2 n1 [9 j, E$ [: ?- v* a; u#if __VER >= 15 // __BS_CHANGING_ENVIR
) g3 t" R# b" F                        if( g_pPlayer ): r- l+ I) k$ b9 q& b$ K
                                HookUpdateLight( pLight );
3 g- q- m: C; \8 D1 [# s) V& ^* c#endif. {3 A7 Q! d$ U8 q1 _7 W( l
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- n$ O- }1 s2 \) k0 U. |! w% }% j( S$ o+ g: y0 k; I/ f0 V
#ifdef __YENV
9 w( i  `8 {4 @8 G& \: [) H1 a                        pLight->Diffuse.r  *= 1.1f;
7 |; D1 W2 i  ^% B2 Y- C                        pLight->Diffuse.g  *= 1.1f;
5 E9 I! t+ |/ m% M; v  O                        pLight->Diffuse.b  *= 1.1f;
* N' e/ t2 \% {1 ?  H: Z3 S  K                        // oˉè* ??à? 5 u/ E9 j% s( b3 e! w$ W
                        pLight->Specular.r = 2.0f;) v* }$ h' s, j5 Y5 R2 R# `1 j
                        pLight->Specular.g = 2.0f;
! Q( H) ?/ F8 Z$ [2 u) V                        pLight->Specular.b = 2.0f;
- O& [, `. |1 p( k# ~                        // á?oˉ 4 q- }% L) Q# u
                        pLight->Ambient.r  *= 1.0f;8 P: `7 n6 g( P* s! u0 H
                        pLight->Ambient.g  *= 1.0f;
1 Z# c2 i! n# I6 l                        pLight->Ambient.b  *= 1.0f;& G- m. H" a; M$ p
#else //__YENV
$ b( p  \8 R3 i9 ~; ?- T                        pLight->Diffuse.r  *= 1.1f;, {+ U* b. G9 c7 o- E1 N
                        pLight->Diffuse.g  *= 1.1f;
0 M4 r& _0 s: R$ o# M# G2 V                        pLight->Diffuse.b  *= 1.1f;
/ r8 ^1 A* l. H' B6 d$ ?! d                        // oˉè* ??à?   K* u/ [* l( }
                        pLight->Specular.r = 2.0f;
/ c+ f8 a2 ~3 U                        pLight->Specular.g = 2.0f;
+ h% K% }( |+ Y9 B: _% ]  V                        pLight->Specular.b = 2.0f;& ?% _( l, `% I/ ^0 c- I8 K
                        // á?oˉ
* O, H+ [* b* j' @0 J: X                        pLight->Ambient.r  *= 0.9f;
9 B$ E9 W5 N& {2 x, ^: c                        pLight->Ambient.g  *= 0.9f;" {# P1 i' V7 Y+ y  z
                        pLight->Ambient.b  *= 0.9f;# y$ t" D% p$ j* z* @& O0 Q
#endif //__YENV , W* J1 E4 S7 A3 P9 n" U
                        6 S+ w4 u: T2 A5 T2 g
                        memcpy( &m_light, pLight, sizeof( m_light ) );) e( Z6 p+ a) `, N9 s6 h
                       
' L. a' }. v) g' z* T% V6 K                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);, d: C+ Q8 D9 |6 I# I
                        D3DXMATRIX  matTemp;" T* \3 Y$ W1 A$ U1 y3 }; k5 ?
                        static const float CONS_VAL = 3.1415926f / 180.f;
2 S8 U. p. K; v. N, C+ {
' t1 W3 T$ k/ T                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! E$ @" d0 e* R5 f
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);- Z( C7 e4 B$ a/ [; c! l- n! c; d
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); & L8 V$ S* J- O% J8 H
                        pLight->Appear( m_pd3dDevice, TRUE );: x4 @" S& m& [" Z' O: G

7 x1 Y! L+ z- g; d4 T' h- u                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- n& Z% B- J$ F- w  y- ~8 ^$ I                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));& e  ?$ i* m& ~
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); : u- ?' Q0 {+ G, {) ]
/ ?) s) Z$ S# v* o' }
                        DWORD dwR, dwG, dwB;% R' j/ q8 H/ i! C8 Y# j* v( q: ?
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
8 o3 K3 `, u+ u" K                        dwG = (DWORD)( pLight->Ambient.g * 255 );/ s2 j+ M; s* Z4 w" _% t
                        dwB = (DWORD)( pLight->Ambient.b * 255 );7 I0 X* _. c7 e' P, j( n
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        " Q9 c, O8 l1 d: Z1 n
                }' S, t- a9 U7 M6 A% r+ a. ?
        }1 U  T) w6 _0 l$ R8 Y
  n# {# P: ?) N8 W, z3 z1 C) X
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
# b5 ?6 B$ U: V& \5 ^/ A( I/ `9 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) );
2 l; C, m3 t3 E: R9 j        ::SetLight( bLight );
3 h! t/ y4 @/ B7 f& F
/ z: {0 |! d' Y* b6 F        // ±ao? ?D?í???ó á¤à?
- S4 R0 s( Y! C1 _$ M$ M" h        m_pd3dDevice->SetMaterial( &m_baseMaterial );  d  P& x# L) F5 M- ^0 h
        " ?8 v. \0 `% d% R7 M
#endif // not WORLDSERVER1 E% X2 u5 o9 g! y9 O2 g, @
}1 {( y2 _+ L: C# [6 m( x3 A+ b: b
并更换6 `9 E: U# I" w& C8 A, `
Code:& ?$ [( i% o. }" ]) A5 {! X6 B8 i
__FLYFF_INITPAGE_EXT
# L5 t: ]2 L: ~定义5 b' @! T4 b5 ?1 L) Q, D
. f" o* [1 X8 C! e$ @4 W) \
0 y. ]8 W1 T6 G& h, b2 A! B

' c; I+ }: y- H( d, q: J' b% q4 L) V3 z0 M8 Q8 B
现在终于删除我的狗屁加速...* N7 w- ]& t0 w% V
( @% @4 L4 ?3 b+ k. c
5 d; ^: ?' X" G' V- l
9 @9 U9 C/ h5 ]0 S& S# x





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