飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
8 u: q" W. |9 [
尾翼:
0 S# u6 p' f0 W0 ]3 P) e6 ?
& x6 b- t* k: Y9 y4 k- W4 d
代码:
7 U2 J5 h) H$ h7 p) e1 W
CWndAutoFood::CWndAutoFood()
8 F2 p) W5 u7 M7 I
{
5 p! L6 s6 d+ ~
m_pItemElem = NULL;
) x# M+ ~: z1 j/ V0 n
m_pTexture = NULL;
* a1 a; v. G. M( E) q) K% G j! S
bStart = FALSE;
- ?* S3 @" C: {7 @% S$ K0 f) M
}
& D: y% {7 D$ J/ L' Q0 \+ B
) H1 k8 P0 H2 m1 E, g
CWndAutoFood::~CWndAutoFood()
5 ~8 e; e# r+ C/ T% @7 b3 g
{
" r$ u: T. Y6 c& y3 }
AfxMessageBox( "AutoFood ist gestorben
" );
6 R C' E) I# P* e/ q
}
+ C/ H2 U0 c! \. j; K3 n! s
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
3 ?2 A4 G, I8 I
{
( Y7 V6 D# W# u: }3 w
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
1 `" ]' K1 D0 M9 ^' l
}
1 L2 ? R0 j' b
+ |9 j; `! O3 L2 T7 S: b( q" ~
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" m- [( n2 i) m( O' d
{
& G3 W' G& }6 r% D: {" S. @
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( i' j9 H% Q1 k: j) @
CRect rect = pWndCtrl->rect;
# r. m) Y$ n! A6 ^
if( rect && rect.PtInRect( point ) )
7 J8 `- K7 }" t
{
- Y7 l' a- P) v
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
8 X/ d4 Z/ i! j9 `# C/ R
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ V- s8 Z( P J, K4 v
{
/ _7 V: @& c; o- f+ M, A5 z
if( m_pItemElem )
4 O b) Y8 M$ J1 k9 T
{
# W) l7 @. I* U0 f4 U3 E& A, z. E
m_pItemElem = NULL;
1 M/ \: P$ F, E; S. ]5 e* u
}
$ V0 k+ z# d5 Z
m_pItemElem = pItemElem;
0 g6 T9 Y: }7 ~
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 ^8 D% |, o/ n) m6 c6 H
}else{
: W0 Z8 b9 j: I& Q& R
SetForbid( TRUE );
9 ~* F0 a; s X# ~8 Z% g- s
}
: ^6 ]2 A0 K. ~
}else{
. |) r( A* }4 O8 H4 m: k8 s2 j
SetForbid( TRUE );
- _# f* _& g6 y4 k( i6 q$ u
}
. h) H3 X: W# i% x, E6 U
return TRUE;
$ F: l* [$ @" D4 A2 @; M
}
8 K. ]6 e3 P7 D- A( ^2 f, o3 |
3 W5 E+ V; {7 H* c* v, S% n
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% [; f9 l' i9 j& E. r, z9 J
{
9 I7 Z, I7 y7 m5 p, t
switch( nID )
; k6 P9 j' s+ m4 k# V: f: M# h
{
& U8 A) z& r9 @/ W( @
case WIDC_BUTTON3:
: P/ b5 ?- c2 F- B
{
" x1 U+ I6 w* ]) R: g5 K. q
bStart = TRUE;
R0 G. ~+ W! [$ b. i# m* T
break;
" Z9 J2 I( W# q: l
}
/ j: Z8 l; M w/ Y# @
case WIDC_BUTTON4:
# a# R* E: B7 g/ \ U' h4 o5 N4 x
{
* ?& o6 ?$ J- p8 }. [7 A4 \0 P
bStart = FALSE;
, x( q) ]) u: g0 Z
break;
$ c. h! q9 J, E$ K" g J: D
}
6 D5 H! y v. L
}
9 ?" q% A. R3 ?# P
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& S2 D- Z* C7 X+ j, ~- U2 j5 F
}
) c5 _$ g- e' P. g% y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ G. c( \6 y" D2 M4 F5 `: I/ e7 o
{
& C2 c+ x! s* t6 b0 r
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ `, R$ y) o6 m' g5 w- _6 T: u5 J( s
if( bStart || !m_pItemElem )
! H i/ S8 j+ |; b0 z- F6 o; S' X/ B
{
5 ~: x* X0 F! b ^0 k
pBtn->EnableWindow( FALSE );
E& N4 V' Q9 u6 t3 w
}else
- ?$ o v+ j' k& q5 c+ a
pBtn->EnableWindow( TRUE );
* T. c5 Q4 B2 H) Y' C, E
if( m_pTexture )
$ E7 m2 o0 u" T) u$ a- \$ w
{
: P2 Y; M* c' M: [' j$ j$ D
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ z* L( z: I- b: i: |
if( wndCtrl && wndCtrl->rect )
' E( q: c/ \, Y D8 t6 [" r0 n' X
{
9 r# U/ ^. A! T8 E2 l
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
$ @7 O8 Z% X s4 [0 C* V- G' y
}
- U% T% w3 I9 d; a
}
) P: w% [( ` Y: d ^
}
: ` |( F6 d; E: P0 }& U
7 d; z# q( u- a( k6 q8 R0 S
BOOL CWndAutoFood:
rocess()
" }! N& |2 T5 Q- G9 Y1 p, C6 T* `
{
& d/ O3 m: J( W: b+ s! U
if( bStart )
k% K+ ?$ D' |' E0 `( G9 H2 _: P! A v
{
+ b" t6 b1 M: w8 i* Z% G: @
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ Q6 O0 b# r6 [! V# A6 C x5 v. |
{
$ u0 ~3 h$ H; v2 j0 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() )
- e) C; D9 ]9 z: j6 z- u |
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
8 p0 c7 @7 Z" S; F3 w/ a8 U
}else{
. e: j: D9 u" ^4 s1 o$ L
bStart = FALSE;
6 ?/ E8 D& I+ b" ?# R
m_pItemElem = NULL;
9 h9 a0 O4 Y0 b* g3 e; P# J
}
- Z9 w! g8 n3 I2 P# g7 Y; `
}
0 d7 f0 f' h1 ?; c
return TRUE;
1 n- \ Y7 X/ Y. J
}
( N7 g5 P5 d! M
: |& [; w: Y% |8 V/ W
登录视频废话:
$ h n0 r$ q5 K# S* g z6 m
尾翼:
) J n% L: x) F; A3 Q: Y
/ g1 a* J1 k. P/ G# t
代码:
* C* \' `2 x/ b/ t
# i/ J& L C/ ^" S8 g% F3 B' b
void CWorld::SetLight( BOOL bLight )
3 }# c2 _. w4 i3 Z1 v/ y- j
durch
$ v0 i! Q6 X# G$ |3 Q$ F$ v; g N
Code:
; B3 E' }! R8 g( I( V: A
void CWorld::SetLight( BOOL bLight )
1 `& @6 ~* ^9 I- s
{
% b' S/ g( k/ L. |1 u
//ACE("SetLight %d \n", bLight);
4 z$ N2 ^7 \5 m% J3 H
: [; { r1 t9 @- {) c; r9 Z
#ifndef __WORLDSERVER
& ^7 p# a- k: l# D# k# l
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: U, o" p! m( z/ k
CLight* pLight = NULL;
4 Z: K9 q" Z6 C2 s% E$ K
; Q+ X: j: |. U- L0 r' k! u
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
5 K Q0 D6 t! O3 s
! h/ N' E3 ~: L( {" G+ v
pLight = GetLight( "direction" );
& f3 U/ y7 G/ `6 C, w& a6 e" O& N
5 J7 M6 [0 @3 v
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 ?+ P5 C$ _2 y7 A' o- W! \
if( g_pPlayer ){
* a! R/ l$ m! M1 i
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! X; _5 I! b" X S# A) u$ n" Y0 V! \
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
) J: L9 k5 ^1 N# z% }
{
# n+ A* n/ c0 a, s: K& @' P
if( pLight )
$ z$ k [+ b/ C' U2 x4 y
{
6 h! S* I' \) P' _8 T; u+ ?
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
1 c; ^+ i( w$ o$ N8 W, s5 [
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
: y) c9 A( S5 t( _2 N
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; ?- k) p$ R% W/ l/ q* H* p' [
3 L+ v5 p g3 l. ~" @/ ?
pLight->Specular.r = 2.0f;
# w$ N4 e( \6 r) x/ W& T! M
pLight->Specular.g = 2.0f;
2 U' ^6 l. x, n# O
pLight->Specular.b = 2.0f;
/ {" h0 V& f* X, {5 Q
# x% t) |' F! q0 n2 U4 B9 C
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
! p$ w# C# o9 l+ q+ V) `$ v" ]
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& h; v& ^3 `1 Z, C5 c Z: [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: l7 r: r. m% O/ |8 _% `
) N: Q3 e9 n5 S4 |/ |- \: k% o
HookUpdateLight( pLight );
$ a- _. f S6 h7 y5 e
5 {0 m( E: ~6 a& M3 a8 U% o8 d
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 U, ~+ z5 q( c& m. E" _1 G( Q
/ a: h# {/ U8 B, Y" [* @
pLight->Diffuse.r *= 1.2f;
8 W! f$ f$ J s. E/ Z
pLight->Diffuse.g *= 1.2f;
! M" i7 `+ w; K5 J9 ?/ R- {' Y
pLight->Diffuse.b *= 1.2f;
2 U3 _# [4 n* D9 i! y
! q; K% G8 \, [: h9 A( q
pLight->Ambient.r *= 0.8f;
! K' N3 [1 ^: @% c, \
pLight->Ambient.g *= 0.8f;
; Z( O- _$ w. J
pLight->Ambient.b *= 0.8f;
! B3 v9 I K& r6 C
" d4 y7 V' p8 t) Q7 M
memcpy( &m_light, pLight, sizeof( m_light ) );
5 ]8 p( G, z) D: L
! @5 j% C+ E4 o3 m. L
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ h6 O+ P5 @' L$ D1 \( E
D3DXVec3Normalize(&(vecSun),&(vecSun));
+ O4 c) l F$ j7 o2 x6 v
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
6 t0 u! J. L0 B- {( V0 m+ v* Z* o
pLight->Appear( m_pd3dDevice, TRUE );
# H* j& z4 q0 H7 c7 Z! G: j
6 s+ ~- [/ X0 Z! x
DWORD dwR, dwG, dwB;
% `+ A8 t+ W) P! \4 a4 I3 @
dwR = (DWORD)( pLight->Ambient.r * 255 );
" t( v3 X+ Z8 {& |. }$ S
dwG = (DWORD)( pLight->Ambient.g * 255 );
. ~. u( k. Q" k5 r5 L
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 K# A- }' Z$ Q) n* M& @
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# N/ m7 U6 j$ Z; V3 G- B
}
/ _3 M9 C) `6 a: {0 F2 ]5 f! ?
}
7 z( f; @. s- P- W" i( k
}
/ B: }/ j* q* ?; Z
else
% ^5 B/ B8 E$ g9 [: \ L& o- ^( Y
#endif
* P3 L9 u, i' X- |8 j) P
2 L ~0 X) V: z
if( m_bIsIndoor )
5 L$ }; g n' A( S" G9 q
{
/ d4 W/ m# g* c+ f: r
if( pLight )
* V8 h; s( P) b0 G- h2 f
{
+ c& q6 K* i2 l; l/ h. A
// à??μ oˉè*
# N( F* u7 X# G+ v* H/ Y+ W
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; E1 K! v5 Q4 [: T* \ N, G
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
u8 e3 y5 S q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
9 i. z4 j! O5 o. A( H
$ M% e- y0 r& C& V
// oˉè* ??à?
$ {/ C. j% J; F1 I
pLight->Specular.r = 1.0f;
6 q5 H1 @' v8 ~, ^
pLight->Specular.g = 1.0f;
3 E/ ^% F& k. F% K7 [4 C
pLight->Specular.b = 1.0f;
" e+ p' \4 j# L/ i6 z
// àü?? oˉè*
, b& h6 G/ G+ Y( X) x1 ?- t
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
) f% m: A$ E. j
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 \2 y/ P5 d' g) Q. P
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
M1 T$ D% c! |* |. I1 y
) P, y$ z1 O: Y4 _! K0 N
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! N7 a0 x1 r% a8 l( {
{
& [4 j4 H8 V4 i/ u$ Y
pLight->Diffuse.r *= 0.6f;
$ X P/ J f+ _+ E8 H2 \1 |
pLight->Diffuse.g *= 0.6f;
O: N- a" u$ o N. \2 d1 u
pLight->Diffuse.b *= 0.6f;
" d' G! B7 g! K& K9 r9 k
pLight->Ambient.r *= 0.7f;
9 L0 Z! F" v3 S! r
pLight->Ambient.g *= 0.7f;
' j2 Z3 @4 f, r) a% l Q) M
pLight->Ambient.b *= 0.7f;
( d1 q) S- c6 I3 p" z, R' F" u2 _
}
9 D" j, U+ H7 g4 H" |
$ B; v% l2 F1 K3 ^2 T$ x8 C
#if __VER >= 15 // __BS_CHANGING_ENVIR
: l3 Y! S+ o8 i# g
if( g_pPlayer )
0 ]* v( o. g/ s2 h
HookUpdateLight( pLight );
% b3 a' S m' B4 x. @
#endif
, Z+ i+ j+ b/ g& }( d4 e
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- c# N+ ^- w2 i$ C
: u- b6 G" F& ?
pLight->Diffuse.r += 0.1f;
% {3 a2 x7 n1 S' K9 Q* ^$ [: x) g
pLight->Diffuse.g += 0.1f;
7 e9 v7 x' Y/ s3 O9 n0 }2 V
pLight->Diffuse.b += 0.1f;
0 z, k, C6 Y% ~9 S
// oˉè* ??à?
* y$ K/ k+ Z* ?
pLight->Specular.r = 2.0f;
, G: \6 u' ?, {5 I2 N
pLight->Specular.g = 2.0f;
5 z- B* E! s8 i0 l, i7 C
pLight->Specular.b = 2.0f;
2 r/ I* O/ m) e( Z- d0 j* }
// á?oˉ
. ]2 a" J; R/ m& S. C3 ]
pLight->Ambient.r *= 0.9f;
@3 h& Z9 \0 l
pLight->Ambient.g *= 0.9f;
7 G% U5 u- J' q5 }# G9 Z; c! S
pLight->Ambient.b *= 0.9f;
+ Y8 q3 y- ^' A3 ~7 G+ |
' S4 r6 k* s7 k4 Z
memcpy( &m_light, pLight, sizeof( m_light ) );
" a8 p1 ?% c6 j) }) V9 c
) _. r: c+ T0 d; I2 N4 j0 W: Y. H
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
/ L! p) B |( ?+ H( Z0 i- j
pLight->Appear( m_pd3dDevice, TRUE );
) K+ u% k$ z0 y4 z8 N
9 a* G+ u- t7 z! A+ ~
DWORD dwR, dwG, dwB;
/ E U! r# [( }, f
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 b5 { x0 T: W& ^$ y3 E+ `
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 P7 Q) L, ~& Q0 E4 J; X4 ?
dwB = (DWORD)( pLight->Ambient.b * 255 );
! g. F$ X+ r6 i% ~
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' j/ E# g. f- U. ?5 J8 ?3 T+ `
}
9 j# z k/ }3 X
}
: b0 {/ X0 Z. o$ Z
else
O* }: l( o5 m, Q
{
" F4 f( H8 U; c
if( pLight )
. j# G, _2 [ e& J
{
; R$ D( V0 J4 H. k
& h, _. u* G( q+ P q2 }6 d
int nHour = 8, nMin = 0;
( k3 ~2 ^- P, ? q& w' C6 O! j
#ifdef __CLIENT
4 _+ D# ^: m; g
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ w# e! s: u! w+ z8 t# m! ^5 i
nHour = g_GameTimer.m_nHour;
$ ?+ R/ q8 r) T9 K
nMin = g_GameTimer.m_nMin ;
( f7 T4 J* E' D+ L" f& t3 t
#else
" g a+ ?. V6 t, T' }
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! I; W4 U+ R4 f4 Z
if( m_nLightType == 1 )
" S$ c E$ y6 G) f2 C N
nHour = m_nLightHour;
( f N6 Y+ Q& W: f& W3 _
#endif
- Z$ ]" i! T$ R4 W0 P, a$ T6 g, w; z
nHour--;
' U7 H6 D- h5 ?! E1 N
if( nHour < 0 ) nHour = 0;
9 B; M# q: ?" F4 X
if( nHour > 23 ) nHour = 23;
0 I- t# E8 L* ]9 |
2 M* ]8 K* H4 M+ g& v$ z
//if( m_bFixedHour )
8 N3 W" n% R; V1 I7 |& y4 l9 F W' m
// nHour = m_nFixedHour, nMin = 0;
* m( c% i6 ?* k6 N/ |( s
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
' x1 w4 |+ y+ \
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
, {* ?# i( \) a' |& O
: F7 @5 K6 i+ @9 X5 M. f
//m_lightColor = lightColorPrv;
+ @6 M& R/ q/ w9 s
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
c( e* S, U) |/ _- K8 l1 y
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
" J; }2 l2 E: K r) r( T
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* D6 z7 q; l3 y8 S' R! j
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ Q3 Y' U, ]4 W
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ U9 z+ J7 c* `. V4 p5 o5 u
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
# p$ [$ `/ Q" v$ F; y6 y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 q' o2 G( C/ {: k- @
- ?& N) U& q* W% S/ \- u
// à??μ oˉè*
( O/ a5 I h1 m# C/ B5 q
pLight->Diffuse.r = lightColorPrv.r1;
* R* i- m) { c% ]
pLight->Diffuse.g = lightColorPrv.g1;
! f0 Z' w/ {7 ], v$ g, P& J
pLight->Diffuse.b = lightColorPrv.b1;
) p4 B, \9 w9 O9 q- O7 S
// oˉè* ??à?
* C6 P2 Y g1 q D( f/ v* `. Y! b
pLight->Specular.r = 1.0f;
% c; Y3 }- I9 q: q1 ]9 w
pLight->Specular.g = 1.0f;
7 C1 I3 C7 d- U8 f* p2 C h. R
pLight->Specular.b = 1.0f;
; S9 w. R3 u( u9 u
// àü?? oˉè*
9 N; \* N7 B# I
pLight->Ambient.r = lightColorPrv.r2;
( N: b- S6 I$ J' D# k
pLight->Ambient.g = lightColorPrv.g2;
3 f/ c/ G. ^. \9 M& A2 L& a
pLight->Ambient.b = lightColorPrv.b2;
* Y- d6 z0 D, A$ W
* a- K; G& L4 o; ]* q; _0 V4 O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
5 P2 U5 Q8 y( n- [3 t( D. U
{
1 V, A. W- L6 K# e
pLight->Diffuse.r *= 0.6f;
+ l2 h& _5 S3 c0 j7 ?' C
pLight->Diffuse.g *= 0.6f;
6 p1 }2 Z5 A0 h$ |. ?, p! m& T/ @
pLight->Diffuse.b *= 0.6f;
* H* a* _) S- c# V
pLight->Ambient.r *= 0.7f;
5 \! Z: ^7 r3 d$ b% O0 I. y
pLight->Ambient.g *= 0.7f;
# u4 V) f! @/ E$ x* `( I* M
pLight->Ambient.b *= 0.7f;
: i0 a& X6 [% \: t- {
}
3 P# x- M; N2 P s- G; f* T
1 _' \, w' o' N& w& W7 m
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 ?6 H1 q: _9 y% v( P$ v
if( g_pPlayer )
0 f8 `; ~5 \+ O6 E% o3 R9 |9 {
HookUpdateLight( pLight );
0 \* r' L* O1 P- e' \* B& A0 ~$ d
#endif
; i1 D' P8 ~2 v1 r7 k9 F& h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 l& Z7 m" Z' ^* M& {; J) ^
$ I1 d% a0 t: V: D( T2 x; U9 n
#ifdef __YENV
/ ^0 a% m6 Z5 d- S2 V& H* a/ N* H/ g$ m
pLight->Diffuse.r *= 1.1f;
- f( M+ [; ~5 |; H3 t
pLight->Diffuse.g *= 1.1f;
; R2 D6 W( g! N# T" u
pLight->Diffuse.b *= 1.1f;
5 ?# r s- v5 {: V1 O9 u& V0 f: r0 i
// oˉè* ??à?
8 t! p* f& P) ]" ~7 s0 `
pLight->Specular.r = 2.0f;
. D/ [. ]2 `1 g% f3 F
pLight->Specular.g = 2.0f;
* V) W3 v' H/ h9 Z) L' }4 B, m8 ]' A
pLight->Specular.b = 2.0f;
6 P* w" k( d3 J7 D R& f
// á?oˉ
2 y& ]$ ?4 m7 m% o# B4 v6 a# s
pLight->Ambient.r *= 1.0f;
/ `/ P2 i& ]" p) |; P; m! E
pLight->Ambient.g *= 1.0f;
% \! d. T" b* `9 ]0 _2 Z0 E
pLight->Ambient.b *= 1.0f;
3 ~0 {, @$ N" v, \, x
#else //__YENV
( h( G) D& @1 t7 |
pLight->Diffuse.r *= 1.1f;
$ g7 d2 q2 V% f% U, x" @
pLight->Diffuse.g *= 1.1f;
/ y, G5 N9 |/ E1 ~* ?
pLight->Diffuse.b *= 1.1f;
! h/ v' U3 r5 g
// oˉè* ??à?
) L* I. s% e0 i u/ ~2 V0 n
pLight->Specular.r = 2.0f;
# t2 A! z5 N* ], R% d5 A6 _
pLight->Specular.g = 2.0f;
; @+ N, C, b! Y4 \
pLight->Specular.b = 2.0f;
: j; M: D' j" E! K+ h6 N+ X# `
// á?oˉ
% L- y( Z9 _, f
pLight->Ambient.r *= 0.9f;
! `* |. s8 W' ]2 u) N c% U
pLight->Ambient.g *= 0.9f;
4 S7 K+ I- N5 z
pLight->Ambient.b *= 0.9f;
1 W8 {, @( c8 R& |% N
#endif //__YENV
% x( e5 T0 J% l3 t. Q9 i4 ^3 `
0 V- L5 A* o8 w3 k( e4 H
memcpy( &m_light, pLight, sizeof( m_light ) );
4 i! `" D9 Y! C% B0 L2 i \
" ]! q) Q6 L% d, k {; D
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
2 m0 D- n0 [: Z/ g- e. ^. L
D3DXMATRIX matTemp;
) V0 Z! w$ T- o+ g3 \# Z) Q2 i8 q
static const float CONS_VAL = 3.1415926f / 180.f;
7 W' [5 d( @, [# F
0 N4 b6 ]$ T; @6 ^1 N) p x
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- X7 S4 n% j" i3 t/ }; |
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 V% X9 s" t) A- l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
$ r# s* i) ?- z
pLight->Appear( m_pd3dDevice, TRUE );
4 n. {! Q, A/ N% f0 W; y5 M9 e) E7 J
F& h' u' x) J, S8 J' e
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- B* h% W- t1 T% Z' S
// D3DXVec3Normalize(&(vecSun),&(vecSun));
# @$ \* P7 w( O5 W& _* G
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; @$ ~- \1 [" T6 P! s
6 B( o9 g; a0 K8 Z8 |
DWORD dwR, dwG, dwB;
2 i7 i1 F' ^1 U) W% y2 a3 Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
* Z0 j/ @2 K: W/ t$ j3 O
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ @4 [% ^" ~ b9 b, f; F
dwB = (DWORD)( pLight->Ambient.b * 255 );
) q' n* x. h' f; t. u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 E0 n( g: W3 \: _) j6 P5 b
}
3 b+ `) E T0 U, Q: _- p! Y8 T
}
5 Z2 ?4 |$ d% v6 a2 E* L& C
9 O8 h- y" U5 J, m) K+ l
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
9 @* g) R3 h% `( t& 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) );
" Z6 y% P9 C$ F( S
::SetLight( bLight );
2 N* \0 y+ N' K1 {: t
7 S( q8 X @) Y6 `9 _0 s, R: t* r
// ±ao? ?D?í???ó á¤à?
1 @5 b# p; M& s; H* H" d, d. ^
m_pd3dDevice->SetMaterial( &m_baseMaterial );
7 H' M r7 A. G1 H( o
7 \' N" H8 t. `; M4 `
#endif // not WORLDSERVER
: {/ |. J5 l B& e
}
) J3 }) C, v$ ]3 d0 K6 E
并更换
! n. F" b |" u( I& h- E
Code:
8 C" f+ C" e* a# \3 D: `) P% N
__FLYFF_INITPAGE_EXT
' O, O4 \* I t4 _
定义
: w5 v4 R% q$ i- F& v T+ w
4 W6 o! j) m5 \
/ g; x$ D3 D# ] N+ `
7 k! f% E8 c: B8 Z
( [6 {- ?3 T% X3 N( l% m% G
现在终于删除我的狗屁加速...
( O- L$ U# D6 V |+ ]! p
( g J h- ~. k* m& Z4 R3 }
! y6 Q6 L$ g, {* f5 ~, ?" g3 G
% Z# g0 @: y s: W2 ~/ d
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2