飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
" ~5 D! r8 ^, i5 ~, n* C% [  J尾翼:
* G" ]: x. r! A& \; b. C; Y( k" S- T
代码:
# ]" F" R7 B' ~- ACWndAutoFood::CWndAutoFood()- u0 J& _, g& i; Y4 i8 \& K3 J
{" ~, O" I: q6 f$ h  I9 S
        m_pItemElem = NULL;0 l9 h% p9 o) x/ g  e+ @+ h" E
        m_pTexture = NULL;, H0 G& J0 R( }; r
        bStart = FALSE;
- W3 |2 R$ t: u( z}
' P4 {$ F) S: r4 Z. E7 t
# I# b$ }8 Q# \  sCWndAutoFood::~CWndAutoFood()
1 c9 ^6 N- z0 n0 T{
* q# }% k/ Q# H7 c        AfxMessageBox( "AutoFood ist gestorben " );, ^6 q( _* k, H6 y: {
}3 x; O8 F6 `9 X8 w
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 B# E0 o. S: q& [{. C( d6 G3 E2 Y8 L8 _* I
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
' S/ L; e' [( T3 P}4 X/ B$ ?3 ?3 o" S

0 W' Q/ w9 f' X1 e- f5 p) d2 ]BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )  }6 p, ]1 {. i! E: E
{
. U( S5 v& p* j" g# b' D) m        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 s6 _1 Y+ v- z9 t* q        CRect rect = pWndCtrl->rect;
& K4 {3 o1 m5 c: ]9 i        if( rect && rect.PtInRect( point ) )
& F  m% o8 W! L4 [( z( I9 x& q        {
: b: }6 X2 |2 @' i( u! t                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) W' ]4 g! m( \6 D- y: v; ?8 y                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! J- i  n2 _: u8 b                {
8 ~" x  p6 C7 f' e# F2 _                        if( m_pItemElem )/ i" C7 Q. r; Y5 b
                        {. q) G( E) w5 d1 ]) B7 X
                                m_pItemElem = NULL;
3 r# J. r7 y- [, Q; J: i1 m                        }( {, ^) B& e% c( j, ]
                        m_pItemElem = pItemElem;
/ |0 h0 D3 V8 B8 q                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );  t' U) V5 `4 z5 o7 R( i
                }else{8 d* ]6 R  q: L
                        SetForbid( TRUE );
  b+ E- j. [3 i$ M) ~                }
  j0 v+ ]/ K5 r        }else{! R& E! W5 l& Q0 A# K9 t. r
                SetForbid( TRUE );
) q4 L+ \& {$ k) T% s. O- ?& ?        }
: b) E( W" S5 a0 i9 s        return TRUE;7 `+ v, o% t3 ?0 y
}/ l5 P+ r7 M9 }: S( c5 _
" Z8 z3 }( V& c: a, V, a: P# |. ^7 L, P- S
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )) i: v7 b3 a8 {8 d4 V
{
1 Z' d- M& J& R" T, w; ~4 |, F4 w        switch( nID )
* @% a3 i3 ]- y7 E" J& t# Y        {! Q, c  ]# F3 C+ ]& |) [
        case WIDC_BUTTON3:5 ?) f* [7 e' p. L
                {
7 H% `0 ~& j% E1 H+ I- e                        bStart = TRUE;
: F$ E; E9 T6 w                        break;7 {/ i: \. t: Q, y7 Z' p- V
                }5 l' w& g/ A9 ]. O
        case WIDC_BUTTON4:' Z7 D7 \7 Z5 {, P9 x& P9 o/ i8 b
                {( i' a' k$ r  z( h3 ?7 m' X
                        bStart = FALSE;1 g" m) X; J, a) K: x* C
                        break;1 ]( c! L6 K7 C, S4 q
                }( m# f' N2 ?; O8 t; p  ]
        }: y4 @6 c6 K" A  y/ \: @
        return CWndNeuz::OnChildNotify( message, nID, pLResult );+ v2 H3 P. ~6 s' I, v
}       
8 c" Q+ l1 M- |void CWndAutoFood::OnDraw( C2DRender* p2DRender )  G+ ?, e- U4 \) \% s% v8 W% l
{4 {- k! J$ c* j9 A* A, e) }" E
        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) B+ @/ k+ u7 z; b1 f1 r        if( bStart || !m_pItemElem )8 o1 d  q8 ?  H5 l) X" p
        {: i$ A4 x- ^% p  o2 `
                pBtn->EnableWindow( FALSE );
. A2 j0 M* O8 s7 c/ V        }else" W1 O" P9 A: q2 C5 t
                pBtn->EnableWindow( TRUE );
: u  [* i# ^, m" a# B        if( m_pTexture )
- i8 K" m1 g5 i$ f- R        {
; u( B2 d" t) e+ Y3 Q                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );5 }! C" k8 F# O
                if( wndCtrl && wndCtrl->rect )
! M5 }0 U4 X: n% N2 U( c2 ]1 V                {0 d8 i6 ]9 n4 H1 ~; Y# q
                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );; t/ f7 L4 B8 v
                }& [( K% ^5 v2 P9 E9 n5 j
        }8 P" C, S; c5 B4 [* I! a7 B
}% Q* i6 z/ G# T8 W) ~0 _  H; ^
9 J* H% e+ o$ J& k7 i, b8 _
BOOL CWndAutoFood:rocess()  Q/ ^+ I9 J3 x  Y  C5 _$ |
{' L. ]8 @" z5 W0 d! M- u
        if( bStart )
* u; h" d# k1 K8 Q        {3 S7 ~# s& n) c; Z
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )  m% K; G) @9 v2 ?
                {) P2 E8 {1 r' K! z8 n" b9 w
                        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 ?* {6 i0 }- C  B( N3 N
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* S; i5 a' b7 a0 \                }else{/ U1 l( y/ Y$ K  m8 r/ s- w) H
                        bStart = FALSE;( S) `# U$ ?" \9 ~2 g
                        m_pItemElem = NULL;
4 n$ Z) r5 Q, _7 p6 M                }0 x4 {& `' f- H. S1 I2 c  k
        }; j. a0 e: W3 u. R
        return TRUE;
5 T$ n6 E2 n* k2 p/ d: D2 ^}$ N# W" q; l$ P/ F) z" ?# D
" d! M6 J1 D9 e& s4 Z
登录视频废话:
( Q% R9 X  I; S尾翼:
8 f# E+ ]5 y. T1 ~" f- o
* M- Y& j+ N1 K- v9 C6 V5 N. B代码:
( J8 v. V! m1 [8 \5 [: j& f/ \/ T9 Q/ D. ~7 G* _, ~9 b, }1 y9 I7 D
void CWorld::SetLight( BOOL bLight )& m2 {- t5 ~" a9 p
durch) u! h. G8 l6 w+ {4 Q: ^+ g+ ~
Code:
- g/ F+ y" m0 Pvoid CWorld::SetLight( BOOL bLight )
1 |. k1 C" \0 ?; q. d' I{& u# a2 W+ i  S/ r8 D1 _7 n
        //ACE("SetLight %d \n", bLight);8 i/ Q" C0 F% K; t
       
# U# n& E3 b# \) ?#ifndef  __WORLDSERVER
* b1 _9 o2 A1 S3 d6 r0 \        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
( V# y0 o# a7 f( t! b1 ]( A9 @        CLight* pLight = NULL;0 ]6 T4 V! r" b9 p7 U: ], |
1 @  G3 k8 L' A$ B
        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );) s5 r" G/ z% H, a: R! x. F

+ o. l+ M! B8 l  ~8 o        pLight = GetLight( "direction" );+ W( s; k6 i. w3 p" F5 Y: U- ]- R

7 B5 W7 v! d. X/ B3 q: A#if __VER >= 15 // __BS_CHANGING_ENVIR
: [1 p' i: Z! m        if( g_pPlayer ){5 Y! t% z+ S! ^* n$ l8 v
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );, Q6 ]7 C9 G; F' k9 Z5 Q
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
2 D; n5 f/ ?# l9 S                {
* V' X9 ]1 p0 R9 o6 u4 E- y                        if( pLight )
, S( F* ^7 v& U4 _3 b; x                        {3 t9 C' f) G0 i3 C4 }
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
) `: i- h: \5 J3 J; b( L/ H+ |9 I% N                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
% P: X/ a2 v1 C' L2 \                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];
1 T4 w, b( J& X" w% r9 E3 k5 W
. K; p3 r/ c- l& g                                pLight->Specular.r = 2.0f;( f  D/ P: A6 i& y& T
                                pLight->Specular.g = 2.0f;6 S7 z. k" n/ t5 _& c
                                pLight->Specular.b = 2.0f;& V. y. y8 o5 J5 S/ z1 v6 X
       
1 X, L7 j/ J2 S' P                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ C- a; Q! X  p8 T, s( q                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
: H- V, m! V# r7 I) x/ B                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 v. x) D, }; r* j( W8 |/ ^        ! c3 g' f( q- x) G' j- x$ D9 W* y
                                HookUpdateLight( pLight );
. v( ~" K) |- h% N. B: @
( f  n/ j" q3 o8 ]( V- T1 n8 w: \9 d                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );  Z% ^1 v  r9 d3 Y3 R
                & ~. [- b2 f# \8 \3 `
                                pLight->Diffuse.r *= 1.2f;/ H% v: h8 J  `' k% B1 v
                                pLight->Diffuse.g *= 1.2f;9 v2 T* v) b; B! Y& D1 v
                                pLight->Diffuse.b *= 1.2f;
" n0 X8 d& f' j' k; Y, u3 }* B3 E1 A7 z5 O" b& ?
                                pLight->Ambient.r *= 0.8f;9 M) e# T) n+ T' i7 Z% U9 Z& v
                                pLight->Ambient.g *= 0.8f;& M7 Y4 k/ q% H! H3 l) Y
                                pLight->Ambient.b *= 0.8f;
# H9 R& C) D4 G$ ]. x       
( Y9 n0 W, a* _4 M                                memcpy( &m_light, pLight, sizeof( m_light ) );4 e/ z, _. Y7 @9 W
! Z* a: ]  F% a+ s* d  E( U
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& \2 b3 l; Q* k( [  j                                 D3DXVec3Normalize(&(vecSun),&(vecSun));- B' ~: d7 @& N3 T) D" Q
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 1 Z, @4 F+ b7 U
                                pLight->Appear( m_pd3dDevice, TRUE );3 W3 L1 _! U$ P3 x) j
               
, o+ T+ l: t+ j! i                                DWORD dwR, dwG, dwB;2 k- U) Q: _! y- O* B+ [, g. y
                                dwR = (DWORD)( pLight->Ambient.r * 255 );
; y% U0 u' G7 D% ~" w' U3 P                                dwG = (DWORD)( pLight->Ambient.g * 255 );
: S6 R8 u) U$ G- M0 _& y4 r! ?5 H2 E                                dwB = (DWORD)( pLight->Ambient.b * 255 );3 m6 [. ^' H  w: I
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ q* `4 g5 n' m- ~5 F                        }
. r: N# c6 e/ t9 J, G                }- ~, @" H) K9 u  d2 _% y
        }
8 ]7 @  W' L! ]% z+ z6 P        else
6 ], d, }: h/ H, V1 V#endif
6 d& K- g0 b% h* A/ J" `8 v
# l" Q6 O0 S$ Q1 U; T' e        if( m_bIsIndoor )
5 C+ D4 j0 C; O* r" l        {
0 K+ }; Q3 g) X6 B                if( pLight )
3 {! s7 ?, \, n- i& c                {               
3 i$ p) w# [" o                        // à??μ oˉè*
' {4 m* f& c2 F$ x* ^7 ?0 a                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 |0 A& a2 Y+ W                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;  B1 u% D4 R1 x
                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
" p: V! ?/ z$ B4 F
1 q' d9 V: F, a8 }7 L' J                        // oˉè* ??à?
4 R  M+ C! z1 J3 J9 T' S                        pLight->Specular.r = 1.0f;' T+ `2 y/ T1 \0 L
                        pLight->Specular.g = 1.0f;& b; T$ R/ I2 X/ h/ _3 C  n( d
                        pLight->Specular.b = 1.0f;
+ a2 ?7 s/ @# M  i$ ~                        // àü?? oˉè*
- k8 E( f$ @  \. k" E: C                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;: c1 z. o  W7 h0 m  _: J; }  }
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
2 M0 e$ i- c1 w                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;  `, Q/ u( Z; ]0 l$ L
& h6 ?0 ~# \2 N
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 J5 w" x; T9 Q- O7 b& M. y                        {
) Q( Y7 E4 H' S# r                                pLight->Diffuse.r *= 0.6f;
1 w# k8 S3 C; T% u                                pLight->Diffuse.g *= 0.6f;$ X; O: u7 l5 U1 S. U8 Z
                                pLight->Diffuse.b *= 0.6f;: w9 I4 X5 {9 b7 k
                                pLight->Ambient.r *= 0.7f;
7 J+ S7 S2 ~+ t) P* `                                pLight->Ambient.g *= 0.7f;
, P% N8 X, y) c9 C$ }+ m5 }                                pLight->Ambient.b *= 0.7f;* W$ Y! T5 j. w) @+ ]  {. {) Q( x2 d+ x
                        }/ D, ?, z! ~9 y1 u6 w) i

( d7 [( Y( P/ s% Q* b#if __VER >= 15 // __BS_CHANGING_ENVIR) {4 X4 u. @8 A6 g1 y
                        if( g_pPlayer )
8 F; m" Q9 q6 }6 {                                HookUpdateLight( pLight );: j/ N4 I) ^3 m& \9 c
#endif4 M$ \" E7 h; d+ A
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );# n0 w- F+ ~' W8 h$ e  G

; E7 }! `' z, D( t, B  B/ h                        pLight->Diffuse.r  += 0.1f;
/ D' g8 f5 t/ I7 L                        pLight->Diffuse.g  += 0.1f;/ _/ M  g2 h. u( z- `
                        pLight->Diffuse.b  += 0.1f;3 l* D, }' M0 W
                        // oˉè* ??à? - H# |% ^9 ?. h% y
                        pLight->Specular.r = 2.0f;! a2 U' e8 I4 s& N' w7 o
                        pLight->Specular.g = 2.0f;- [# r! b3 _/ B2 K' `5 f2 i5 S
                        pLight->Specular.b = 2.0f;. h) {- u1 Z. \2 v4 }
                        // á?oˉ
  K1 U6 Z5 p3 \3 y                        pLight->Ambient.r  *= 0.9f;* X$ t3 W$ K" B' B5 N* G
                        pLight->Ambient.g  *= 0.9f;
