飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
# c: _5 `1 v" p尾翼:
/ e; {/ S5 M0 y- e' m
% y/ ^1 Y. t6 W/ q* s0 k: F8 i8 ^代码:
6 o. K) p6 ~$ |3 m- ^CWndAutoFood::CWndAutoFood(), T* ~0 e8 {7 Z9 p2 y" S
{$ w: Y, O; V) _+ r
        m_pItemElem = NULL;0 Z0 [& g( r0 x+ f6 Z
        m_pTexture = NULL;
; g5 i* T) d1 v        bStart = FALSE;
" e( y5 l/ v8 h0 Q% O}# v4 s, W, X3 ^4 r: X7 _& r8 b

- X+ U( g+ }! i, R7 o% z. v8 F5 k6 l) HCWndAutoFood::~CWndAutoFood()
/ e* J! ]/ A5 h7 M$ [9 j{9 C% C5 k$ O: J3 t$ G; l* j
        AfxMessageBox( "AutoFood ist gestorben " );# M" \' V8 p5 M9 ^2 D+ |
}) T% o0 r6 L: A
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )* ^/ H1 |: W! l' n0 V* }
{
6 Y, {. ~/ m7 k. v6 }; c        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );5 [) Z6 n3 K' Y) _( _
}6 P2 V: u. k  t
9 r3 P6 ]* l4 l/ h0 ]# |. |
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) ]+ l* ^: ?- L* h3 r! m9 r4 \{! s5 |3 S, M0 J8 F
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 N2 A& x7 G) C! X        CRect rect = pWndCtrl->rect;6 r5 m" x. _# Q# G4 D' H
        if( rect && rect.PtInRect( point ) )/ |$ C5 x9 @7 J1 T9 C+ [% a5 a9 d
        {
  B, f; b, W* y/ r' h                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
; {  p! i1 Q! ?' e( B, _                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
( w& N+ _% M: i  w& Y0 U                {& X9 b  t# L5 m6 Q0 P$ W
                        if( m_pItemElem )# s  O/ }3 b6 n, m# d
                        {
' _8 I* [) _+ G                                m_pItemElem = NULL;
# {$ ]! X, d& X% c' U' m! `4 V                        }
' `8 M, }4 w0 {5 O* w+ r                        m_pItemElem = pItemElem;
6 L0 E6 |% e/ N2 ^" A0 _                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 E2 x2 T0 t9 s1 N                }else{$ R0 \8 s& d8 h5 @1 S  e) T
                        SetForbid( TRUE );+ N- l5 z0 h+ a: `. a- |+ l
                }
% A9 C# g- V) S" ?8 H        }else{
2 \. \0 k5 e, |2 e5 W                SetForbid( TRUE );( g5 o& }& |6 e3 B/ x& ~; f7 i
        }
+ a4 L9 T; E. B3 m6 x        return TRUE;0 L$ X. _0 b' O" u6 C5 o
}
$ q6 q! j0 o2 J+ |2 p: |, s: J% ^$ h- O9 e& Q6 I0 n. h! n+ a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! ?  ~8 y  J9 }# _! k+ \: A' R; g5 _{7 S" \* Q5 j) i7 m  I% M) y
        switch( nID ). a- ?1 l$ ]- Y6 ~& Y
        {) {$ d4 e: N* v  B' q
        case WIDC_BUTTON3:' J; m2 i. A2 M* |3 j
                {
" K" N5 h# z  ^4 L, `/ W                        bStart = TRUE;
' z& J+ @' N0 `4 T  r                        break;8 A( j# o2 ?6 _3 H/ [! k
                }
0 M+ {+ U7 P1 s; L7 |, X  F        case WIDC_BUTTON4:
9 r' I& _1 D8 Y+ i$ L                {& @6 [' X+ T/ t1 e
                        bStart = FALSE;
. C9 Z- _0 [1 E$ h7 }- P                        break;
" z( r# O3 u! e' P- k) g5 H5 n                }: B) P, f1 Z& D
        }# V  w: B; e+ {9 J/ T5 s' K# ]6 H
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
$ I, n. A! U, D}       
  t7 Q) j, j$ A5 W; R+ Rvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )" v* u% B1 z# ?, n
{
( z9 [4 a1 C; Y; t8 |8 R        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* K. C+ @" a: b% S" r5 B        if( bStart || !m_pItemElem )
. [; O; F) Q9 l6 I4 U, p        {
. t) z6 ?0 M! Q0 \0 x                pBtn->EnableWindow( FALSE );
  \* ~0 F1 v3 @9 X2 P% p  n+ ?        }else
8 I1 Q% o2 L0 A$ n- O4 ~- G, s                pBtn->EnableWindow( TRUE );
5 }( h) M% D/ u$ s* ~- V        if( m_pTexture ), A7 H) t7 {" e# `, ^: J* O
        {0 P. s' S* A% B7 \  h5 N0 o) W
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );) q6 K0 L1 B" C& i: c/ _
                if( wndCtrl && wndCtrl->rect )) t$ |' ]3 A. M/ G6 F& \9 s1 F
                {1 b4 ^6 u) u" h, L
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' m6 q( @$ ~" m# ^. V                }
0 `; c6 S; a8 T        }
1 a6 }' ^3 i0 d1 s}  _) s( d5 y, y5 w

9 P  g- U2 Y0 K4 D7 ^" l$ ABOOL CWndAutoFood:rocess()
# ^$ k6 F6 M" ^. N+ F4 b$ [1 c1 A{
. l8 S, C4 b, b; v        if( bStart )* x' ~2 G/ ^  M
        {
" \5 F8 @) G, y4 f7 o4 Y                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- I! V/ E  G0 W" n8 ]                {
0 B( m  @1 Q# Y9 S/ S) G: N$ V5 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() )' V' Z' x$ s& s" x& z/ g
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );$ c0 W+ `! F& W  q' V# S3 w
                }else{/ J. z" Y5 ]* O/ n* Z( J/ A/ T' M, ]
                        bStart = FALSE;
% X& {6 u/ W( }# v$ w' }                        m_pItemElem = NULL;
1 |- Q9 P! c# }. H: ^8 W6 R                }
  n; q: g, G1 U0 N* ~% w        }
$ W# j! j1 O9 |        return TRUE;3 ~- c* y. X8 I4 O1 u) M$ b
}
. V6 v* k- |* u  X: m
; o1 U# f4 g- b. O登录视频废话:5 m- i2 U" K" K% B. G/ ]
尾翼:
! D& J( X3 ^' }- t7 q2 X9 r% V. P" o; W9 U6 T5 P; Y
代码:5 _. X( x( F% N  _4 G$ l) O
+ b, x& k( i* q6 d
void CWorld::SetLight( BOOL bLight )3 h; t; _- L" h2 U6 q6 v
durch
" ^( z6 A7 q) y7 W- c, ZCode:
# i! f( C- ~% y- y. s+ ~void CWorld::SetLight( BOOL bLight )% f' N1 \5 O% x& ?0 @+ P
{) O* X4 L- [, g9 m
        //ACE("SetLight %d \n", bLight);' v# W1 d( m# q4 Y5 \( A5 a
       
1 E* D- [  b* b9 `#ifndef  __WORLDSERVER 1 p6 k3 T- c( G7 t5 l2 t, e: u  D6 S" q* c
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);3 N. J3 z" _7 m
        CLight* pLight = NULL;7 H- |0 I4 T6 b! d( J0 S' L6 M

, P* ^( Z( m/ y; `8 k4 |        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );5 T$ H) ~# |6 U* S7 Z

8 @# f5 q& t7 {# g- w- K        pLight = GetLight( "direction" );; ], u, z: `' m

; o5 c* k, Q) ~0 l4 B0 N9 P#if __VER >= 15 // __BS_CHANGING_ENVIR
6 G- r, X; r' a) b) W6 Q6 a% |        if( g_pPlayer ){
# `5 V. [. s% k  h, q                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! Z2 y2 t# j+ `: J                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ c: K! R1 d( V* A: R! A. q                {# O; I4 x# X4 Z" k# t
                        if( pLight )4 P# l8 c0 k' I* n+ U" v) Y
                        {
' U4 r: W1 N, n# M, c                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];4 P% f1 v6 k! U7 _! n
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
8 f: N9 A- U  H# j                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];+ `) y0 z5 N3 [9 z+ e
! p+ d: u& A( p0 ~: s  _- [$ |4 O4 M7 e
                                pLight->Specular.r = 2.0f;
' B( R$ |2 G/ N; ]3 K                                pLight->Specular.g = 2.0f;0 \$ @8 ]' t9 O- h% }
                                pLight->Specular.b = 2.0f;9 l4 G1 V, n& Z) H3 k0 ?
        ( J/ K# M- \& v% H# O
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
) k" U+ T; R' Z                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
  x: O& H& Z* k9 T0 a4 W/ N9 ]# |, R! W  S                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 v, j2 Z- D" U        4 F: j, o0 s# C! v
                                HookUpdateLight( pLight );
* ^9 N; U! h# Y0 Y/ }+ N9 y
! B4 U( p  q+ i$ m  D( i                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ n: q9 p8 o9 ~# {* u% T               
4 V0 R3 }: }" b# P1 G% B; U                                pLight->Diffuse.r *= 1.2f;
4 S( U* s& {3 p' x8 f                                pLight->Diffuse.g *= 1.2f;$ ]9 q% [' L4 Z
                                pLight->Diffuse.b *= 1.2f;
0 c- i6 w! }* s1 v0 ~& c
, ~+ a* |9 [5 H  q3 w                                pLight->Ambient.r *= 0.8f;$ q. s( ^* o; ]2 `6 [
                                pLight->Ambient.g *= 0.8f;
% Q9 V3 K4 F. O                                pLight->Ambient.b *= 0.8f;
8 S$ _7 W9 t! w2 N1 i4 R        4 g. p4 `' v$ _- T
                                memcpy( &m_light, pLight, sizeof( m_light ) );+ U0 S8 H; M/ W7 f* [

: x9 D2 g, z( x- O; C  p                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; T; I0 G& K1 B* ~& L                                 D3DXVec3Normalize(&(vecSun),&(vecSun));3 F5 r+ C9 V2 ?% S# }
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 q3 o! g% v9 V3 ]7 `% U                                 pLight->Appear( m_pd3dDevice, TRUE );
8 {  m# L% o% n, m4 {               
5 \" c7 V& u+ W) [) G                                DWORD dwR, dwG, dwB;% P6 U% R' z8 i7 u) t& a! z
                                dwR = (DWORD)( pLight->Ambient.r * 255 );, ^6 j' k7 J& o# Q
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
1 c3 \6 z" d. Y9 v  L                                dwB = (DWORD)( pLight->Ambient.b * 255 );
0 s5 D! [/ b& Y- C4 F3 T8 E                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );0 V( U; o% r5 Z( }! \$ ?
                        }& G; _* h; B! e) S; i" ^* N
                }
' o" E  s3 C8 ~* i/ o2 L1 _( T        }1 `6 h1 u& S# w; @( Y
        else- ^; ^( x1 B, o- _* w4 p5 l
#endif $ D8 I( r* T; ?# W

" j* ]+ t. j: R% Y! [        if( m_bIsIndoor )
7 c  Y, M5 e% d4 b7 g        {: C/ ~! u, ?6 C9 W4 d% B
                if( pLight )
) m, t8 C/ e0 N1 f+ B3 ?+ n                {                - V% P. S2 ]# W6 i! \& m& m4 U+ [1 a
                        // à??μ oˉè*
# c: k7 @; b8 {, e9 ]1 W9 L, I9 w                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 L7 v1 q, G# q) f& k9 J                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;0 g' n, ~& j- [6 e& G* I
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
# J6 r4 J; E! k& I( }$ m" Y- l+ o
% S4 X& W( a; f                        // oˉè* ??à? / g5 m) x  x- F) Y% x: i
                        pLight->Specular.r = 1.0f;+ y1 f9 A' `$ S4 w$ {
                        pLight->Specular.g = 1.0f;
2 `: `- x- S1 A% {/ I- ^5 g2 F2 c                        pLight->Specular.b = 1.0f;
9 i' K0 J; _) y  E; _, _, ~                        // àü?? oˉè* $ }3 I$ \: F# ^# ^" R
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 k6 a+ a# C6 A" H8 J* i                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
$ }; Q$ J* _' I) ~& N8 ]                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
4 \9 F) s' `# d; T* q! P. [  Y; d7 e% F/ G9 O
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) k# O; y. Z9 n' f& N                        {9 O# @# z( F4 o: }" n2 F* H0 U" {0 b
                                pLight->Diffuse.r *= 0.6f;
+ m1 ~$ u' H$ h( t) l                                pLight->Diffuse.g *= 0.6f;
3 P5 @  |4 ?$ U- o+ `9 I                                pLight->Diffuse.b *= 0.6f;
7 d- c% C9 N( [6 h  V0 k                                pLight->Ambient.r *= 0.7f;
  z. }/ m+ P8 H' a                                pLight->Ambient.g *= 0.7f;+ x3 h7 n3 x, k; [
                                pLight->Ambient.b *= 0.7f;
8 I3 k1 o. q3 o4 z7 r                        }
, m7 S3 _6 n, l0 D/ Q" v8 Z0 ~/ o3 S# L, N5 s* E) S8 r
#if __VER >= 15 // __BS_CHANGING_ENVIR% I9 Y, Y* q8 b5 Q# s
                        if( g_pPlayer )
7 E5 V( K& X/ D                                HookUpdateLight( pLight );" f( X7 e4 p) s) f8 ^
#endif. ]' X  G3 p( D( U) X" f9 `& N; U
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# @( x; W4 r" |% H; L# g
- S- R3 w4 C, H0 G5 |! A+ s* D2 U! y
                        pLight->Diffuse.r  += 0.1f;
% [0 r: a3 B$ n, ?                        pLight->Diffuse.g  += 0.1f;3 J3 G, O9 Y0 ~4 [8 b) _( W. ]
                        pLight->Diffuse.b  += 0.1f;( s! m4 b* c9 f; Y5 O. O9 ]4 f. O& N$ h
                        // oˉè* ??à?
1 d, u) T* }) N$ e/ [( ~4 p/ p0 e) ?                        pLight->Specular.r = 2.0f;
* i$ M6 ^" f- `- h( g( r0 a! P                        pLight->Specular.g = 2.0f;
( _1 D: Z% E* c9 R  D- U% T                        pLight->Specular.b = 2.0f;
) _! Q5 O/ D  H* N0 p8 R3 f                        // á?oˉ ) c0 T4 q  U9 o
                        pLight->Ambient.r  *= 0.9f;* N8 {2 S6 D/ i( a/ |: a; h1 h. i; T5 E
                        pLight->Ambient.g  *= 0.9f;
* f, ?. p$ X0 G/ @                        pLight->Ambient.b  *= 0.9f;. D; h3 @  r' b, A) @: h

: T9 x" R& n2 f5 E                        memcpy( &m_light, pLight, sizeof( m_light ) );
! D8 x/ W7 j! s" `7 O0 e$ R/ }0 u                       
0 }" O/ _+ g: J3 }, f3 U4 l                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );6 ^8 |$ I+ u2 q2 k
                        pLight->Appear( m_pd3dDevice, TRUE );5 M4 s) W; P% d0 }. V5 m
        ; u3 {7 ^$ N. ~5 Y$ m9 ~/ X
                        DWORD dwR, dwG, dwB;) A# |' k4 A2 n1 _. h' Q& h5 M* x( _# I5 q, `
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
- T8 u# Z7 n; A# }( H* q* D+ @                        dwG = (DWORD)( pLight->Ambient.g * 255 );1 S) \$ Y! p  I; Z
                        dwB = (DWORD)( pLight->Ambient.b * 255 );- B3 }, Q; `2 u/ P. \
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );# X6 u& c& ~+ Z- `- _6 Q
                }& m$ E- Y! ~3 [5 I
        }
- \9 ]' l8 k# v7 N: [        else
, o  w4 Q, o: ?6 `/ N0 Q        {
+ M9 x1 o8 W" Q; d+ ^: {                if( pLight )
3 A( Q% D6 {* S/ T0 o. r5 A                {
1 k% v3 j2 y. [6 [                3 g. s1 [# \2 q
                        int nHour = 8, nMin = 0;1 K% [2 H! ?" @1 d& T# v; v
        #ifdef __CLIENT
  S* h$ }2 v" d5 C0 {+ O                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. U0 \5 t0 c  v. R                        nHour = g_GameTimer.m_nHour;9 @  O- F. E" U# S4 ~- H! y
                        nMin  = g_GameTimer.m_nMin ;: B+ I$ ^# p) A, f; Y: v
        #else/ H1 _2 V' H! Z  z& V$ f6 ~
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.0 |$ p; Z# r. @' [: P! K
                        if( m_nLightType == 1 )! M. Q7 C8 d- F' B# B8 ~
                                nHour = m_nLightHour;
3 ]) ~4 d( A5 f" W) e        #endif
0 `6 _. W$ R6 O                        nHour--;/ [5 W+ @( C; Q0 I2 h
                        if( nHour < 0 ) nHour = 0;# Y9 a- g3 u, k/ n
                        if( nHour > 23 ) nHour = 23;
2 i1 m- _  K, z4 o! m. u2 E% k  N4 x/ G# P3 c% n
                        //if( m_bFixedHour )
9 h& Y1 R0 B( I: b( W( K                        //        nHour = m_nFixedHour, nMin = 0;. n! Y* b4 J8 P$ _- B4 x! p
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 C$ Y# g& i9 {% E  h; U. B                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];; v# d" \  F/ l# a. U7 T7 i; S: t: H
' M7 r" I8 t+ a9 d. _6 H9 M
                        //m_lightColor = lightColorPrv;
' ?7 K6 I/ W8 ]3 {/ \                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' J0 w7 N: \; `: m$ I                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! q6 }5 B* B& s                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
/ n3 y: D- a+ o# Y+ s" O                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;, ]' f1 x$ r- A/ Z# X
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;; v. c3 _% }3 i; E, C1 F% H1 p
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;: ?2 V0 e5 @" x" \
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)* j% V! P& Q) i
8 J& E6 t! [6 e. U
                        // à??μ oˉè*
! T2 o* `' b9 x2 V/ q* s                        pLight->Diffuse.r  = lightColorPrv.r1;
6 e/ [& ]! x0 C3 {. ~, w+ u                        pLight->Diffuse.g  = lightColorPrv.g1;; e5 c4 e4 H+ Q' v& h
                        pLight->Diffuse.b  = lightColorPrv.b1;, e& y; B7 v; g! {/ c. x4 ~2 u
                        // oˉè* ??à?
( P9 y, a* F; B: `% I4 w                        pLight->Specular.r = 1.0f;, d; r1 w0 a) L2 a7 P0 O
                        pLight->Specular.g = 1.0f;3 K; G7 @/ O$ d& {+ p
                        pLight->Specular.b = 1.0f;3 U! |3 z9 ~6 f/ e7 P- P1 v
                        // àü?? oˉè* 4 T; v/ Q: O; m% U
                        pLight->Ambient.r  = lightColorPrv.r2;+ j+ l& M* w+ I" G2 a) \( s
                        pLight->Ambient.g  = lightColorPrv.g2;
1 F0 H& a2 x+ g' b                        pLight->Ambient.b  = lightColorPrv.b2;* l" v) k  ?, B$ k+ X4 N+ @
1 n6 J& O4 b+ ]% i3 R
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. A# U2 c& g# \# T5 H1 \; k& I. l                        {
1 `3 {" h2 x' g. W: a% j3 ^$ m                                pLight->Diffuse.r *= 0.6f;
5 ]; X( n" b, W! I: T                                pLight->Diffuse.g *= 0.6f;
2 v6 @: A# G9 {! W' W# _6 t/ K) ~/ o                                pLight->Diffuse.b *= 0.6f;+ s0 U% r% A* x  _/ ?
                                pLight->Ambient.r *= 0.7f;  u2 x% M9 A/ ?" o
                                pLight->Ambient.g *= 0.7f;4 I- m( r+ j: n4 ~, `$ y) {+ N; N3 z
                                pLight->Ambient.b *= 0.7f;. @7 F9 S6 X9 g
                        }
. N  @/ o8 G# c  k# h, v                        ! Z4 L2 o, f3 R* _* X- N
#if __VER >= 15 // __BS_CHANGING_ENVIR
) l+ z; `; o9 e* u                        if( g_pPlayer )6 P) P3 `7 x5 j; ?) T/ P
                                HookUpdateLight( pLight );
! D5 @) c8 I, a, `" J4 z#endif0 C9 b  g% b% |/ M6 B- ~
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& h) W4 d0 |% a6 ~( _* I: Y9 t* L- L4 u9 n* y
#ifdef __YENV
  L& V, _: L; p                        pLight->Diffuse.r  *= 1.1f;
. e/ `5 [& u' C$ Y3 Z8 x                        pLight->Diffuse.g  *= 1.1f;
; C' x, b0 m2 |8 Y7 O/ ~                        pLight->Diffuse.b  *= 1.1f;
3 k7 l' I& a5 D4 W- z                        // oˉè* ??à?
6 w6 ]+ w& ~) E7 q& l# T8 q                        pLight->Specular.r = 2.0f;
; j8 |* S* R$ X+ V) _4 \                        pLight->Specular.g = 2.0f;
9 D- O# n$ p0 T; }8 l, A                        pLight->Specular.b = 2.0f;: T" ^# w/ {- z6 e
                        // á?oˉ
1 @4 `6 s( K# e( Z2 W: |$ P9 U4 q  N                        pLight->Ambient.r  *= 1.0f;2 b: s4 b5 I6 n6 l1 Q' g
                        pLight->Ambient.g  *= 1.0f;" k8 A5 C1 S: c! y: b! B8 ]
                        pLight->Ambient.b  *= 1.0f;
' G  S' _+ o+ w, \#else //__YENV
8 p9 ]' O. i, P6 u7 _                        pLight->Diffuse.r  *= 1.1f;0 h9 V7 `1 M5 A# S: {) W8 e1 h
                        pLight->Diffuse.g  *= 1.1f;
- K& ~0 _$ Q, W% u                        pLight->Diffuse.b  *= 1.1f;7 Y* `& l$ p+ |: [! b
                        // oˉè* ??à? ; n0 C1 [8 v5 ?2 n, ~
                        pLight->Specular.r = 2.0f;4 f! p' p; Y; V
                        pLight->Specular.g = 2.0f;4 m& T1 D$ b. G# M4 g% N' [
                        pLight->Specular.b = 2.0f;
( f) v+ L5 X# j7 Y0 Q                        // á?oˉ
7 y5 Y  _0 U9 V; ]% \                        pLight->Ambient.r  *= 0.9f;
) z, Y! j3 P$ A& @9 U5 x% \+ |                        pLight->Ambient.g  *= 0.9f;5 Y4 R# X* ^7 m
                        pLight->Ambient.b  *= 0.9f;1 i+ I$ U: G% B' t2 t4 A9 ?/ v
#endif //__YENV
( G( o5 S% q! M4 |- ]! [! @0 T                       
7 Z6 M4 Q8 g+ c# p                        memcpy( &m_light, pLight, sizeof( m_light ) );% U" z4 m* T8 D* ]/ e3 c
                        , Y  A. ~5 k9 r% @: b+ @
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);5 O* n2 V" u# U, r, F' W( Z
                        D3DXMATRIX  matTemp;
% K! w+ h3 q* D  }7 U8 G4 c                        static const float CONS_VAL = 3.1415926f / 180.f;1 u+ W3 c* O9 V3 G! ~9 C1 F3 V
: N' G7 w8 f7 G! I% E4 V+ l
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);, e# i2 P6 t5 t0 E1 u: _7 Q2 S+ `6 D
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& |' \" J5 f+ v+ z0 H                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 g. o6 W4 F7 z                        pLight->Appear( m_pd3dDevice, TRUE );
3 A' L! C: m$ |  i2 u7 H% F8 H7 s) e% Q
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ J2 ~" f9 b% E1 r( T                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));& H: `5 E5 K( }* X$ {
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 7 S; U/ G0 j- s4 B+ b" U$ Y

' @& ]& q3 E4 S8 G8 J5 |$ v                        DWORD dwR, dwG, dwB;% e0 X$ n" F& h! n
                        dwR = (DWORD)( pLight->Ambient.r * 255 );1 B3 y$ H( _# `4 U
                        dwG = (DWORD)( pLight->Ambient.g * 255 );" ]" E; a% a. y+ h
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
& D* h  C  L) @' X/ Z                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
0 s2 x$ B* o) S( D- y& O2 s                }& L1 ^1 [- ~9 E1 k. J: F
        }+ ]* w# Z/ w/ c5 y- \9 t. Q& _5 p- }

: ~: i% ~7 |4 Z" n8 |7 i$ f        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
& X+ u6 `5 Y8 x5 M2 [1 g        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) );
0 Q+ F1 i) ?% C( {' `& @1 T        ::SetLight( bLight );4 }$ w9 c' D0 m3 `: z

5 e2 @9 [" }, o( h* C7 I! l        // ±ao? ?D?í???ó á¤à?
6 m2 z, H9 @; m+ q% t. {8 y        m_pd3dDevice->SetMaterial( &m_baseMaterial );9 x2 ]% Y6 E( j
        . I$ P% a; `7 U
#endif // not WORLDSERVER! p  _, z$ w! f' W: v8 X
}
( J1 T/ q  ]- _( F/ I并更换
5 l& u- a" P6 f+ K" l9 MCode:
, W6 O$ m, C! x__FLYFF_INITPAGE_EXT& L' W; N7 f% @
定义! w' m$ ]3 t3 N  [: |& l

$ V" T' m* i' e: J6 u  p7 g4 @# K  I' B4 |* z8 F! ?+ o# `# t7 X

" E) L& S- l& C" e0 G2 ^9 ]- c' q4 i2 j8 ^2 f
现在终于删除我的狗屁加速...: a* }  A( j3 ^! o

( h0 v( ?- B) s$ Y$ F7 k2 S& L; X
% H0 M' m5 Z& P% o3 u4 {& J) b7 W7 q2 u: U& r) @6 d- C! t





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