飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:) ]. N0 y% j3 D, l0 E. P% o
尾翼:9 e8 e# w' e( R. n7 s+ D5 Y

% b2 c& ^" B9 C/ f: @代码:
9 a$ K2 v% \1 aCWndAutoFood::CWndAutoFood(): }% W1 F( S' [& S# a0 O; X- ?, [
{# H# o. w: `# F1 u8 E  P: t
        m_pItemElem = NULL;$ X" W7 m3 o$ G% Z) r
        m_pTexture = NULL;
& f) c. Y& G' S        bStart = FALSE;7 m( c  u1 D* w. D8 |( _# B
}
8 w0 X0 o* h/ z( u: R. ?. P3 p6 k) M# h2 G7 p6 g
CWndAutoFood::~CWndAutoFood()
% z" L- A3 O4 q: p7 N{! h. |( e; }4 _4 A4 W
        AfxMessageBox( "AutoFood ist gestorben " );$ u: m/ e  o" r! u* ^, Y; A
}2 b7 v6 e) B3 R
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
4 K7 F6 t! ~" ^) d{
* b) H  z, K4 q+ b; T7 d        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& g9 l6 P, f  Y; Q; B9 d}
& m! F* P4 S3 Z8 t
- r$ F4 x; }" G$ A, n, o% R2 q8 CBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 e' h6 H! @* o0 U4 P9 ]* ?{. F; B5 [; f* c
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* ^% N' z5 W3 B( o5 c
        CRect rect = pWndCtrl->rect;
+ ]: \& J# w, ~  o        if( rect && rect.PtInRect( point ) )) e0 D/ F+ W# u: {1 j
        {
6 ?4 u8 D& j6 z1 V- U                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );1 ^/ l4 F( d5 w' f# f
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )/ |: ]/ |2 [; t
                {
9 I; a' H$ w- L. y4 C' N( D% o                        if( m_pItemElem )
: C9 v) M5 y/ D6 p. F7 o+ a                        {6 X! n1 q" |/ _2 n
                                m_pItemElem = NULL;& j  j- ?% R6 R
                        }
$ V/ M2 p! w1 }                        m_pItemElem = pItemElem;
- m+ A& g2 T8 c0 G                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );5 |0 V, Y3 {* q+ D. k
                }else{  H$ _" @* V% C/ t( [5 t  H
                        SetForbid( TRUE );  x4 w" j. h1 v3 P' v5 {3 n3 O
                }8 }, `; M$ Z! T% w
        }else{( S4 e9 O; {/ o
                SetForbid( TRUE );
( `, v. h! i" O( g3 [) N        }/ [  r" U& s3 V3 y
        return TRUE;
  L. {9 I) T1 M7 E}
