飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
* s% x( \% x' b9 ~
尾翼:
1 Q8 h3 [1 ^% m4 {: d8 i, M; z
7 B4 W/ X2 v" y" ]" o( T" }
代码:
8 Z# U- p0 z4 ]/ N
CWndAutoFood::CWndAutoFood()
) m) A8 Y$ M4 I
{
0 a2 E0 @& J6 G1 r( k. T% k+ N# Z
m_pItemElem = NULL;
3 d+ m5 `3 V: u4 D/ a
m_pTexture = NULL;
/ {. R- B. ]; i6 B d. S" F. Q
bStart = FALSE;
7 |. b4 @+ B7 ~' S" m
}
! T+ |) [7 I5 {1 o* A
$ ~; K/ } u$ K
CWndAutoFood::~CWndAutoFood()
5 s" i; ~6 C% E, q: w( ~5 \
{
) Q& M4 g! E, X
AfxMessageBox( "AutoFood ist gestorben
" );
) g. u7 e" [) L
}
) X+ o% V8 o0 V7 S I
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
) K( C4 @$ _! ~; R: ~2 e
{
% @' v7 K5 ]7 c3 Z% b6 ]
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; u% \! ~# P8 |$ ~
}
% s& f* N% O% T( I' G1 U* k
, C2 F& H) {' q
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" X, ]4 [+ g- I' K0 J
{
2 u9 B' m- c5 m2 Z7 k; c) `& }& r* C, Z3 h
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ P# N2 E3 e t6 N- J. w% p% v
CRect rect = pWndCtrl->rect;
+ m/ |) @0 E$ W7 J- @$ ]8 l
if( rect && rect.PtInRect( point ) )
0 S; |3 K0 {9 t2 o0 T
{
% n3 i/ ~1 y1 ]9 {* N7 j
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( x4 g8 F6 B2 a5 l0 p2 r0 r
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- F, @6 f. Y; c' Y6 v7 j
{
) S ]3 @ c ^. J+ P) x* z4 m
if( m_pItemElem )
2 u/ y' T: c1 \: j1 ~% S: i
{
1 }8 O$ W8 c% t' A+ ?( u
m_pItemElem = NULL;
% H5 W2 V3 A; R) L1 R. p
}
$ _ r- R3 V% i2 B7 ?
m_pItemElem = pItemElem;
9 Q' D# x( f% o4 T4 c# V0 D! z* G/ T; m' ^8 U
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 T/ P8 O8 w& h4 D+ O. ~( T8 X
}else{
( ], P# x: Q8 \! H. g4 Z
SetForbid( TRUE );
' B1 B7 P% c# Y V# P" u
}
. ^8 i3 p( X6 e+ k$ l2 h1 i2 F
}else{
) l- F- d( l! Z; B; Q8 n# z9 V
SetForbid( TRUE );
/ G' ~8 _% }1 t5 j A+ f
}
! l" n) U+ [8 u( j/ E6 ?4 s
return TRUE;
9 }5 ^1 v* t% y; j3 R, g
}
( ]: Q% O3 m# Z$ y) ?% P
# `7 X5 O, A$ R. N
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! b* D5 a) b* y3 O
{
- p; y8 M* r1 n+ G* ]: h
switch( nID )
6 s8 {0 m% U( V
{
) Y5 y& f4 q9 m7 A$ b. t1 y
case WIDC_BUTTON3:
- F; U5 M3 V. I$ h+ E
{
7 M) F7 s' g3 b* e# x* C) B2 {6 }
bStart = TRUE;
, A& s. k9 a# w$ ^' r) o2 g
break;
3 ~; Z2 N' i9 X4 h
}
3 L/ |3 \9 L! P+ ?/ A# M
case WIDC_BUTTON4:
) ]2 [3 ^# F2 i5 }# Y3 i
{
! B6 u4 Y0 t- U6 O' z- l
bStart = FALSE;
% Q& y; ` ~" |" L
break;
5 O! A" Q+ @9 @! `; Y6 @. N, s
}
2 O7 X6 W# Z+ \( E% P% i
}
" \1 k/ |+ N2 t( W1 d+ T
return CWndNeuz::OnChildNotify( message, nID, pLResult );
: y) `) j$ Q3 U/ p* c
}
/ u. E1 V# F# S& a2 b
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
) u7 \' F( r4 q) @$ q% c. E
{
; L7 n, g; M# e% F
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
& \8 N% C: R! ~( O' @- N
if( bStart || !m_pItemElem )
) t3 @* |- |; ?/ W9 U4 V0 u; f
{
7 p& P! i6 l: ]( k* k
pBtn->EnableWindow( FALSE );
O+ }# c, L) f7 @) y7 U. \
}else
, ^- a8 }$ V* ^- R8 x
pBtn->EnableWindow( TRUE );
2 B) \1 h6 d% L- L
if( m_pTexture )
& |$ _) O% U% u! m+ C" W( |
{
+ x' b5 Y5 y/ j8 `
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 m$ M$ E4 k2 C4 c9 r' ]' N4 i
if( wndCtrl && wndCtrl->rect )
, |" X- F5 {- `2 ]/ W3 h
{
4 S& i4 r' l! l4 u) O7 s, Q) M
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
; V2 m9 @5 b5 U) Z
}
( {. O$ D3 C. A) I' U Y! r
}
8 M& B- `2 P3 ~
}
" q$ F5 E, [+ V
6 J7 f5 Y: u1 m }
BOOL CWndAutoFood:
rocess()
% a; {4 B, L( U4 U9 Q: d
{
' V( F& q4 [" f: K5 e/ O
if( bStart )
) D, P/ b3 Q( S, N0 `+ {7 N
{
% W, F5 L& ?9 n
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
5 c1 L; Z) ^4 {7 ]. ]9 Z
{
) U% J+ z: ^, a/ }
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" q O/ l0 z/ x5 i4 u
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: ^3 z2 D9 o2 C$ w
}else{
/ Y$ Q( ?% f: Y. N4 A- w# b- [
bStart = FALSE;
- \( M- V1 o0 `& B/ i8 w
m_pItemElem = NULL;
0 q- g* M2 H$ y8 U
}
3 Q3 z( o/ g$ O! R& c% a
}
- `+ K2 N6 j9 u8 C% O
return TRUE;
$ B+ h1 n9 ~& _. ]
}
% v2 ^9 I4 [8 W! j* o1 i
# T' ^. Z3 ~6 m
登录视频废话:
. b# ~$ q, Z m+ a) g; }$ w
尾翼:
- d8 p8 f h0 P3 y0 q
# `7 o/ r0 F1 ~% Q, A' ~
代码:
- f% `$ N7 M5 @
4 r1 m4 F/ q+ m+ p; ?
void CWorld::SetLight( BOOL bLight )
/ s+ ?. ^' q9 {% ^' X* d' _& F
durch
0 T; x& s( V4 n3 ]9 W; \: A" R
Code:
7 D- F7 m1 o# P2 c& d7 Z' F
void CWorld::SetLight( BOOL bLight )
, R2 s9 E3 E/ v
{
% V9 R4 ]2 @7 ~- k5 Q# E5 }
//ACE("SetLight %d \n", bLight);
2 R' J- l0 V! [% O) p
' c+ e) l' `9 [7 C5 _- P. t, N
#ifndef __WORLDSERVER
2 `7 n1 Z. l6 d' O! Z9 w9 N6 a
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
' Z( `: i( _6 b: N6 r
CLight* pLight = NULL;
& g+ r1 f* o- B3 M
9 u, C+ F3 _# ?
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
: m6 w. y# e6 {# e( I$ F, g
x6 i) l* @5 P, a0 ]
pLight = GetLight( "direction" );
5 Y O- R" ~' H& n6 Z
( j8 A2 y6 ]3 e
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 Q# H$ L7 l0 {% m* L! \
if( g_pPlayer ){
) ]5 }; F2 w' M# w" B# {+ u2 w/ ~# @: n
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
# @+ D) }/ b5 R% b! z
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! v$ G/ ]" n# E% n: J
{
) a5 ^4 n" Q0 t) Y# [& ?( @9 a
if( pLight )
/ X- s% E3 e$ f0 z1 G
{
s# L0 b8 Y) J; ]- Y, r
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& b8 a3 e$ X9 u
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
0 k/ l1 v0 J1 D1 e) v6 P. J/ z
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ H H, v/ d! N
4 g! o: u& K7 r" a+ d) e( c5 C
pLight->Specular.r = 2.0f;
2 F; X# Q/ i5 y
pLight->Specular.g = 2.0f;
, s6 R" E9 x% y: u
pLight->Specular.b = 2.0f;
: E( l. Y8 z' I8 x( p" V
2 e3 O C3 R; K! i# }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
. n- p4 j0 \! ]7 @
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 P; S1 V4 u3 D9 R0 `* N: F- c& Q
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
: ^ d# ]: p1 j
: T" |6 F) D0 X2 k1 k- I# A* [
HookUpdateLight( pLight );
* l2 k# u8 x4 B; f
- x4 L! l* f8 f$ m |- M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 V$ C7 Q2 y0 L, [. ?+ V* Y
2 ^1 i- ~' S+ v+ m* q7 o$ G
pLight->Diffuse.r *= 1.2f;
+ D. q) i! ^: U) w$ |, u
pLight->Diffuse.g *= 1.2f;
3 P4 d! T! n$ ~" ^0 Y, D
pLight->Diffuse.b *= 1.2f;
9 I9 ~( Z4 l+ N$ W
' a1 S% B" {& _( \ N) @& m) c
pLight->Ambient.r *= 0.8f;
u+ i. J/ t6 P! @
pLight->Ambient.g *= 0.8f;
7 k& Q8 {" T1 ~9 V
pLight->Ambient.b *= 0.8f;
" P! M. K2 U& V) s
( o, J7 I4 u* W9 W+ t$ X
memcpy( &m_light, pLight, sizeof( m_light ) );
* |& X# o* j! ~$ V- ]' X- K$ F
5 m; E5 ]2 Q: o; B8 L8 Q+ |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( ]9 Y% }, t/ [6 C( P
D3DXVec3Normalize(&(vecSun),&(vecSun));
. p" u1 D- \! F+ ?
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 k: ^) C$ L: d
pLight->Appear( m_pd3dDevice, TRUE );
; B0 G+ P$ P; ~: _2 R, Q6 U
; E# i. ]1 Q* `$ M
DWORD dwR, dwG, dwB;
; X2 \& ^& p$ c! @: b- k* {6 m
dwR = (DWORD)( pLight->Ambient.r * 255 );
, h( l- @* D+ f% D9 T
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 f- n. Q2 y0 W2 ~& e
dwB = (DWORD)( pLight->Ambient.b * 255 );
) Q6 t4 W) Q0 \0 z2 v3 c8 }
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 J& \% g' Y6 P# S
}
2 A4 H: e i. Q1 K0 Z: Z) O% n$ l p
}
9 p0 t3 o4 x9 X% X7 V/ ]
}
+ p& t( V9 y2 i3 e6 B: e% X5 p
else
9 I" I! L1 b! B5 i5 @' a( ~
#endif
- { g$ ]: X, e$ ]# }
6 a% K, l4 O4 \5 J
if( m_bIsIndoor )
4 E. u: D6 i" {! `( u+ @5 ]- p, k
{
; N+ z: U! P' l7 O, Z
if( pLight )
3 A+ z# j# i3 @( V; s& i- J2 x
{
8 E* B' D9 J0 `7 Z$ w. y
// à??μ oˉè*
# Z8 V; I6 c) o1 ^8 ]
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, B0 H4 u; `7 h% D) @! O9 @
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 V+ h6 F8 i$ R. N: J
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
! g# C! t/ K0 G- X% w$ I& Y
/ {% H/ c; f2 f
// oˉè* ??à?
2 z G) _2 B% R; m: ~
pLight->Specular.r = 1.0f;
; L& ^1 q5 ~. k8 }0 V; r& }
pLight->Specular.g = 1.0f;
R1 K5 T& u3 @ m/ t( l( N% z; O7 H* S
pLight->Specular.b = 1.0f;
' Q" X, ~3 K/ _& h) N# g6 W
// àü?? oˉè*
, L- X7 R' |5 {5 P% g# v
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
# H* S! z5 c5 |, |. X
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, \( @8 S/ ^) Q6 \
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
9 b/ N7 H, f7 D+ E
; l9 V! W! o* v/ `
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! l1 m9 ~) w9 |1 X, r
{
/ k+ a$ C1 m4 M) f9 V3 w% B
pLight->Diffuse.r *= 0.6f;
- e; ]5 n5 @6 z
pLight->Diffuse.g *= 0.6f;
& n, ^ \8 T5 t; R7 h+ M5 |: ]
pLight->Diffuse.b *= 0.6f;
' Q4 R. K/ d2 E' L# e5 v2 O8 U
pLight->Ambient.r *= 0.7f;
2 L3 ]# e* g5 j+ Q8 y' ~
pLight->Ambient.g *= 0.7f;
+ w6 f/ R" _% R8 G
pLight->Ambient.b *= 0.7f;
% B7 n+ s, M% x. J J' G1 E
}
/ j9 Z7 z. H- [0 D6 n
) W/ }7 P3 K& k0 f7 K6 K# |+ ^
#if __VER >= 15 // __BS_CHANGING_ENVIR
! {2 q! u5 G# S& n2 M! |- F% J. y' W
if( g_pPlayer )
$ ~) E# `* I* }; a. ~
HookUpdateLight( pLight );
9 G$ Y+ [8 X. \2 S2 a5 y% u) |
#endif
3 G3 z& x2 q- m6 w5 I/ @' o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 h" ]6 G. M7 R4 E
, q& J1 r) P2 ^6 f( q8 E
pLight->Diffuse.r += 0.1f;
/ F3 R5 G- D0 g, F0 z, F8 W
pLight->Diffuse.g += 0.1f;
% d+ H8 ]4 x! g3 u) \# z
pLight->Diffuse.b += 0.1f;
4 H* ^# B; l% |) Z2 E Q" q% R
// oˉè* ??à?
! C7 k6 @. L, T4 ]/ F! `
pLight->Specular.r = 2.0f;
3 ^2 w5 J4 z! R4 h1 I$ X) t( y/ s
pLight->Specular.g = 2.0f;
' I& Y) g9 v+ ?# `
pLight->Specular.b = 2.0f;
* Y, I9 a0 W7 v; O# u. _ {5 q
// á?oˉ
9 T( K9 j; X' e8 K R$ w
pLight->Ambient.r *= 0.9f;
9 L# \* W" F, {1 G8 j7 U
pLight->Ambient.g *= 0.9f;
3 t, r* |( I" Y
pLight->Ambient.b *= 0.9f;
( W7 _5 @9 W8 G% v( O
3 j! ] u1 k0 c# _! X. n3 c1 e- x
memcpy( &m_light, pLight, sizeof( m_light ) );
8 N& S; @4 q& q2 K4 I
8 y/ ?3 E$ S5 P) E' F7 w* z
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
" x8 W/ j r$ Z+ ?- d
pLight->Appear( m_pd3dDevice, TRUE );
. l1 D( o" L+ l& A0 I& {
, k) M3 l8 A& X3 T6 b
DWORD dwR, dwG, dwB;
" n ?8 }( Z- I) ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
. ~0 D3 y* t. @ ^, _% ~0 n
dwG = (DWORD)( pLight->Ambient.g * 255 );
* j- Q8 b- N3 E6 R3 V% d5 R
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 J) H0 V% s% b$ A S K
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 d2 Q( Q/ H9 W' l! v; w( g7 w
}
: K, G2 Z$ D: z3 g, I
}
4 {. g9 [% v( L+ Y+ \% S
else
6 i1 A6 a# O% ~7 `& J
{
% f& I. Z0 O: V7 _4 Q9 I
if( pLight )
. F# |0 _$ }9 f3 t) w
{
" n+ `0 ]/ v9 G3 x0 q3 p" b
6 y' ^' x2 w* n) L, s
int nHour = 8, nMin = 0;
+ L; G0 C$ @( ^1 B+ f! l, ~
#ifdef __CLIENT
4 i! n8 g) ^3 s
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
* E0 D$ V3 ~/ \: J1 b& ^7 L
nHour = g_GameTimer.m_nHour;
* P( u; x4 Y: Y& C
nMin = g_GameTimer.m_nMin ;
& @; Y) ?7 ~, ]- y- o, h
#else
* _% A: x3 ?) M, U
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# Z( c! g5 f/ F/ Y7 @1 G ^- a
if( m_nLightType == 1 )
5 h9 K3 U' U. x( \
nHour = m_nLightHour;
! I; ?. L" m" D8 ]) P
#endif
2 C7 i1 i. W2 }$ H9 Z/ U* e2 U4 n
nHour--;
' c$ |; |( Y. w. M8 y7 I
if( nHour < 0 ) nHour = 0;
% u( R2 y0 V( \1 K: U' |- |
if( nHour > 23 ) nHour = 23;
5 d- v+ s1 f$ O* A$ H
; A5 X+ E9 r. @' S
//if( m_bFixedHour )
% P- g P5 L% H" T
// nHour = m_nFixedHour, nMin = 0;
t+ b0 E; B0 k1 O$ m
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ q5 Y9 H, l; a$ b, d7 Q9 f
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
`/ F& |( V) o2 S$ ~7 w4 {7 M
3 c' B1 w9 B" b; M
//m_lightColor = lightColorPrv;
1 x) ^: o8 z9 q6 D
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
$ @: ~; q9 X' l7 ~
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ A- Z/ _4 T0 S; M; A. [
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; c1 Z& e: l9 `$ ]8 q" O
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
6 E8 P5 C# U* V3 ^% ]1 S: L
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( c, I, i* U! D: i# u4 }/ n6 Z
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
( W9 j, k" I9 I3 u" y' z
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
$ E# F0 M8 O* y8 _% Q6 V% ]
: H3 M( L4 Y, S* J* ~
// à??μ oˉè*
# J9 B$ P5 w1 R. l* S' Q7 ~
pLight->Diffuse.r = lightColorPrv.r1;
7 d; T( m6 Y6 Q# Y0 J- M3 D
pLight->Diffuse.g = lightColorPrv.g1;
' B7 A4 @9 b+ m3 o( X
pLight->Diffuse.b = lightColorPrv.b1;
4 W$ R5 v- d# p/ e0 I- e
// oˉè* ??à?
0 K4 s6 o5 U- }6 t0 G$ J: G# @! S
pLight->Specular.r = 1.0f;
; f5 p3 I T% |- Q: W
pLight->Specular.g = 1.0f;
! |) A h6 @" x4 \" T
pLight->Specular.b = 1.0f;
# T- {4 e# D7 {1 {* N# m* S- G/ w# O
// àü?? oˉè*
5 U& y: D% Z' W7 r% B( q" d
pLight->Ambient.r = lightColorPrv.r2;
3 X0 V4 l: l& F. o' _
pLight->Ambient.g = lightColorPrv.g2;
* w" N6 D% I$ N% A5 z, \& H
pLight->Ambient.b = lightColorPrv.b2;
- [: `' |& P* Y0 A" Q
8 @8 h& \0 O( K, g+ w5 u
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 B U) U$ c! m( S+ x3 t0 X( `
{
1 k" ~ d( u( R! m! H
pLight->Diffuse.r *= 0.6f;
8 `( I# L. c% s% J% d6 W' D, ]
pLight->Diffuse.g *= 0.6f;
9 u# m' b1 u5 v. V0 {
pLight->Diffuse.b *= 0.6f;
, C* y1 p% X* d3 z, ?; Y( t
pLight->Ambient.r *= 0.7f;
. s, R" i- n4 |) p9 P+ O
pLight->Ambient.g *= 0.7f;
. y3 a* q% G& w
pLight->Ambient.b *= 0.7f;
. l1 H( i0 i0 Q) d, G3 ?
}
$ C) F$ R0 E0 E) j1 i, [: F
_4 V' p$ J/ F. c2 O- N! ~7 w
#if __VER >= 15 // __BS_CHANGING_ENVIR
. r0 D( K! ^+ p
if( g_pPlayer )
" ]0 p' X5 Z% ^- R
HookUpdateLight( pLight );
& B3 S: _0 F) C: i Q
#endif
, I3 l! Y0 ?3 F. g" f& P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 z+ ~1 s: o" y1 i6 g
" C$ t% v3 g L. B& `: W
#ifdef __YENV
! [$ B4 _* F% }4 w8 U' N/ G5 ^% o
pLight->Diffuse.r *= 1.1f;
' N; F2 V9 j3 E5 S2 i
pLight->Diffuse.g *= 1.1f;
v5 L) y& q: a$ L( V4 ]
pLight->Diffuse.b *= 1.1f;
2 I7 u; H9 z. g$ U) X
// oˉè* ??à?
9 ]. x: k0 F4 `) T; P
pLight->Specular.r = 2.0f;
1 w% E( ]9 H% w( i
pLight->Specular.g = 2.0f;
9 P/ c \' @8 ?( ^9 H
pLight->Specular.b = 2.0f;
8 t6 L1 C. G: ?
// á?oˉ
5 e& \2 f. z+ Y3 H
pLight->Ambient.r *= 1.0f;
1 a9 n/ s% L: T' b' F) b
pLight->Ambient.g *= 1.0f;
6 X( F% X; v+ j: @. W, x" O
pLight->Ambient.b *= 1.0f;
5 T$ M: Y% @' V) Q9 @3 f# L) t
#else //__YENV
; t+ y/ h: x$ S# ?3 _% n9 S
pLight->Diffuse.r *= 1.1f;
0 r _& U r, @# j; D# x% s
pLight->Diffuse.g *= 1.1f;
$ o" y) b0 u- e- F! U; e
pLight->Diffuse.b *= 1.1f;
! A4 @4 U+ u. \7 K4 N
// oˉè* ??à?
& ^8 {- @( Z3 C& L
pLight->Specular.r = 2.0f;
6 G5 n6 W9 e3 D5 b& U
pLight->Specular.g = 2.0f;
8 n; g- \0 M6 o: x r# H
pLight->Specular.b = 2.0f;
! D& O/ E: A A" @$ a1 t) h
// á?oˉ
: M6 u: T' a$ s1 X
pLight->Ambient.r *= 0.9f;
: _2 t( Z( P: {) X+ z6 }
pLight->Ambient.g *= 0.9f;
0 P- t. Z$ G" e" ~
pLight->Ambient.b *= 0.9f;
" Q/ J: \) L9 o8 G! B
#endif //__YENV
& S% F5 Q) X. A4 a" ]' m& W p6 s# U8 f# @
6 C3 ]6 E7 x9 N- p9 A
memcpy( &m_light, pLight, sizeof( m_light ) );
. A! v+ L1 N! h
: ` R+ ^" u7 w$ j+ c& k* d* ]& `4 \ i
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& P. ]$ X% D1 S1 ]4 K
D3DXMATRIX matTemp;
+ J9 Z' @- f7 Z0 X/ E
static const float CONS_VAL = 3.1415926f / 180.f;
5 z" l$ r- z1 |" J) B- [8 j: M
+ f- q z- _! v
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 I/ S' D/ i: a8 H9 a
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 D; u( s, ?& Z& g2 v2 t+ |
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
; e+ S' ~5 L4 J
pLight->Appear( m_pd3dDevice, TRUE );
1 a0 c3 |2 `2 K5 a1 V$ f' [
) u/ M# n- _. g; O2 m6 M9 P
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 C8 _3 }. u! {: P& K# z7 H
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ S8 ~0 X8 H. P- s ^' ]' R1 o
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; g7 Q8 q" ^9 X2 A
1 v8 o% i; x4 u( S0 t
DWORD dwR, dwG, dwB;
- h' H# W c! P; S
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ p2 J m) @. I5 S4 d
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 q1 e* N! n. A& D$ ^- n- G! K
dwB = (DWORD)( pLight->Ambient.b * 255 );
# N% K4 R4 M. `" C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 n) ~) B& m4 F. f! U, j8 \) [8 C0 B
}
! @& _2 U9 e: \% x3 |
}
) _2 u) h- s! ^ D' _1 v
7 ?5 Y% r' e# R. y5 b% Q ?4 j9 y
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* s* w$ \- R4 j
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) );
& B) o2 t* j" Z' ^
::SetLight( bLight );
! G8 x& h' N( l9 X% u
. F" f& u' |( A: Z6 C' Y
// ±ao? ?D?í???ó á¤à?
J) q, {, b/ z5 A
m_pd3dDevice->SetMaterial( &m_baseMaterial );
0 S& R3 E2 N( x2 @3 G/ G$ a
6 d M" R( T: ] I* i- Z+ u
#endif // not WORLDSERVER
% N/ ~. `/ F! V+ o
}
- f. b, ^& ]2 U( v7 _$ b
并更换
' }5 f4 o+ e, K5 |& ^. U
Code:
: L) b, N6 m- f0 T! V- ]* a* Z
__FLYFF_INITPAGE_EXT
- u. q- x) _4 c3 y2 l
定义
1 ]: z" b, M- M4 G$ L: q, I
3 {' N% s0 X" K7 y7 o
7 O1 K, q: U$ T( U
3 v; P( N' g% H! R# L) T
4 G5 L$ m: A1 q7 Q2 W
现在终于删除我的狗屁加速...
7 Q& f/ M) H: |' I" _" y
% T& G9 U% O6 j q6 I- V$ V
& n: @5 n2 p) k, H; y; T8 D$ f
, R; A% u! I3 P. D9 ^' F$ Q
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2