飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
) `' W) {5 J. O& W尾翼:
" ~% d; _4 w, L" h! Q8 d+ L) y: M" s% u# N
代码:; z$ w) O# _% g( ~! L
CWndAutoFood::CWndAutoFood()$ }) w; c( ]# M9 N2 H, L7 U' Q; F
{
$ c2 P( v) Y  P& t( l        m_pItemElem = NULL;5 R5 ~: k. u" n
        m_pTexture = NULL;
4 f# g3 B2 @& A        bStart = FALSE;
# @; t& e: F) ~0 f}7 e2 A  K, Q" k# d1 v

7 V8 h! j$ ~+ _% D/ |CWndAutoFood::~CWndAutoFood(): V8 m8 n* w! m7 `% x
{0 Q; e! J0 u$ S. a) }' }$ @3 }3 h  ]/ N# _
        AfxMessageBox( "AutoFood ist gestorben " );6 C( @* D- i1 B' F" ~  @# A# A
}# c4 d& ^/ }. C7 A
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
" ?' ~9 D7 V$ {9 _( B! t1 p& X{
; O) c  }  u/ |) v/ z        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );/ d5 x$ m& B6 ^3 u# e. m; x
}
4 y( D& M3 H: G/ |  Z- a' I; G- E& R+ [" S0 Z" _
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point ). j( u/ A% }0 l4 ]6 D
{
7 J: {; w4 L& z# v        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* Q8 j* P5 m3 ], ^7 [# z9 ]
        CRect rect = pWndCtrl->rect;
  M" D$ L/ |: g2 S        if( rect && rect.PtInRect( point ) )! q" r8 g) }* Z7 T1 N
        {
2 k; E" D. j- l! F" q; }2 l                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 V$ W* f$ A. O9 Y. o9 E  @- [                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD ); u  r  `" N  G
                {: E- M4 f  ~! z) ?
                        if( m_pItemElem )
' @' K$ f" x: ^1 J0 X7 k( P+ w                        {# g0 q( A8 q' G
                                m_pItemElem = NULL;
$ [2 X2 \3 {  }* C5 a% \                        }5 a2 b4 z( c" `/ f8 @+ g
                        m_pItemElem = pItemElem;' K" T+ B6 Q: q0 L/ d
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );4 M7 j6 w' R8 p: g4 \4 u, C
                }else{8 T/ ^/ A7 |# F
                        SetForbid( TRUE );2 {6 ^8 W0 Q; {& @! G4 b
                }
8 u4 T, ~1 z# L$ y/ R        }else{8 T4 \9 N1 ]+ @( M$ C
                SetForbid( TRUE );
& h  |. ?, J. `        }  M( x7 \8 g, ^/ S$ K8 M8 A
        return TRUE;
) c6 p) \2 F& p8 o4 {0 O* _}
. o3 a" b8 T) D5 W& Y; u7 h( U2 X. @% X% ^3 d$ T/ T6 O
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )! R# w$ G& |& H+ F- S" d# u& [& w
{
( p9 r4 d  z1 U2 c1 l0 I% Q. \0 a        switch( nID )1 w. _& n2 i* }! G$ u- Q: E5 h
        {
4 o7 d" \0 b. v" {        case WIDC_BUTTON3:
, Y* ?) {- o1 _  a' H. y                {
1 Z4 X% A6 U! {                        bStart = TRUE;% _9 c- k0 O$ o/ ]( G
                        break;, K3 e+ s" {  b
                }
9 p! _( R, _* }/ V3 r" c        case WIDC_BUTTON4:
/ {; }! e8 s2 @7 U. ~3 q                {
- P: C6 J- L! X7 B                        bStart = FALSE;8 C1 W# }4 |& ?/ \# c
                        break;' F  B) C1 \: c! ?1 ?+ [5 h
                }
& r+ A5 u! X' u* m        }3 n# x$ G& H4 v8 T% O5 }( x0 _3 R4 D% g
        return CWndNeuz::OnChildNotify( message, nID, pLResult );$ T) H* u  x5 g3 p  O3 R$ ]
}       
$ a1 v4 A8 ~  o  a3 [( |8 i( C8 fvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )- F6 b7 h) K2 A! `! W
{
! q% W9 S7 s7 v' W        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );% c8 i/ s. W! I' q. e5 O1 e) b& I8 o
        if( bStart || !m_pItemElem )
" f. z: a0 Q  e& g        {
$ g0 p$ g1 J! O1 R                pBtn->EnableWindow( FALSE );+ q2 W" \0 S& j7 n4 s
        }else3 y) i+ F: `1 v; U$ }
                pBtn->EnableWindow( TRUE );
- R, Z4 D4 e% U! d( U4 E        if( m_pTexture )
9 l3 v# U+ d) p, Y/ n6 Y        {
6 ]' H9 S# a' {- \4 v                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 D- u( J* k& @                if( wndCtrl && wndCtrl->rect )0 U2 H( R0 U2 G- b) \5 u
                {
1 h, n+ a+ u9 s) h" W; A8 V+ I                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
# i% Y+ _: ~( j$ J" I                }; J" F# B+ _5 C& V6 t
        }
# N% k% N1 \. v" D}
6 a1 H9 h0 E( o/ H% p8 L
( u( n# c$ G/ n- Z2 RBOOL CWndAutoFood:rocess()
! x8 A. I+ H5 O2 z3 G) Z' M8 |{7 [9 B8 h' `: K! U" U( D7 F1 {
        if( bStart )1 c; O4 _4 @' X+ p0 o2 r0 Y
        {
1 M$ z# \9 t/ w5 A8 \# |                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )# |5 k8 Z, F7 s; s
                {
" @( W* {1 D. Q. 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() )7 G4 n1 |  ?$ Q  Z' m
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
6 I7 T9 o7 e2 i, S                }else{
# B: g5 \; c: }4 ^1 i; U9 g! c6 o7 A5 z                        bStart = FALSE;
8 w/ x& r1 [) c# j: k; w( h                        m_pItemElem = NULL;; Z/ W/ y: @9 _4 N$ B+ ]: c
                }
' F7 Q& n5 _0 t( V8 @% X( Q        }
( q1 u  }) F, l# ^" a9 b7 h        return TRUE;+ U: E: `/ B7 u- H
}& [5 o4 d) u+ ~& z( ]' H

