飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:9 s0 n0 f( |, M( ]
尾翼:
2 A* Q$ a& s+ R& A' Q" W# _
- s( T$ [2 ?3 L2 R代码:
4 H; l" J4 v: w7 c7 `' s1 w4 `# uCWndAutoFood::CWndAutoFood()
- s* z8 r# E  G{, \) c4 P8 u' l- e
        m_pItemElem = NULL;
8 r8 v" Q4 e$ H1 Y7 |        m_pTexture = NULL;
; J9 _9 h- A9 J        bStart = FALSE;/ U' t  J" n$ C* R  p8 R  H
}( N1 I7 A* H0 H% g( {# d
% c4 A. k! g6 n. H& `7 W, i! d: p" X
CWndAutoFood::~CWndAutoFood()
3 |. k+ `- h1 X6 F1 x{  h" }7 F0 r. p( j
        AfxMessageBox( "AutoFood ist gestorben " );
- E) |+ D* S$ n8 S9 X}" n! N! E. Q* H2 O
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# O2 l0 O# p7 r6 h1 k{( d6 C, P4 `) W/ ~
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );5 b. D7 w# v1 M2 |: v; v" H+ o
}
$ [$ x# F- s  b, |0 G4 T3 E0 o+ Q# m6 V# M% ]
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 x4 J1 m# h+ r- F8 Q& N( w{, m- ]+ k- l6 g, ]
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
6 M; \( f0 S6 g% G/ l2 K* X$ B# O        CRect rect = pWndCtrl->rect;4 `% W. l9 h" D0 d0 G, w- g) J
        if( rect && rect.PtInRect( point ) )
3 Z- l! g9 ]3 e& ]! I4 v# h        {" r) |$ [" T! Y- L- S
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' ]9 A( S' z- Q                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
1 A! }( v3 w, s" x+ @8 c1 t3 g7 S* y                {
/ C4 M8 Y2 S0 |1 B2 [- c                        if( m_pItemElem )
1 d( H7 g( O. u, ?9 n/ I# G                        {8 B' s  W; W3 F* Z; `: |
                                m_pItemElem = NULL;  Y' a! V; ?  E8 j
                        }0 _/ a. V  k" ]- z
                        m_pItemElem = pItemElem;: Y9 o+ R9 b6 B* ]! a% t- P1 L
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: f/ H- u: D* O7 d' Z                }else{9 v3 u7 u6 h: H0 @0 [: J: L0 h
                        SetForbid( TRUE );
) Q! ^- }& w3 d                }
  `; k* l6 ]% n- a) r# |+ m        }else{" f( ]/ g( h" P$ `$ c  Q- }/ u
                SetForbid( TRUE );2 y( N- `4 X, S3 M  l8 s, [
        }
" k5 I% N5 Q6 L& j- \        return TRUE;
5 q- d6 a4 J3 ]4 L}6 e2 {  c' E  i3 q
' p" v6 Y5 }- h/ D
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 H8 b! F8 g  l( g: P{2 _' @0 N" f7 C: x
        switch( nID )
5 ~" W6 z* ]) d' O! x        {5 e7 c3 ~  j7 R* V/ [+ A7 g
        case WIDC_BUTTON3:2 O% Z9 U9 o# s0 B3 k
                {. F+ T9 x# }: Q& {1 T& Z* p. A' Q7 c
                        bStart = TRUE;8 M( u* w9 v' E9 D( y
                        break;
% a; c. ?/ k4 N) n, J* W, y2 x                }
9 g7 s% \+ i8 v/ N/ B' f/ ?        case WIDC_BUTTON4:
4 G! K# {1 p" x8 t4 p5 _( M" d                {
3 q9 B$ G' y# H1 \' U: h' S* b" w                        bStart = FALSE;
, D" I% Z% v; ]; b                        break;
, \' z. J# D, c8 c  t2 E, t                }
- ?6 K1 \$ Z+ F1 ?        }
: o* B9 Z# ]" ?        return CWndNeuz::OnChildNotify( message, nID, pLResult );
) P& O5 n4 d' i& L}       
+ G# ^$ e/ v6 y  fvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )7 I0 ~4 N6 z5 K( x
{4 H' n+ f9 S3 n8 {: O) h9 m; u1 n
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 z# B! b' j" Q4 w1 ?' [        if( bStart || !m_pItemElem )
8 h' [' B: y3 N6 |1 }3 v        {  m" p! ]; b' Y9 }4 {
                pBtn->EnableWindow( FALSE );
4 P7 D, ~6 M& ?1 q1 }) U0 t        }else
) n4 s1 J& z7 o% I) J                pBtn->EnableWindow( TRUE );  o, u- d2 G6 D0 C: N6 z0 w/ q8 o
        if( m_pTexture )4 v( x6 |7 C( N2 y
        {
% g3 q/ ~1 E* |( H                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: w) u' k: F7 N7 ^/ S( r% S                if( wndCtrl && wndCtrl->rect )
& s% ?, u" g& ^: w                {) a7 a! X' Y5 L3 }$ k9 h7 Q
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. X2 ?+ M/ }$ l  b) y4 T- n$ r                }
2 G, x+ n. l$ j7 j6 ^' B        }4 ?5 a0 d+ f% U3 v; _
}
/ L- q, Z9 R. a" m9 J3 L* y
& z) _0 Z6 v5 i$ V, OBOOL CWndAutoFood:rocess()" b6 A0 N( S! ~# k4 D4 n- \- H
{' G8 h( f/ P8 ~, U+ ~, a& l
        if( bStart )5 F7 G3 A! a6 q% j; T0 f9 H
        {8 l9 H: U+ s, I$ |) F+ y
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )0 m2 F7 L1 i* f/ W. |
                {2 A3 q9 t) W# K
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )1 v3 M+ ?* ], v3 B+ ~
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );* G$ n% j8 R0 V! p6 ~
                }else{
/ `2 ~) i% ^1 q                        bStart = FALSE;
0 G2 C- B( i3 J- L2 ^" Y5 T                        m_pItemElem = NULL;# r/ g$ R% b# n
                }
