飞飞世界论坛

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

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:. F" \1 n( @. q8 J% v! P0 g
尾翼:9 F6 ~- A& q* M  q- I, ~
1 J2 a' x- @& V0 e( W
代码:; m. b( s( h0 {- b/ b4 c8 A3 @1 ?
CWndAutoFood::CWndAutoFood()/ ]" e8 f  W8 w. o) N# N
{
/ u; L5 R1 S; ]        m_pItemElem = NULL;
% r8 G' s- Z3 p; S        m_pTexture = NULL;
6 L; q! F: ^+ e6 `        bStart = FALSE;$ K6 A5 L5 J3 v5 {3 j& b
}
. x( j0 h1 s; ]- l% P, }" I! K$ D, Z6 G9 X& \( E" O- B# P! J
CWndAutoFood::~CWndAutoFood(). B' m! p3 {1 o/ R5 j1 M
{
0 o( |: w7 A/ u. U        AfxMessageBox( "AutoFood ist gestorben " );
; K# ]; O1 |- r7 {% c; t}# t* L) e. ~. S6 T# {4 u0 @
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )- J0 g6 M% h9 l# m" G
{/ C: k( N. l' V1 p# G+ s
        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
8 _7 R( y, r; |, z# j7 R! C}$ A9 x. P, L7 C  |

6 h- e+ T/ H' G5 QBOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )6 c& r9 Z8 s$ c# Q% _! ~
{5 ]( \( x) K: u# Z4 X
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );- ?: T8 ?3 {# x0 M# F
        CRect rect = pWndCtrl->rect;* `# e1 d* g9 Z, }$ @7 ?
        if( rect && rect.PtInRect( point ) )) D# P: I; B8 A5 A) R- ^
        {
- D& o& W2 Z6 k2 D+ h                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );! F( U( p. Z  y. L! o& I
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) \6 F! q: F6 d5 K: M                {
  a# R, A( {# Z/ w3 m/ B9 Y# N                        if( m_pItemElem )+ p- A$ n2 R- h4 b* I; Y" Z
                        {7 {6 F# i1 w! I) E
                                m_pItemElem = NULL;" A! L' X+ O! X2 x  C( d
                        }
9 q" v) H* f# H4 g                        m_pItemElem = pItemElem;& b+ F, A6 ^  q0 \# `( p' j
                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );+ h' U% K3 D0 I. Q' \# S6 m) N$ \
                }else{
3 w( z- q) T6 ]  e5 R4 ^                        SetForbid( TRUE );
) Z* g0 E' W9 P6 w' u2 P                }
+ l2 J2 _" b3 V/ Z: h        }else{
! g, ]% F  \- n3 x                SetForbid( TRUE );; c! n* ]8 i1 k8 v1 U4 c& w' L" z
        }
! G6 T( G" i4 \. M: C, G" O! }        return TRUE;% Y6 M& z4 \/ p, E
}) ^! `5 ^# d; N. K$ E0 z! O

* r- b% U1 I8 k; ZBOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )% M, ]0 x2 I8 X: w
{( E3 ]1 p# D% ]6 B) ^" E
        switch( nID )
$ B5 C- c9 m* m0 X  l        {
2 T' E) e' m. I$ h6 K        case WIDC_BUTTON3:
' g* x7 g# H! T4 |1 g* v6 _4 Z                {9 J8 b" `/ l4 P/ A# `$ O
                        bStart = TRUE;
: z8 O4 n  }9 _2 s1 a2 d" }$ [0 [; |                        break;
' o* d9 u0 E# p7 R6 q4 |6 I5 X5 B                }8 |: W$ a4 o! [8 k% d/ @
        case WIDC_BUTTON4:
7 {6 f8 `. Y- m& P! G                {: ]( }/ R: l& w$ D% s
                        bStart = FALSE;1 c( a( f2 J4 h, X# P2 r
                        break;1 l* |% h) r( o  @4 [" c
                }
6 T' J* \! b7 H/ q# {        }; \3 j" R8 v1 Y" d6 t( L
        return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 Q* D' L" E: S' s! [% d}       
! m" z! [$ `+ Q0 z* \2 ~9 vvoid CWndAutoFood::OnDraw( C2DRender* p2DRender )  s2 P& L1 M+ Q: U- t; I& m
{
. e8 j+ E( H6 H. D  l        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );7 P; F8 Q: B+ f1 q4 ?' d* f
        if( bStart || !m_pItemElem )# }* w4 ?: l5 O$ W# c1 e8 f
        {  }2 x1 Y) R  t1 d4 u
                pBtn->EnableWindow( FALSE );
# P* C- m* u3 w; R) {+ q* m        }else
$ H# {6 }* L* c                pBtn->EnableWindow( TRUE );+ ~* g6 q, m. c% t7 f: i8 p5 F
        if( m_pTexture )5 l- H: V7 C# R" s+ ?
        {
8 _& B& v6 G7 r  Y% u' Z7 o                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );* G( E# K& e; a' J+ X
                if( wndCtrl && wndCtrl->rect )
+ H% F" P9 j( A; y  e; U  J                {
- k8 q- }% ?+ f! c3 Q                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );# q* s6 c9 r; ^/ d& ~0 R$ T: c
                }
/ O3 k( b# m0 f$ e' `        }
! A/ b# C8 p: T9 r  Y# ?- M: f: B}
6 R4 ~3 }- u3 l* h) c% m) A- S4 j: {  x& t" D& z% u5 w
BOOL CWndAutoFood:rocess()
; b, y9 u& ^. f: P* F" R/ \{
3 ?7 u3 [& v8 d3 F        if( bStart )
. T- l- t; S6 _( E* g        {0 j) C, Q& d/ ]8 n# f; f
                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
. M6 J& v3 v0 p                {- k- R) r6 h" V! s* Q- V0 l
                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
- f& b" A" i* P                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
0 z$ Z# y0 F  X: F% X8 J                }else{( l3 J" h# @3 F. s8 ^# c6 V
                        bStart = FALSE;% s2 c1 O8 b) j0 |$ m
                        m_pItemElem = NULL;, S& A) k1 D5 m$ D* T
                }