/ }, t1 u! b  b% {登录视频废话:
3 |( C1 G4 l6 J) ?尾翼:+ D/ U+ B; c$ q% m

" x2 w' V) D* _% [8 H& U1 J) t$ w代码:( w, ]  e+ x6 ?0 ]

; Z9 }- W) S8 [: z1 O! A! bvoid CWorld::SetLight( BOOL bLight )
; U3 s5 j/ |  D5 O9 F5 {; ddurch
0 H. W- ~9 z) _0 HCode:% V6 d1 m2 m9 {+ p5 f. n3 k
void CWorld::SetLight( BOOL bLight )  w# }1 I5 [, \9 `5 u% N+ c
{- m0 F0 ]/ l, E- `7 r+ ~' {  T5 o3 P
        //ACE("SetLight %d \n", bLight);6 d( C5 H! J' B: y
        3 w2 E: [+ k9 X) Z+ m$ P1 p
#ifndef  __WORLDSERVER
* ^( P% A  }# V7 N8 y, a/ y, s        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);% ~2 P- M5 m' U+ [4 N) _4 b3 S
        CLight* pLight = NULL;0 r9 t) N6 A7 z* P2 F+ y
8 j% V9 }& u' J& J" R6 u
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
2 _  b! i3 l. P8 }( W. B6 M. D# h" Q0 f+ A: X
        pLight = GetLight( "direction" );5 a1 U+ d/ p' A) o( Z
; f9 u/ O/ Z/ ]" i) b8 q$ l+ v
#if __VER >= 15 // __BS_CHANGING_ENVIR4 b8 f7 g+ @4 E8 A& C, h
        if( g_pPlayer ){" D3 j3 n8 z+ ]# g  s
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );* Q4 y- w4 Z: j, W% X% A
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!% y! F7 x1 A0 w* W+ t- c
                {) z; \% u3 H# H
                        if( pLight )
' ]1 w2 `6 s" H                        {+ G% W! B1 d7 n# O; j5 @/ ]
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
3 `' w. m1 `* x2 C                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];6 h) w- z" z, t0 R1 v6 ~% M
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
: B6 _" ~* l8 z( `  ^4 S$ J
6 V' q& j; h5 _7 r                                pLight->Specular.r = 2.0f;+ H$ u# ?$ A3 ]' @) I! X
                                pLight->Specular.g = 2.0f;$ L' \+ P0 a2 [5 ^
                                pLight->Specular.b = 2.0f;
