飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:: M5 X9 u5 o) J7 b- F
尾翼:
1 U. c, U6 `6 a) H& H# K9 r0 F
- ^% Y3 s9 w9 }  ^5 o+ I) K代码:1 H9 a* ]1 N8 Z# y
CWndAutoFood::CWndAutoFood()! W% g' h+ [8 {/ Q
{% j3 E* F# Y: a0 K
        m_pItemElem = NULL;# {4 _4 D. g' q$ {
        m_pTexture = NULL;# f4 V, H% s1 L, F# }
        bStart = FALSE;
$ V- e( J. ?$ q( v) f2 w0 Y; w}
% J+ {% V5 K  `( R6 B% O7 Q4 i3 q( l6 g  r0 j5 f2 A
CWndAutoFood::~CWndAutoFood()' o  P9 o5 d& I9 @" x
{, s: D4 Z6 ?( \4 ]6 R8 W- ^4 i' H
        AfxMessageBox( "AutoFood ist gestorben " );# F7 n- L4 c. a& v9 L' ?
}! a$ t, P% a9 x: {* o# \
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
& i6 N* u( h9 G6 R{
- a2 A6 j; A! Q        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );$ w' X; P& o! p( c+ R
}
% M* `5 {6 P  N
6 f$ J( |$ ~3 S/ Q4 F( J2 n+ ABOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* R4 A3 L5 ~' L$ l4 [{. e  M% e, d& D: _: U; t3 ]  w
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );" h) y3 [- ?) N% M+ ^+ ?
        CRect rect = pWndCtrl->rect;
) H) {# n2 [3 U9 \9 q3 M        if( rect && rect.PtInRect( point ) )' k% ?% [' G4 l! h' I' z
        {3 E2 f( T+ N9 M+ G5 O$ Z
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
. [  b6 g5 w8 o1 Z7 S/ F& l                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 z8 C, L1 ~, Z                {
$ l$ i5 n( n" [9 [$ _                        if( m_pItemElem )
& ?9 O" }* d& w6 z: F                        {* h4 Z( V' S% N: I* M+ Y
                                m_pItemElem = NULL;
. J  P0 L- i+ c5 D4 D                        }" O. j: u6 l8 S! |: `) I+ x
                        m_pItemElem = pItemElem;
" u1 N' ^" F1 F2 |0 t                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
& F0 |8 ]3 N, c% o" z: {                }else{
! t( Y1 Q5 Y6 x! m' q: n# Y" k& Z                        SetForbid( TRUE );7 p: k& U# G+ L7 ^" R; Y; s
                }
1 b4 p1 k8 N! v        }else{$ V; M7 P* L8 Y$ w& Z! c# b8 s7 ]6 z
                SetForbid( TRUE );
2 k! m9 i; M9 w6 A' b: c/ m- d        }
  d" @8 M( |8 N7 E        return TRUE;- \8 W4 ?+ B" }
}
" `9 ?2 D: _( T3 f* A
% O* r' G" ~1 W1 \BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
2 q5 ^& ~7 q' G3 T3 X{7 t% v1 z' f; g0 J' B: |. T
        switch( nID )  W3 E8 E% l. s8 g, f( U+ _( H1 Z
        {
) ~: J9 P1 N9 W/ r- Y9 B- O0 F. n  f        case WIDC_BUTTON3:: d+ u$ O0 V( h
                {% @: s1 b- h* F) N& z; m" ]7 i
                        bStart = TRUE;
" ?7 j: b5 M& c3 x) @! }                        break;0 O( e+ ^% ^/ R4 V
                }
) _+ Z% Z% }% n        case WIDC_BUTTON4:" x* ^5 K: q  D5 W5 B' }7 Z1 n
                {, ^3 }) O4 c+ Y5 P/ c
                        bStart = FALSE;' ~& l) g2 V1 c+ Y. m
                        break;