/ U! L1 I3 \$ N3 B$ _; S                        pLight->Ambient.b  *= 0.9f;: r7 b8 A) x. y( L, s6 Z

- i: x. c  p/ l5 p7 v& A                        memcpy( &m_light, pLight, sizeof( m_light ) );
) X- g. |! q2 S! N0 N: U                       
4 A9 O% Q8 P5 s5 S! W) b" G                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );1 z, h8 P1 E3 f  i% n+ I9 o0 v+ k
                        pLight->Appear( m_pd3dDevice, TRUE );6 H- ?4 [/ Z6 M5 h5 z0 c
       
5 X# a7 c- \2 Z6 v/ @+ E$ `/ {                        DWORD dwR, dwG, dwB;
/ g) u7 N) Z; c% i" a8 u                        dwR = (DWORD)( pLight->Ambient.r * 255 );' [" s+ p2 s: A, a/ M
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
- r0 `) m. s7 n# {" E/ n                        dwB = (DWORD)( pLight->Ambient.b * 255 );
, K! f- @5 f3 i: @: o' L3 y; r$ ^0 _                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );4 N9 Y$ E! W7 ^; d$ R! Q8 q
                }/ e4 ]7 p! V7 `" a* ~
        }- u1 k5 I$ Q0 L; a
        else