7 y# F3 Z' `# I4 V9 n  x9 `        " v8 r1 d0 K! I1 A: ?# f
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];: b& i8 P/ p1 _; f( Y; ]
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];# u$ ~: H  V% z) E& C/ W- |0 C
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];# h& T4 j  k+ Y5 _6 h) \$ D
       
! j# z4 E; K& j6 F3 U( ?                                HookUpdateLight( pLight );
1 n% S' g2 h7 H6 ]; V  \
1 [, U) P0 s! R" Z7 J                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
  b* Y" }, `+ x3 \( j3 Y               
, @) k% l: A7 \1 }                                pLight->Diffuse.r *= 1.2f;% w) L3 U, t8 p& T# P
                                pLight->Diffuse.g *= 1.2f;
9 Y$ m; E4 c2 e; C& |  [                                pLight->Diffuse.b *= 1.2f;, q1 V& ]8 \2 h2 O4 ]& A. f5 x
& D; q2 z! d+ P! [( a
                                pLight->Ambient.r *= 0.8f;  X% u9 F2 d/ _/ z) k; |5 I
                                pLight->Ambient.g *= 0.8f;# R4 Y! Y& X$ t: R
                                pLight->Ambient.b *= 0.8f;  x- e( J9 O8 Q6 @% z# g! B
        6 N6 J- f4 S" i6 h
                                memcpy( &m_light, pLight, sizeof( m_light ) );
  Q, K! I8 z4 T3 _' q
' F5 q! r7 W: ~! U- i1 A                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
  T+ d+ r  r+ Z/ i' B7 t& G                                 D3DXVec3Normalize(&(vecSun),&(vecSun));/ R0 w, H, t! |, ~1 @5 O7 K
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + x$ l0 o$ Y: o. [' t2 Z' e' [
                                pLight->Appear( m_pd3dDevice, TRUE );
5 _; e+ ]; _% |# H, p: ^                + T; k) X, ?6 q1 n1 f$ O1 g! ~. g' B
                                DWORD dwR, dwG, dwB;
  O5 k9 l0 x8 W8 W9 k: v                                dwR = (DWORD)( pLight->Ambient.r * 255 );
9 T# D$ W) \& a/ n                                dwG = (DWORD)( pLight->Ambient.g * 255 );
3 `, h, C- ^! j9 E- p% w, f& J                                dwB = (DWORD)( pLight->Ambient.b * 255 );% n, }& r6 s9 Q, r, i
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
  E6 h& Q4 o! A                        }/ P. g6 B# }8 n
                }
- Y5 e, ?* Q% W$ M: L        }# L  C: O/ ~5 d$ O, L
        else: k/ h/ Z" r0 L, z
#endif
/ P0 Z" ?* Q% Q: x1 Y
* A$ B+ @3 ^+ y        if( m_bIsIndoor )  ~4 Z8 v$ U. C! ~6 x7 M
        {5 x3 T6 _3 }* `  [& {( S
                if( pLight )
8 M) y% R- r; O                {                6 U% z4 b/ G! L  j0 J/ B
                        // à??μ oˉè*
$ V+ K% w+ E0 V                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ {) s  X/ x7 g, r$ `! J                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;3 M# R, W( O1 R9 J7 a, P
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;# A: u% G. n/ k/ t# _! R  {4 Z  [

5 A* b, L& |' s4 P5 _% e                        // oˉè* ??à?
8 l9 |4 E8 p- ^- M! l                        pLight->Specular.r = 1.0f;
! W7 N' X3 p! }& C; s                        pLight->Specular.g = 1.0f;
! E* |1 P3 ~; D' g- S4 d! j                        pLight->Specular.b = 1.0f;/ U- H! y/ Y9 I7 A( o3 A
                        // àü?? oˉè*
) m- ~3 u3 @5 L2 t& c' W                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;: {# g! }! K$ C+ u9 Y
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;$ f* a' z" {! Q# k$ h$ U4 f1 Z: e. \
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;# Y7 h! d* {5 H

: u# l% E" z7 w0 c- S' y$ t                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.6 X6 }- }2 h( Z3 l1 A: f* }) V
                        {" l5 J2 j/ z, Y( G; q2 N* t: H
                                pLight->Diffuse.r *= 0.6f;
5 _$ H4 t! e/ ~+ F1 l* {                                pLight->Diffuse.g *= 0.6f;2 x1 Y4 r  d9 }; o, {' M
                                pLight->Diffuse.b *= 0.6f;. i6 {& V% k% j6 u+ Y& ~: X/ @
                                pLight->Ambient.r *= 0.7f;
5 {. U$ ~8 H2 W                                pLight->Ambient.g *= 0.7f;
8 K, B5 {7 u+ Y9 i; y1 J6 C                                pLight->Ambient.b *= 0.7f;* T. h) N5 h) Q; Y% E2 g+ ?
                        }/ h6 p9 a  l# u2 W
1 k% A, Q& T6 J+ v7 {2 e# |
#if __VER >= 15 // __BS_CHANGING_ENVIR3 ^& V5 R% ]" p- Q
                        if( g_pPlayer )
5 }6 Q' Q7 O3 f) I  a) [- J9 z                                HookUpdateLight( pLight );
+ z& F/ h9 ~; p( W3 y" R- }9 j. Z#endif. L9 r  V8 \; \  x% s
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );' t5 ~7 u0 b5 z4 \5 J  z9 X( h2 k

3 y+ S6 s/ o. c# s/ e- R( K5 i' W                        pLight->Diffuse.r  += 0.1f;! n  q7 O; P" J' T
                        pLight->Diffuse.g  += 0.1f;! v3 q' Y( K$ _9 q! O
                        pLight->Diffuse.b  += 0.1f;
1 s9 [/ @! d" `0 z. R2 x' p' L                        // oˉè* ??à? ' S4 z3 J3 h% X! w0 G- h$ v
                        pLight->Specular.r = 2.0f;
: r6 s# R% W( Q6 r                        pLight->Specular.g = 2.0f;# \; [$ n% P# G- ~+ q* t  E
                        pLight->Specular.b = 2.0f;7 L5 p" x  V5 n1 [) {  i
                        // á?oˉ $ p0 F' C* w# S  K( o  G5 a/ B
                        pLight->Ambient.r  *= 0.9f;
$ K+ X  i1 u* j" |1 S. W                        pLight->Ambient.g  *= 0.9f;$ R' c* k. B; d) @
                        pLight->Ambient.b  *= 0.9f;* `5 }2 i0 Z% o
  H' Q% h8 }" H
                        memcpy( &m_light, pLight, sizeof( m_light ) );' {* c& W; i0 D
                        ) T/ Z/ F1 p* `- p$ f) A* g6 c
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 k  ?9 X; C5 u* P9 \7 P                        pLight->Appear( m_pd3dDevice, TRUE );
7 c1 I- ]7 x! F/ j" y+ n* o       
" B- `$ k2 R3 a3 t                        DWORD dwR, dwG, dwB;
* w# O8 G1 p  v+ c, x! P5 c                        dwR = (DWORD)( pLight->Ambient.r * 255 );; t# Y# O! z, H" }! _8 F
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
& a  Y, e. g* j                        dwB = (DWORD)( pLight->Ambient.b * 255 );
3 k, R. Z: r3 \# ?; T  @4 B                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );. n) s. Q* ^5 D. h5 G' Z' I. V" l; H
                }
6 v) ?# T5 \- H2 }8 ]+ K7 b/ {        }$ x5 e! ^8 ?) k& I  [* S3 \1 Y6 ?0 i
        else
/ n( [! |, z/ f& V  A; w        {
7 e2 J, N5 W+ e+ T7 Q$ b, I                if( pLight )
2 b& U/ F. l0 K* E9 p                {0 ~' F0 f* i3 I! F
               
8 x  r) U( K8 q- `* t                        int nHour = 8, nMin = 0;% O9 N# h1 C- Y/ I& u5 Q7 C* L
        #ifdef __CLIENT
5 i& r2 S  ~% k9 {& e/ |0 q- v                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
6 s' q. M: F3 `4 @. G, j                        nHour = g_GameTimer.m_nHour;  X. }, U4 C. O8 J  ~5 O6 F: X' ?
                        nMin  = g_GameTimer.m_nMin ;
$ k3 K6 n) C! a- c0 `7 Y        #else
1 X0 I" V/ H7 m                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
4 t9 q9 h5 |2 @( |                        if( m_nLightType == 1 )9 V" ^+ ^) Y- A5 G: N7 b
                                nHour = m_nLightHour;% ~$ h% O+ P& z4 P. x  a# _
        #endif3 A( M8 ]* l+ i2 Y8 [
                        nHour--;
1 d2 v! ]& C& r  x1 Q) Q9 w+ d                        if( nHour < 0 ) nHour = 0;0 D% t# G1 |! k3 Y$ e* n
                        if( nHour > 23 ) nHour = 23;( Q" A- S$ X+ L8 G0 B, f
) V0 O/ H' C" j3 h% I" `9 \/ N' _
                        //if( m_bFixedHour )
! P! [: w% r$ g1 u8 o" l0 e                        //        nHour = m_nFixedHour, nMin = 0;1 k& o; n4 a! s1 d$ v" \
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];" i, b1 @. {7 N5 b! t3 j
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( c: J. t2 g  r4 |; t# Y+ {0 i! f% Q7 t% G- D
                        //m_lightColor = lightColorPrv;6 Z5 N+ m4 s. E$ q7 x2 @  [
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
/ _1 R  _. x0 H3 ^1 w& e: _7 u8 p                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;; t/ [7 k0 z) h$ S% y
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;% d3 j9 x, M6 t7 o
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& S; K; z9 o/ e9 q4 a1 D                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
& |$ ?7 \0 j) ?# k! V9 A) T; q                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
" N& z5 m$ ?0 u' g9 r: B5 Y" J! |                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)" l! ?% |+ {% `) J! U: R; S6 y
' b8 i8 d' B# r1 G6 n8 y
                        // à??μ oˉè*
$ v# s1 K8 Z" B: @" ^% y                        pLight->Diffuse.r  = lightColorPrv.r1;
7 ?& _: a6 c% o0 {+ i9 \                        pLight->Diffuse.g  = lightColorPrv.g1;
" K$ o8 I- u% q( a- t/ O7 B3 E: q# Y! u                        pLight->Diffuse.b  = lightColorPrv.b1;
! C8 @3 I7 L# N8 b. T0 u% D& u                        // oˉè* ??à? 5 @, Z4 F& H8 B" A, I& q2 g
                        pLight->Specular.r = 1.0f;
* V6 Y& l+ [& `& U1 p                        pLight->Specular.g = 1.0f;
9 c% W( Y1 U; k+ ^5 P                        pLight->Specular.b = 1.0f;
# b3 f; g. S5 m: f6 N" P* T, M- w                        // àü?? oˉè*   r5 x8 f: {/ d- X; E* E2 @' W* T
                        pLight->Ambient.r  = lightColorPrv.r2;+ e. H+ X; p# }1 L
                        pLight->Ambient.g  = lightColorPrv.g2;0 p' H* i/ A- \; N$ G6 |1 U% N
                        pLight->Ambient.b  = lightColorPrv.b2;
9 f; F9 C1 |# h6 T, N3 ^% u4 z+ u* x. T( V5 B! f8 s0 z
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??./ l- f7 v% R5 x
                        {
5 ~8 E5 {4 n3 M                                pLight->Diffuse.r *= 0.6f;7 a) m: [. u3 K: o3 U6 K
                                pLight->Diffuse.g *= 0.6f;
% n& [) h8 O" S6 r                                pLight->Diffuse.b *= 0.6f;
8 _3 E3 ?6 I* i! ?% a                                pLight->Ambient.r *= 0.7f;( \& s4 E; `# L, z' t
                                pLight->Ambient.g *= 0.7f;
! }. {! a" ~( }- D                                pLight->Ambient.b *= 0.7f;+ j; d: a7 Y) ~5 c% |* L( e# D9 Y
                        }: J6 M/ L& G+ K! L. c
                        7 m1 U1 h8 G' B# J* W
#if __VER >= 15 // __BS_CHANGING_ENVIR* q( t7 t, G' @0 a- k, Y- q4 ~
                        if( g_pPlayer )
8 A! G: p  W; U& v                                HookUpdateLight( pLight );
: l6 Z/ }8 s! D2 j+ v, I#endif8 m+ v  H7 K" ^: h
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );0 C- I- I5 g: Z5 }* s; _5 d
0 s: S! R: d  e5 C- J5 V% ~
#ifdef __YENV
' }1 B( v) `2 b5 b                        pLight->Diffuse.r  *= 1.1f;$ }. X/ I; o7 U9 a) d( r
                        pLight->Diffuse.g  *= 1.1f;1 o+ t8 h0 b1 b! w" J4 ^1 H
                        pLight->Diffuse.b  *= 1.1f;( b8 @, V) m* h7 ?9 t
                        // oˉè* ??à? 4 g1 N, k' E, x; }( X6 `. E
                        pLight->Specular.r = 2.0f;