5 l# o, w5 w' q, }        }
! V: ^- W% L" H+ V0 V        return TRUE;
5 x2 Y) u; l- [% ~2 L, C) o}* k( j5 C0 B3 e% V2 W

0 O9 `/ k/ g$ f登录视频废话:
  Y9 t0 V3 f8 P; K尾翼:
: z+ v$ j: V3 c% d; i9 H( M
1 I  E0 S+ Q' C& j+ d8 u- s+ y代码:
5 n% o% O" F, u6 E/ n: [! T
/ B  P3 Z1 x. W1 g6 {void CWorld::SetLight( BOOL bLight )& l8 A9 x4 f$ o9 c8 K# g
durch6 D: Q. M. |5 N+ i8 r
Code:
8 W+ |) `9 }9 c6 n! \void CWorld::SetLight( BOOL bLight )
+ \* _/ k3 T$ u6 ~  Z{
; Z  d* e" v0 R# H! p! ^        //ACE("SetLight %d \n", bLight);
$ I7 I( h  h; b' O2 @- Z3 }2 Q) [        0 r" G9 C  {$ e
#ifndef  __WORLDSERVER 3 W( }/ q+ V- C9 ?
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 _9 @: ~9 h  y* R+ v        CLight* pLight = NULL;% V9 s9 {+ U+ z: K3 P; F; w! R
1 \/ F' a+ H) L9 \+ j% i
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );* O9 g1 G5 z' N

1 P9 X, A3 I2 ]; R) s8 W        pLight = GetLight( "direction" );
9 |: \) X) W2 {3 r8 S5 w2 s9 Z, ^: |* ?' V7 z8 w7 k
#if __VER >= 15 // __BS_CHANGING_ENVIR! n+ y, |+ V" D/ `4 |. A
        if( g_pPlayer ){& S5 F" R5 d4 W( U- T! w+ o: L1 I
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
' M+ @2 Q  R5 Z; R/ E6 E( K+ w$ c                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!- }2 ^+ P2 q$ e! H
                {; `# }( y- A4 A7 n  g% L1 E9 G
                        if( pLight )
0 v4 X4 z' K! w; [  ~) ?6 f" V                        {
9 r) j6 w: h+ m7 L                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
$ y* t, V. x8 p+ E) s0 H% l4 L+ F                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
% C2 j$ Z' r2 u- ^- r, C) f                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
! M! k; l3 ]9 B, ~6 ~; c. U! Y+ N7 @. W8 R. P
                                pLight->Specular.r = 2.0f;/ a5 }8 `# ~  c8 |$ ^" ]
                                pLight->Specular.g = 2.0f;4 ?" o% H, A% V" ?* n; ]
                                pLight->Specular.b = 2.0f;
& w, g7 }% c) }7 c4 I        8 s' o4 A+ ~6 o9 d1 m
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* E% F, v& H( u" @' i& R6 T                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];& M3 G+ w# U# u9 I2 t* B0 s+ k! f
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
4 k9 X0 W/ t% ?        . I6 {" p" ]! s/ ?7 h/ I/ u
                                HookUpdateLight( pLight ); , _1 b; E& P  T+ f: x3 F. c

8 R) @: w$ k* r6 v6 {) t4 R, F$ m                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: y5 O' i' f, J) Z# X
                1 @0 s' j8 D4 `* [
                                pLight->Diffuse.r *= 1.2f;1 m. I, L/ S  C1 _" N1 s, E5 j4 A
                                pLight->Diffuse.g *= 1.2f;