% n% L) o+ F/ c. D# l' T* L
* A7 t. f  Z0 C5 ^BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 P& s: h9 i. ?! T, P{5 @. [& Q+ ^$ _  W& Y
        switch( nID )
4 o3 C  z+ N! N, D9 i6 ~* E% A        {8 d/ F6 b  d. G4 W: L- Q% S
        case WIDC_BUTTON3:: U7 u( l' i; c1 \% J6 O+ C
                {; v) h# b1 s: V! R
                        bStart = TRUE;  {4 N9 @& k& Q! L8 _
                        break;% ?' `6 T8 {# b3 |4 C% Y  b1 m
                }
3 T7 L+ P* ~+ K8 t        case WIDC_BUTTON4:
: e# T; o$ n0 ]4 c2 P                {
  L; U8 D; f$ {/ b$ s0 c/ ]                        bStart = FALSE;  G8 z& w9 M/ h) L2 j' B. P7 A
                        break;
" i% o* _0 E! O                }3 ]* K6 _! o4 t( ~$ n3 t7 |5 n
        }
' D- p& M% S% [5 N" H        return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ Z5 F6 A+ z( m% z0 p}       
4 A+ |8 ^! C. _void CWndAutoFood::OnDraw( C2DRender* p2DRender )& q8 X* \( }* O3 A
{5 n* M7 L+ X4 Q1 R+ o& A" S# [5 W
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );5 |+ F/ Y+ ^0 }6 ^  S
        if( bStart || !m_pItemElem )$ \7 R3 v. w; S/ L6 u5 s. z
        {
/ _& T) C' _" i- d7 v# b                pBtn->EnableWindow( FALSE );
( o6 C5 Q+ D9 o, H7 O, f6 I        }else+ S! s: @  ^" F) l' \+ B
                pBtn->EnableWindow( TRUE );+ u7 y9 K4 |" m( l
        if( m_pTexture )( I: k: }6 H8 F5 h7 x3 A+ V
        {) d3 Q, O- w1 n# Y  c
                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );8 o  b8 }: X7 `, w
                if( wndCtrl && wndCtrl->rect ), g8 X4 w/ l( @% u6 u
                {8 b' k. l8 e; {' b
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. T4 R: B, n0 l% L; c9 b* l0 a                }4 D' B  j, P: S1 x' h1 A
        }+ s, l) c3 F) L# D
}
1 A( q& r; h" L" p* B' A/ U
  H5 O1 n1 a: F0 wBOOL CWndAutoFood:rocess(): l# w0 k% c* u
{
6 f0 ^% g: s2 J: G/ j        if( bStart )% Y: Q- U/ Y. a/ h: T  N
        {; I! o0 I) H; J9 O- _% r* U9 J# [
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )' B4 j/ d3 G$ O3 {9 B2 j
                {. k! i5 R* M  X$ p1 W8 q* f
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )8 E8 M$ P2 x& p3 `/ K) F; c" w
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
( s5 f4 h8 j9 i6 I, R; u! O                }else{
% L7 L" @1 H+ O, I* S                        bStart = FALSE;
. p1 ~; T2 M" c: I% P- {                        m_pItemElem = NULL;/ `9 J8 m# `% g
                }8 ?# C6 x; d( z$ N% H' g; t
        }# Q# I+ x" D! q! i% y% ~
        return TRUE;, h' b" [6 P' s' H9 T  ~* D
}
: x3 A4 ?# X1 M. ^
1 L+ [- X) E! `; \3 w6 s: U) I: t' M登录视频废话:
, i$ J, g% t5 B+ I' ]4 u* J尾翼:
0 H1 c+ q2 e0 _. |+ ~3 x/ |
& d# s6 M" y7 J. r" {5 X$ ]代码:
6 l$ e; t, E$ Q5 |) y. c8 ^. g) G4 Y/ w$ z- E% D* {
void CWorld::SetLight( BOOL bLight )
5 D- {7 p$ `9 z% `: j/ }2 vdurch
5 y. v( @7 B) |9 q' y: }5 GCode:
; H/ W! q3 ^: G/ g5 cvoid CWorld::SetLight( BOOL bLight )0 K! Z/ A. e. _. F
{/ \5 m3 P2 u1 y- x; O. g1 W
        //ACE("SetLight %d \n", bLight);
, b0 E5 y  t, o7 P: u% }# j       
* P& l( F$ w. [% ?2 _4 m#ifndef  __WORLDSERVER 5 v/ ]- Q$ m! R0 B( q$ ~' y
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 I' K; e9 g: p+ {+ [% v' z' Y        CLight* pLight = NULL;
( t3 s1 M# v1 k3 o! l% H. I7 i& L- ~* F
. a% E) S& t0 B5 C4 j        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 p+ h1 Q1 Q2 X4 q, q! W& @' \! R# H- D4 y
        pLight = GetLight( "direction" );
: ]" {7 }1 V! f2 D7 B) [: D! U; O3 [8 \$ B; _/ m  M& O6 t5 ^' v
#if __VER >= 15 // __BS_CHANGING_ENVIR7 a' _4 ^3 z  l
        if( g_pPlayer ){
- P$ q/ V9 s3 j& Y5 d) {                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );9 Q2 Q$ t( A+ y# Q% c5 C2 I
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!) J5 S3 y* T( o0 t" v
                {
) ?  F0 B8 Z/ o; q+ x( W3 ]0 n                        if( pLight )
+ X( I  q' [( h3 d+ [. a                        {$ \# R, j6 e! g7 i) P8 m
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];: c7 b1 \7 q8 _0 o
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
# ~* ?, v% v+ k  u3 R4 z3 N                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
" A- B# o' G, l% A* n) {7 ^  K* |0 o; J
                                pLight->Specular.r = 2.0f;
5 Z7 ^' H/ p" \0 N# {                                pLight->Specular.g = 2.0f;
) y) R2 A# ~) O0 p/ Y* K                                pLight->Specular.b = 2.0f;, M, s6 |' ~- j2 \6 [8 R
       
. o9 o# i+ @- B) v' h+ g) E, l8 G                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];  x. @( b% A8 o
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];* @  e& U+ [8 ]3 b- c& ]" V
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];( k2 Z! @( @" b' W4 l
       
! G7 L! {. u6 H/ y                                HookUpdateLight( pLight ); ) l0 f4 E: ^. G- v; O  S- W7 u  y* Y

: l* K( E  Y" L5 L, Y+ s                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# q; o5 ?3 ~2 ]1 p. ~- ~7 B$ b               
" F) Y" K# r- U3 V8 h% _                                pLight->Diffuse.r *= 1.2f;
5 m5 k* V# w9 b; a& l                                pLight->Diffuse.g *= 1.2f;7 w  k% W4 B+ T. Q5 f
                                pLight->Diffuse.b *= 1.2f;  @* W+ q* F4 B& W. W9 F
7 m, g. i( x1 C4 q0 S; h: m6 W: P
                                pLight->Ambient.r *= 0.8f;: o) h- c9 n9 Z
                                pLight->Ambient.g *= 0.8f;
7 a+ k! w* }4 q$ E. |9 O                                pLight->Ambient.b *= 0.8f;2 ^  ^! r* F  E6 [4 q. P( |
       
: L- y) z  f6 ?                                memcpy( &m_light, pLight, sizeof( m_light ) );* Y! [  t( P8 r0 @

7 ^1 o3 t2 D$ w2 O+ @7 R# |) k0 R                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);8 j# k* }5 p" S5 B
                                D3DXVec3Normalize(&(vecSun),&(vecSun));5 V4 S% J% @5 |. D  Z7 s3 x/ G; ]
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 8 x1 U9 ?6 {+ B; v! Y
                                pLight->Appear( m_pd3dDevice, TRUE );! O) D* U2 A5 d- P: o. s
                ( E6 |7 m0 G5 x; L
                                DWORD dwR, dwG, dwB;
- k9 B- V0 s) a" F                                dwR = (DWORD)( pLight->Ambient.r * 255 );2 F" e) O, P% Z( w3 p; W/ ^( w
                                dwG = (DWORD)( pLight->Ambient.g * 255 );
- g. B) m8 N: ?; U5 f                                dwB = (DWORD)( pLight->Ambient.b * 255 );
1 `) ^8 F& n% \                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 P) }+ R  |% U                        }
5 k: _' C7 r5 w+ n2 i: J                }
. L) e1 Y) w( P  m7 s        }6 ?7 k# e, t: V/ _  B
        else1 i/ O# Z& @) b1 X