2 `4 `& j5 J. }! g) C. C                        pLight->Specular.g = 2.0f;4 D5 [/ W# K+ @8 @5 `* m' W' |1 f
                        pLight->Specular.b = 2.0f;
3 a9 ~3 c' ^6 A* w/ i                        // á?oˉ 9 q& t  A* v% W* c! P. z- W# b& S
                        pLight->Ambient.r  *= 1.0f;
, F2 y" S5 D% `% X3 t0 y- e                        pLight->Ambient.g  *= 1.0f;% V- g& @) b7 F7 b+ e" H' }+ o  ]
                        pLight->Ambient.b  *= 1.0f;
( S0 z; S! K5 S#else //__YENV8 a& P5 H3 f3 B# t! r) w* [
                        pLight->Diffuse.r  *= 1.1f;& y+ c+ c( a1 F! Q4 `' O" b
                        pLight->Diffuse.g  *= 1.1f;
% @) V* K" q2 k3 Q9 Z3 f                        pLight->Diffuse.b  *= 1.1f;
' z! o+ e5 d. K& N: K                        // oˉè* ??à? 1 H6 o2 K  b+ s9 Q9 l+ [
                        pLight->Specular.r = 2.0f;
0 L4 y4 K- _' s% E                        pLight->Specular.g = 2.0f;  i$ x: X2 Y$ W) I
                        pLight->Specular.b = 2.0f;
* T% Q+ J1 }' n/ E) |  f4 V                        // á?oˉ 5 b/ v9 J! g6 r. q! O
                        pLight->Ambient.r  *= 0.9f;. T/ Q0 X0 Z$ X; x5 u5 R% z
                        pLight->Ambient.g  *= 0.9f;
% f+ g; r6 D) Z                        pLight->Ambient.b  *= 0.9f;
( }) {- ?0 s" C* T- x6 \2 `#endif //__YENV
7 ~: D3 F! S+ e                       
. w( g2 U. `; ^+ t" b                        memcpy( &m_light, pLight, sizeof( m_light ) );; Q& a- k+ u; z$ t, q, v( R& R2 ~
                        , K4 B( B% F8 W# A( S, D
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);% X9 p/ O9 W- r* N1 n5 ^
                        D3DXMATRIX  matTemp;2 J- N3 P" [; w5 G; v) M: C
                        static const float CONS_VAL = 3.1415926f / 180.f;- |0 V* V* _. w/ K5 P

: `" @" X0 R2 _  p6 t                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);. [# }* R7 a9 |5 y4 l1 y( m% Q5 }
                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
2 d8 g0 ]% s2 O# d6 ~: Q                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
' s$ O: l  a+ @/ Q                        pLight->Appear( m_pd3dDevice, TRUE );
# D. M1 E% L1 d: }9 g5 g. ^: _7 b: ~7 Z' e
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% d% [7 e2 E* u1 n0 L                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));3 _8 V9 H  ^$ e( i/ r, @
                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 ^/ M! g4 p4 Q: S3 b
3 e7 Y  V: R# b5 o2 b+ U                        DWORD dwR, dwG, dwB;
# `; m: [* L$ M0 G+ a                        dwR = (DWORD)( pLight->Ambient.r * 255 );5 [: y3 v# K. I) D: V; G" y$ w
                        dwG = (DWORD)( pLight->Ambient.g * 255 );! {4 q! `. J7 h
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
6 ], `9 y. y) A9 D- n! \4 i3 E                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
- o: \3 r) w6 m                }
9 Y. Q; f- Q- {9 G6 k        }
$ m$ p% \. `9 M0 m9 t9 D
2 C. z' C$ S6 ?  @# L7 g6 g        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
) v% r/ c. a$ ]4 _        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) );
! ~3 T$ C* U0 @6 E8 I7 }        ::SetLight( bLight );  h1 j* P' N' Y( v

0 H1 l: B; h# F& A0 e* A        // ±ao? ?D?í???ó á¤à? ' g; I# o/ r1 y2 C( c; E
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
" M0 u: T' F2 x$ X       
, m6 F. }! X6 B. L' R- e5 N/ Y#endif // not WORLDSERVER/ [& P( {* e" u# z& o- Z4 l0 K
}! W. V8 t  [) f% {& i* t
并更换, T) @$ n6 f- Q, N5 [2 `! t. i
Code:
# d  k6 K& ]6 x__FLYFF_INITPAGE_EXT; i* m' M* ]: w7 z+ N3 M2 b7 N  `
定义; Y: L- a% y" c' ]# h4 l2 z* _  K( k% p0 Z
7 l  d: U6 c1 F- B

+ i. o* e4 g# z7 M. ^0 g7 p! ?$ b, X: u- m/ _. D" q

6 r: a4 w7 C( H# e8 e" c  J5 _现在终于删除我的狗屁加速...
4 B; Y3 [9 j) T) N+ _& Z9 P" q9 D
; H; X" B; q! J1 N6 d4 g* D6 b$ p: r$ ^3 B
* Y' d5 c3 h6 B





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