! _. j& Z3 v% T- g+ _9 j                                pLight->Diffuse.b *= 1.2f;3 S: {% ~0 M" a; C8 P' {0 F
- z/ r4 B& f& N! o1 ]4 J, _7 T
                                pLight->Ambient.r *= 0.8f;  x+ @) ~: @" |, I2 S8 W# J
                                pLight->Ambient.g *= 0.8f;. y/ U% t4 R3 X* y4 w
                                pLight->Ambient.b *= 0.8f;
# M- k& ?9 q& t6 g       
2 Y% S* ~- @2 v                                memcpy( &m_light, pLight, sizeof( m_light ) );
1 y1 H8 X) S( m( |' a/ n9 Z# t+ _8 n
6 x  M; L1 N! P8 P. s$ B9 h                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 g' f( u) f4 ?  o6 x5 p" Y% K                                 D3DXVec3Normalize(&(vecSun),&(vecSun));9 s5 Y% d$ p0 a' _
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
+ ]8 [' R3 ?: l) M! j0 ~                                 pLight->Appear( m_pd3dDevice, TRUE );: A( P3 {/ \) X1 b5 R2 u1 |9 E* h
               
  X3 u+ c) O% [                                DWORD dwR, dwG, dwB;
$ H9 p  n$ s+ K  v' k1 y                                dwR = (DWORD)( pLight->Ambient.r * 255 );
! L" F: B& m+ O                                dwG = (DWORD)( pLight->Ambient.g * 255 );& m% d* ?( |: f  o# M
                                dwB = (DWORD)( pLight->Ambient.b * 255 );
" {6 N2 D# d& C- T                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 t7 H5 F9 w! p0 Y* W3 H                        }
# D% p: p- }, t9 w) v0 w                }; u/ d3 ^2 G: C6 I; u
        }3 L/ U7 H5 W' J9 A' v; t( D
        else
# o8 r3 e+ K6 y. D! _) V#endif
: n/ N5 j+ c- G/ L+ Y$ n
5 @: y* W3 |" P6 u1 P6 T        if( m_bIsIndoor )
! O# h. Q: {  o0 @, ^! {        {/ i4 ?. x- T2 n" H7 b
                if( pLight )3 L  }" f% e, |1 p9 y# u8 d3 O
                {               
5 \; c' b( S8 W9 w) d. u                        // à??μ oˉè* . J% j  f3 O& c) I2 y0 o' W- i
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; B& D3 K6 q! W7 q+ ^' [  @                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
. n* V4 f' e% d4 I                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;$ i! f( q" e$ N9 |0 L
8 I0 _0 r5 E4 D( s
                        // oˉè* ??à? ; e1 C! v; f; I  T, l/ g. C" h
                        pLight->Specular.r = 1.0f;
' A% `- `7 c7 o" W                        pLight->Specular.g = 1.0f;
7 D6 L5 ?3 q8 P$ n                        pLight->Specular.b = 1.0f;
) ?( K# {3 O. d( y                        // àü?? oˉè* & m! O3 s) ~$ d
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;0 ]; }% \: O" O8 Y. n4 X+ c9 d
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
, C# `4 q( J! n, T3 I                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
  N$ K" T6 x* T& o: [2 k
* R# _$ k2 e1 [5 E' T, \$ n                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 t6 s0 [3 h1 \' h: I$ `  w# O! l                        {
% e0 ]& |& T/ T% P. E2 w                                pLight->Diffuse.r *= 0.6f;: V6 [$ M% r) q  x1 n, i
                                pLight->Diffuse.g *= 0.6f;
) a* w) p2 X7 t                                pLight->Diffuse.b *= 0.6f;( h3 s. b5 L. i% Z9 Y: P
                                pLight->Ambient.r *= 0.7f;
8 D. J: u( b8 p7 U! n+ g                                pLight->Ambient.g *= 0.7f;
  {3 \; {4 R, H  I- |                                pLight->Ambient.b *= 0.7f;3 E- j% K9 l( x. b
                        }
% {1 q# `2 `- I. S- {
. o/ M( b. n" r9 j% A# o- s#if __VER >= 15 // __BS_CHANGING_ENVIR
( e  D6 t0 d# g+ Y+ i                        if( g_pPlayer ); V5 C& d. s& Q/ _6 n5 |) X
                                HookUpdateLight( pLight );
: ^; W6 A7 n) k3 g# M3 m" q#endif. L4 ^, m1 E/ G, E4 f4 _
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ J" h: {* N/ {3 {: j5 U" c5 W$ |& L0 A' G! O0 F
                        pLight->Diffuse.r  += 0.1f;
0 u5 L  P4 e% F# p! x! B- r; s                        pLight->Diffuse.g  += 0.1f;( l2 P& ^( z. u- g/ ?, j
                        pLight->Diffuse.b  += 0.1f;* \! ?& p5 U( ]
                        // oˉè* ??à?
! r8 z* S+ y+ B: |+ Q" T) K  U& g                        pLight->Specular.r = 2.0f;: M$ N# {& d& P1 ^. l3 c, H! s) A
                        pLight->Specular.g = 2.0f;
7 F2 m5 ~6 @  f4 y+ w. o* ~                        pLight->Specular.b = 2.0f;
' Z9 B2 L$ d& c% P/ S+ V                        // á?oˉ ; I0 }8 B( N1 L9 i! Z( c* T: A
                        pLight->Ambient.r  *= 0.9f;
* j, Y7 z( f$ }+ N$ g. h/ F1 F                        pLight->Ambient.g  *= 0.9f;' E, s( y) |* i; f8 `- N+ d9 r
                        pLight->Ambient.b  *= 0.9f;. A3 ~0 x! {% X3 q( o1 }' j1 o

- H9 u( P6 \# G3 Q; h- R! @                        memcpy( &m_light, pLight, sizeof( m_light ) );
/ l4 x  z3 R/ D8 H                        8 e6 ~# C& i+ M
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );4 b( B% e; D8 _, \1 U
                        pLight->Appear( m_pd3dDevice, TRUE );9 I- I: v2 A! U- m+ L
        % P( P4 v$ s- @+ C
                        DWORD dwR, dwG, dwB;1 d7 O/ g4 W5 |6 }) C- B
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
/ {# v0 ?( ~4 Q# F                        dwG = (DWORD)( pLight->Ambient.g * 255 );9 C8 o0 R3 Y2 a8 i5 ?/ {9 m/ b3 b
                        dwB = (DWORD)( pLight->Ambient.b * 255 );% a; d/ U; X/ r5 q) E- i1 }
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );( F- o3 l( M! q' s
                }
/ J2 M- e5 ?# i( G' S        }
, I' |: B: F" P8 ?9 i% p        else
) F" X7 A$ R% x) w( M7 U        {6 Z# a* K' a' x$ v( }8 L# x; g4 [
                if( pLight )
# d& E" p% E" x( p                {
* t2 N4 `) p  F7 x               
1 o1 e4 v/ X* N9 C  [/ l                        int nHour = 8, nMin = 0;
$ ]- [7 F6 H. p3 O) _6 ]+ e        #ifdef __CLIENT8 ~3 p4 V5 e* M9 B7 |
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. + S# t+ D0 f, t/ K4 s
                        nHour = g_GameTimer.m_nHour;
  N" ~1 j3 s& E: f+ a+ x                        nMin  = g_GameTimer.m_nMin ;
- b0 b& M3 n- ]: }& d. Z+ v        #else, H" W% z" U% b! I
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 ^5 t6 P* R/ k, C7 M+ }3 U                        if( m_nLightType == 1 )
' K8 Q8 b( y( a7 S& y  y                                nHour = m_nLightHour;
1 Y( r' t5 a+ j. Q& E% e        #endif& N% I0 ^$ |9 W$ |2 w% [* U9 x2 a
                        nHour--;
: l* Q4 B/ r: C" l' V& u2 R                        if( nHour < 0 ) nHour = 0;
& }7 L7 L& A9 J' y: K0 M  y                        if( nHour > 23 ) nHour = 23;$ Y; ]- p* b  H
, [4 k* H# F1 Y0 O7 r
                        //if( m_bFixedHour )( `& }0 ]" H6 D. y! f+ W
                        //        nHour = m_nFixedHour, nMin = 0;  b, W' C5 i! e3 r, i: f: l
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ M' ^7 A' c8 d  V6 V                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];3 W5 _. U) L$ _" t
) o% ~4 U# `! D# C' y( H
                        //m_lightColor = lightColorPrv;
