飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:3 z- \( V6 v7 F' x( Z
尾翼:
& z% M' a- T$ l$ z/ s) y0 |5 w* R0 E9 M) l7 y
代码:
$ p+ P1 @2 _. Y: t- {9 [CWndAutoFood::CWndAutoFood()
7 r4 w% e; i3 d{
9 V- n9 J+ Y- `# x$ @' \        m_pItemElem = NULL;/ r4 X( i* K$ m* H
        m_pTexture = NULL;8 {0 Z! U. ~8 U5 N6 L
        bStart = FALSE;
* S( W) j8 m" j: V6 _' H( s}
( u) j6 J' U1 `
6 Z' j$ \6 _9 \  {CWndAutoFood::~CWndAutoFood(). `; |. `( b' C4 M  K
{
% E$ p  v8 [/ ?9 v# t5 F% U        AfxMessageBox( "AutoFood ist gestorben " );
* r4 W/ Z% `4 j3 Z; m& }}
+ x3 E- T# H1 zBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
1 n, u! I1 S5 P  a9 S{7 i& k7 S% v3 m5 M0 [
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( W6 ]7 O: \2 t+ E) f7 V}$ t6 t+ X" u, s
- I3 M5 V, n4 k3 R( c
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; T. d% E! d1 j{
) h! Y1 J8 R3 E/ p. U        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) q2 V1 \3 X, W+ a/ e, x1 [        CRect rect = pWndCtrl->rect;$ R+ }2 `, g  I$ S
        if( rect && rect.PtInRect( point ) )
& f. W# _; Y- V& B" V        {
: H* _% @* y! J( M- G                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( Y  X3 T( N4 b' @, m0 ^* n                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
$ Q5 B9 q. P8 z4 X& u                {. L* O. m' E* S& F; |) L
                        if( m_pItemElem )
3 c4 ^) ]# G4 N) t. i: G7 x                        {+ K9 d% E7 z+ U( R2 A
                                m_pItemElem = NULL;
1 E3 X) l0 s  e) t3 B' j                        }
" R/ I0 u2 L! y3 q( I4 D2 L                        m_pItemElem = pItemElem;
3 o+ s) ~! M: y) u5 w; Y" c                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 p/ ^. f6 C5 a1 }1 C9 _! |3 V9 e                }else{
0 r& m+ Q2 b8 z( ^- A, j                        SetForbid( TRUE );( [+ J( d8 X/ p+ U. L( [% t
                }
$ B+ [+ B& I0 Z: m- W( s6 n1 w        }else{
- n& n# V0 l( I/ B+ [( `! g                SetForbid( TRUE );( u4 K+ n$ X- H8 c
        }
* f  j7 c0 ]' u+ z& q        return TRUE;% I- M% q8 w; H8 k; Z
}
/ J  d. l# q) W' x( {7 G  D# d! F" f% \" v+ i0 m
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )3 J) F; t+ w2 b3 s# s, X% Q0 O$ {! g
{/ s. i2 ?! G, t
        switch( nID )3 G! ^( D: R' m- Q0 v$ q) W
        {9 s, _  R- R/ c" v
        case WIDC_BUTTON3:
/ d( h1 [3 ]! X) r                {( N+ D$ F: x8 _/ a" p. D
                        bStart = TRUE;
& u& `* _* p3 e. o* a                        break;
) `- d# L# L9 {1 }& [& N: `: v' y                }
8 j+ e% e0 `) r) `1 L/ B2 T; ]        case WIDC_BUTTON4:2 w9 n7 \, o. K. ?% I
                {( `% k$ p" i9 A
                        bStart = FALSE;! v& I$ B# [- |* u1 q5 L
                        break;
! L) p) E% u/ u, Z0 [! o                }
& K9 M, B$ z8 A        }8 R! o' w8 U! Z( K
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 t, S' w- _* p5 L* V" p3 V' n}        : y( n0 z7 p4 z7 O
void CWndAutoFood::OnDraw( C2DRender* p2DRender )/ d6 h8 a# e- U* Y5 u, Q% S
{0 d1 W( _' j0 i! F5 e6 `; o# x% W
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
: f% X+ [- o; R# y* W& o! v2 Q        if( bStart || !m_pItemElem )/ ]! ?- H8 K# d
        {
! B- L* L0 X% M8 B; @* }                pBtn->EnableWindow( FALSE );
( s  l2 X7 h. V0 `/ s        }else
  Z" D' ]: Q* H4 Z& p8 _5 @                pBtn->EnableWindow( TRUE );* t2 U) h7 e5 Z" L6 e1 f* w* C9 R$ H! C
        if( m_pTexture )
1 I2 m5 E; i8 q0 R6 ]6 o9 Z        {
2 _2 ]% v4 A7 S- k! W+ X                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% a5 G$ q+ q* \* w, R" S/ r                if( wndCtrl && wndCtrl->rect )7 ]+ O3 \8 O* W+ b$ k0 p
                {
0 ^; \& A1 v$ e! H, _: Q% a                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );) U: {( I) T! H; X; U- F5 J: {. a
                }: _. u: `$ G& J9 _1 _
        }% W2 Y5 d# }# B! z  k
}! Q0 }, Q4 _# z2 k- r- M
3 p+ Y8 X- `* e3 m1 Y4 j4 h( E
BOOL CWndAutoFood:rocess()
! v6 q2 h  y+ G  r" S' p{
( J3 _) L! R+ ^% E' x0 s        if( bStart )
& [2 X4 {) _( c; I' i        {
; {$ q& p1 m& x! t  I: \7 D                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
. r* ~2 b- d) f/ `4 E                {4 |7 p; R. u5 e  i
                        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 H8 }8 @& j! m1 m+ W
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );9 r( ^+ r8 v7 W* L$ ?1 r
                }else{
; D; y( Q# N/ C7 S                        bStart = FALSE;
& v5 E, I$ C$ D3 j5 @                        m_pItemElem = NULL;* w  p+ N+ C7 I) @
                }! X# W% j* k  `9 w: Z
        }* R8 A. K6 _0 l4 {) _
        return TRUE;
; j. p* K" q  V# f; t% a}
# Y4 C/ X% T! T  @3 T2 `( H5 A6 m
2 `4 M' @5 w  \- s- G登录视频废话:
( K' h& y  v, h3 _8 l8 n* a尾翼:5 N( l3 F! {4 N3 _
3 w: H0 b6 D* c5 @
代码:8 W: N$ y& x$ J( l2 ?- z

/ R; e+ ~/ q% j8 D% {3 l" l' tvoid CWorld::SetLight( BOOL bLight )
( d3 o  p" u. ?durch" g! `3 O: E6 u* `
Code:
- g7 S! C% U5 p  f8 Q6 tvoid CWorld::SetLight( BOOL bLight )
- i. k" K" V' Q{! m1 l1 l/ ~* q- J
        //ACE("SetLight %d \n", bLight);& N3 S8 A7 u, ^5 Q9 [
        - x" m+ p  k3 V9 @5 J' {9 b" x
#ifndef  __WORLDSERVER # l/ m9 u" V3 ~* y% W9 C
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
6 F: ?( ?6 _/ _/ G3 W        CLight* pLight = NULL;1 ^, [/ I# ?8 k7 W6 c4 q. {

& [! ]+ |2 M! b% I/ [6 h- h  z" `        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );+ @' C$ k- v4 ^" y

" j  ~- x, {) |- ]$ E/ ~        pLight = GetLight( "direction" );
7 F. X1 b" \9 V. D0 b6 A" y& l+ J: Y0 B  F2 e5 i/ f6 t  l" i
#if __VER >= 15 // __BS_CHANGING_ENVIR9 @/ Q! f: T/ V8 v7 u& v
        if( g_pPlayer ){" T( A0 \& @# ^2 l* X* A
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );2 t1 S& w3 A; o1 A  X: l
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 z+ {4 `3 ?% u7 I6 z& q                {0 d& e0 {4 h( T3 t' O
                        if( pLight )! n* Q$ Y# A2 C$ l1 \
                        {7 ^& q& t" A, ^" T# q8 ]
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
! `0 J4 F, A3 b9 z                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];2 Y: h3 q5 w4 u
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
& K  K  b3 L$ X) r5 h; ^! B) t+ {
                                pLight->Specular.r = 2.0f;
/ N3 v, t7 W4 |  ]/ }                                pLight->Specular.g = 2.0f;$ O, v, h/ j- i/ ^% b! |! W- h% }
                                pLight->Specular.b = 2.0f;4 K/ @& h9 P: A" _4 B% j: C
       
* C  y, ?6 M& U0 g                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];( n  T& }0 H6 W# q- r
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];# E! D5 q% l% W
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];& @( x, Y: [- z" a  p; @; [
        - l- k) u' C4 ]& D  D# r- g8 ~) s5 u
                                HookUpdateLight( pLight );   y' L/ d0 D& ~" K1 h) q" h( q/ r

; \: @& R. B" L/ L                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );. S8 c- q! W8 E+ l
                ( J# Y5 ^! Y0 n2 B$ T" }1 b
                                pLight->Diffuse.r *= 1.2f;
. \8 [3 u( Z2 X) Y# ]                                pLight->Diffuse.g *= 1.2f;1 J% T+ U) j5 K8 |8 A: b7 |
                                pLight->Diffuse.b *= 1.2f;0 }- J2 a% A' y% T/ S

5 S4 ?- A( M' r) X/ p  c" W                                pLight->Ambient.r *= 0.8f;
! c" s5 n& m' [5 v! V0 r                                pLight->Ambient.g *= 0.8f;+ X# Z+ b. Q- J* x
                                pLight->Ambient.b *= 0.8f;
6 q( b. b' C; V( q! M1 }       
* t( t3 U! A9 R* J2 k9 h: ~% l" q                                memcpy( &m_light, pLight, sizeof( m_light ) );" S% o& X- {7 d, L

' r; E) [) ]0 _& Q                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ c& R: O* x& g2 G5 o                                 D3DXVec3Normalize(&(vecSun),&(vecSun));( {! C$ V" n+ U
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); $ l, w& [6 v. I3 N' d
                                pLight->Appear( m_pd3dDevice, TRUE );* `9 ]! N, T2 m- N/ v
                ! g) i6 {/ O( x9 p9 }( O
                                DWORD dwR, dwG, dwB;/ J2 v; p  N7 d' ^
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
3 ^% _. o' P2 m9 J9 a. B) Z$ Q! Z9 s+ i                                dwG = (DWORD)( pLight->Ambient.g * 255 );
$ h" [' Z- ~0 ~) I+ Z                                dwB = (DWORD)( pLight->Ambient.b * 255 );
/ w$ `5 R) W* M) f, s5 U                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 {/ ]! G% @& s' d( ]3 ?4 [5 |! G                        }
0 [3 D7 e: V4 s- q/ u7 t                }
8 g; H$ k  Q& F. o5 A        }) B8 y2 M; r' Z3 r( O1 C8 w# D
        else
2 }+ Y$ r# I; j! n0 g9 K& s3 P#endif
" C/ |5 o! M1 ~& M" y( Y. o4 E1 |0 H1 ^8 J( P1 }: V
        if( m_bIsIndoor )
9 y8 J, U" A# D6 d        {" N1 ]( I5 w( m/ ]$ I! S- r
                if( pLight )
+ U- H! w  J' c0 h9 a5 i) `3 Q                {               
4 L" H( J4 `8 b" ~6 u2 d* i                        // à??μ oˉè*
/ ]; K" U0 S& `8 z                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;% I4 \% B' v! W4 z3 `7 W# k2 W
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;3 V5 T7 I+ F7 N0 M; e
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
4 D, W6 W' X+ \7 ~; i8 @! F/ X' q, F
                        // oˉè* ??à?
5 A, [1 y% D7 ~! x                        pLight->Specular.r = 1.0f;+ `) `% w  e- ]- f" ]
                        pLight->Specular.g = 1.0f;, Z2 T# \2 v4 S& ?7 U5 U( s! I  [
                        pLight->Specular.b = 1.0f;+ N- r: D* h" _! [
                        // àü?? oˉè* ! Y4 c% z; d0 u- S
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
' g3 }. B& \& i8 [! L/ K& Y* k                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;- Y: j9 H* @, g
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;( z8 s: e% V1 ?9 e" q: `- E1 U
1 W  o- ]( P+ I. T* \6 x
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
6 a3 K6 x) f5 K& v) I                        {
1 r9 B0 I3 D& p( t! t2 f9 Y6 C; H                                pLight->Diffuse.r *= 0.6f;: [, L. B. w1 r1 \& Y
                                pLight->Diffuse.g *= 0.6f;' v) ^4 s2 O6 P4 d6 r8 }* N0 ^
                                pLight->Diffuse.b *= 0.6f;
! o+ c: I0 X( t/ C5 K$ Y                                pLight->Ambient.r *= 0.7f;
( O& n  J+ V- d9 U: ?                                pLight->Ambient.g *= 0.7f;
# W8 y$ S- d/ A6 S                                pLight->Ambient.b *= 0.7f;8 r# t: y2 [+ O$ ^4 G
                        }4 \' L! U6 l2 @4 {7 ?8 O' L

( W# |. D% z. Y  q. w% e- m1 Y#if __VER >= 15 // __BS_CHANGING_ENVIR
/ s" ~  J' J8 J1 j                        if( g_pPlayer )7 z4 X. j+ r+ C! b
                                HookUpdateLight( pLight );- I6 x3 {6 S3 d
#endif
; {! D4 z( _: u1 ^" B                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 L# u* v! a" X9 f
5 R- S; z" n" L* l& G5 o# L
                        pLight->Diffuse.r  += 0.1f;/ E; f$ R5 b( e6 o3 D: }! k
                        pLight->Diffuse.g  += 0.1f;- h3 R# G, r- i: k  t( j/ T
                        pLight->Diffuse.b  += 0.1f;3 a/ q( w5 T$ P$ H0 D- R$ P
                        // oˉè* ??à? # _3 V+ w5 F# t5 Y* b, A
                        pLight->Specular.r = 2.0f;
! e+ B0 e* l" T5 I' V                        pLight->Specular.g = 2.0f;: |' E' B" k  h* {/ `
                        pLight->Specular.b = 2.0f;
: b. |* s: U, @) e                        // á?oˉ
7 q, f. y6 S% G- a+ }" S6 N                        pLight->Ambient.r  *= 0.9f;* g6 x& }0 _& ~9 J  i- E
                        pLight->Ambient.g  *= 0.9f;
6 S  A! _$ D/ E/ q5 c' ~! r                        pLight->Ambient.b  *= 0.9f;( g5 k4 r: x, K: S' ~+ v6 J7 H

% B, M4 v) e$ \8 ~! L4 g                        memcpy( &m_light, pLight, sizeof( m_light ) );
- z( u1 B- ~8 d% q' N6 W                        4 O2 R7 Y' J7 K* X1 A; c
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
8 s* l$ _7 u. B  d, `3 N, x                        pLight->Appear( m_pd3dDevice, TRUE );
, V% c7 \9 P/ [8 P        + Y8 n1 E/ U6 x" o" Z* K
                        DWORD dwR, dwG, dwB;9 c* o3 ^$ p5 m+ k+ H! O# |/ \* q
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
- S3 o  w" L$ d5 u2 @$ W9 F                        dwG = (DWORD)( pLight->Ambient.g * 255 );0 B6 p8 V$ R" |3 w( ^
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
* r$ O! Q6 `% N3 Y" _! H; c                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );# C5 j1 @: e; N+ m" E
                }
+ P; |. y+ r9 w" X        }4 {: Z6 [" M1 x$ @4 A" _0 G+ s
        else2 ^3 u& H/ x6 F! ]2 G: K
        {
' O0 G/ V0 N2 U5 L                if( pLight )
; q; R3 \. i# E6 L3 R7 A                {: d. C7 @( ]- i* A2 s# n* L5 W
               
- c  ?' s/ G1 v5 F: ^- x; ]                        int nHour = 8, nMin = 0;
% q3 W" O9 M/ W2 p% R% I        #ifdef __CLIENT1 u8 z. K6 L5 O: C1 C
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. + `4 n+ J8 x5 [( ?7 ]: b% k
                        nHour = g_GameTimer.m_nHour;
$ m3 T3 k, ^% G                        nMin  = g_GameTimer.m_nMin ;5 W5 m6 ]! j5 \$ ?
        #else
0 Z- [- M$ t2 k                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.( h; b: ]1 V1 m) q9 j8 m' g
                        if( m_nLightType == 1 )
4 W2 j5 @4 R% [( @9 J                                nHour = m_nLightHour;8 k4 D0 k4 _* O$ j: e# Y; t5 h  g
        #endif* v. X4 p. _, q3 N# ~+ O' t4 m
                        nHour--;; i& Y7 L3 n9 j. j0 T
                        if( nHour < 0 ) nHour = 0;
- i* d, s8 c8 M* z! ~" }( U6 r                        if( nHour > 23 ) nHour = 23;
# n# `3 Y: g8 i7 c: b  ^$ @( U
* U: ^4 y0 y5 p3 X9 H# N5 [. T+ X0 ]                        //if( m_bFixedHour )8 n: M8 G& k+ h, @
                        //        nHour = m_nFixedHour, nMin = 0;. r; o& Z) B" m& V! |0 X
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 S8 T& w/ O3 {6 {1 S! D                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
+ Y/ q; X+ `+ x, }) E! q, U
/ ^. X" z/ K+ m0 z3 ]& I                        //m_lightColor = lightColorPrv;% r, K1 u5 m, ^( N. r8 N
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
6 `/ a+ K; Q2 b1 O5 e0 k                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) X. U$ j/ G& w+ }: R( X: D1 d4 y0 r                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;' H& K# k% Q6 p4 x/ u, Q9 L
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
2 q* d; D7 e6 p7 {$ c" N                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;: z  P+ ]( j6 j' L! v) x
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
  y2 _; }+ Z3 M) b, b                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)5 g) V: A+ J! f. r  b4 R0 v
$ d6 L4 f$ z  m. C/ _, K
                        // à??μ oˉè*
0 \$ Q* x% h7 ?* ^# D9 o                        pLight->Diffuse.r  = lightColorPrv.r1;4 q6 F1 u4 I7 j& I2 g" Z$ \) h. {3 d
                        pLight->Diffuse.g  = lightColorPrv.g1;
6 p% ]$ Q$ R/ i: b. \                        pLight->Diffuse.b  = lightColorPrv.b1;
: Z( S" B# u4 m& a9 E. S# i                        // oˉè* ??à?
8 w2 H' Z# b3 ?5 Z4 F5 r                        pLight->Specular.r = 1.0f;4 ~( ^% s6 P6 v' w& b
                        pLight->Specular.g = 1.0f;8 I  T# G, `0 c0 K# k
                        pLight->Specular.b = 1.0f;
4 S* o. @- a8 @. K+ q# Q                        // àü?? oˉè*
% B+ N3 t& w/ R% q$ |% o( g# F                        pLight->Ambient.r  = lightColorPrv.r2;
7 a: |4 M1 w+ i$ W! J% G# M1 I, |                        pLight->Ambient.g  = lightColorPrv.g2;
. s  ~' H4 [) M3 `7 R                        pLight->Ambient.b  = lightColorPrv.b2;! a6 o) C4 ^3 O. _
! H: j6 {2 d3 y4 N; \
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! \' q& T% @  H) E5 R$ G; P. E                        {, [& \" w3 W* s1 P
                                pLight->Diffuse.r *= 0.6f;
5 W1 w) m* L% q& a" g+ \                                pLight->Diffuse.g *= 0.6f;
/ V) M) ?/ P" C# E1 Z/ ~                                pLight->Diffuse.b *= 0.6f;- b( T" i1 a; c( `1 {
                                pLight->Ambient.r *= 0.7f;
2 V5 ~( }$ O* T- [5 A8 L" l                                pLight->Ambient.g *= 0.7f;
& U8 e' R  h# T1 u$ v                                pLight->Ambient.b *= 0.7f;% h; j: ?/ v: R* i
                        }
. w9 _, ]1 r' ]                        8 o8 ~& O& k5 w2 r2 X
#if __VER >= 15 // __BS_CHANGING_ENVIR/ h1 I( P- t- p/ o! I+ f
                        if( g_pPlayer )" l7 k: v% w7 ]# a- R& s4 J
                                HookUpdateLight( pLight ); 3 j7 A2 t8 e+ e0 s" p
#endif8 U/ C: I! q2 i) U, ~+ @  A
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: U1 j$ {0 A, q. N" o/ k

3 G/ p# [* u+ f0 x#ifdef __YENV* i- J2 Q) }8 b9 P
                        pLight->Diffuse.r  *= 1.1f;
7 x) C% r- J& t# R4 Y                        pLight->Diffuse.g  *= 1.1f;
/ X, P. q' _' _( }                        pLight->Diffuse.b  *= 1.1f;6 a0 r( n; b" i! I- I1 T0 y$ J
                        // oˉè* ??à? ; k* T+ ^7 Z  }% `
                        pLight->Specular.r = 2.0f;9 @# T# Z! |+ b2 d( D& P
                        pLight->Specular.g = 2.0f;
8 }% o" {; I: e                        pLight->Specular.b = 2.0f;; q4 q& Q  X' f
                        // á?oˉ
, ~, I9 Q3 I: `! v                        pLight->Ambient.r  *= 1.0f;. U' j8 N: _& X. B4 J
                        pLight->Ambient.g  *= 1.0f;& q5 E7 ?) V0 `" C& Y; \3 G% b
                        pLight->Ambient.b  *= 1.0f;
( }* K# I, P: Q3 i5 d#else //__YENV% A: l1 W! x4 p# N; ]  c% z
                        pLight->Diffuse.r  *= 1.1f;( w6 o8 I% s: J) ?  p0 X: ^
                        pLight->Diffuse.g  *= 1.1f;
3 G1 j- @. @3 y7 U+ K$ |                        pLight->Diffuse.b  *= 1.1f;. k: R% T' c2 w( ?
                        // oˉè* ??à?
  ^2 h, X5 y$ @+ E0 C* E5 J& I                        pLight->Specular.r = 2.0f;1 U; j; l8 O% Z
                        pLight->Specular.g = 2.0f;. ]1 D. o9 R3 R) r% d/ C4 l' i
                        pLight->Specular.b = 2.0f;. A! z2 k+ f% [! Y1 V
                        // á?oˉ 6 w5 n, ~) }6 @4 ~* ?( k% _7 M9 `
                        pLight->Ambient.r  *= 0.9f;
! U8 I, b' l- s% O# p1 W                        pLight->Ambient.g  *= 0.9f;
0 }, {- g/ B6 s1 s8 d                        pLight->Ambient.b  *= 0.9f;
0 W7 z" z- X7 T: q" s  L#endif //__YENV 7 S& i- o/ `- E  L" Z
                       
, ?- T/ g- ?5 [; R* c! O: |                        memcpy( &m_light, pLight, sizeof( m_light ) );( l; f% Z2 Z  b9 }# q
                       
$ J% O, L6 y# s2 I! d) S- `                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 k9 l2 ?2 a+ C& u2 ?9 ]' k                        D3DXMATRIX  matTemp;8 m! `  v8 R1 e& w9 [5 }8 _
                        static const float CONS_VAL = 3.1415926f / 180.f;
: M8 _7 s4 \* O, T0 y1 [+ O9 H5 _5 k2 y$ i$ F2 ~) Q
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);5 [6 ]/ q2 s3 _" j& ?
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);8 @% O- u2 |, X5 z' a4 }9 J: e
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
7 B: X2 E% m! c6 x                        pLight->Appear( m_pd3dDevice, TRUE );0 W& _9 U1 u) N; R5 s: u1 D
' A+ q/ z% u! R3 O2 a
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* J/ E. A0 \; o                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
( b5 U  S" ~+ V. |                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) B% m  k6 @! W
! \1 n1 j# v& L, N% V                        DWORD dwR, dwG, dwB;8 C, x" l' d+ I( d0 s. f% H
                        dwR = (DWORD)( pLight->Ambient.r * 255 );- s  z+ j/ ~* Z/ i& |
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
+ d! [5 c0 p  M& _5 c                        dwB = (DWORD)( pLight->Ambient.b * 255 );$ Y$ G, x& j+ g! ^3 D3 T
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        . z% d+ y) h  y# N1 O+ p
                }
: F1 g6 Q( X1 f+ r! \        }# |" n0 ~2 |, q; O0 i. ?5 [
+ Y# B$ l2 Q; |' r/ ]# h' K
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
6 ~; m, r6 W* F1 p6 N        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) );/ u3 `" S0 ~6 S
        ::SetLight( bLight );* F4 Z! m# `: d& F) v7 T
1 Q: b/ ?  A# l9 _& S. x
        // ±ao? ?D?í???ó á¤à?
) B4 |5 N# v8 V# ?' r" T2 r+ N        m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 W; H3 U: v$ D7 B% v: H% `6 z& i        ' A! V9 X- f6 C+ \! Y
#endif // not WORLDSERVER
& O) u, j1 e: V}
! J+ O" r3 I$ X并更换: {1 a- P: B% ~/ X( P1 A: c
Code:
% y% r$ [7 o1 ~: `+ x__FLYFF_INITPAGE_EXT
! U' C% E# a6 g) ~) h( D定义) K. \1 B" u, \- d$ X9 j

0 _' E/ J) Y5 j* u% O  F' B/ m
) d7 a# x' V; T7 T! T
% x: a& ~- N: w( x) |! h
3 `1 y9 p7 ~- D: Z7 O9 T1 E1 C& o现在终于删除我的狗屁加速...
' I8 C& ]; n- H; Z1 k- R0 s$ v  N  y. j$ V# d, o' N9 m% E

6 h1 _8 X2 o6 o( b0 _" j$ t# t$ o/ j* c- r! b





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