飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
# c: _5 `1 v" p
尾翼:
/ e; {/ S5 M0 y- e' m
% y/ ^1 Y. t6 W/ q* s0 k: F8 i8 ^
代码:
6 o. K) p6 ~$ |3 m- ^
CWndAutoFood::CWndAutoFood()
, T* ~0 e8 {7 Z9 p2 y" S
{
$ w: Y, O; V) _+ r
m_pItemElem = NULL;
0 Z0 [& g( r0 x+ f6 Z
m_pTexture = NULL;
; g5 i* T) d1 v
bStart = FALSE;
" e( y5 l/ v8 h0 Q% O
}
# v4 s, W, X3 ^4 r: X7 _& r8 b
- X+ U( g+ }! i, R7 o% z. v8 F5 k6 l) H
CWndAutoFood::~CWndAutoFood()
/ e* J! ]/ A5 h7 M$ [9 j
{
9 C% C5 k$ O: J3 t$ G; l* j
AfxMessageBox( "AutoFood ist gestorben
" );
# M" \' V8 p5 M9 ^2 D+ |
}
) T% o0 r6 L: A
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
* ^/ H1 |: W! l' n0 V* }
{
6 Y, {. ~/ m7 k. v6 }; c
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
5 [) Z6 n3 K' Y) _( _
}
6 P2 V: u. k t
9 r3 P6 ]* l4 l/ h0 ]# |. |
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
) ]+ l* ^: ?- L* h3 r! m9 r4 \
{
! s5 |3 S, M0 J8 F
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 N2 A& x7 G) C! X
CRect rect = pWndCtrl->rect;
6 r5 m" x. _# Q# G4 D' H
if( rect && rect.PtInRect( point ) )
/ |$ C5 x9 @7 J1 T9 C+ [% a5 a9 d
{
B, f; b, W* y/ r' h
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
; { p! i1 Q! ?' e( B, _
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
( w& N+ _% M: i w& Y0 U
{
& X9 b t# L5 m6 Q0 P$ W
if( m_pItemElem )
# s O/ }3 b6 n, m# d
{
' _8 I* [) _+ G
m_pItemElem = NULL;
# {$ ]! X, d& X% c' U' m! `4 V
}
' `8 M, }4 w0 {5 O* w+ r
m_pItemElem = pItemElem;
6 L0 E6 |% e/ N2 ^" A0 _
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
9 E2 x2 T0 t9 s1 N
}else{
$ R0 \8 s& d8 h5 @1 S e) T
SetForbid( TRUE );
+ N- l5 z0 h+ a: `. a- |+ l
}
% A9 C# g- V) S" ?8 H
}else{
2 \. \0 k5 e, |2 e5 W
SetForbid( TRUE );
( g5 o& }& |6 e3 B/ x& ~; f7 i
}
+ a4 L9 T; E. B3 m6 x
return TRUE;
0 L$ X. _0 b' O" u6 C5 o
}
$ q6 q! j0 o2 J+ |2 p: |, s: J
% ^$ h- O9 e& Q6 I0 n. h! n+ a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! ? ~8 y J9 }# _! k+ \: A' R; g5 _
{
7 S" \* Q5 j) i7 m I% M) y
switch( nID )
. a- ?1 l$ ]- Y6 ~& Y
{
) {$ d4 e: N* v B' q
case WIDC_BUTTON3:
' J; m2 i. A2 M* |3 j
{
" K" N5 h# z ^4 L, `/ W
bStart = TRUE;
' z& J+ @' N0 `4 T r
break;
8 A( j# o2 ?6 _3 H/ [! k
}
0 M+ {+ U7 P1 s; L7 |, X F
case WIDC_BUTTON4:
9 r' I& _1 D8 Y+ i$ L
{
& @6 [' X+ T/ t1 e
bStart = FALSE;
. C9 Z- _0 [1 E$ h7 }- P
break;
" z( r# O3 u! e' P- k) g5 H5 n
}
: B) P, f1 Z& D
}
# V w: B; e+ {9 J/ T5 s' K# ]6 H
return CWndNeuz::OnChildNotify( message, nID, pLResult );
$ I, n. A! U, D
}
t7 Q) j, j$ A5 W; R+ R
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" v* u% B1 z# ?, n
{
( z9 [4 a1 C; Y; t8 |8 R
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* K. C+ @" a: b% S" r5 B
if( bStart || !m_pItemElem )
. [; O; F) Q9 l6 I4 U, p
{
. t) z6 ?0 M! Q0 \0 x
pBtn->EnableWindow( FALSE );
\* ~0 F1 v3 @9 X2 P% p n+ ?
}else
8 I1 Q% o2 L0 A$ n- O4 ~- G, s
pBtn->EnableWindow( TRUE );
5 }( h) M% D/ u$ s* ~- V
if( m_pTexture )
, A7 H) t7 {" e# `, ^: J* O
{
0 P. s' S* A% B7 \ h5 N0 o) W
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) q6 K0 L1 B" C& i: c/ _
if( wndCtrl && wndCtrl->rect )
) t$ |' ]3 A. M/ G6 F& \9 s1 F
{
1 b4 ^6 u) u" h, L
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' m6 q( @$ ~" m# ^. V
}
0 `; c6 S; a8 T
}
1 a6 }' ^3 i0 d1 s
}
_) s( d5 y, y5 w
9 P g- U2 Y0 K4 D7 ^" l$ A
BOOL CWndAutoFood:
rocess()
# ^$ k6 F6 M" ^. N+ F4 b$ [1 c1 A
{
. l8 S, C4 b, b; v
if( bStart )
* x' ~2 G/ ^ M
{
" \5 F8 @) G, y4 f7 o4 Y
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- I! V/ E G0 W" n8 ]
{
0 B( m @1 Q# Y9 S/ S) G: N$ V5 V
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
' V' Z' x$ s& s" x& z/ g
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
$ c0 W+ `! F& W q' V# S3 w
}else{
/ J. z" Y5 ]* O/ n* Z( J/ A/ T' M, ]
bStart = FALSE;
% X& {6 u/ W( }# v$ w' }
m_pItemElem = NULL;
1 |- Q9 P! c# }. H: ^8 W6 R
}
n; q: g, G1 U0 N* ~% w
}
$ W# j! j1 O9 |
return TRUE;
3 ~- c* y. X8 I4 O1 u) M$ b
}
. V6 v* k- |* u X: m
; o1 U# f4 g- b. O
登录视频废话:
5 m- i2 U" K" K% B. G/ ]
尾翼:
! D& J( X3 ^' }- t
7 q2 X9 r% V. P" o; W9 U6 T5 P; Y
代码:
5 _. X( x( F% N _4 G$ l) O
+ b, x& k( i* q6 d
void CWorld::SetLight( BOOL bLight )
3 h; t; _- L" h2 U6 q6 v
durch
" ^( z6 A7 q) y7 W- c, Z
Code:
# i! f( C- ~% y- y. s+ ~
void CWorld::SetLight( BOOL bLight )
% f' N1 \5 O% x& ?0 @+ P
{
) O* X4 L- [, g9 m
//ACE("SetLight %d \n", bLight);
' v# W1 d( m# q4 Y5 \( A5 a
1 E* D- [ b* b9 `
#ifndef __WORLDSERVER
1 p6 k3 T- c( G7 t5 l2 t, e: u D6 S" q* c
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
3 N. J3 z" _7 m
CLight* pLight = NULL;
7 H- |0 I4 T6 b! d( J0 S' L6 M
, P* ^( Z( m/ y; `8 k4 |
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
5 T$ H) ~# |6 U* S7 Z
8 @# f5 q& t7 {# g- w- K
pLight = GetLight( "direction" );
; ], u, z: `' m
; o5 c* k, Q) ~0 l4 B0 N9 P
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 G- r, X; r' a) b) W6 Q6 a% |
if( g_pPlayer ){
# `5 V. [. s% k h, q
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! Z2 y2 t# j+ `: J
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ c: K! R1 d( V* A: R! A. q
{
# O; I4 x# X4 Z" k# t
if( pLight )
4 P# l8 c0 k' I* n+ U" v) Y
{
' U4 r: W1 N, n# M, c
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 P% f1 v6 k! U7 _! n
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
8 f: N9 A- U H# j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ `) y0 z5 N3 [9 z+ e
! p+ d: u& A( p0 ~: s _- [$ |4 O4 M7 e
pLight->Specular.r = 2.0f;
' B( R$ |2 G/ N; ]3 K
pLight->Specular.g = 2.0f;
0 \$ @8 ]' t9 O- h% }
pLight->Specular.b = 2.0f;
9 l4 G1 V, n& Z) H3 k0 ?
( J/ K# M- \& v% H# O
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
) k" U+ T; R' Z
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
x: O& H& Z* k9 T0 a4 W/ N9 ]# |, R! W S
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 v, j2 Z- D" U
4 F: j, o0 s# C! v
HookUpdateLight( pLight );
* ^9 N; U! h# Y0 Y/ }+ N9 y
! B4 U( p q+ i$ m D( i
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ n: q9 p8 o9 ~# {* u% T
4 V0 R3 }: }" b# P1 G% B; U
pLight->Diffuse.r *= 1.2f;
4 S( U* s& {3 p' x8 f
pLight->Diffuse.g *= 1.2f;
$ ]9 q% [' L4 Z
pLight->Diffuse.b *= 1.2f;
0 c- i6 w! }* s1 v0 ~& c
, ~+ a* |9 [5 H q3 w
pLight->Ambient.r *= 0.8f;
$ q. s( ^* o; ]2 `6 [
pLight->Ambient.g *= 0.8f;
% Q9 V3 K4 F. O
pLight->Ambient.b *= 0.8f;
8 S$ _7 W9 t! w2 N1 i4 R
4 g. p4 `' v$ _- T
memcpy( &m_light, pLight, sizeof( m_light ) );
+ U0 S8 H; M/ W7 f* [
: x9 D2 g, z( x- O; C p
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; T; I0 G& K1 B* ~& L
D3DXVec3Normalize(&(vecSun),&(vecSun));
3 F5 r+ C9 V2 ?% S# }
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
9 q3 o! g% v9 V3 ]7 `% U
pLight->Appear( m_pd3dDevice, TRUE );
8 { m# L% o% n, m4 {
5 \" c7 V& u+ W) [) G
DWORD dwR, dwG, dwB;
% P6 U% R' z8 i7 u) t& a! z
dwR = (DWORD)( pLight->Ambient.r * 255 );
, ^6 j' k7 J& o# Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 c3 \6 z" d. Y9 v L
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 s5 D! [/ b& Y- C4 F3 T8 E
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 V( U; o% r5 Z( }! \$ ?
}
& G; _* h; B! e) S; i" ^* N
}
' o" E s3 C8 ~* i/ o2 L1 _( T
}
1 `6 h1 u& S# w; @( Y
else
- ^; ^( x1 B, o- _* w4 p5 l
#endif
$ D8 I( r* T; ?# W
" j* ]+ t. j: R% Y! [
if( m_bIsIndoor )
7 c Y, M5 e% d4 b7 g
{
: C/ ~! u, ?6 C9 W4 d% B
if( pLight )
) m, t8 C/ e0 N1 f+ B3 ?+ n
{
- V% P. S2 ]# W6 i! \& m& m4 U+ [1 a
// à??μ oˉè*
# c: k7 @; b8 {, e9 ]1 W9 L, I9 w
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
1 L7 v1 q, G# q) f& k9 J
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
0 g' n, ~& j- [6 e& G* I
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
# J6 r4 J; E! k& I( }$ m" Y- l+ o
% S4 X& W( a; f
// oˉè* ??à?
/ g5 m) x x- F) Y% x: i
pLight->Specular.r = 1.0f;
+ y1 f9 A' `$ S4 w$ {
pLight->Specular.g = 1.0f;
2 `: `- x- S1 A% {/ I- ^5 g2 F2 c
pLight->Specular.b = 1.0f;
9 i' K0 J; _) y E; _, _, ~
// àü?? oˉè*
$ }3 I$ \: F# ^# ^" R
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 k6 a+ a# C6 A" H8 J* i
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
$ }; Q$ J* _' I) ~& N8 ]
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
4 \9 F) s' `# d; T* q
! P. [ Y; d7 e% F/ G9 O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) k# O; y. Z9 n' f& N
{
9 O# @# z( F4 o: }" n2 F* H0 U" {0 b
pLight->Diffuse.r *= 0.6f;
+ m1 ~$ u' H$ h( t) l
pLight->Diffuse.g *= 0.6f;
3 P5 @ |4 ?$ U- o+ `9 I
pLight->Diffuse.b *= 0.6f;
7 d- c% C9 N( [6 h V0 k
pLight->Ambient.r *= 0.7f;
z. }/ m+ P8 H' a
pLight->Ambient.g *= 0.7f;
+ x3 h7 n3 x, k; [
pLight->Ambient.b *= 0.7f;
8 I3 k1 o. q3 o4 z7 r
}
, m7 S3 _6 n, l0 D/ Q" v8 Z
0 ~/ o3 S# L, N5 s* E) S8 r
#if __VER >= 15 // __BS_CHANGING_ENVIR
% I9 Y, Y* q8 b5 Q# s
if( g_pPlayer )
7 E5 V( K& X/ D
HookUpdateLight( pLight );
" f( X7 e4 p) s) f8 ^
#endif
. ]' X G3 p( D( U) X" f9 `& N; U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# @( x; W4 r" |% H; L# g
- S- R3 w4 C, H0 G5 |! A+ s* D2 U! y
pLight->Diffuse.r += 0.1f;
% [0 r: a3 B$ n, ?
pLight->Diffuse.g += 0.1f;
3 J3 G, O9 Y0 ~4 [8 b) _( W. ]
pLight->Diffuse.b += 0.1f;
( s! m4 b* c9 f; Y5 O. O9 ]4 f. O& N$ h
// oˉè* ??à?
1 d, u) T* }) N$ e/ [( ~4 p/ p0 e) ?
pLight->Specular.r = 2.0f;
* i$ M6 ^" f- `- h( g( r0 a! P
pLight->Specular.g = 2.0f;
( _1 D: Z% E* c9 R D- U% T
pLight->Specular.b = 2.0f;
) _! Q5 O/ D H* N0 p8 R3 f
// á?oˉ
) c0 T4 q U9 o
pLight->Ambient.r *= 0.9f;
* N8 {2 S6 D/ i( a/ |: a; h1 h. i; T5 E
pLight->Ambient.g *= 0.9f;
* f, ?. p$ X0 G/ @
pLight->Ambient.b *= 0.9f;
. D; h3 @ r' b, A) @: h
: T9 x" R& n2 f5 E
memcpy( &m_light, pLight, sizeof( m_light ) );
! D8 x/ W7 j! s" `7 O0 e$ R/ }0 u
0 }" O/ _+ g: J3 }, f3 U4 l
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 ^8 |$ I+ u2 q2 k
pLight->Appear( m_pd3dDevice, TRUE );
5 M4 s) W; P% d0 }. V5 m
; u3 {7 ^$ N. ~5 Y$ m9 ~/ X
DWORD dwR, dwG, dwB;
) A# |' k4 A2 n1 _. h' Q& h5 M* x( _# I5 q, `
dwR = (DWORD)( pLight->Ambient.r * 255 );
- T8 u# Z7 n; A# }( H* q* D+ @
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 S) \$ Y! p I; Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
- B3 }, Q; `2 u/ P. \
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# X6 u& c& ~+ Z- `- _6 Q
}
& m$ E- Y! ~3 [5 I
}
- \9 ]' l8 k# v7 N: [
else
, o w4 Q, o: ?6 `/ N0 Q
{
+ M9 x1 o8 W" Q; d+ ^: {
if( pLight )
3 A( Q% D6 {* S/ T0 o. r5 A
{
1 k% v3 j2 y. [6 [
3 g. s1 [# \2 q
int nHour = 8, nMin = 0;
1 K% [2 H! ?" @1 d& T# v; v
#ifdef __CLIENT
S* h$ }2 v" d5 C0 {+ O
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. U0 \5 t0 c v. R
nHour = g_GameTimer.m_nHour;
9 @ O- F. E" U# S4 ~- H! y
nMin = g_GameTimer.m_nMin ;
: B+ I$ ^# p) A, f; Y: v
#else
/ H1 _2 V' H! Z z& V$ f6 ~
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
0 |$ p; Z# r. @' [: P! K
if( m_nLightType == 1 )
! M. Q7 C8 d- F' B# B8 ~
nHour = m_nLightHour;
3 ]) ~4 d( A5 f" W) e
#endif
0 `6 _. W$ R6 O
nHour--;
/ [5 W+ @( C; Q0 I2 h
if( nHour < 0 ) nHour = 0;
# Y9 a- g3 u, k/ n
if( nHour > 23 ) nHour = 23;
2 i1 m- _ K, z4 o! m. u2 E
% k N4 x/ G# P3 c% n
//if( m_bFixedHour )
9 h& Y1 R0 B( I: b( W( K
// nHour = m_nFixedHour, nMin = 0;
. n! Y* b4 J8 P$ _- B4 x! p
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 C$ Y# g& i9 {% E h; U. B
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
; v# d" \ F/ l# a. U7 T7 i; S: t: H
' M7 r" I8 t+ a9 d. _6 H9 M
//m_lightColor = lightColorPrv;
' ?7 K6 I/ W8 ]3 {/ \
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
' J0 w7 N: \; `: m$ I
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
! q6 }5 B* B& s
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
/ n3 y: D- a+ o# Y+ s" O
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
, ]' f1 x$ r- A/ Z# X
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
; v. c3 _% }3 i; E, C1 F% H1 p
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: ?2 V0 e5 @" x" \
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
* j% V! P& Q) i
8 J& E6 t! [6 e. U
// à??μ oˉè*
! T2 o* `' b9 x2 V/ q* s
pLight->Diffuse.r = lightColorPrv.r1;
6 e/ [& ]! x0 C3 {. ~, w+ u
pLight->Diffuse.g = lightColorPrv.g1;
; e5 c4 e4 H+ Q' v& h
pLight->Diffuse.b = lightColorPrv.b1;
, e& y; B7 v; g! {/ c. x4 ~2 u
// oˉè* ??à?
( P9 y, a* F; B: `% I4 w
pLight->Specular.r = 1.0f;
, d; r1 w0 a) L2 a7 P0 O
pLight->Specular.g = 1.0f;
3 K; G7 @/ O$ d& {+ p
pLight->Specular.b = 1.0f;
3 U! |3 z9 ~6 f/ e7 P- P1 v
// àü?? oˉè*
4 T; v/ Q: O; m% U
pLight->Ambient.r = lightColorPrv.r2;
+ j+ l& M* w+ I" G2 a) \( s
pLight->Ambient.g = lightColorPrv.g2;
1 F0 H& a2 x+ g' b
pLight->Ambient.b = lightColorPrv.b2;
* l" v) k ?, B$ k+ X4 N+ @
1 n6 J& O4 b+ ]% i3 R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. A# U2 c& g# \# T5 H1 \; k& I. l
{
1 `3 {" h2 x' g. W: a% j3 ^$ m
pLight->Diffuse.r *= 0.6f;
5 ]; X( n" b, W! I: T
pLight->Diffuse.g *= 0.6f;
2 v6 @: A# G9 {! W' W# _6 t/ K) ~/ o
pLight->Diffuse.b *= 0.6f;
+ s0 U% r% A* x _/ ?
pLight->Ambient.r *= 0.7f;
u2 x% M9 A/ ?" o
pLight->Ambient.g *= 0.7f;
4 I- m( r+ j: n4 ~, `$ y) {+ N; N3 z
pLight->Ambient.b *= 0.7f;
. @7 F9 S6 X9 g
}
. N @/ o8 G# c k# h, v
! Z4 L2 o, f3 R* _* X- N
#if __VER >= 15 // __BS_CHANGING_ENVIR
) l+ z; `; o9 e* u
if( g_pPlayer )
6 P) P3 `7 x5 j; ?) T/ P
HookUpdateLight( pLight );
! D5 @) c8 I, a, `" J4 z
#endif
0 C9 b g% b% |/ M6 B- ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& h) W4 d0 |% a6 ~( _* I: Y
9 t* L- L4 u9 n* y
#ifdef __YENV
L& V, _: L; p
pLight->Diffuse.r *= 1.1f;
. e/ `5 [& u' C$ Y3 Z8 x
pLight->Diffuse.g *= 1.1f;
; C' x, b0 m2 |8 Y7 O/ ~
pLight->Diffuse.b *= 1.1f;
3 k7 l' I& a5 D4 W- z
// oˉè* ??à?
6 w6 ]+ w& ~) E7 q& l# T8 q
pLight->Specular.r = 2.0f;
; j8 |* S* R$ X+ V) _4 \
pLight->Specular.g = 2.0f;
9 D- O# n$ p0 T; }8 l, A
pLight->Specular.b = 2.0f;
: T" ^# w/ {- z6 e
// á?oˉ
1 @4 `6 s( K# e( Z2 W: |$ P9 U4 q N
pLight->Ambient.r *= 1.0f;
2 b: s4 b5 I6 n6 l1 Q' g
pLight->Ambient.g *= 1.0f;
" k8 A5 C1 S: c! y: b! B8 ]
pLight->Ambient.b *= 1.0f;
' G S' _+ o+ w, \
#else //__YENV
8 p9 ]' O. i, P6 u7 _
pLight->Diffuse.r *= 1.1f;
0 h9 V7 `1 M5 A# S: {) W8 e1 h
pLight->Diffuse.g *= 1.1f;
- K& ~0 _$ Q, W% u
pLight->Diffuse.b *= 1.1f;
7 Y* `& l$ p+ |: [! b
// oˉè* ??à?
; n0 C1 [8 v5 ?2 n, ~
pLight->Specular.r = 2.0f;
4 f! p' p; Y; V
pLight->Specular.g = 2.0f;
4 m& T1 D$ b. G# M4 g% N' [
pLight->Specular.b = 2.0f;
( f) v+ L5 X# j7 Y0 Q
// á?oˉ
7 y5 Y _0 U9 V; ]% \
pLight->Ambient.r *= 0.9f;
) z, Y! j3 P$ A& @9 U5 x% \+ |
pLight->Ambient.g *= 0.9f;
5 Y4 R# X* ^7 m
pLight->Ambient.b *= 0.9f;
1 i+ I$ U: G% B' t2 t4 A9 ?/ v
#endif //__YENV
( G( o5 S% q! M4 |- ]! [! @0 T
7 Z6 M4 Q8 g+ c# p
memcpy( &m_light, pLight, sizeof( m_light ) );
% U" z4 m* T8 D* ]/ e3 c
, Y A. ~5 k9 r% @: b+ @
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 O* n2 V" u# U, r, F' W( Z
D3DXMATRIX matTemp;
% K! w+ h3 q* D }7 U8 G4 c
static const float CONS_VAL = 3.1415926f / 180.f;
1 u+ W3 c* O9 V3 G! ~9 C1 F3 V
: N' G7 w8 f7 G! I% E4 V+ l
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
, e# i2 P6 t5 t0 E1 u: _7 Q2 S+ `6 D
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& |' \" J5 f+ v+ z0 H
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 g. o6 W4 F7 z
pLight->Appear( m_pd3dDevice, TRUE );
3 A' L! C: m$ | i
2 u7 H% F8 H7 s) e% Q
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ J2 ~" f9 b% E1 r( T
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& H: `5 E5 K( }* X$ {
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 S; U/ G0 j- s4 B+ b" U$ Y
' @& ]& q3 E4 S8 G8 J5 |$ v
DWORD dwR, dwG, dwB;
% e0 X$ n" F& h! n
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 B3 y$ H( _# `4 U
dwG = (DWORD)( pLight->Ambient.g * 255 );
" ]" E; a% a. y+ h
dwB = (DWORD)( pLight->Ambient.b * 255 );
& D* h C L) @' X/ Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 s2 x$ B* o) S( D- y& O2 s
}
& L1 ^1 [- ~9 E1 k. J: F
}
+ ]* w# Z/ w/ c5 y- \9 t. Q& _5 p- }
: ~: i% ~7 |4 Z" n8 |7 i$ f
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
& X+ u6 `5 Y8 x5 M2 [1 g
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) );
0 Q+ F1 i) ?% C( {' `& @1 T
::SetLight( bLight );
4 }$ w9 c' D0 m3 `: z
5 e2 @9 [" }, o( h* C7 I! l
// ±ao? ?D?í???ó á¤à?
6 m2 z, H9 @; m+ q% t. {8 y
m_pd3dDevice->SetMaterial( &m_baseMaterial );
9 x2 ]% Y6 E( j
. I$ P% a; `7 U
#endif // not WORLDSERVER
! p _, z$ w! f' W: v8 X
}
( J1 T/ q ]- _( F/ I
并更换
5 l& u- a" P6 f+ K" l9 M
Code:
, W6 O$ m, C! x
__FLYFF_INITPAGE_EXT
& L' W; N7 f% @
定义
! w' m$ ]3 t3 N [: |& l
$ V" T' m* i' e: J6 u p7 g4 @
# K I' B4 |* z8 F! ?+ o# `# t7 X
" E) L& S- l& C" e0 G
2 ^9 ]- c' q4 i2 j8 ^2 f
现在终于删除我的狗屁加速...
: a* } A( j3 ^! o
( h0 v( ?- B) s$ Y$ F7 k2 S& L; X
% H0 M' m5 Z& P% o3 u4 {& J) b7 W
7 q2 u: U& r) @6 d- C! t
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2