+ O* r$ Q9 Z& }2 @% w# e3 R        {% x+ n$ k/ T% _9 ?
                if( pLight )
7 @1 H5 w2 S; y, t0 q2 B                {
( s6 `5 F, q3 ?7 H, `                % b9 T- w" P# c/ a  y
                        int nHour = 8, nMin = 0;
% a# C- g  ~$ O8 e2 v2 T1 f        #ifdef __CLIENT4 t( u' v2 v. D* j. O
                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
' C: J4 P: ?7 Z0 J7 k                        nHour = g_GameTimer.m_nHour;
; r0 Q5 L3 X4 j& ~! Z9 e. E                        nMin  = g_GameTimer.m_nMin ;
; I' Z+ d( B. y: |( ~        #else2 B# g8 Q/ n3 R: m# m
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
: r; {. {$ W* i  O- s/ {, m4 C                        if( m_nLightType == 1 )
0 w) ^# s; R' [4 p3 r; _                                nHour = m_nLightHour;
9 X4 A% o8 B  ^5 t- ^8 q, j% M        #endif8 n! b+ a9 }0 J; C) n. O3 p3 h% a" \
                        nHour--;
3 d+ L- K, ~' e, l! S                        if( nHour < 0 ) nHour = 0;
- E5 {" W* L* r4 y0 G7 L: \% ?9 V                        if( nHour > 23 ) nHour = 23;2 V- [  V. A5 s9 O# I6 @

% I* D  \' r4 k( m                        //if( m_bFixedHour )
9 W. F8 L9 }1 m: E) M/ ?2 p  k                        //        nHour = m_nFixedHour, nMin = 0;. J1 R& n7 C. i
                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];. v5 W( ^+ l* E, e$ S
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
# D! i' K( q2 l' v# s) t& U- r7 L6 {' u, y% `
                        //m_lightColor = lightColorPrv;: I& ]/ x$ }) y9 v% k" u2 P/ k
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;+ R* Z" i- X6 g5 n$ v' i) x7 a
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;' \" j* F4 ^9 E
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
" Z& z0 a: l7 t' J                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;+ q* n* U, O9 ]* k" `
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;  V+ a& @  C- q2 N
                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;% V( ]5 c; M$ `. P
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol). @0 \5 u. G7 D4 z* X

! T4 p" @6 y$ `6 h  M1 b# L) {                        // à??μ oˉè* " C- E/ g# c/ f4 @
                        pLight->Diffuse.r  = lightColorPrv.r1;' Z9 t3 o& x- t) D" T
                        pLight->Diffuse.g  = lightColorPrv.g1;) m- H1 l; F' o* m/ ~+ ]. X
                        pLight->Diffuse.b  = lightColorPrv.b1;
. \6 \) i( _. F/ S+ z2 M4 J                        // oˉè* ??à?
  `2 X' M9 ?* a4 B) M                        pLight->Specular.r = 1.0f;3 {9 P1 ]8 C& P8 f. A
                        pLight->Specular.g = 1.0f;
' [/ O! [1 V! E3 e% a                        pLight->Specular.b = 1.0f;
9 g7 l9 l; [# c) Q                        // àü?? oˉè* * v; R/ n1 q2 K
                        pLight->Ambient.r  = lightColorPrv.r2;
* S! h/ r8 u# Q4 e( V8 b                        pLight->Ambient.g  = lightColorPrv.g2;
- |7 w" n7 x: k! w! a                        pLight->Ambient.b  = lightColorPrv.b2;5 q6 J& C/ u+ ~( {7 x/ ]. T1 j* d1 ^5 {0 P
3 U  L* y" t& ^/ p% |
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 d0 q( w4 A: X) R                        {
2 K* b* `4 @9 f4 k2 O9 [                                pLight->Diffuse.r *= 0.6f;" N0 {& _+ Z6 _! f* c( P0 t5 A0 S  E
                                pLight->Diffuse.g *= 0.6f;3 U) u4 M5 Z* A# g7 E" o+ i- J1 y/ i
                                pLight->Diffuse.b *= 0.6f;3 a: W" \$ o* V8 E1 P6 F! m" y
                                pLight->Ambient.r *= 0.7f;
) V( j7 U7 ~0 U$ b' y0 q                                pLight->Ambient.g *= 0.7f;
; }- ?+ T, r! j$ Y) M                                pLight->Ambient.b *= 0.7f;/ h4 F( h8 k& S
                        }& f3 J" u% |, y- O  z0 O
                        ' |+ N) N& N) H& q$ W: [2 l" ^