0 j; e  j/ D2 ]9 n                }! K8 |8 L; h% j3 R# g( }1 Y. j
        }9 }/ S4 v+ Y  U; [0 Y: k6 m3 z! N
        return CWndNeuz::OnChildNotify( message, nID, pLResult );- |1 Y$ {0 p+ X4 y, M& V& L) u
}       
1 i. I# J. v' M  X" [* Y5 Bvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )& J6 ^) T1 P' n: U
{
  T* o9 Y4 M5 v, I/ f( s' p! P        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );0 A$ N0 H5 e5 t* X0 G( K9 C
        if( bStart || !m_pItemElem )- `7 m8 I" k2 Y
        {
% ?( e5 g  R1 K/ o3 y% B# H2 v                pBtn->EnableWindow( FALSE );) [0 G2 A* c# V! B( e4 Y
        }else* |0 M0 r5 r. C" Q4 Z
                pBtn->EnableWindow( TRUE );
5 T/ X. k; m. M- p9 K# _' {        if( m_pTexture )
+ R0 U4 Z) z' i! p7 e( H$ s        {
" v8 ]% ^3 }' K% r" g                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );. Y& p. F0 ]$ d7 B; x* m- h
                if( wndCtrl && wndCtrl->rect )  T, }4 @/ K! c' V- Y
                {
* p3 N, n$ f8 y                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );4 s5 \+ F' N0 n9 p8 S+ w' V6 @$ J
                }0 d* }: R, _) ^1 A& A
        }2 d6 O4 t6 X8 t/ l2 h
}' W( N! r! J+ c1 c' N' {  v) P

  t0 G' |4 R% h' S( \BOOL CWndAutoFood:rocess(); E$ m- u) X' C
{2 H6 z  i$ v3 _" ~! Z9 N9 |+ b
        if( bStart )
- n3 e, j- y8 Y" p4 f7 W        {
, @/ F3 u+ ?9 r                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
; U+ m& j9 h2 E5 x! h& s                {' _# p9 n9 w" M" p& \
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ p1 Q# i/ S: M- `' u                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );4 F! V* g! d; Q. G
                }else{
- m7 ]6 K7 p% s$ e- c3 a                        bStart = FALSE;+ p: W; v3 W& s/ \8 \, j6 Z
                        m_pItemElem = NULL;
/ G: X3 F/ N+ u) s4 r# Z  U                }
) L8 }  }5 ^9 E3 ^( g( j        }& h- E1 }5 V: v  `
        return TRUE;& J2 d7 B* ], v" `7 X
}, o8 v( \6 Q  \$ w. m0 U; _% v8 P! E
2 s% L8 a9 Q& j" z+ q; V
登录视频废话:; k6 F" Z% h6 s' C9 r
尾翼:8 ?0 _0 j1 g6 f1 U8 v

5 e0 p3 O3 @% X) E3 W代码:# W* F5 m. Z! a" N1 L0 F

