飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:! B2 W" [! z' H) B+ ^& L) z' n9 o$ s
尾翼:' N' s5 l- m; h
8 H% \+ Q5 r7 B/ o. i) M
代码:) L" T& C) b8 x$ J
CWndAutoFood::CWndAutoFood()8 k, f5 R9 y* j7 Y& M+ i; P( y
{( v8 _8 |. B% l; g3 z' Z! b1 Y
        m_pItemElem = NULL;
7 I; b" I) H  p$ }0 P% K        m_pTexture = NULL;
2 t$ F, a: v1 a! Q5 P: n" j7 W: \, N        bStart = FALSE;
% E3 d/ p7 F! o8 E- e3 `3 F! o}
/ i0 @: C' S& d; O/ P
2 x# G: |3 i% {. R! @4 eCWndAutoFood::~CWndAutoFood()3 }  l9 e- @: \
{9 r) }" N" ?; ?7 H- d1 ^
        AfxMessageBox( "AutoFood ist gestorben " );% d$ M5 e) ?6 Y. J0 q8 t) ]" @' B5 x
}
; z  K8 J/ q; R4 P) S, sBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' M5 W! e& n. H( M9 |- v' A3 L{. U% T, X, O, ]
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ L5 Y) m( S4 Z6 j. e# n
}( d/ {4 `, m+ Z, X

, F5 [0 C# J1 z1 P1 uBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )2 Z$ E" ]- `& y( U
{0 T7 M* G, r. G( y$ t8 g' l7 U
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& `4 _/ U# R# {1 n6 T( A        CRect rect = pWndCtrl->rect;
3 ^% p4 }- X: s# h& I9 J7 T        if( rect && rect.PtInRect( point ) )
: J: |% Q! w: V" N& ~9 m        {6 u/ \& ?3 {( S  |' ~
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) {! J+ t+ Q  {2 b. ^8 {" R                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) m% Z& Z1 \0 B8 N9 ^                {/ Z& H+ w2 a0 V( s8 i' i( H
                        if( m_pItemElem )- R; }4 ^8 W' }9 e9 e) v" v6 J2 ?4 p
                        {  }0 R  c- ]+ Y* U1 [
                                m_pItemElem = NULL;) S" M  b  b0 t  j
                        }
, @, l  U" H( o* C                        m_pItemElem = pItemElem;
& G+ e- z) @5 Z/ [) G1 a& @                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
* C7 j% X" Z4 |  q; D. [5 @                }else{
; C1 F  A1 L% w% a, d- h                        SetForbid( TRUE );
9 i; }$ ]1 ~1 W( a# O, v: j& k                }
' I" n/ h. u7 n; R% l: r        }else{9 X! ]. f  Z4 f9 b2 S
                SetForbid( TRUE );
4 K) ~4 n" j! R, W8 M4 c        }
  _. l: \- Z1 Y8 b# N9 {2 i) C        return TRUE;
2 ~$ Y' y  x% `% Y6 A  v2 p7 V}  t* Q' U* C4 Z7 f9 [2 |& k. A

1 c( ~! K+ |3 F# O3 t3 mBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )$ ~, E' Q! [8 ?2 H2 ~0 X! i3 \
{$ R' i, l( W% T7 Z
        switch( nID )  x/ B0 B& T* x( n( m4 Z$ f4 }
        {
! o$ X! O  n: F: r+ [- i        case WIDC_BUTTON3:7 _9 r) p% ~. `$ G$ U9 m
                {
2 G! y+ M9 e+ L* K7 t) {                        bStart = TRUE;
) e. I, E; k2 P! Y+ L2 I                        break;
/ W8 G( W# W5 }' Q/ P; o3 a                }2 W7 Z- f5 W3 y
        case WIDC_BUTTON4:
2 u( H. N- F  T$ P: a) ?                {& b: x5 B  y3 j8 J
                        bStart = FALSE;
" a# b4 W, _9 j/ _7 A% N# `$ @                        break;+ Q# K, V6 p2 ?' w$ ]) I
                }
! E, |3 w' [! K, J/ K* M1 R        }( J- Q% d3 M3 _2 D6 H! }- R
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
9 h) h" i. W' v- C2 Y7 Q}        ( Z( ?* x) `) ~" N
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
7 |: S" u4 `- R" J6 v  o{( q. }& |; w0 z# ~/ q! O4 J) I& K
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );3 I9 P2 f3 B1 ^) R* S% V$ h: Q8 }7 p
        if( bStart || !m_pItemElem )
. g5 Q6 s$ \- u9 ]6 v        {
/ Q( ^1 a3 y3 z' ?: C4 g( ~                pBtn->EnableWindow( FALSE );
& y# x8 Y% M# c, T# R# |+ {        }else
1 D4 \2 u/ \* @- |; e! E, V                pBtn->EnableWindow( TRUE );
$ g+ V5 _/ D7 F5 p0 o$ s9 s        if( m_pTexture )# _) D5 [/ `+ B! J' Z. `" T4 X
        {
8 k4 Y) o" L6 b0 s1 `                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. B+ T8 S, U. e5 ^: {. P. C$ c% ]                if( wndCtrl && wndCtrl->rect )
2 K2 v3 j+ a* p- [3 c                {2 w8 u9 ]3 [) {. e
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
) a* ^" j- P' y% e                }
2 ~* q# c4 V. G. i& X( q* c" G  C        }6 T- U$ [6 ?: K& {7 Y: ]' B
}
5 X" `; G( |- ]
+ S- L, Y- H: V0 v' N, F" J0 O$ c% o7 fBOOL CWndAutoFood:rocess()
) N' a: Z: F7 `  Y( |. z  |' m{3 w% p0 T9 q% J0 v5 J( L
        if( bStart )/ K* b2 \) o6 y/ T! b
        {0 n5 l2 e% ~5 d) I- E4 G1 Y
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )0 w" b/ ^$ r) X) ?2 u2 |- w8 O, d
                {
- v. }+ r1 ~* L, W4 f% L8 x/ r                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ). B7 h& O% S( x- J% u% K! O
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );' }2 Z1 w  x- f$ R
                }else{! J" r/ z5 c8 X$ _  b) |
                        bStart = FALSE;0 D* r7 t" G: t3 T" ]1 C4 [
                        m_pItemElem = NULL;' m3 O" r0 e9 g8 K' m0 s# I
                }
& B) Y) v) C! X8 T1 S' s- W        }
) R5 j0 i; D, B4 q3 D! [6 c        return TRUE;
/ Q8 ^, a8 C, c% `4 Y# W" [( [}
1 p" z/ z; l' F) {8 S! }* E+ ^6 `# T% T' E: I# `1 f
登录视频废话:
6 p5 @" L' G0 r' E0 T' T/ D( v+ E1 c尾翼:/ R5 q' f) _4 }- ~4 M9 Y: I

, a* \- T* {; P3 X+ ?& \代码:
& S$ T0 h& C0 j! o: |
" H) O8 F& ~2 q' Ivoid CWorld::SetLight( BOOL bLight )
% _  J: Q) |8 Z! H0 M- ^durch
5 z- R9 M! p/ VCode:
# u6 f5 V* D! c6 }8 G! svoid CWorld::SetLight( BOOL bLight )* q" ^% P& p0 R3 r) H6 d0 V
{
" l- Y: S: M3 ^# A; m# x. F) P; t        //ACE("SetLight %d \n", bLight);; b; d- v5 e  P: m: h+ Z5 A. o- ?9 F. x
       
# i) ]. I- E6 y4 J#ifndef  __WORLDSERVER
1 D# Y$ r( E" w5 N$ X        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);3 w' u' V( k  f' ?9 v
        CLight* pLight = NULL;3 g* @8 \! |+ a$ [+ f: w$ r4 P
5 L; ^4 N. ^6 a4 S( r8 K* E
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );- Z. W. c6 A+ R: E7 Q  z
6 a3 f4 g8 P9 c" j" @7 U
        pLight = GetLight( "direction" );* @( u7 ]* s* k  C9 k
) y; m8 R: J0 ]; X. P' _
#if __VER >= 15 // __BS_CHANGING_ENVIR
2 m) I) F2 o) F3 D2 @        if( g_pPlayer ){
3 o8 K# }4 z# E( E1 N# Y                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );+ ?7 l! d6 b5 J' P% ]
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
3 ^# B3 d+ P. q4 Y! }. L; d                {5 d1 G( J- N, H2 x2 b2 K% Z
                        if( pLight )) T; K( D& E4 e2 A
                        {# U& v8 n0 r- |! s. k
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];7 d* d; Y2 P, x  U+ q1 J% [+ |
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];) N& b" h+ ]  M/ J: n
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
8 s. q6 t. R$ G. u+ M7 C& I
, V! g7 m, z# w  v- }! e) }                                pLight->Specular.r = 2.0f;
8 V) E7 z; p" p2 V                                pLight->Specular.g = 2.0f;
) s6 O+ H8 Q8 s                                pLight->Specular.b = 2.0f;
4 i, [+ ~; m8 Z. y4 _+ s       
3 e$ r" v6 {7 j- W9 B" U9 K                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! r  R* V4 k6 |, v                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 g3 f5 F7 D# `# b. g5 b                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: y8 h1 W( a# `5 w          B" A% ?* m- f9 }# m$ W
                                HookUpdateLight( pLight ); ! u4 W  r6 g% U; _2 E; L- ]