/ c. w, j) R( ]  W! O        }6 A5 P* m( [; `/ d% o  Y/ ~  ^
        return TRUE;
& E6 Q( Q$ }1 g}. i1 D; T: m# j, X' ]0 L
) D* G! ]% C1 j
登录视频废话:
$ e9 G/ t( M% H3 F) J' M尾翼:7 H* @4 k9 \, ^  l& f( t
+ e; W% a& w1 n  u& A9 [
代码:
0 s- y: f9 e5 {: V5 j8 G9 y
4 V1 |3 {$ @7 h3 [, ~: Evoid CWorld::SetLight( BOOL bLight )
* J: Y7 \) P5 |. Idurch
9 C: S$ l" J( b0 n- |7 {8 [Code:
- `( B3 n, h  ]# q: L1 kvoid CWorld::SetLight( BOOL bLight )
% T3 K) z0 {) \{6 U" t* k. \0 L. v& ]9 j
        //ACE("SetLight %d \n", bLight);/ b+ u9 d9 h1 f' m+ c( m
       
9 n% c* i" e5 }8 }+ a+ P8 U: K' i0 f#ifndef  __WORLDSERVER , |+ C: T1 x) J2 B! n* |
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);, x$ b. H& p8 `4 N' k1 O! l5 D
        CLight* pLight = NULL;
1 C2 \# i6 _& _$ _8 r8 m; D
. |0 f. v# y% c+ `5 M  b        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
: T+ p4 m  {+ c
+ v0 ?* m) L& d- V0 O        pLight = GetLight( "direction" );5 F6 T, a+ O/ f1 E! E- t) ?' I/ H' {
. u! E/ a& T( S# Q$ u. m
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 o2 e7 f. D4 q3 u) H8 N        if( g_pPlayer ){
9 y$ J" a, h& ?% s3 q                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );4 D( W1 q* E' S7 p
                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!$ L0 I2 P( B5 p
                {
5 Y& R5 B( R$ V6 W" {+ ]                        if( pLight )- L' j4 ~, l/ y
                        {" B8 T# }3 Z7 K( U3 J/ c
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];# I& }9 o: ^; t2 R
                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];
/ t7 a2 Z4 Z$ d( K5 j; U                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];0 w6 ~+ O  C5 D5 a! W1 A7 R
4 h2 G8 T' l$ v  c- B# r
                                pLight->Specular.r = 2.0f;
  l. G+ {  Y: i1 U: A                                pLight->Specular.g = 2.0f;
& v8 F- b; R9 ?% F( c2 D- d                                pLight->Specular.b = 2.0f;5 x- S. e6 [  C; E& y) Y
       
0 ~! ~# h- i, d, b6 Y                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 m$ H3 A; ~0 ?) `3 L                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 s& Y' V1 j0 B                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];( |- I1 v. [: |  i
        / t! q9 |# ?! B
                                HookUpdateLight( pLight ); / {  u! p* D5 B; e1 M  h
. p7 |7 R& _) @9 x
                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );6 _9 z3 h& @1 A
               
$ l  `/ k  s& q0 t  w' V1 E8 x* o4 |                                pLight->Diffuse.r *= 1.2f;4 _, v9 r6 R, r; Z+ D' X' I
                                pLight->Diffuse.g *= 1.2f;
9 i- v, z0 z$ l% W7 ~                                pLight->Diffuse.b *= 1.2f;2 y- d0 G* T; B4 N, `

' f. G, X" x6 u: q                                pLight->Ambient.r *= 0.8f;
9 N% l5 F! Y% B, v                                pLight->Ambient.g *= 0.8f;
( T) u+ Q# @, D4 @                                pLight->Ambient.b *= 0.8f;& C9 L) n* H# t6 V
       
3 [2 E+ z) v* ]8 G                                memcpy( &m_light, pLight, sizeof( m_light ) );
# v  _; O1 a2 y2 m9 F& `& z  Q! T* @, f( x" [2 [
                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);+ n1 G' N8 n1 Z0 Y3 ]; {
                                D3DXVec3Normalize(&(vecSun),&(vecSun));% q2 Y7 `% t. Q
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); . g( w7 s; Z8 q0 Q; D
                                pLight->Appear( m_pd3dDevice, TRUE );
. d5 D' B( C% J5 i6 x7 q               
( F% t7 p  n+ [                                DWORD dwR, dwG, dwB;
% `. H5 n3 K6 w& N% t( Z                                dwR = (DWORD)( pLight->Ambient.r * 255 );
4 J- f+ T; J* d) J. w4 z8 E* a4 C                                dwG = (DWORD)( pLight->Ambient.g * 255 );1 N3 p/ b/ U2 W# q3 `3 {5 _, [
                                dwB = (DWORD)( pLight->Ambient.b * 255 );3 O0 m. H6 c  ~& |
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );6 y7 `$ I4 k0 B6 |$ p& D, r" x, D
                        }5 ~; v0 ^) f! m8 h8 k, ^8 X; d) U
                }* q6 b- K) A' u
        }! c) g& w" l* |9 S" m; ]6 T) }
        else4 c' E# K3 V! y7 ^6 ]# y
#endif 5 R  l! i0 U! e* o& s
8 b3 \6 G$ F) l2 {/ |/ A
        if( m_bIsIndoor )
& g/ I1 T, |3 P( w2 L" O        {' q9 X# N4 c: A9 r' C; f3 h
                if( pLight )
5 g* u9 |1 E1 Q+ [& c                {               
$ N" f2 r. q6 @+ k( ]' l" P                        // à??μ oˉè* : |( s; ~6 l4 m& W4 u
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
0 r( E5 D$ |' Z" A4 |  p8 M                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
# }% ~4 r: Z% N9 C8 t                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
/ W# X5 k" {- P9 l( @1 M6 O" v
, `# [! \- Y3 C( v, K6 H$ U                        // oˉè* ??à?   t+ P% ^, G; ~! h( d
                        pLight->Specular.r = 1.0f;
) _& W* w. z5 ^$ y# c                        pLight->Specular.g = 1.0f;
' E$ \' z" q# f- n8 U6 ^                        pLight->Specular.b = 1.0f;9 j! ~4 W% |6 S8 h  o
                        // àü?? oˉè* / g2 a2 p1 H7 T: d! Q0 f
                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;) N4 s5 x3 i4 O; A' e) N* w% ^
                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;