4 I8 P5 R& Y& m9 rvoid CWorld::SetLight( BOOL bLight )' q+ i1 U$ ]2 S, E, c% m7 u' A& C. f6 O
durch& r# \4 O: F8 \! m0 m- [
Code:, `6 j! H0 |2 ?7 Z% B  W$ F4 ^3 w9 M
void CWorld::SetLight( BOOL bLight ). O& m+ D, q9 i% P. W9 c$ p  V
{
5 L  q& h+ R! N; ~! }2 a; |        //ACE("SetLight %d \n", bLight);
# A8 v+ `; ]# @        + ?4 t9 ?# `) a8 O6 u, I
#ifndef  __WORLDSERVER
; m/ E! B6 s* o! F3 _        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);$ n1 [( D( H- \0 E" p& W  ~9 p7 j
        CLight* pLight = NULL;1 l% [& D* ^8 U, p# Q( m8 b2 e

- p! t3 w' E( x0 f2 j        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! {$ N3 F5 k- A1 i! t+ p/ M! O
5 q/ a( ?2 F% K& f& s4 V0 {        pLight = GetLight( "direction" );
! @2 V7 x, e# V, E; b6 \$ V$ a0 o  ?
5 M# V+ [; Y0 u$ E+ Q" C' P( d#if __VER >= 15 // __BS_CHANGING_ENVIR
7 W  J/ S( F7 M2 m0 E* `        if( g_pPlayer ){. E3 L- |* a0 T  W. y
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );3 g1 g: p$ m: c& X# a) B9 k3 W& ~' l
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!  \4 g. M0 v9 Y- _" ?# r2 D9 `
                {5 x- M$ R6 @3 e. e) R
                        if( pLight )
: ^% m9 Y# N/ I# ?2 e; d, i+ F4 S                        {
  T' o; C4 i8 g9 B9 N; K2 n1 H& {. n                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
' H! f5 }4 I' u7 Y5 a% l                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
* _2 l- z" Z; K$ l                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];& J, F7 ?: t5 M( b8 H% y
9 W  L; C2 W; p- A$ U& ]8 i( n
                                pLight->Specular.r = 2.0f;
: x2 n8 X2 V8 \' ~1 P/ W                                pLight->Specular.g = 2.0f;
$ u0 u* a6 B- [7 p9 e: ^, Z                                pLight->Specular.b = 2.0f;
0 G" ^& I; t* G, b        + ?& w8 [; \; H9 S; M  ~
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
" P* g3 U2 K6 l( k3 M% J4 C- I) S3 t/ K                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];3 O0 F, ~% k: r) f4 V
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];7 ]& y6 n( `! P( {5 [8 r6 j
        7 D6 U& D6 O1 r$ x# w3 J- |6 E
                                HookUpdateLight( pLight );
9 F% m+ c  [2 R. g6 m/ H3 [. M' b3 {8 H' z# o+ l$ O
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );3 z6 f5 v/ C  a4 p% m% F; s
                2 ?! E, h; h  k- B# ?
                                pLight->Diffuse.r *= 1.2f;
# q2 D3 T( H1 p/ Z% o                                pLight->Diffuse.g *= 1.2f;; h! ^, G, _! W, g. Q/ i# p
                                pLight->Diffuse.b *= 1.2f;
- ]2 A+ m2 A0 V& K  Y
( j5 r" c: c4 y/ }                                pLight->Ambient.r *= 0.8f;
/ C+ R; U! z/ R# l* Y- w8 {                                pLight->Ambient.g *= 0.8f;
5 I" r  _- F2 T. E                                pLight->Ambient.b *= 0.8f;
  Q0 \' g" {- j' H$ W2 _       
) `5 k$ b* X( a                                memcpy( &m_light, pLight, sizeof( m_light ) );
1 h) P7 H& Z: u& t) G
) k5 n; l3 |' m$ G, N4 K0 B7 J                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
" ]) {; {: `! r) `                                 D3DXVec3Normalize(&(vecSun),&(vecSun));; l% F# |5 q8 v- {
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 6 Z3 I& c( w# X0 v6 R9 S, A* R  F
                                pLight->Appear( m_pd3dDevice, TRUE );! }% U2 v& o8 p; R% ^; \9 M6 V; n
                ' V& i! E, K! W; M$ w
                                DWORD dwR, dwG, dwB;, m) z5 i. f; M$ O8 J
                                dwR = (DWORD)( pLight->Ambient.r * 255 );9 e. @! ]$ x0 z$ q* ^( b
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
+ i" S% q% S: Q$ X, K7 m% _                                dwB = (DWORD)( pLight->Ambient.b * 255 );
- ^. O: i4 K2 X0 I7 h% l/ {; a                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% O& o  o9 F8 r0 \; ]                        }8 y1 Y2 Q9 A0 [' v
                }, I8 W/ D3 A8 J* e8 n0 d4 p' {" e
        }/ e; g+ m+ |7 l. o0 O% H
        else
. \( Y0 q& x/ l( }#endif
) S+ V* m* r, d% H
3 ?8 ^8 C2 ]/ }        if( m_bIsIndoor )5 A; {1 ^5 q  d5 f
        {  x) T3 Q6 N- e( C; H
                if( pLight )5 X6 e% N3 m4 e! Q! [2 U
                {                , M0 k$ b6 V- Y* \5 F# k
                        // à??μ oˉè*
4 ?4 @! y& @+ i; ^7 i4 D                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;, b. f: C/ o' R+ h4 W/ J& W
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
: O( x# [# v- r                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
/ u# B3 p1 I/ V% P4 {, N
! g& h% c/ L9 R7 T2 W                        // oˉè* ??à?
3 }9 Z! |/ r% }# M                        pLight->Specular.r = 1.0f;& s( l9 G* T7 `! x2 u
                        pLight->Specular.g = 1.0f;
/ y) s6 R: [- t2 R! o1 S- f                        pLight->Specular.b = 1.0f;4 W+ J& x* K. E8 S" e
                        // àü?? oˉè* ) m$ u- D' o* Y& m7 P1 c
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 n5 A  p) X5 w8 j+ G                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;# d7 K6 F* ^: J! t+ Z
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;; u6 ]( ]! t4 F/ E* W

' |- {4 J  l6 j- Z6 H. i; f                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.+ e, V- V, A, {/ R
                        {& ?* M. o1 ^4 ^3 Q, ~
                                pLight->Diffuse.r *= 0.6f;% F& T( ^2 M/ k' w( [! q
                                pLight->Diffuse.g *= 0.6f;) ]/ G+ d8 M4 p6 [( R( b" i
                                pLight->Diffuse.b *= 0.6f;
4 h  k& z  b5 y$ p& c, n: h: O                                pLight->Ambient.r *= 0.7f;/ M% U- Y+ W1 q& A2 Z( d' m
                                pLight->Ambient.g *= 0.7f;
( p! f" S/ B7 Z* B- F4 X                                pLight->Ambient.b *= 0.7f;2 C; F& E4 V$ ?! _& n
                        }- w# z! }# v/ |- |+ b3 [2 S# p. O
9 ?8 z8 A# ^) }1 ^# e/ y
#if __VER >= 15 // __BS_CHANGING_ENVIR
: Q- C! {0 V& [4 E                        if( g_pPlayer )) t' s  E# C" D& O6 u$ Y* y' P
                                HookUpdateLight( pLight );# n4 u* K: }3 A) ~) Q
#endif/ o2 e) e8 S; ]
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% l; a1 P1 s; Z) W/ r5 y, [1 B0 D6 ]* D, F" Z! ^/ D
                        pLight->Diffuse.r  += 0.1f;0 u* F: @$ T5 G' x
                        pLight->Diffuse.g  += 0.1f;$ E( [: q# }' [4 l5 v* s( I/ a1 l
                        pLight->Diffuse.b  += 0.1f;
* \) n+ q+ v- m% w2 Z                        // oˉè* ??à?
( e  m# t2 M3 \4 ]                        pLight->Specular.r = 2.0f;
% ^/ g" @# q: D  b. l8 L- F$ A                        pLight->Specular.g = 2.0f;
$ {9 E+ f' T2 L9 }- E% s: {* ?                        pLight->Specular.b = 2.0f;9 ]5 N3 C  n) s; S  q
                        // á?oˉ
& X# i  y/ ?# W1 E4 C- T8 W; {                        pLight->Ambient.r  *= 0.9f;
/ C9 B: B( w0 Y/ {. O                        pLight->Ambient.g  *= 0.9f;
1 L, p$ f$ U6 v3 g8 Q  g& u# d                        pLight->Ambient.b  *= 0.9f;1 K/ z& I  a% J6 o

) ]# a9 Z) V  M6 Z                        memcpy( &m_light, pLight, sizeof( m_light ) );7 L) X2 k2 |* ]8 K5 d& h+ Y0 b3 ~9 a
                       
. t0 u1 O, ]# e0 S                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
0 w( ^4 S& t) Q& f" B' I                        pLight->Appear( m_pd3dDevice, TRUE );
/ b8 p% M1 A/ K" s        7 E5 u. m+ U' ?3 J/ K
                        DWORD dwR, dwG, dwB;4 A% v% `7 E. q, q
                        dwR = (DWORD)( pLight->Ambient.r * 255 );
0 v, X# q1 V6 o2 j# ?5 A! A) l                        dwG = (DWORD)( pLight->Ambient.g * 255 );
. S0 L4 ]3 t) }" u                        dwB = (DWORD)( pLight->Ambient.b * 255 );
# G; p3 F: }3 G4 f9 I! Q+ A                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) J+ V2 Y; b, o                }: Q& O) {3 R; Z4 |
        }: O) O( c6 y8 O# s9 q# E5 d
        else0 D( H8 I" T) }: c" {! L
        {
$ [: U3 f+ V  t8 G# a                if( pLight ), Z# s" O- k0 m
                {
, e. l, H. r5 n$ v                ) h1 v2 b& _5 E9 m1 E' q# @
                        int nHour = 8, nMin = 0;
* y3 k: N4 P3 E9 K# N; M        #ifdef __CLIENT
1 J: \6 ]0 C, u# W: }                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 9 R9 G  v% s. u9 Z
                        nHour = g_GameTimer.m_nHour;/ z$ h4 ^  d& ^5 K6 z* |
                        nMin  = g_GameTimer.m_nMin ;
8 a" n7 s( _' X% A  q# x/ s        #else
- h; F6 f2 X( i; u) B                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
( X3 W+ c* t2 w. r$ ~' f) t                        if( m_nLightType == 1 )  d. a3 o( a0 k- N
                                nHour = m_nLightHour;
/ a% X+ t5 `( L1 J  v        #endif" k7 _* ?7 u% I: U/ `: ?
                        nHour--;2 Q9 A4 v; g5 U# j6 P( y. k- u" w- I# U
                        if( nHour < 0 ) nHour = 0;
+ X" |4 I6 U2 ?5 Q5 v) k                        if( nHour > 23 ) nHour = 23;; y  o+ a& B! {8 T

7 t. K9 a2 k1 \$ D* z                        //if( m_bFixedHour )0 j+ y( v( J0 ?/ W
                        //        nHour = m_nFixedHour, nMin = 0;
- i' W6 L; `; @                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
) m2 M! y6 q. K6 @2 R                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];4 s  A' l% c+ C1 N( o0 z6 ^* c

. P3 `! C; e* x# z                        //m_lightColor = lightColorPrv;
5 b% l! I7 m! T$ y* Q                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! J- q) v' ^1 |4 d2 T% y7 S                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;4 O4 o0 z' M+ R/ `" i& k3 ]4 L
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
- u* A) }; ]9 a9 g                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 t) P8 a6 F, Y- k                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;1 X6 q$ H4 M8 p
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
- J3 _. t6 t2 g0 |/ v8 l                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
: P, ~- N! |8 W8 n6 Y) {4 }8 N2 R9 D! X+ b3 l
                        // à??μ oˉè*
; Y# ]6 A0 ?7 m1 \6 g1 {. O                        pLight->Diffuse.r  = lightColorPrv.r1;
! v+ }" @: `3 Z; x                        pLight->Diffuse.g  = lightColorPrv.g1;+ |* b5 F3 A! w. b2 s
                        pLight->Diffuse.b  = lightColorPrv.b1;; U1 B  A1 I/ s& Y+ V$ g
                        // oˉè* ??à? & p* X, e) f- X
                        pLight->Specular.r = 1.0f;1 l: d7 I  j& K  W$ g
                        pLight->Specular.g = 1.0f;
) u% e: E' v5 A/ t0 ]6 S+ q                        pLight->Specular.b = 1.0f;# L. k: M8 L$ g* u1 M4 w' S2 i
                        // àü?? oˉè* + x3 ?3 z$ s* T  E( [) Y
                        pLight->Ambient.r  = lightColorPrv.r2;5 ?: j6 a5 D2 m1 F* m
                        pLight->Ambient.g  = lightColorPrv.g2;8 H, z+ u3 d  z% s. l' [
                        pLight->Ambient.b  = lightColorPrv.b2;