#if __VER >= 15 // __BS_CHANGING_ENVIR5 |4 X/ A  c9 F2 v# V( G$ y
                        if( g_pPlayer )
; K. {& N' L1 g% B9 W- k- E                                HookUpdateLight( pLight );
$ f* x& F7 a2 B6 i: ?* V#endif
& U  N0 y5 }, l) d, s! X                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 m& O5 D1 {% K& D, h
, H7 Z9 O& S7 f  j' m
#ifdef __YENV' ?. ~. V9 K) X- u/ b
                        pLight->Diffuse.r  *= 1.1f;& L8 V! Q/ S5 Z, g# y
                        pLight->Diffuse.g  *= 1.1f;
' k8 u& q. E0 i4 m                        pLight->Diffuse.b  *= 1.1f;
/ A! y, ^* g, a! x" y1 s                        // oˉè* ??à?
2 H* h6 H1 J: h) _                        pLight->Specular.r = 2.0f;! C% y. F  P, x# Q! n* ], z
                        pLight->Specular.g = 2.0f;* L# _% B0 U3 F( M# k( L
                        pLight->Specular.b = 2.0f;
# m& b+ t8 O- z& T                        // á?oˉ
  g! Y# f) y( G) W( @: q                        pLight->Ambient.r  *= 1.0f;1 t  a5 |# s* ]; B+ i3 @2 P% }
                        pLight->Ambient.g  *= 1.0f;
