飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:0 Q4 n3 t1 y) w% g4 N
尾翼:
6 B1 r, i3 x9 ^- b/ c( Y! H  Z9 S- l" [# d
代码:/ u' \8 v: f) t; C6 l, A
CWndAutoFood::CWndAutoFood()
8 n1 s8 A$ c& P5 B: k* F{7 f' s5 d4 I: B) d$ a
        m_pItemElem = NULL;
/ N. q0 @9 I$ K+ o! ?$ @        m_pTexture = NULL;
8 u8 ]2 J5 w, ^# e) \3 P$ l        bStart = FALSE;
7 @; P4 B. L! h8 X}
& ^% P: _! H6 d% l* k) c) F+ Y5 Y: e  H6 T# k$ P; G/ d
CWndAutoFood::~CWndAutoFood()
) x1 Y+ C% m: F8 \. Q1 S{
. q0 ~+ r* }& b        AfxMessageBox( "AutoFood ist gestorben " );! x! j+ F# }% x; n
}
$ H5 ^- X3 d9 V1 [; {: H, k0 zBOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
$ j5 G6 \  n8 Q6 L1 m{3 W, \1 U8 i3 P- k7 w6 q' I
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
+ b% L9 a' m3 G- q# K}0 {. h/ O* t& I8 |% `4 q0 y
( g* m( n1 x& O% X
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )' L  ]  y+ @# r6 O' n8 U
{$ e) _/ K1 h# Q  S! N, u; \" j1 I
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! x  s6 l9 u7 ^; A8 Z' _        CRect rect = pWndCtrl->rect;4 M6 \, S: t0 ~/ y& i& \) b
        if( rect && rect.PtInRect( point ) )0 o( o9 a5 K7 G8 g; T' Q
        {! U1 U! \' o2 S4 c3 K7 b! a
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );/ w0 K$ v& w  r6 w$ n
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
4 n3 {5 G2 y* {- I  `                {& F% c# D! {% e% [& J- L0 _. d
                        if( m_pItemElem )1 [" H$ S: `1 z; }8 m' h
                        {2 p& n7 r% N; Q1 }4 S* j( J  p
                                m_pItemElem = NULL;
( `4 g+ |% k4 x7 ^% |# r                        }- @- O0 h% c! g5 c
                        m_pItemElem = pItemElem;
, [: ?) r+ B6 l8 _2 i                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
  r6 u  A) S& }( n9 h! P7 e                }else{
' u" v" [( b. c) Q$ k4 q; B3 q                        SetForbid( TRUE );
! ~0 s- a5 s& m6 n4 p2 i                }+ M, h3 L& E; J+ _5 e
        }else{$ p+ Q' t: {# O1 Z9 x
                SetForbid( TRUE );
  ~; |* p* W+ r! R        }1 v# q9 r( x, [! U. E: a! s( i" s+ J
        return TRUE;
( R6 d* n: m* D}
5 O) j% x: h5 Q* t
$ j( \7 T3 K, `2 eBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
' l) A% Y- M" ~; M{; Z7 s. ^, m# b# Z
        switch( nID )
1 d& _: H% p( V) D        {7 y9 W+ y$ y, K3 K( t
        case WIDC_BUTTON3:
, d0 n3 h0 `0 C2 z* S, U3 M  d                {0 c$ q1 J. {' ]6 v; T1 X
                        bStart = TRUE;; Y' p, K! [1 [  G" [% ?
                        break;, u2 s( X9 X  J! y
                }: D  B$ K. V0 s* O
        case WIDC_BUTTON4:+ e2 ^3 t/ q: m
                {6 a1 l- y( }* o6 _6 T) s3 K  B, y9 z9 z
                        bStart = FALSE;
# E+ q; y, z' r9 I                        break;
: |/ G2 K: C" F                }
1 @: }. J* C; J3 b! O/ N- h8 M        }$ F; m1 t% @8 n, h  E6 d4 L! F
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
7 z' u; N$ ~# ]% Y, s9 H( y: w$ V}        % K/ d! ?7 y. X. {, e) |$ g
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
1 b; i" N" u/ `/ O{4 {+ Z5 y( z+ M) m1 D. w5 G' q
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );  \* p% Z( m; b) z: E7 L( K3 t
        if( bStart || !m_pItemElem )& Q9 J* Q' [4 m9 W. q) E
        {
- w3 C# m" @4 k& p1 Y# ?* e6 }2 Q                pBtn->EnableWindow( FALSE );
: o0 a: R5 {1 G. {        }else
8 m/ |) @' e" ~. @: p- Q0 ^                pBtn->EnableWindow( TRUE );
4 G( _7 z! [0 w1 [( v4 E        if( m_pTexture )" ~7 S" c& c3 y+ L( i2 o
        {
+ K! A' k! D6 b) T( O                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );3 E7 h  A& `- x7 g! _7 {, I
                if( wndCtrl && wndCtrl->rect )4 r6 U4 u! F! D( j* X/ u
                {  m! j# b7 X$ P9 V5 b$ k
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
2 `) D. p( C3 ~+ y. M# U$ {                }  }+ X. v% h; J3 I' T
        }/ g4 [* H7 I% r2 [, k8 }4 N% q
}% w5 }1 h+ R+ J* T2 V

- R- P8 w+ w' d' d9 R. L3 wBOOL CWndAutoFood:rocess()2 I" `: W& b% H. ^
{
& n; b- ]& L1 Q3 `& }, W3 }$ Y        if( bStart )) |. @) [5 e; I) W0 e% M: Y
        {6 V8 A  v  f% N1 g" X, ?$ W
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )0 q7 e- |+ N: h
                {
. a- v4 |& E/ L" Q; ^                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )2 S, B9 c: V; b, E$ K
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );+ R$ ?6 j) w, b
                }else{
* H+ b+ e8 [8 r8 g3 }( c( ?. ?) r                        bStart = FALSE;7 W# s: J9 e8 C/ q3 R; Z, s
                        m_pItemElem = NULL;7 J$ a, q3 R0 X0 u
                }, v' V) x0 {" P
        }
0 j# I1 u  m5 x  n) D& r$ e        return TRUE;
: g% _- E1 S' W5 m+ q% x/ S! {* B}4 ?1 k. P) i8 {8 J
6 a% j; H4 n0 R. ]
登录视频废话:7 ], r3 f' N6 a
尾翼:
2 q; R9 |. d9 n/ F4 x$ u1 Z, _, a, _% d2 b4 y3 M
代码:9 h) [) f) ~( @; o' b' s! Z
0 _: O6 C! Y/ d  o1 i; D
void CWorld::SetLight( BOOL bLight )
9 B6 }. c: ^# Z% t7 C5 ndurch8 w6 s9 W1 I5 _, ~& q: X
Code:$ N/ _. O: A/ ?$ V
void CWorld::SetLight( BOOL bLight )
+ u, ~* Z, |; B% Q; x{
5 r, J1 t. V  n' K; z, g# S8 [        //ACE("SetLight %d \n", bLight);
: {+ N8 P2 v3 x5 J" {& o: ]1 a' h4 G+ Y        * g( J' p+ \  g/ a% g
#ifndef  __WORLDSERVER / Y2 P" G5 {9 s/ |* Y
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: g; ^/ o- f& H6 d2 l        CLight* pLight = NULL;
8 G+ }& |' h9 J) A) j6 C; R6 e2 X
$ N% H2 q. \" X4 v        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );& A' j# H0 A. z5 E; ]" W

& k# e, X( R! Y9 H) y' E        pLight = GetLight( "direction" );; [  N# M2 ?3 T. t

$ i7 x9 t/ J- _( I4 A" n#if __VER >= 15 // __BS_CHANGING_ENVIR
. [$ Y5 c. b+ _6 c8 I- S        if( g_pPlayer ){1 N) A* C$ \" K- d7 }: }2 A1 I
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 k' K  h& E/ z- F6 }                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!0 B8 K1 e) N2 w
                {9 e. r% p. A/ t
                        if( pLight )
; @2 B: u8 r  ^4 J                        {' Z( N7 I- Q/ i5 G9 ]9 ^7 y
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
( h* F. c' w1 i  p- e  m                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
2 X3 D6 }& Q. R; K, T                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
7 h: ~/ U- g% H  _+ U( Z& l; C7 O" N' t
                                pLight->Specular.r = 2.0f;
! B& {3 P2 Q$ Z( m: p0 M# \+ ?                                pLight->Specular.g = 2.0f;
# G8 E9 v! \; H. g. H3 m                                pLight->Specular.b = 2.0f;
/ n1 o5 N' i5 J        # T; y* d/ _7 u6 z$ t$ p" P
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];3 A5 g8 K; n" ?: ~. l8 A1 O
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
0 t  N$ b- r! e# K( j4 ?' w                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( V. p6 C" Z( @( \* D        4 z) m7 F* r, m9 O) S* @. z  h3 o
                                HookUpdateLight( pLight ); 9 M! P. V' k! a/ E! f% R: E& w

: f& g5 i  o8 s7 C& U                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 Q' l* q6 a  F4 q. K
               
* N1 |+ K2 A7 Z0 q, R                                pLight->Diffuse.r *= 1.2f;1 q7 ^  q" Y( {' ]' d. J
                                pLight->Diffuse.g *= 1.2f;3 n# C% X2 Y) K" S, R
                                pLight->Diffuse.b *= 1.2f;
' Y9 ]$ O4 z. U+ ~& n( g& }
6 ^- {) ]( J+ \                                pLight->Ambient.r *= 0.8f;) |) S& F8 ~: a0 Y$ \' U  W
                                pLight->Ambient.g *= 0.8f;
, u. y' d; J$ J( d8 j! I1 ^: ]                                pLight->Ambient.b *= 0.8f;
6 E8 B1 l2 z5 A        % C$ q# Y( \( R- }
                                memcpy( &m_light, pLight, sizeof( m_light ) );, \$ R* B* y* F
! r- [* o# b. w2 E; j- R
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);4 o# E+ J  F" Z) M0 d6 }3 j
                                D3DXVec3Normalize(&(vecSun),&(vecSun));
5 V5 N7 c, a. ^8 Z. i+ P9 |                                 pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 z/ }2 b. ]- P* l: o$ |. L( l                                 pLight->Appear( m_pd3dDevice, TRUE );
, Q: E; |3 H3 Y! |               
: i; Y* {, a( p( R2 |& |                                DWORD dwR, dwG, dwB;
+ k9 D2 N" R  a" U9 h- d                                dwR = (DWORD)( pLight->Ambient.r * 255 );
0 w. f5 D0 P$ [! }# X, P                                dwG = (DWORD)( pLight->Ambient.g * 255 );9 A; T0 `/ @; q! u! K4 u3 I+ ~
                                dwB = (DWORD)( pLight->Ambient.b * 255 );1 S% D- E# [( B4 R" _* d
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 V2 C! O+ s$ X5 U& q                        }+ N  _1 K7 T$ w3 q" R
                }
  G- m4 ?1 C; B) }5 g8 I" x$ V' _7 X" C        }0 g5 h1 H) ~6 H9 b
        else# H" K. i9 v) l/ s
#endif
' F; {, ]- F3 A$ P6 F8 r; K' Y' K: Z* p$ K6 f
        if( m_bIsIndoor )
. d. a4 j3 b  s$ b        {0 h/ X4 _  [, {% ~; y6 n' b: ?
                if( pLight )
4 g! A! R' F# K5 G                {                . j$ b" f1 ?8 ^* F& @& M6 C7 P
                        // à??μ oˉè*
$ V# I( U  D: [1 l                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;( V% ]4 R% K2 [- y- q; z
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;. B5 F* O0 B; ~( d: m/ T6 E, ^
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;3 ~  k1 V4 Q- M7 r* u
1 H/ h, [! {, G/ v4 g$ u6 n; J1 _
                        // oˉè* ??à?
( \8 y) v# g! o: ^                        pLight->Specular.r = 1.0f;% L. h7 s) J1 b' @
                        pLight->Specular.g = 1.0f;  F8 C4 U- U5 c2 i! f
                        pLight->Specular.b = 1.0f;
6 l& U: g7 p1 j( j                        // àü?? oˉè*
  [% x" t4 Z4 S. A                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;- T! v) C5 I2 E4 e7 `" ~" A7 e9 ~
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;* l$ c" ?- J" t0 i- C8 a: ^6 m1 L
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;5 w/ U2 {3 g1 I2 p8 v. O

  U6 s( _* H) B7 _                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ Q9 R7 t$ D! x+ H. |                        {
# @7 r2 X( }4 {6 {# d8 i( M8 W                                pLight->Diffuse.r *= 0.6f;7 c# l. ]. O( v- \
                                pLight->Diffuse.g *= 0.6f;5 s4 q  b1 K% o, b( m: A
                                pLight->Diffuse.b *= 0.6f;
. c6 A: g' k$ H, p+ @( r9 i& b5 V                                pLight->Ambient.r *= 0.7f;
; o- T, }7 c- E# [- U) y; x                                pLight->Ambient.g *= 0.7f;' \6 e/ o" ?0 N
                                pLight->Ambient.b *= 0.7f;+ b8 H# \% o$ I% }5 t7 `
                        }0 X. V  k$ _7 q3 T
1 ^. ]- u. ^8 M8 L. w! c
#if __VER >= 15 // __BS_CHANGING_ENVIR, k4 P. d* @7 m+ d% G
                        if( g_pPlayer )
! p  {1 ~( F# R  k4 w                                HookUpdateLight( pLight );
; v. S% U/ [5 o- F( E#endif
3 J# |5 F2 C' {                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 Y  j* m/ e! w$ B# b6 `/ m
" ?- n/ v0 r, Y- t9 q
                        pLight->Diffuse.r  += 0.1f;
8 A6 b- Q/ [7 i                        pLight->Diffuse.g  += 0.1f;
- [- z: \2 E4 ^8 s/ b; x                        pLight->Diffuse.b  += 0.1f;  A$ X" J6 B9 u2 a0 w4 F. y
                        // oˉè* ??à? & s5 I1 Z1 N  t
                        pLight->Specular.r = 2.0f;# _+ K- V( ~+ R) E
                        pLight->Specular.g = 2.0f;3 l, ~) U, Z& O& o( [7 [) n
                        pLight->Specular.b = 2.0f;
5 f# [$ I0 j- D* n                        // á?oˉ
5 Z' U3 @& g3 N                        pLight->Ambient.r  *= 0.9f;  D: f' N& M6 o$ m) p  y; M' W: _
                        pLight->Ambient.g  *= 0.9f;
( m4 S% [; l0 {/ _7 r. V, {0 t                        pLight->Ambient.b  *= 0.9f;+ |! C, C& N, j* S+ r

3 f% T! b2 J1 l                        memcpy( &m_light, pLight, sizeof( m_light ) );7 O" c2 U7 e" x$ ^: n
                       
3 e8 h( A- c, b. J7 g" ^2 F                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );- `- Z! d3 I% S
                        pLight->Appear( m_pd3dDevice, TRUE );& c3 y3 ^2 {9 _# C9 z; d, k
       
* ?* ^- ~) u% J  T8 j                        DWORD dwR, dwG, dwB;9 S2 h. `% s4 r3 ~! S
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
! o0 }" [1 G  h% G  ]3 C" ~" [3 a                        dwG = (DWORD)( pLight->Ambient.g * 255 );
2 e4 v3 h( k# w                        dwB = (DWORD)( pLight->Ambient.b * 255 );+ |7 A: [6 N( _: F
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
  s; O, J) _, o5 s; O, T; ^                }
/ ]9 X; W2 k4 a+ t        }
% r5 R. F/ E2 e+ A' d1 [        else+ U$ g/ E- f" {* @. B% j% h; m* y
        {2 Q, f* x/ @9 r' G- ~3 ^2 K' j& i
                if( pLight )4 \7 w6 B& X- e% H" m  t3 d! ~& X
                {
8 F7 w4 {; x, c! \, F0 ?2 B                / J: N- q/ u4 h7 o; \+ p$ Q/ }
                        int nHour = 8, nMin = 0;5 C. b* }  R7 x' T4 O! e/ c
        #ifdef __CLIENT2 H( d: C6 x& \/ N1 p9 k/ _) C; o
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; D% K" y5 z1 n! A' u3 ]9 n5 y6 Q* z                        nHour = g_GameTimer.m_nHour;: {* s: y7 K3 ]" _& B# T3 B
                        nMin  = g_GameTimer.m_nMin ;
( ~4 J% |& |8 O! k  l& \3 y- ?/ C        #else
. W4 E% n2 J# _0 K                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.: J6 E# W9 }' G" V. \, l
                        if( m_nLightType == 1 )6 ^2 X6 L5 r! i# u8 B5 q% L: [3 c
                                nHour = m_nLightHour;
& C4 N& e0 y3 N* U* S& \* w1 n        #endif# F: ]3 Q0 i3 D& J, A
                        nHour--;$ z: T, X- Q( _9 Y% q+ r
                        if( nHour < 0 ) nHour = 0;1 E+ X+ K* e% R9 U
                        if( nHour > 23 ) nHour = 23;8 ?, F7 J* E: Z4 T' q" z

/ b4 i( N7 `' O) O6 }                        //if( m_bFixedHour ): H0 u/ G  y& ]) F' D+ e4 L
                        //        nHour = m_nFixedHour, nMin = 0;
& l; D" w& T& @( L# f3 F  N# G& z                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];; A( x5 ^+ z4 s7 V6 |
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];% A. C7 G. O/ }' b1 y
; u, j- w5 E+ }  M4 g" B' R
                        //m_lightColor = lightColorPrv;# ]6 D/ B8 G5 n) J
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 k3 C0 A2 q- B. v) B* f: @                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;" h' y2 A, ]. U2 w* o, |
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;6 }3 g% \2 S* c4 i' ?
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;$ K/ G$ O1 ^& |2 N
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, m2 N0 H! f* T9 t: B- e                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;8 z0 [7 ?# o; T# q: x
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
. b# U4 Q6 N2 o) m( U
: x1 a5 G/ |9 O- S( u2 w, G                        // à??μ oˉè* ; l0 V: U/ `1 [- f' ?. f7 L* `1 ~7 [
                        pLight->Diffuse.r  = lightColorPrv.r1;5 b6 q0 P+ j6 m: R& @# w# z
                        pLight->Diffuse.g  = lightColorPrv.g1;
: J* h; E$ |6 Y/ b5 }                        pLight->Diffuse.b  = lightColorPrv.b1;5 f9 [5 k) E/ o; s' [
                        // oˉè* ??à? 9 B+ ?  i( N" I+ G. j* {) I
                        pLight->Specular.r = 1.0f;4 A" Z7 M1 b9 D0 ]5 L
                        pLight->Specular.g = 1.0f;
4 W7 m) p) i: ~. A) w# k  u                        pLight->Specular.b = 1.0f;
  X/ l0 l: ^* U; T                        // àü?? oˉè*
2 W, s" N1 ~7 H+ P7 z1 e                        pLight->Ambient.r  = lightColorPrv.r2;( `9 k- i9 y# T9 z' H* y
                        pLight->Ambient.g  = lightColorPrv.g2;
4 f1 ~2 w, v; U: |8 X3 a0 A/ @! F                        pLight->Ambient.b  = lightColorPrv.b2;# V# b) \0 Y' [  Q& J' n

  l2 j8 ]: E: z* {4 {                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. L6 O4 L* \" b+ |, d                        {
, E- a# B6 d" O                                pLight->Diffuse.r *= 0.6f;; {0 K( g7 C5 k, f0 \
                                pLight->Diffuse.g *= 0.6f;
. n* o' E* Q6 t5 {3 k9 ~                                pLight->Diffuse.b *= 0.6f;
1 I+ N% P) b* Y! m3 Y+ J& l                                pLight->Ambient.r *= 0.7f;8 Q1 A7 p' l& m: g: |% o3 c
                                pLight->Ambient.g *= 0.7f;6 R/ g! `: N/ m- A  Z4 V7 B
                                pLight->Ambient.b *= 0.7f;
, a9 I3 m# M# h                        }
  y! D( J* |3 m6 N  i5 ?8 K                        ; r8 f# B4 g' H
#if __VER >= 15 // __BS_CHANGING_ENVIR
9 H! a% Y% W, T                        if( g_pPlayer )$ R% ]& N1 \2 P) A5 V8 I5 `
                                HookUpdateLight( pLight ); & i8 o/ ^. ?) L; K
#endif
+ x- p! R. U: u                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. ]% }" D5 X4 A; F; u- }7 H4 r; ~1 d2 s0 t  G' A
#ifdef __YENV
4 r, y; D+ u- P8 w. ^5 Z+ r                        pLight->Diffuse.r  *= 1.1f;- y! j  H& a3 P4 \4 Z# b3 x
                        pLight->Diffuse.g  *= 1.1f;
% _6 g/ T1 }3 u( R# P. G                        pLight->Diffuse.b  *= 1.1f;' H  ]1 R. a$ W$ v% s4 p* r
                        // oˉè* ??à?
4 q1 @1 }2 x% r! Q* }2 i( p                        pLight->Specular.r = 2.0f;
5 @1 V% d+ I! D. T- A& Q* O                        pLight->Specular.g = 2.0f;/ a$ o* M  m0 F/ @
                        pLight->Specular.b = 2.0f;4 Z2 T" x) s* K
                        // á?oˉ 4 y+ e, u- X+ T# g8 P( t  G
                        pLight->Ambient.r  *= 1.0f;
3 o: b9 u$ F$ C                        pLight->Ambient.g  *= 1.0f;
( `, m: i# Y, |% o" `: r4 g3 a                        pLight->Ambient.b  *= 1.0f;+ K& O# U6 b  w1 K, z
#else //__YENV2 A* O! x1 Y0 g  T: H
                        pLight->Diffuse.r  *= 1.1f;
# Q2 T# Q7 A( G& @                        pLight->Diffuse.g  *= 1.1f;
3 R8 E/ q) E' o: ~+ D% o: L3 g) w                        pLight->Diffuse.b  *= 1.1f;
5 g3 B2 p9 F/ a0 e; _9 s; R                        // oˉè* ??à? : `" O! z/ |/ R/ `0 W# ^+ X4 Z8 M
                        pLight->Specular.r = 2.0f;
5 E, X7 L# ]0 [                        pLight->Specular.g = 2.0f;
0 Q4 _- ?  y/ m7 m, y0 _2 f# H                        pLight->Specular.b = 2.0f;
8 @  ]0 y! E# ?$ M* G                        // á?oˉ & R3 ~7 p- i' r# {. M" }
                        pLight->Ambient.r  *= 0.9f;
' W; n5 i! b' r                        pLight->Ambient.g  *= 0.9f;9 S6 j2 q8 S% G0 |  v
                        pLight->Ambient.b  *= 0.9f;
4 s7 E+ V/ P" Z#endif //__YENV 9 Q6 P0 n( I$ i$ C( ^( @# f% H
                       
* ^: G8 v: S/ U' |                        memcpy( &m_light, pLight, sizeof( m_light ) );: n8 g5 }/ E  ?
                       
4 `; U0 W" o% R- W9 j/ q; K                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);4 L# ?# ?. z) H; q, V
                        D3DXMATRIX  matTemp;& r1 B5 J3 |. y' y' w7 J
                        static const float CONS_VAL = 3.1415926f / 180.f;6 p  f! f# K- t# c0 L' c9 k4 W& D

2 r- A0 ?% B( Y+ \                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);& ]3 V8 K( ?2 J5 R8 b! Z
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
) F/ }* U6 V4 E                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 Z/ J; Q/ K/ G* G( h# t                        pLight->Appear( m_pd3dDevice, TRUE );
* k: ~6 Z7 b" [! a: b) A+ O/ A. b$ d4 G' U
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 b3 D7 @, m: v- a: o9 _                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
! N8 {4 t* s9 t7 u3 [/ R9 ^) S3 W3 H                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); ! E2 ?4 z7 B2 F2 `( P
, H1 r9 N; i: P0 k$ I$ w" J
                        DWORD dwR, dwG, dwB;
" N: H+ H; F2 A" r* V& Y                        dwR = (DWORD)( pLight->Ambient.r * 255 );" n9 L1 w; z7 I2 P* ~0 {. S
                        dwG = (DWORD)( pLight->Ambient.g * 255 );( u9 c8 a% f9 b! x$ V2 e8 S8 I! Z
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
1 T' _; b( G' s6 \                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        7 d: @) r7 {- N  z% ^* R
                }
: J5 G7 q! H0 }; [        }* W& _+ V% S! b4 t5 Q% Z' o
% X+ V6 _2 z8 M6 F% ?. F# h
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );5 @$ F1 b! K0 l  h( I5 Y
        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) );
' G& l7 F5 {% c* F% K( H6 A        ::SetLight( bLight );
5 N0 b' L4 V8 z7 a
; _' e" y; S4 ~4 }& \        // ±ao? ?D?í???ó á¤à? ) A& y% g3 n0 x& Y! I9 S
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
% D& [, A% f$ _4 N       
- N/ A, ]: R  j0 S0 O. J#endif // not WORLDSERVER' J0 }) j! B* V8 D
}
8 B" J- I& H% v* e0 q并更换9 v- x  \& y3 J, {, ^, {. p0 q4 |
Code:
: W  |1 j, |/ I5 W2 Q__FLYFF_INITPAGE_EXT' \; U; N* R* [1 v! I% s
定义0 ]; C7 V! O! a9 `
% L0 ]+ N& E- t7 |; J

" V' a3 A) t; ?: T( d) \  J* ^# G: o, S2 q7 Q. M5 {

' f5 Y5 E7 F8 t! d6 x% h7 t现在终于删除我的狗屁加速...
( V6 K0 w8 V& Q, B
+ Y. h0 {4 J, c( v% ^! k4 z* D& r& I, ]3 h; q* S0 Z# O
1 S7 l4 _2 E- P3 x6 ^





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