8 B" P9 {7 t- h: g9 c' r' f* c
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# E1 x4 k; t, R0 E6 e' T                " u/ `0 M/ C2 }% ^$ ~) X) G
                                pLight->Diffuse.r *= 1.2f;
3 g3 B/ e8 y7 w2 ?/ O; R. h9 t% z                                pLight->Diffuse.g *= 1.2f;- N/ r: o% ]! T# I' o
                                pLight->Diffuse.b *= 1.2f;
9 t3 ?" Z9 u) e' [; g: Y$ Q. @6 ]9 ^, n% r1 A. I
                                pLight->Ambient.r *= 0.8f;
6 ~2 |, Y: v  ]' p5 h! E+ V                                pLight->Ambient.g *= 0.8f;9 _* ~. s7 U$ ~
                                pLight->Ambient.b *= 0.8f;" d5 h6 U/ Q+ Z5 W8 ~. X
       
$ o% V0 k# e* t+ j                                memcpy( &m_light, pLight, sizeof( m_light ) );
4 i0 R2 \" ]) @) Z% g% V$ x6 U6 z& X3 G6 u9 d
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- z0 a8 {: m5 s+ C2 w& ~                                 D3DXVec3Normalize(&(vecSun),&(vecSun));% ~8 c: e4 s! ]7 {  H# Q, }
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
% A# w0 f- u6 ~- \2 ]$ z' D                                 pLight->Appear( m_pd3dDevice, TRUE );
4 Y+ u& Y; O, b" I4 t1 d% @               
( K3 W- {2 W9 L                                DWORD dwR, dwG, dwB;
* B& y" `, q$ K, K, p. C                                dwR = (DWORD)( pLight->Ambient.r * 255 );
. K- R0 T  N. ^# J! L, i                                dwG = (DWORD)( pLight->Ambient.g * 255 );
6 G* X7 t7 @, r# T( E2 g                                dwB = (DWORD)( pLight->Ambient.b * 255 );
. j6 m3 V& D& Y2 y$ l1 r  h                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );  |/ T( B! k; W
                        }
8 ^5 f0 m7 z/ L) U. s1 z                }4 }% z1 N! E( a* k4 U
        }. _/ j( S; m' {( p) I
        else
% B& i& D: g8 ]$ _2 }  M#endif
2 f, ^1 Z* C: X' N9 N1 |  h% V, `+ g/ [3 d; _2 R
        if( m_bIsIndoor )