% T; D8 Y4 s. h7 f$ H1 Q
! w$ `3 M% z4 t                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 o  u; n+ P4 J) ~  D8 N                        {
; H+ D1 C: r5 _- W- W; ?, b3 Z                                pLight->Diffuse.r *= 0.6f;
9 a5 F- Z1 @( T: P                                pLight->Diffuse.g *= 0.6f;
- C2 U, ~4 s0 r' x' U) k                                pLight->Diffuse.b *= 0.6f;8 y" z! r: Y; z9 D4 H6 m6 o8 J
                                pLight->Ambient.r *= 0.7f;/ |+ \0 k! \/ G, T0 ^1 I9 q
                                pLight->Ambient.g *= 0.7f;/ I! @5 D) `/ }, M7 m- {, S9 Z
                                pLight->Ambient.b *= 0.7f;$ D( r9 k1 A# i" y2 s
                        }+ q( {. `0 ]7 g* v; j
                        4 K' c6 z8 ^" `7 A
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 F* i- T5 R1 t" v+ {/ P  [                        if( g_pPlayer )
( _) `! y# B( t8 e3 o                                HookUpdateLight( pLight ); 0 ?9 b  _+ g  D2 ?% B# e/ K
#endif, Q3 ~/ k! f% g2 c
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. k* i$ q% v: b  A2 L
: j- E, A9 u) G- m3 {4 F6 L: V' v# T#ifdef __YENV
; N( L& R  v8 ~% _                        pLight->Diffuse.r  *= 1.1f;! X1 t  y) X# q, Q- {# z4 @4 t! s
                        pLight->Diffuse.g  *= 1.1f;+ y; h2 i% Z7 r8 W! M- z) x! {
                        pLight->Diffuse.b  *= 1.1f;
' E# Z8 @9 F# w; B                        // oˉè* ??à? 8 A: C, T3 K- _3 c: ~1 f
                        pLight->Specular.r = 2.0f;
1 \2 l  i/ p9 p7 X1 u  d! G1 U                        pLight->Specular.g = 2.0f;
0 a; {* [- H& f$ _                        pLight->Specular.b = 2.0f;! t' K  C. ]3 i! a8 G& S! @
                        // á?oˉ
! D' O$ V7 f+ N5 ^( s                        pLight->Ambient.r  *= 1.0f;
: j( C9 b5 y4 g) |0 G                        pLight->Ambient.g  *= 1.0f;% A" @: c1 o0 I$ N0 F0 {% G/ Q
                        pLight->Ambient.b  *= 1.0f;8 T9 R6 e7 H2 V" T( Q
#else //__YENV
. d0 k) q; k, x5 V                        pLight->Diffuse.r  *= 1.1f;
: _$ I# a2 R1 `8 B                        pLight->Diffuse.g  *= 1.1f;
: `* w' J( L* F- u                        pLight->Diffuse.b  *= 1.1f;
3 y( |4 s* E/ h6 w) w) o( K                        // oˉè* ??à?
$ }) W, Z8 Y: F! [8 \/ g                        pLight->Specular.r = 2.0f;# j, \9 J  H2 a+ \2 j3 O
                        pLight->Specular.g = 2.0f;! I% K1 O& c3 q; }2 \4 {5 R
                        pLight->Specular.b = 2.0f;
# p# B; _9 B% c  \4 m, [                        // á?oˉ ) K% D; D9 e6 f4 G' {
                        pLight->Ambient.r  *= 0.9f;
! f7 x- h. C5 j# |3 L* S$ p0 k6 t                        pLight->Ambient.g  *= 0.9f;
3 o& g2 ?' X- x) h% D                        pLight->Ambient.b  *= 0.9f;; |; H+ t" t) c7 {% c- ^
#endif //__YENV
  z8 J( T, l& o' g2 D                       
* K0 I: ^. [; z: m7 G- u                        memcpy( &m_light, pLight, sizeof( m_light ) );
& k. c+ h. c+ |' E3 U, R' Z5 t                        1 b* d8 f( ?; Q0 V7 G7 I2 |2 p# I
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);! k5 o9 p& Q1 |) |; }  y1 ^, l  a
                        D3DXMATRIX  matTemp;
% r; D. m6 c) m# {+ a; Z                        static const float CONS_VAL = 3.1415926f / 180.f;
" n1 |5 I2 l: I  \' r' @& [& u+ ?" ]* N7 R2 s" `+ s# ^9 U
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);% f( j! ?+ h; H/ x# R& a
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
  r1 Z; m9 v6 N. C' `3 }5 b, v3 l! Z% t                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); 5 f3 X7 e% D$ V& x) I! z( u, u8 {* s
                        pLight->Appear( m_pd3dDevice, TRUE );  r, b% X2 @% `5 k( q; z7 Y/ {

$ L  ?. F% X8 u9 f                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);- b& w/ v+ @4 t* a* q
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
4 m! p6 Q$ F% i2 m$ @                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 3 r/ V) p1 W% E3 p* ~/ a" e

, [, t( W6 ?$ P; L                        DWORD dwR, dwG, dwB;! M* v' F7 L, F% Z
                        dwR = (DWORD)( pLight->Ambient.r * 255 );% r% o" n- j" m2 s1 z0 Q
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
) ?  R& v' Y+ h/ T- l* x  d. ~                        dwB = (DWORD)( pLight->Ambient.b * 255 );
* ]: k* ^" {. a4 _                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
( F9 C) o" M$ ?+ E% P' G/ s! a, M9 F                }
3 K4 Z( p- y* J        }
# C0 O4 |" v, u/ X% q( b4 r1 B
3 T8 _/ l7 Y* F+ l* j) D5 @        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
, n/ _* m2 }4 B& 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) );; C7 g8 B& D) b5 F0 h
        ::SetLight( bLight );$ a7 J0 r3 t  u$ e) @+ F( ^. s

9 R6 G' |$ P8 U8 v% T* \! u        // ±ao? ?D?í???ó á¤à?
, T4 Q" p8 T: f# T) L. H& Z        m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 X7 e1 M# B( H$ y       
# n/ ?+ i( y  N! V) V/ O: X$ B#endif // not WORLDSERVER5 i( H6 F% D; C+ b$ a
}/ P9 U: W8 a; x3 \+ P( g4 ^( N
并更换# M8 j* N% E- c# m: V
Code:
# r# B6 X9 j7 N* W" T, N__FLYFF_INITPAGE_EXT4 o) @+ g* U8 u, L
定义6 G" E- q! t7 S  A( X" ]

: f/ v  g) K! G: I( N/ J
" C  p( W4 ^8 j' ?% N9 H7 A5 g5 n, U/ a' }

* p, ^7 `1 o7 @' R/ h, o! o+ S' D& B现在终于删除我的狗屁加速...8 C; P5 |7 W. P( _# r0 S8 p- x; R1 q
4 ]% F) R+ s) ^

4 r9 S( y2 A) R6 Z: f7 X
/ J) R1 o  [* R, v0 E* e5 |




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