. o5 I; {$ A( Y8 k# P9 r                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;; L+ [6 S1 Y: k7 ~* x
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;3 }/ S3 x$ t9 }! ^& j# F* L1 ?* ^
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
7 ]3 [6 b/ v' K  d                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;% Q4 c9 c) V# ~1 p: h
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
  o, N/ a& p! K8 L9 v" C                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
! o  J  m. `' J( r                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)/ w7 v+ f7 \/ E2 h) l8 B8 b

9 n( E0 B0 s5 a3 [- l1 S+ u6 i                        // à??μ oˉè*
! g: P5 x. d, Y0 r/ l$ O0 r2 J                        pLight->Diffuse.r  = lightColorPrv.r1;9 t6 S9 T. |# y  j
                        pLight->Diffuse.g  = lightColorPrv.g1;$ ?/ P/ [% @7 q' a. Z+ W* i3 e& c) x  M
                        pLight->Diffuse.b  = lightColorPrv.b1;4 h# }9 {6 Z+ e3 n; z: m; |6 M
                        // oˉè* ??à? ) U& o3 C6 K- Q+ `
                        pLight->Specular.r = 1.0f;
9 F% f9 v7 E! I( k  l" k$ t, F) D                        pLight->Specular.g = 1.0f;8 R, T$ h  C5 z9 }2 J& N7 l1 Q
                        pLight->Specular.b = 1.0f;8 l( \& K0 T$ c+ Z
                        // àü?? oˉè* 5 i0 Z6 ?8 g. q6 q" [
                        pLight->Ambient.r  = lightColorPrv.r2;0 V' X8 H7 x5 ^6 p+ ~9 N
                        pLight->Ambient.g  = lightColorPrv.g2;6 i2 ?# g  n7 C4 H5 X2 `) s
                        pLight->Ambient.b  = lightColorPrv.b2;
" W& L5 k) N. x  \; M; S( F, F" ]0 r9 n- v- b) h2 s) l
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.# d: h3 }+ F% I8 X
                        {8 d$ u1 Z8 P& R5 H* ]! {
                                pLight->Diffuse.r *= 0.6f;
$ C* |. l8 [+ D+ s: w6 B                                pLight->Diffuse.g *= 0.6f;
% V, X2 J& p: J+ u6 ~/ P" d                                pLight->Diffuse.b *= 0.6f;8 q: `& B3 B( [' {# L
                                pLight->Ambient.r *= 0.7f;: V2 G" M. l0 y( [
                                pLight->Ambient.g *= 0.7f;$ o; u- k% y; K" F3 |9 i5 e- a
                                pLight->Ambient.b *= 0.7f;: @" e* B) P5 n/ T3 _
                        }
9 E% P5 z9 O8 }$ e                        2 \8 ]5 U& H8 {, K
#if __VER >= 15 // __BS_CHANGING_ENVIR4 _5 c/ F! z2 U) C
                        if( g_pPlayer )5 f; `- O5 }: T
                                HookUpdateLight( pLight );
9 e! G4 W# V( \+ d7 z# _7 a7 @) X#endif: {& |/ y# R' g* g; U  b
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );! G: H/ S0 f" s6 F! J7 C

! ]% T1 |1 }4 {& I#ifdef __YENV2 }5 W- W  @. I+ ^& X) f
                        pLight->Diffuse.r  *= 1.1f;+ W5 w' v( p& j
                        pLight->Diffuse.g  *= 1.1f;
( z  w& T: i4 {) K- }" [                        pLight->Diffuse.b  *= 1.1f;3 V5 N' B  `/ |9 i
                        // oˉè* ??à?
0 b/ G/ \" L! x' F7 c                        pLight->Specular.r = 2.0f;2 |8 x; @9 x9 Y& Q. H' }% m
                        pLight->Specular.g = 2.0f;
, Q' i+ R. K! B5 B/ t, o9 \                        pLight->Specular.b = 2.0f;
6 {1 v6 V/ e% Q2 ?% Q                        // á?oˉ % Q5 `2 c/ Q3 J7 i+ s" S
                        pLight->Ambient.r  *= 1.0f;
5 Q. }1 |& P2 e) ?8 R1 u                        pLight->Ambient.g  *= 1.0f;
, G' O& Y/ M# B% T( G: B  N5 a9 g7 E                        pLight->Ambient.b  *= 1.0f;
3 Q5 ], E( n+ K2 g+ Q5 u- f/ \' W  R#else //__YENV
6 |% J4 T- f( ?" j( _6 ~5 m) E$ \                        pLight->Diffuse.r  *= 1.1f;
, C8 o7 H9 ]  l2 W  z8 O                        pLight->Diffuse.g  *= 1.1f;
0 z$ f0 [. d6 e+ r                        pLight->Diffuse.b  *= 1.1f;
: m! s% {9 X  i' b6 K                        // oˉè* ??à?
! g$ U% n2 h4 \                        pLight->Specular.r = 2.0f;
  H5 }! J0 A' f, p- Z                        pLight->Specular.g = 2.0f;2 X( h% m+ q) Y
                        pLight->Specular.b = 2.0f;) ]! _& d* L4 u4 c' X& b6 r/ c
                        // á?oˉ 0 ^: H2 b8 Y) J
                        pLight->Ambient.r  *= 0.9f;+ i* s/ ~& \. q+ d1 Z8 n; P( M  u; H
                        pLight->Ambient.g  *= 0.9f;
% e( y  P: j- q5 g                        pLight->Ambient.b  *= 0.9f;
& C6 S$ F$ ~. b, T/ N/ t#endif //__YENV + H' @1 r1 a4 [* Z6 o" p
                        ; A# a# @- Q% c* Z* ]
                        memcpy( &m_light, pLight, sizeof( m_light ) );0 ~; T! K0 M, X! A
                        5 x0 l' U+ b$ |( I
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);2 r1 J6 ?5 i6 {7 Z) V
                        D3DXMATRIX  matTemp;
- Y! k+ ^, s/ Y                        static const float CONS_VAL = 3.1415926f / 180.f;8 u, ?6 w3 Y: E* n: R6 t* g
; i- j( h; N" X9 `0 n7 Q9 v
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);! ~& U/ T- {# N' ]( l0 `8 w  Z
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
" g3 n1 c: x, j' L* G                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); - A2 O$ t9 D' y7 y* S: F: S
                        pLight->Appear( m_pd3dDevice, TRUE );
7 D2 k, @- h& P8 t
' t2 N2 r; _! N. }                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);( N" E; @/ S2 X- E0 L5 N* D
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));2 @. m$ R- k6 _! [8 q
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ u0 N* E' r4 V8 Q. M0 B7 g( b# R3 S' H( l0 R
                        DWORD dwR, dwG, dwB;7 D: S8 P1 o( \- T- z! s# g- y5 u
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
8 n& w/ f8 p: E6 y                        dwG = (DWORD)( pLight->Ambient.g * 255 );7 {- b& |6 `2 P: H3 l
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
+ |1 }5 L& B5 P+ u                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ; x  O( b. l/ x  Q) _2 ~% a2 P
                }
7 u, d" M/ m) u9 f* n        }0 K/ R0 H" ^9 K

- B) k) M- d$ z% h$ S# r2 w* s+ J        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
/ S* r& d; G8 [0 M  v* g1 w) ^/ ~5 a# a        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) );
' w+ t! ~) U$ C9 R: h" u        ::SetLight( bLight );
, p7 q$ S" J- r
2 I6 o3 u5 O/ I: K& l5 N        // ±ao? ?D?í???ó á¤à? 1 B' L8 n4 h$ ^( |2 _' Z
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ Y2 C- N" ~. n0 Q9 z; v, x       
# z% h% l- @) Q, N6 {; f#endif // not WORLDSERVER' z' m; w) t3 I# ]' j* Y$ p. e
}
: V  C" y. g  l2 c并更换$ r2 ]! K  _! e# L3 d3 z
Code:- w* P. F; ^, V0 @- {  \
__FLYFF_INITPAGE_EXT
6 {1 m! Q$ I9 y2 y  p% |定义
, d) ]2 Q+ i% R( y, c% o! D
5 {) d5 z, {# m3 [; G, H7 Q3 h
0 l* Y8 Y/ K9 e+ v: T6 @. y1 w* W+ b2 N. s8 k; `2 Y

7 e% l, z$ y7 y( Q现在终于删除我的狗屁加速...; Z8 j! O) O, c+ n: E  g  ~
4 A, z$ g% c) `
) q) s% R/ A: l0 K' d( ?3 M* y
$ Q9 N. y" \9 B, R- @





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