% N: X! k, @* G( x0 d& z% |) J        {
2 G3 s% f# y/ r& C1 i! N8 P                if( pLight )# d3 G. V7 o6 J% c" D3 ]
                {               
9 G/ y; [; @5 J' Q" L                        // à??μ oˉè*
4 Z$ B! j0 ?1 _0 D& o                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;' `+ L  m2 _& Q: K2 c) d
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;, M- ^) f2 d$ `/ i& v
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;) m$ D9 s* ]- s: O

/ a' L! e) L$ B' V" D                        // oˉè* ??à?
$ {' y" t7 M  g                        pLight->Specular.r = 1.0f;
9 ?- Y" f$ N2 s9 H# O6 A* ?. }                        pLight->Specular.g = 1.0f;
% G+ U6 a0 i5 Q0 w: w                        pLight->Specular.b = 1.0f;
0 {9 _/ I/ U1 H& r. c                        // àü?? oˉè*
; O8 z- X( r- A8 r                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;7 |6 v( ?( {( t  S
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;& Q' H( `  _7 t* h: ^6 y# ^# J
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;: x/ @+ i- t' r( k/ Y1 a/ z  o1 ?; k! c
, s9 N0 U2 L- h
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 L! i- E6 z8 ~5 T1 j- C- A* q                        {' f+ t, D! q& I$ H/ L
                                pLight->Diffuse.r *= 0.6f;
/ g% ^3 X9 e0 H9 L( N                                pLight->Diffuse.g *= 0.6f;
! ]" Y& Z( U- D0 O9 _                                pLight->Diffuse.b *= 0.6f;, _) y- R, Z5 d' ~
                                pLight->Ambient.r *= 0.7f;
. B0 D( G3 @0 i                                pLight->Ambient.g *= 0.7f;* B$ P* [( ?7 q3 e/ X
                                pLight->Ambient.b *= 0.7f;- `! a' o  F; `2 m0 p7 V
                        }% W, M, z$ ^: i8 ]) w

2 |# Z1 w0 X; |$ Z5 r2 x0 t2 U#if __VER >= 15 // __BS_CHANGING_ENVIR
9 g4 u' h/ ?' z                        if( g_pPlayer ); P& f( Z9 `/ I/ Y9 b7 w/ t2 ]% @
                                HookUpdateLight( pLight );, d( U  V0 C; ?$ o9 F1 u5 O
#endif
$ G$ P5 L9 v' a) O1 _' e                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 s, A1 Y( w8 d$ c! Z  B( _& {

1 E/ O$ \+ n' `# y( J4 F$ @3 p                        pLight->Diffuse.r  += 0.1f;# J& Q" [7 C8 Y
                        pLight->Diffuse.g  += 0.1f;( |+ c/ z& l$ s# E
                        pLight->Diffuse.b  += 0.1f;
/ ~; U, g/ U* l8 e                        // oˉè* ??à?
4 o6 z! ^" D- e" K  O                        pLight->Specular.r = 2.0f;# c/ A9 w- L& |* g
                        pLight->Specular.g = 2.0f;$ A( [, u( E. ^) w- `) l( _/ g
                        pLight->Specular.b = 2.0f;
2 u& R/ X  y7 l. Y  p2 ?* L6 O                        // á?oˉ & D. I0 S) ~' p1 R0 E/ [& h
                        pLight->Ambient.r  *= 0.9f;
# x% ^: f+ I- B  S$ R1 I% [/ [! U5 |                        pLight->Ambient.g  *= 0.9f;" {: h3 P5 L) x) l+ I  F( Q( u9 Q! V
                        pLight->Ambient.b  *= 0.9f;3 M7 L& R+ k$ c. z4 _. L/ v+ B/ ~
5 G& C4 S3 S9 [# P
                        memcpy( &m_light, pLight, sizeof( m_light ) );
& `  V1 E9 Y8 B2 Z( h+ E                        , S5 _' m. k  q: ?6 v
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
, |" M# u1 G; e7 o0 `4 W                        pLight->Appear( m_pd3dDevice, TRUE );
( p* E* H1 x/ k+ @       
! Y: t* u, `1 ~                        DWORD dwR, dwG, dwB;
3 }% ~; y+ x' i/ W4 a6 Y                        dwR = (DWORD)( pLight->Ambient.r * 255 );
: P/ z& Z9 ]. a3 I+ Z                        dwG = (DWORD)( pLight->Ambient.g * 255 );9 Z7 J2 R* j& C0 U
                        dwB = (DWORD)( pLight->Ambient.b * 255 );. F6 I6 A2 ]* t$ L7 N5 ?& ?$ Z0 [
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% B+ z. {  b! A9 a. l: ^4 S                }+ \9 X9 I8 m1 \0 X/ N
        }; U  v6 l- K/ T# [2 M
        else$ ?- `* }/ s8 v/ E1 u
        {
- a! E- }. @4 B, ~% T  ~9 \0 S                if( pLight )! [4 W1 Z6 T+ R0 s/ @; _
                {
5 |) W% P: X, N                " O# H6 C7 T6 D0 [, R
                        int nHour = 8, nMin = 0;% F5 f% G8 w1 v2 A
        #ifdef __CLIENT
, n: v2 P9 _9 S2 Y. G                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. |6 j  r9 t, v3 X8 O9 y- D: T                        nHour = g_GameTimer.m_nHour;
8 Q7 d* `; Z* t' p  ]% ]/ q                        nMin  = g_GameTimer.m_nMin ;3 d  w& [; @8 E6 d
        #else
/ q3 L! p- z( R0 h5 F4 d6 G# I                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# w: T: l# [/ l; c( ?7 J                        if( m_nLightType == 1 )
3 K4 d  b- K% G3 ?0 A# D- J                                nHour = m_nLightHour;
: q! T, F. q$ O$ x+ {/ s& c        #endif
2 D; Z* K# q3 o3 }8 K                        nHour--;2 m% @8 |. I1 U! S9 Z  t  R
                        if( nHour < 0 ) nHour = 0;: b! n9 ]  s& J) e
                        if( nHour > 23 ) nHour = 23;9 E! }  O6 W& u3 S) o' A

0 d" }9 g  ?* I2 t9 _6 T7 y% \                        //if( m_bFixedHour )
" ?# K, i- {( b2 `) G1 B: G                        //        nHour = m_nFixedHour, nMin = 0;
% j1 b: O! F6 J! T! u2 @! T" j                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
" R2 }) f8 A% ?( x3 F) {5 G4 P                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
' l  n, }' p+ O. g& W4 ]  A& o' o2 M9 i  A- j
                        //m_lightColor = lightColorPrv;
& m5 r' `, |$ H* J                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* d( T, ^$ g# [8 v                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;- i0 }# {2 e3 H4 a8 J. {* z
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 C) v4 J9 y) h. t                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;/ O7 T  k  R4 T" D2 ^& L) y6 a
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;$ T, Z; |  A* N' b$ F9 ^
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;5 T7 |& N- ?% c
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# W7 A/ i1 N7 O# `* W# @
, b9 W& p( e1 Y                        // à??μ oˉè*
6 p3 L: |# {& @: w                        pLight->Diffuse.r  = lightColorPrv.r1;
4 x% x  a$ }7 I6 x( d                        pLight->Diffuse.g  = lightColorPrv.g1;
( c+ }6 v+ t' X: n7 p/ d9 |' }                        pLight->Diffuse.b  = lightColorPrv.b1;
, C) w3 W) n7 `" O                        // oˉè* ??à? ; n, ?9 R0 ~; v
                        pLight->Specular.r = 1.0f;, g# J* T( K1 `/ B: m3 O8 _. J: Y
                        pLight->Specular.g = 1.0f;
9 _  k5 f! q) @5 L                        pLight->Specular.b = 1.0f;
& W+ ?3 x$ z6 I8 r                        // àü?? oˉè*
/ d" @7 q" j' r6 g, t+ M% @' [6 f                        pLight->Ambient.r  = lightColorPrv.r2;
0 h" ^) J  x3 x$ o6 S0 g1 u& s7 j! L                        pLight->Ambient.g  = lightColorPrv.g2;
% A  [* {6 i' q8 ?                        pLight->Ambient.b  = lightColorPrv.b2;
# V* x2 Q9 N5 x- y1 D: y4 y% j! |! M  c
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.7 k( J: O- p. }9 B9 V
                        {
& f$ F5 s/ O* V: ~- w                                pLight->Diffuse.r *= 0.6f;/ g1 i3 S3 m" ?! N4 e* |
                                pLight->Diffuse.g *= 0.6f;
$ L' j2 n2 b9 }7 x9 w                                pLight->Diffuse.b *= 0.6f;+ }+ t3 g( N4 |$ P
                                pLight->Ambient.r *= 0.7f;
9 w6 {5 `$ }: R' C                                pLight->Ambient.g *= 0.7f;
- k; Z! ~, E) X, M: s+ h- Y                                pLight->Ambient.b *= 0.7f;- `% P5 V. G* v1 ^5 e
                        }) v$ w$ \. m0 w# Z0 v) B9 j' a
                        / z$ X. O' w7 V% {
#if __VER >= 15 // __BS_CHANGING_ENVIR. a, \. h8 N2 a: u
                        if( g_pPlayer )7 Q0 p* [, h& U; }$ c+ ]
                                HookUpdateLight( pLight ); : O8 I: e6 F3 _9 d4 Y9 K. l) Q
#endif+ e4 |. z  ?4 r" t) D
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. x8 Y2 `/ n( ?+ ?
& L# @4 h4 |. s* Y- q# c- G; b
#ifdef __YENV1 p1 `, Z" N' o7 C
                        pLight->Diffuse.r  *= 1.1f;2 s' _6 [; N! c- [9 ]" O
                        pLight->Diffuse.g  *= 1.1f;$ V" P! o3 L, L, A- s
                        pLight->Diffuse.b  *= 1.1f;& x/ v) h5 q8 ^/ @6 z
                        // oˉè* ??à? $ n) p( `! Y" _1 S0 |! \- g
                        pLight->Specular.r = 2.0f;
5 A. k1 u3 y1 f, i. V! z& d                        pLight->Specular.g = 2.0f;4 Z$ z/ _! z& Q1 S8 R/ a$ C! F9 i- g
                        pLight->Specular.b = 2.0f;
* X, [: H. K8 P% p& ~* u5 H, v1 e                        // á?oˉ , g7 P' S) w4 R& r# E$ E
                        pLight->Ambient.r  *= 1.0f;
+ V0 d" ^! Y* I. l: O/ x8 u                        pLight->Ambient.g  *= 1.0f;
7 k/ Z9 `" ^' D% w6 i) g) U                        pLight->Ambient.b  *= 1.0f;
5 V: D- I' q' K7 E. x#else //__YENV
( i& E, @5 r& s2 _8 ~0 i                        pLight->Diffuse.r  *= 1.1f;3 ^0 m2 }; k7 I$ b7 f; M9 d/ }
                        pLight->Diffuse.g  *= 1.1f;) U! q- I5 C* j' w. A& C
                        pLight->Diffuse.b  *= 1.1f;
5 F& Z2 z- f+ q: Z5 z6 H- i                        // oˉè* ??à?
6 ^0 w6 Z# g7 M' \# h0 {+ f                        pLight->Specular.r = 2.0f;% K$ W( b  K5 e( A
                        pLight->Specular.g = 2.0f;
8 m2 t5 {7 c( P; d                        pLight->Specular.b = 2.0f;( C3 U* w- O( ^- F
                        // á?oˉ
1 n4 e# A9 c5 s9 s; q' T& y                        pLight->Ambient.r  *= 0.9f;1 O1 O' _. E8 z- E
                        pLight->Ambient.g  *= 0.9f;
: t( O/ u" e) C                        pLight->Ambient.b  *= 0.9f;" v/ d. f6 P  \7 [0 w
#endif //__YENV 2 y4 g( D: o, H  l* w/ M
                       
5 G1 O, l' e0 A+ V                        memcpy( &m_light, pLight, sizeof( m_light ) );- k' a$ S% N8 r0 a1 Z6 V
                          h' E+ Y" c( @) L
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' D3 ]- G8 P- j. L) D) f                        D3DXMATRIX  matTemp;
  F; P) d- f, p1 o8 R5 m                        static const float CONS_VAL = 3.1415926f / 180.f;: J$ ~$ v: P5 `0 a5 _: L$ s

& j% o0 B" `6 v# {# A                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
$ b8 ]& j- ^8 P& _+ R1 o                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 I" [4 E5 @) ]: u) Y                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
& H0 D! u  B; G" _6 C                        pLight->Appear( m_pd3dDevice, TRUE );
+ A2 S4 h- k% y
. j% ~" F/ Y7 x; I; o1 V7 G% I                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);. K% ?5 @; R& j" Z2 B
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));6 q* f* E: \, e' `: ]% L, _2 x
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . g: @% w# E8 n6 ?* y
3 {/ k6 _8 c# a( z# F. I! x, t( K
                        DWORD dwR, dwG, dwB;0 ?& \9 ?. f* n$ Z0 z5 [8 X
                        dwR = (DWORD)( pLight->Ambient.r * 255 );5 s5 j7 B# D& z5 w; c* S3 G
                        dwG = (DWORD)( pLight->Ambient.g * 255 );: s# C2 ]6 [6 f: M
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
; E, [0 w/ v; M: G                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        / p8 j7 k7 h' g5 \. Z
                }3 |) [8 n$ @# I& t9 Y! t4 H0 J1 G* I
        }4 X0 u! T1 J1 T# M0 D

6 x% f) E7 X9 L; D- R        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
! h3 X7 ~* Y, k; p- h; x        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) );
( l7 D+ p+ Z7 Z2 @( ]7 x, g        ::SetLight( bLight );
9 {; B, h8 P; h" e: ~
* Z% j* t* D: Y% w5 n; N        // ±ao? ?D?í???ó á¤à? ! ]2 K- P. F6 h$ X$ i& ^- O: f8 C
        m_pd3dDevice->SetMaterial( &m_baseMaterial );5 ]& {' d7 U9 @# N2 J
        ' a  O! r. q% W% y* C
#endif // not WORLDSERVER/ Q6 ]3 d" |( _/ [* T& q
}
5 ~% V; t  [! o. n并更换: L1 Y- q8 U5 I5 v
Code:% Y" L9 u- }) @  n( [& h
__FLYFF_INITPAGE_EXT) t0 Y8 d- w( t1 w0 N( y
定义4 a0 u$ P1 e) g' H" y
6 ~' a, _5 h/ f

& o) I1 ?6 A; [$ {2 U1 k% z* A
* p- g  L7 E7 K, L7 T; n) e
% C( C7 Y3 g0 k现在终于删除我的狗屁加速...
6 L& S6 s& G* x9 j
2 C( h" [7 \1 Y' B+ b
( U: j" C5 K; a! F( S+ ^% O0 C3 W% \- F4 h/ z  C





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