& N+ y9 e4 }' }" _* k                        pLight->Ambient.b  *= 1.0f;
3 x' l+ V) n% S#else //__YENV/ b6 ]5 s& _+ F2 A5 F/ S$ M) j+ B
                        pLight->Diffuse.r  *= 1.1f;
: g- ?$ d6 e2 K                        pLight->Diffuse.g  *= 1.1f;1 M* E$ @- p7 Y
                        pLight->Diffuse.b  *= 1.1f;
- m4 @, u1 O  ^1 P' K' q                        // oˉè* ??à? : Z7 M/ E1 E4 g8 Q
                        pLight->Specular.r = 2.0f;
2 Y* H+ q% M8 N% ~6 x5 Q                        pLight->Specular.g = 2.0f;
# w; e$ _- w) n1 Q- t                        pLight->Specular.b = 2.0f;
" p* V! O, _2 F, f+ L) ~: F8 h# K/ e                        // á?oˉ + }7 P  y0 K7 ?8 p" }
                        pLight->Ambient.r  *= 0.9f;
( n2 z' I/ e! b8 ^" _9 R6 d                        pLight->Ambient.g  *= 0.9f;
$ Y: Y$ [7 _8 c% m1 [- w- L                        pLight->Ambient.b  *= 0.9f;4 ^7 U& w. Z% y5 }
#endif //__YENV 9 k4 P: y( H9 W/ z) Z: `
                       
6 f. s$ j# m! V) b                        memcpy( &m_light, pLight, sizeof( m_light ) );
/ m3 ~4 @' w# @' k( h/ O% n9 g                       
; E/ ?. l9 I& G# k* M1 Z                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
. f% D8 z/ H+ H5 a- W                        D3DXMATRIX  matTemp;
9 o& l- [# x" u3 u# `5 ]                        static const float CONS_VAL = 3.1415926f / 180.f;
4 S+ h+ p( t! i+ @: G9 x$ Y1 P
) E/ T/ s. {: c) j; G6 \                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
3 l; m: x; T4 e6 X( ~                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 W" E' q0 N$ ^; W" P. L. u' t/ Y                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
  n9 h! ^( V7 x% Z                        pLight->Appear( m_pd3dDevice, TRUE );* V* K, L/ B3 u% g# ^  t* J- B% W

5 j( U( Q) E9 O' Q. f                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
/ l% Y# \1 _) H! \  B1 P7 l                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
8 r9 f+ ^  m( w2 t* w' l                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. `% w. {: ?5 ^5 u( V7 W. R+ [* v2 c& ^8 }: V' E
                        DWORD dwR, dwG, dwB;
4 G" s; E. i+ e' _' {                        dwR = (DWORD)( pLight->Ambient.r * 255 );2 Q4 }! @5 [5 o( @5 K
                        dwG = (DWORD)( pLight->Ambient.g * 255 );
6 L; `" B+ d, W& p* B8 U! Z) {                        dwB = (DWORD)( pLight->Ambient.b * 255 );+ A* R. a& q+ U
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                        ) O$ p5 e9 L  ?0 k7 h
                }0 H; i' `2 b) ]0 ~, z
        }
/ Y% z9 h' P& C( L, c5 S4 Y6 d7 O4 V8 J5 F
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );  h/ e, I+ K8 O  R4 u
        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) );$ Z7 a# e2 e: o# {7 p9 l. }
        ::SetLight( bLight );
# h: X, S7 i6 }! N4 U
) m: h) U; C' f        // ±ao? ?D?í???ó á¤à?
/ a# z$ n' h$ h8 R6 v+ n8 ^        m_pd3dDevice->SetMaterial( &m_baseMaterial );
5 K+ f5 @9 G4 @& x        0 n, f) i7 b5 ~( G9 k5 v
#endif // not WORLDSERVER
& p# e, N% N- Z5 m! s& V+ g) U3 c}
* V' o  k9 v' O0 a/ h# M6 [$ j$ k8 q并更换, [0 \0 _# V; @! m0 N+ T
Code:( Y  R" o9 y) n; z/ Q
__FLYFF_INITPAGE_EXT
' d6 b# w- w# ~1 O# G8 ^+ M定义, w1 Z/ t! X6 L- |# ~  r
! a% H0 l+ e8 p3 W  \
) h  c1 B& J3 u$ e1 g# [4 e
! a/ ?2 o4 `. x' t
+ _# l$ Z8 ~8 B' N9 z+ y
现在终于删除我的狗屁加速...
- M8 i0 J  B; d# \; E$ V0 Q$ j1 k9 m( b' n& P: J1 O

+ F: u+ N% ]& V9 g8 T& V: A: g4 `7 |& j5 e0 j% m: c





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