#endif 9 s4 n5 r9 x$ M6 P

- f6 S5 R1 X( y7 B5 A" X8 J) C        if( m_bIsIndoor )2 Q  R0 x2 V4 {9 S0 @+ c/ d
        {- p- g1 ?$ ]" m( `4 I  |
                if( pLight )9 j  x, \7 |+ p# p' f  c* F( K
                {               
; q: S8 n6 |: T% U+ H. ]* F/ P" U- f                        // à??μ oˉè* 8 ~' ]9 ~7 z. W1 J6 U
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;( b% m, _7 x2 Z+ {4 H/ j
                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;4 P! L" i% _4 Y) |1 D% t: a
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
; E, q) @( }. P6 m$ [  |/ \0 u% N! J- t4 m
                        // oˉè* ??à? 7 p) D8 {! k5 |' [% d0 E) a
                        pLight->Specular.r = 1.0f;7 E8 i' I! o- \" H
                        pLight->Specular.g = 1.0f;
1 h0 E  u* Z& V! ~! W                        pLight->Specular.b = 1.0f;% L9 }, z( y( r5 C
                        // àü?? oˉè*
1 n8 j+ p0 @( A, c8 F                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
- c+ p* O" a" G9 v                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;$ }; @$ ^2 x; y4 r
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;: s. l! {' T' A6 k5 H

9 \  g. I! n0 e: O9 O                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
  ^: Q$ @2 y7 c$ `; t& ]0 S& D                        {1 k: r9 H- J0 T# J
                                pLight->Diffuse.r *= 0.6f;
+ m; Z5 `, b' v; s: H  w# Y/ P                                pLight->Diffuse.g *= 0.6f;9 o/ Z5 ~2 O6 j! q; n/ V; P# |* c
                                pLight->Diffuse.b *= 0.6f;
- a' g" y7 s5 A# l' l' O# R; R" ~                                pLight->Ambient.r *= 0.7f;
0 M3 ]8 z- J2 K$ y: e& `2 H% Q                                pLight->Ambient.g *= 0.7f;
' C3 E8 O" |7 @4 B                                pLight->Ambient.b *= 0.7f;
$ j; L' N: ]9 ^3 Y                        }
) \* B8 x9 t) c3 ?6 _5 _, m: P4 l5 W
#if __VER >= 15 // __BS_CHANGING_ENVIR
! V, J' B& \! P) l( g: n                        if( g_pPlayer )
* J# j8 n# V: h$ V& G                                HookUpdateLight( pLight );1 ~9 C+ D/ r+ x2 _1 J
#endif' D3 @5 G2 K- H
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );5 Q9 r: M: c4 J& A& Q, o6 w1 K+ i
" Q+ i0 k, z6 j1 g7 ?
                        pLight->Diffuse.r  += 0.1f;- P. V+ H! }1 v# X
                        pLight->Diffuse.g  += 0.1f;5 b' G2 t8 g. Q: R6 @
                        pLight->Diffuse.b  += 0.1f;# T3 L5 H3 R+ {# d* k2 E& d3 i
                        // oˉè* ??à? 1 \/ A( t) a$ E! h3 b3 ?$ X) v
                        pLight->Specular.r = 2.0f;
# v' j' U- N- {5 O                        pLight->Specular.g = 2.0f;0 a1 M, ^  |2 }
                        pLight->Specular.b = 2.0f;
" L2 Z/ G. |, N& C1 m' {2 w                        // á?oˉ 5 ]! [  N! A* g- O
                        pLight->Ambient.r  *= 0.9f;, o! u) O0 V  a6 O% J
                        pLight->Ambient.g  *= 0.9f;7 z/ K& K/ I# k) G% w: y+ D9 {
                        pLight->Ambient.b  *= 0.9f;
( Y: q$ Z" T9 {! U# B( B! u5 j# O# I6 F- n0 ?3 C
                        memcpy( &m_light, pLight, sizeof( m_light ) );
& k! w, g. m1 r# c! n0 @/ I                        ! |* G8 b! v. M" I' y; V
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 Z/ n+ b; ^8 T/ x                        pLight->Appear( m_pd3dDevice, TRUE );
+ P1 ~' z1 H* x        4 \. G8 Q4 K- }1 z2 g
                        DWORD dwR, dwG, dwB;
( \* _% k5 |/ k& ~, m6 p' K                        dwR = (DWORD)( pLight->Ambient.r * 255 );' R. q, A7 k' y! w
                        dwG = (DWORD)( pLight->Ambient.g * 255 );8 o6 H* Y) ?1 N! x* ~
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
8 k4 [, M, l, x/ ~0 S8 E: @                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, U0 T/ G4 U1 D9 P                }' A- h# T* C, K! M! V0 }$ c
        }
, g. W1 X) a7 u% |        else( k! s. p: G/ ~% W$ a9 ?5 F
        {8 N$ V' k# _7 e! u- m
                if( pLight )
7 G0 q! x2 z3 V6 V                {
9 T' R) j% K3 N, R2 h# \4 z2 q               
4 c, K! K9 L+ A% U  T, H                        int nHour = 8, nMin = 0;$ i+ ~' K! s. q9 p# u; `$ @
        #ifdef __CLIENT
' f& O8 w) k$ u1 G, L                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
% A9 l9 I- q. J2 Z$ U. g: S/ `+ [                        nHour = g_GameTimer.m_nHour;6 D( m: u# }/ ]* {! @$ ~3 `5 e# |7 q% |
                        nMin  = g_GameTimer.m_nMin ;* q" u4 [  x  D( R8 c& Y
        #else
' I/ u: X5 x$ ^                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 l$ `) \: f$ O5 C- S                        if( m_nLightType == 1 )
1 E( Y2 ^2 [. p+ }: I                                nHour = m_nLightHour;3 q( ]7 X7 h/ Y! e  A
        #endif% v) D5 r# ^5 T: A4 j" w
                        nHour--;* w$ a7 l. q2 w2 p
                        if( nHour < 0 ) nHour = 0;* w9 x& Q- o! o# f' \
                        if( nHour > 23 ) nHour = 23;" i: K4 O; A. R" O& L# ]& S

2 o1 g# v4 |/ U6 v2 L8 k' d5 A                        //if( m_bFixedHour )" U* m- m) q% _2 d1 {
                        //        nHour = m_nFixedHour, nMin = 0;* y3 Z2 Y/ S4 ^( o6 e
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 g- N! z0 k- c8 ?0 X                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];4 J7 e) Y6 O& R  a- Q

7 e- Z$ o" ^9 N                        //m_lightColor = lightColorPrv;
; P& ?  u  r2 r+ c                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* S$ \7 K8 d* |4 _                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;. R) g, K9 E0 l% A* s, Z) Y
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;: c* P; M5 S6 @. m* @8 o
                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;8 G- @/ M3 F4 N; V& `' R) n
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
- D, f/ Q# J$ V) g* T" h. W                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 l, y  k0 _, d+ ^; I, w                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol), b  [( D+ Q3 `/ f

1 q/ N6 T% P  O) L                        // à??μ oˉè* ! b; |0 I; N9 D1 Y" K
                        pLight->Diffuse.r  = lightColorPrv.r1;