* y2 u5 {/ ^8 U* ~                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
* Z7 i5 f3 {: ?; X9 w+ w# _8 ~, D$ k# k9 c( p) L8 g( [
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- w/ ?7 u. |* [8 D                        {
  A! z: t  S/ m4 D, c                                pLight->Diffuse.r *= 0.6f;
, g' j( @6 b# {$ Q3 d                                pLight->Diffuse.g *= 0.6f;
$ a7 E4 X8 ]5 D2 ?9 P( l                                pLight->Diffuse.b *= 0.6f;4 _% g! x9 Y& t& I8 i8 z
                                pLight->Ambient.r *= 0.7f;
& M0 c. \. a) |1 q                                pLight->Ambient.g *= 0.7f;& z* O0 R8 _0 X2 c7 \
                                pLight->Ambient.b *= 0.7f;
4 a9 `5 U* g0 D- l0 C& ]                        }# k; [1 I- p% X0 h' H
* f& N: X4 ^4 _) r
#if __VER >= 15 // __BS_CHANGING_ENVIR% t1 [& Q8 [9 r/ Y% t: Y6 P% A
                        if( g_pPlayer )
: l$ M" K) y' p* p9 t) {" P* _% x                                HookUpdateLight( pLight );
) L2 g1 G4 Q6 P' g3 P4 w' R- V$ i$ P#endif6 F; e/ D: Q, P$ ^. n1 t
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );7 l3 {: }& t3 s( @4 ]+ L' z
4 `2 f  Y. v( |1 [1 M# E
                        pLight->Diffuse.r  += 0.1f;" Z, D0 W* |# E& O, d
                        pLight->Diffuse.g  += 0.1f;' b) A/ r- l. p+ e2 `# K
                        pLight->Diffuse.b  += 0.1f;
# a' C3 h, c, D9 M0 A                        // oˉè* ??à? - a# m4 ]. ]7 S$ l
                        pLight->Specular.r = 2.0f;- X. Z  W8 ~4 N$ m1 r
                        pLight->Specular.g = 2.0f;
$ Z! F+ j4 O, Y7 d, b/ j, F                        pLight->Specular.b = 2.0f;
# t" K9 ]8 Z! V3 E4 _9 G! g8 G. }                        // á?oˉ # L  C4 `0 j3 y( o1 s( ~
                        pLight->Ambient.r  *= 0.9f;
! ~! v5 o, M# @! a                        pLight->Ambient.g  *= 0.9f;. T' G- @6 H! R9 D" F/ c6 S
                        pLight->Ambient.b  *= 0.9f;
4 H5 u+ B% [( W0 l2 v- \. y4 P$ B- h: J  M5 K. J. }
                        memcpy( &m_light, pLight, sizeof( m_light ) );
+ Y# k" n/ j$ z4 G- D% Y                        / R0 m" O  R  S. ^8 s1 A
                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
+ u. x* h0 ^; l: L                        pLight->Appear( m_pd3dDevice, TRUE );5 g4 @% _0 o1 K
       
! c1 r, x7 j+ w) _# }8 x+ ~* w                        DWORD dwR, dwG, dwB;0 f. I/ J& o- U& s
                        dwR = (DWORD)( pLight->Ambient.r * 255 );! ?4 N" J8 M0 L3 [
                        dwG = (DWORD)( pLight->Ambient.g * 255 );, m9 J% J2 [5 P
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
& m( f3 d( q& k5 N! B2 g; g& i4 G                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; U; [* F. c7 Y6 w2 b; K! J2 @                }% h* ]( }* `8 e: Z$ o" Z5 B
        }
) c# G  `: b, C" _# H* {        else
- O* A, N! ~; c$ h) o8 B3 o        {
7 h" E: Q' R) I9 A! N  `6 }4 S                if( pLight )
) f' l& R% h# Z/ x4 [5 ?9 S. ?                {% G4 A; y/ c3 m- ?7 H3 \
                1 s* j0 a6 I9 g9 K$ m7 `% l  f
                        int nHour = 8, nMin = 0;( B* `% ^# l: ]; |; p
        #ifdef __CLIENT
" m' v& L- ^, ]% n6 [                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. 5 @+ }5 A8 ?( x' O7 L* r+ a  [
                        nHour = g_GameTimer.m_nHour;' ~( @9 Q* r: N1 h! `
                        nMin  = g_GameTimer.m_nMin ;- X( M3 U+ M) i. L5 L
        #else
, i: ^6 a6 c; g  \1 G                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 O7 O% n5 ]( ~6 v$ H9 u, n                        if( m_nLightType == 1 )
) Q: D+ x; n+ }3 T9 G9 H                                nHour = m_nLightHour;
9 P; E# H1 q% u4 O        #endif
1 |( B6 `; V( p                        nHour--;
4 N' O1 P$ R' l6 `/ q- k                        if( nHour < 0 ) nHour = 0;: Z5 E0 b3 p* `0 g$ g
                        if( nHour > 23 ) nHour = 23;0 Z9 s5 m4 W) x4 L
! F/ K/ K% X! T
                        //if( m_bFixedHour )
+ ^; L. O# a( k& Q# I) F7 E                        //        nHour = m_nFixedHour, nMin = 0;
5 c* b- e5 t, @; G( y9 G                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];3 }7 o) u9 Y( c+ l
                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% N! q/ t8 g6 i$ N7 J) J
/ ^0 j4 B; H' @5 Q; P" l                        //m_lightColor = lightColorPrv;" x& B. v! g; {/ }& H; o/ J6 @
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;& l, e# W& q8 R/ `6 `
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;. S# c) J+ ^7 C+ i
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, }# w5 s: L$ W  U7 |) A% y( y3 y                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;/ Y6 E) _( Q" e
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
* _# o' _% f: ]                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;! U! U) b- i7 k3 N# L" ~
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
! [  S) ~' g' o) O+ l: u
& m; s- F1 X( Y1 q+ d3 f: X                        // à??μ oˉè*
1 Y2 o( _( y, W+ [. T+ W                        pLight->Diffuse.r  = lightColorPrv.r1;
0 y" F' N4 m% G' b9 r' W                        pLight->Diffuse.g  = lightColorPrv.g1;
! N* J: {$ j' |. @: T0 m                        pLight->Diffuse.b  = lightColorPrv.b1;
" [3 p6 ~5 o- i+ T                        // oˉè* ??à? - ]/ G3 P( Y5 Q9 N7 o7 X: D$ K
                        pLight->Specular.r = 1.0f;
+ ^+ Z- p& d3 |! F+ o, H% }. @                        pLight->Specular.g = 1.0f;7 K$ i9 k6 F+ F" ?6 W0 s: C
                        pLight->Specular.b = 1.0f;) G. K; q4 _) Y( h6 Y+ a
                        // àü?? oˉè* + c- X& n% z. P! ?! P
                        pLight->Ambient.r  = lightColorPrv.r2;
' O8 @, o/ ^' ]1 a3 J# v' N, H5 b                        pLight->Ambient.g  = lightColorPrv.g2;: t! v3 |/ a% x# x3 h- g0 W
                        pLight->Ambient.b  = lightColorPrv.b2;6 Y' L4 P4 [( L3 S4 T$ F: a' _
; N/ s: s% G; Y. Y3 P
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 n# S7 t, E  [+ Z& T                        {) K, T( \5 U+ g4 Q5 I/ @  z
                                pLight->Diffuse.r *= 0.6f;
7 b# ?1 X9 N* M5 _. Y                                pLight->Diffuse.g *= 0.6f;
' \1 w' |( T7 E  K& L" y$ [                                pLight->Diffuse.b *= 0.6f;
1 ^+ o- B% v( ^7 |0 K                                pLight->Ambient.r *= 0.7f;" K6 P% T% f8 C; r3 d5 k
                                pLight->Ambient.g *= 0.7f;
& ]5 U% |- Q1 W7 J9 S5 Q                                pLight->Ambient.b *= 0.7f;
7 |" ~( q% u6 a: t# m/ x2 p; \                        }: N1 x) A# F) m* O
                       
+ z' |. a& \1 S  d#if __VER >= 15 // __BS_CHANGING_ENVIR5 T, Z- J* m; Q0 @$ H5 g4 ~
                        if( g_pPlayer )$ |8 Y0 ~1 O1 K% \6 b. ?" x+ b+ B
                                HookUpdateLight( pLight );
# I8 S5 H$ v7 U#endif; g' w1 D! l, ^2 G: E1 C
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- \0 u4 c! a! _# d1 Y$ u) u  l* ]5 o
9 ?& Y# L1 w  K#ifdef __YENV: [! Z+ |$ E( ^% P
                        pLight->Diffuse.r  *= 1.1f;7 P! g: _2 o1 u2 C
                        pLight->Diffuse.g  *= 1.1f;
# h$ e% s  Y: @  o                        pLight->Diffuse.b  *= 1.1f;5 P" A; h* @; n- c6 ^' W. ~7 ]" w
                        // oˉè* ??à? 3 \2 ?+ ]2 t' l9 V$ z2 d& f
                        pLight->Specular.r = 2.0f;
& T  B3 y0 P. R# Y6 r' u9 a6 A                        pLight->Specular.g = 2.0f;& q' O/ M: [* z2 ?9 ~% }
                        pLight->Specular.b = 2.0f;* F  k/ }+ e6 d3 h' A2 e
                        // á?oˉ 8 r0 `+ y8 X+ M4 e+ [" V
                        pLight->Ambient.r  *= 1.0f;0 T3 P( B/ X. _0 Q, z
                        pLight->Ambient.g  *= 1.0f;( H" t( ^0 S  w& \7 M2 q1 D
                        pLight->Ambient.b  *= 1.0f;: n5 t0 ]! L# N2 k* q+ t
#else //__YENV
8 v  J( [% V" y; L( ^( L                        pLight->Diffuse.r  *= 1.1f;! m- R7 |3 P( ^8 c
                        pLight->Diffuse.g  *= 1.1f;
3 _# g& y3 K5 {: s/ B8 \9 c                        pLight->Diffuse.b  *= 1.1f;; b7 A" C/ D: n& Y+ S: v
                        // oˉè* ??à? & D/ \0 M( p/ J3 ^( R/ J
                        pLight->Specular.r = 2.0f;7 f' C# i% P2 r1 F0 o* D5 }! Q
                        pLight->Specular.g = 2.0f;( G8 X. O* u% R& m; N; S, u3 U
                        pLight->Specular.b = 2.0f;
. B1 ~% u& T# I! f% n/ h' l                        // á?oˉ & |/ U$ m: h7 s! J1 n
                        pLight->Ambient.r  *= 0.9f;
' o8 k% t3 z; ?& x9 x4 T                        pLight->Ambient.g  *= 0.9f;
$ @7 H- J, @, r9 {' j# x* X: B                        pLight->Ambient.b  *= 0.9f;2 ~; ^: {+ f$ L
#endif //__YENV
0 ~2 ~. @% \6 j$ y; k) ]                       
4 h2 T4 \) o5 }" ?' m: r% y                        memcpy( &m_light, pLight, sizeof( m_light ) );
% y6 F! `. y, e) N7 [  D! d                        ! X# J1 U' }4 ^' i; L
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
0 p0 ^9 r% ]/ x9 W                        D3DXMATRIX  matTemp;+ l  z' s1 X8 v6 G& p0 B
                        static const float CONS_VAL = 3.1415926f / 180.f;
, B/ i6 ]+ ]  E* D) X2 {$ E, J# _" t$ _2 R/ g. n
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* ^) k, h; ]# k+ z; V4 m0 T9 h                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ o9 z) M2 H2 h. F                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); : ?2 Y+ J9 E1 I6 p$ {" I# k
                        pLight->Appear( m_pd3dDevice, TRUE );
! ?' Q+ q& O5 X! F+ q7 S: Z  u3 J4 @5 P/ E1 p( e
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);7 V5 M) Z8 G5 N% Z0 T- p$ {; D# k+ W
                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
* D; ~: E# Y. d                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); 0 T0 A' D$ D2 V2 u7 C2 {
- ^, ?  q1 b. B+ z- w
                        DWORD dwR, dwG, dwB;
7 J$ W5 h; z" ~  q& Y                        dwR = (DWORD)( pLight->Ambient.r * 255 );
. u# X/ \8 J, x8 [9 S7 W$ v                        dwG = (DWORD)( pLight->Ambient.g * 255 );
' M- P- J% Y. s0 T                        dwB = (DWORD)( pLight->Ambient.b * 255 );; L% F2 f+ Y0 M! O
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
0 O) b! U* c; c3 a' v  x. F* _                }
1 `; L* a% ^, l. o; m0 ~8 w4 J1 b' {        }
2 V4 f/ ^4 G& w
& \2 ?! w% d  L: X, p7 |0 [        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );3 i( W; a* W$ v; 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) );1 @( r6 G6 ]: q0 g# J
        ::SetLight( bLight );
6 R/ C* {* ~: ~) U7 d
$ K! D* n% d9 v8 w/ T        // ±ao? ?D?í???ó á¤à?
+ {9 s* z! v- a        m_pd3dDevice->SetMaterial( &m_baseMaterial );; N! R' F6 l6 P! X1 ?4 i% R# h4 n
       
' y# i! J. O5 z1 n- C#endif // not WORLDSERVER0 N5 R+ p3 h* L: D! a
}8 W% m4 j! i# T& Q  t! K' F
并更换
. V1 k; f# C1 N) s# yCode:
  Z, D* z' }% B( e2 n__FLYFF_INITPAGE_EXT  D0 D! n6 V, p0 {6 }) D8 d) x
定义
% X2 p; u& G- V0 j% |+ r2 t5 p6 c
5 E0 c& f' B$ `% F# p# c0 U
( q. W) }, ^3 j/ ~2 F' x- A! f' b8 r5 q" t! P8 r* G( F
$ c" t4 E5 s# O  Y# d2 o' h
现在终于删除我的狗屁加速...
+ v- {: E5 {4 u& \. f
. A8 P. l* P  |4 U+ d! w- z
8 ~2 l0 O8 h* ^0 n& P* w+ J6 }" S  G3 R, D' m" L( b! ], U





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