( z& @+ \: x3 b4 K$ v% E8 M# @- U2 m% H: _                        pLight->Diffuse.g  = lightColorPrv.g1;" k5 K8 a5 T: n' y( C
                        pLight->Diffuse.b  = lightColorPrv.b1;
' z* F/ t5 K! U, |3 B                        // oˉè* ??à? . p* T! S  R$ l& h
                        pLight->Specular.r = 1.0f;- \* S( {8 D, }+ c
                        pLight->Specular.g = 1.0f;
# ~- Q5 b2 K5 Z# t7 ]                        pLight->Specular.b = 1.0f;
6 l1 w5 j: Z: T/ M' s                        // àü?? oˉè*
) ^! v3 i7 F8 p4 _% k. l                        pLight->Ambient.r  = lightColorPrv.r2;1 t5 I. O% l. u. u& N7 P
                        pLight->Ambient.g  = lightColorPrv.g2;6 T$ A) s/ ?$ @% ]" i' T
                        pLight->Ambient.b  = lightColorPrv.b2;5 Z- B) Z- F! O* ^3 O. a7 }# c* b

  b, |4 {/ N. @6 O8 h# z                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
9 D/ \! Q) ~6 r4 l. R" d                        {% ~; l$ _: X( u# U
                                pLight->Diffuse.r *= 0.6f;& [6 s7 p/ I. o5 `7 u  P
                                pLight->Diffuse.g *= 0.6f;
. U% f6 M9 x* a3 f* U( E$ K( g                                pLight->Diffuse.b *= 0.6f;
5 h9 Y3 a% a& H, P) C                                pLight->Ambient.r *= 0.7f;8 }5 g  y. D5 G& @2 L
                                pLight->Ambient.g *= 0.7f;
6 c& D' M# M% N* E                                pLight->Ambient.b *= 0.7f;: g. r& K) t# E% x' L+ v
                        }
4 a* F, }: ]9 Y9 t5 }                        1 H: Z& I6 q5 `3 R+ Y
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 g6 W8 W8 t& H7 Z                        if( g_pPlayer )' ^+ S8 P* E* `0 h3 f/ z1 M
                                HookUpdateLight( pLight );
# d9 D* X0 a+ O% c3 B: q5 b! H#endif9 n+ o/ y% d9 Y8 k1 k6 I) ]: L2 Y
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );: {: F, f; C# H1 S0 u2 Y2 I
( H) t! t5 w' a, b
#ifdef __YENV
1 ~6 w( L3 J3 N3 n* Z9 S' y) {3 E                        pLight->Diffuse.r  *= 1.1f;
  a. A' Z3 L8 ^3 g                        pLight->Diffuse.g  *= 1.1f;
( Q8 ?8 |4 e  V3 T( b1 [# X2 J                        pLight->Diffuse.b  *= 1.1f;
4 |7 b2 C. e6 Y6 R9 j                        // oˉè* ??à? ( P3 f' F+ g9 X, b+ m
                        pLight->Specular.r = 2.0f;5 l3 A6 C7 `2 g3 ]
                        pLight->Specular.g = 2.0f;
, @" v7 V3 n2 u4 _6 {                        pLight->Specular.b = 2.0f;
% D. a0 T/ m; }8 t$ R8 z( r7 [+ k9 t                        // á?oˉ
, S4 c6 k" Q8 F9 g8 R1 `                        pLight->Ambient.r  *= 1.0f;
' `5 s, q( z/ L( M  x                        pLight->Ambient.g  *= 1.0f;3 P2 p% H5 K3 G5 H  ]9 `0 S
                        pLight->Ambient.b  *= 1.0f;: P9 Y" ]& l8 L1 ]6 h
#else //__YENV
3 n6 J& @6 K5 L1 m$ W                        pLight->Diffuse.r  *= 1.1f;
. H$ [* V* c2 g9 I+ G; t7 [                        pLight->Diffuse.g  *= 1.1f;2 q9 k! E/ t" S4 ~- W; L
                        pLight->Diffuse.b  *= 1.1f;
+ r- k$ X4 r+ r5 f! [2 k7 K, ?$ \% F                        // oˉè* ??à? 9 F6 w) x. ~) d4 @" \
                        pLight->Specular.r = 2.0f;
# }3 S$ T( U9 h" }: W                        pLight->Specular.g = 2.0f;+ L7 l/ C: g5 J) P. x
                        pLight->Specular.b = 2.0f;
( q0 Y& Z* \& a! \8 s: k                        // á?oˉ 1 }& {; h1 ~2 \% P+ ~6 l6 m9 |
                        pLight->Ambient.r  *= 0.9f;
% f  @% P' E' x, p                        pLight->Ambient.g  *= 0.9f;0 I9 B" d% V, Q
                        pLight->Ambient.b  *= 0.9f;& Y' K# r* A9 R7 W( ]5 U& g
#endif //__YENV
6 P9 t# s& O: H. B, j; ?: v0 \+ k+ z                        0 e, w4 O. D$ K% _- @
                        memcpy( &m_light, pLight, sizeof( m_light ) );
0 w. P6 s9 l/ m: W5 a                        6 F; d' R- O8 n1 q! B" e9 T
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 y5 d" j* d0 m1 b4 o8 n3 N7 i                        D3DXMATRIX  matTemp;
+ S9 i6 }% r" ]                        static const float CONS_VAL = 3.1415926f / 180.f;
8 ]& u8 L8 S3 k5 C! A" t1 ?, F
; A* n6 m7 M( U- ?% i4 K                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
) r0 l6 G/ a3 l# b+ Y7 k# c                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);% z6 K' @& u* M6 b
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
8 {2 p) g/ G+ o$ c1 }0 v$ v                        pLight->Appear( m_pd3dDevice, TRUE );; u- @9 _* Q0 @0 Q5 K* y
0 L. L# e) R- x
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);1 e) W' {* F8 Q4 D7 A- ^& Y4 e
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
1 T  d( L' v1 n9 u1 v                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); - `+ b0 z) H3 `& z. e

+ G9 L+ u2 d5 Z8 @4 }* j$ U+ X. r                        DWORD dwR, dwG, dwB;
2 ]/ W/ G, H8 E# j' H( N+ S                        dwR = (DWORD)( pLight->Ambient.r * 255 );
( o: W! C; R+ f$ `. V8 [                        dwG = (DWORD)( pLight->Ambient.g * 255 );2 m  J" g6 @# E- j% D* y4 s
                        dwB = (DWORD)( pLight->Ambient.b * 255 );& R: t1 s6 b8 w4 F/ @) @
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        * ?# r: z7 r# W4 G
                }
0 [5 R9 j, F' O2 L1 N9 h        }
/ o) h* j% j: M% C2 T# I/ ?. o) c% @1 u8 ?
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );5 t+ ]) B4 x. c6 K. T
        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) );
$ S) Z. A: a/ I. w9 \6 C        ::SetLight( bLight );2 V! M3 s1 I) [) `% A

0 s& _4 ?& H$ i, q5 j5 d) ^! u        // ±ao? ?D?í???ó á¤à?
/ j% N6 d) `  v* S        m_pd3dDevice->SetMaterial( &m_baseMaterial );3 z6 }0 Z- V6 t8 a) u# q
        2 S/ E7 S4 x6 L! M7 s+ E
#endif // not WORLDSERVER
& x- L) O! [8 t6 w}  \" x2 S9 E: g( I
并更换* p- C, E2 o% U5 b. N2 p& u
Code:+ q1 j+ u6 V6 b9 w; c# e# R/ A7 F
__FLYFF_INITPAGE_EXT
2 g  T( O9 @, h# q  M定义  h8 e0 g+ U. Q
7 ~! q0 U5 T- |' _# e) n1 n& ^

3 z5 ?2 I/ m; }) J) V* j& `; b5 r( p: `9 e) |
, u' ?' v; L+ Z& ?5 V! {
现在终于删除我的狗屁加速...
1 k, ?( K4 K8 o5 S% E4 R1 a
0 j: h. I, m4 T- `; J* ~" ~0 x5 Q& w! {5 ?4 ~! B, B/ |
+ {& K; i5 f* h: e# Y* H





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