飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
7 C. B+ c: V6 u' i: F+ K
尾翼:
d' h& U, U( N4 y5 _+ M- ]
: i! V7 _. T3 u; j! _* K, b/ e: t
代码:
0 }9 h( `7 J, y5 A1 i' x
CWndAutoFood::CWndAutoFood()
5 z; p! X& h/ S- E6 a+ c* e6 N
{
& J1 d7 Q' k' [# e
m_pItemElem = NULL;
1 \/ X9 k l4 A0 C% g, w9 Y
m_pTexture = NULL;
* P v- N$ \! J! g
bStart = FALSE;
4 f$ V: ^9 J% |& X$ Q
}
7 I% Q8 ~+ |9 z8 A8 S$ |+ U
# O0 n: m% z9 |4 l2 j
CWndAutoFood::~CWndAutoFood()
- I* ~& }7 Q2 d0 D! I N
{
+ r/ Q' p- m* \* S' j: N, y
AfxMessageBox( "AutoFood ist gestorben
" );
4 }# \- h8 n. t7 B4 ^6 M
}
4 H0 a1 |3 [1 D) M( u
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
. j. X' X% t- ?5 [& W4 r3 Z8 ?
{
- P: u" [" t" P, `
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
- H @$ F! K8 [- K6 E2 D+ ?. G
}
& A$ r3 N7 }3 H+ m
9 o+ s; b4 l3 K+ G2 }( N
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
: D# H3 ?6 o; \& G' Q
{
( b9 ? \" I# v( l" a
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 k5 i; R3 N' V( b3 l) Q) }! n
CRect rect = pWndCtrl->rect;
G0 y# N' V; v( N3 L
if( rect && rect.PtInRect( point ) )
5 T0 }5 _: A* p! X8 s: A
{
" M2 D u/ S# D
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
( _8 N8 g8 R7 B( c! R' R9 ?7 l
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
' G! q- {- k' K/ V. ]" @9 V
{
. @& Y( l. I2 g
if( m_pItemElem )
! O5 \- }& E( U$ \2 l+ ]1 Q
{
% I! z+ L, [. q w2 n
m_pItemElem = NULL;
+ t2 l+ t0 x6 ^; E# f- q8 N
}
9 }, ~8 A. J: g* i( x& @1 k# {
m_pItemElem = pItemElem;
, v' y3 I0 V! {; {3 t9 t
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
/ h3 t/ ]+ b# W4 k. i+ u) {/ N
}else{
f4 e: ^4 c" k! N
SetForbid( TRUE );
, f$ d1 e+ f7 J! d* n4 E
}
) U8 u& l5 s3 H7 D# T; j1 i, Y
}else{
; e" G; c7 ?, [$ f0 @0 p" T
SetForbid( TRUE );
. M% y" H( w6 N- G7 ]- N: |
}
- Y& H2 N2 N9 L# i
return TRUE;
; B; Q7 D' Z/ a: T: b$ S [; \
}
) i. Z- ~) v! \$ t" P
* I7 i8 s1 t- `8 C: r4 }- w. Y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! |$ N1 M! U/ y/ \, y3 Z8 m# h i
{
% n7 f; o8 ?, A. V0 j( b! ?
switch( nID )
9 S- i% c+ X6 \2 ~5 I
{
, q; j# q, L2 ]( }
case WIDC_BUTTON3:
6 a, S6 H) R& r, R2 t
{
* f9 _( p" Y' C% C7 ]+ E
bStart = TRUE;
* g! j) c$ ^) V7 j7 ~% k& C
break;
+ i+ E# i+ {7 d' x+ K' B. q, O+ m
}
% o1 a" A5 z9 A! [ g* D5 R8 u
case WIDC_BUTTON4:
! J$ E1 n& z) v% g0 Z' h
{
" j0 A5 `& Q6 `) I7 ~, W
bStart = FALSE;
+ D) K. _( F7 ]9 }& F$ f
break;
" Q" B' J: L1 E, h5 A
}
! {! o6 v U/ E9 G5 }
}
+ P/ W$ J% m$ D3 q) ~1 W" Y) D
return CWndNeuz::OnChildNotify( message, nID, pLResult );
: K: p" S- C6 H
}
% u, i% U7 s& ^; f3 Z6 @
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
3 y+ J1 r, m) m
{
# f2 z0 C9 n0 f$ m
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
* O L H6 C1 v
if( bStart || !m_pItemElem )
9 U/ R5 k+ n2 {, M% |9 O
{
0 w: b0 X" X! E# { w
pBtn->EnableWindow( FALSE );
7 d5 u3 b& `9 C( ^3 F; m
}else
$ j5 `9 `% r0 F" r1 @ u
pBtn->EnableWindow( TRUE );
) ~5 ]$ _7 l5 g, \$ s
if( m_pTexture )
2 H: N' \* Y0 g1 \6 b: _# H
{
/ ?# N5 S- F& P! o" D( j) k& g% ?' R
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! b( f: F% d# Q% J& c/ m; M3 _6 N
if( wndCtrl && wndCtrl->rect )
& o" ]! z+ s( q8 y, B
{
2 x; v! H& \1 T2 E. f
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ R/ f* Q# G; `& w8 ?3 a$ E
}
2 o5 W1 l x+ w- }% x" u% X
}
& T4 `, i8 }0 u* }+ c% d" ~
}
( `: u0 M5 r3 I0 L6 k2 a8 _% \
3 k) S/ E0 r% X, H6 n4 F" U, D$ ^( h
BOOL CWndAutoFood:
rocess()
8 a6 e2 q- }& f$ X
{
1 f. F. c! m' z* _/ G6 i
if( bStart )
: w1 G7 x, Z4 Y
{
* D. V* z, [& o, ?; J" p
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
$ T7 A; Q( Q) n7 H/ U$ S8 H
{
1 b$ X9 ]5 s1 x5 [) D/ `$ P$ Q
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( v2 k' m5 e* A2 f. M. U k. c
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* D9 q- e9 f$ L' Z
}else{
! m/ D/ w, }; d5 v
bStart = FALSE;
8 o9 b8 h8 W# y# [
m_pItemElem = NULL;
1 U4 ] d& t9 P7 a( R
}
# x8 X- ^. S! p( W. p. Q; ]
}
\* o( [( a$ t8 I: M
return TRUE;
$ h" |% z. q% U( C" E6 f
}
0 s5 M% @* b6 ?+ T3 E. q* Z) A
+ W2 X5 U( P3 X( w
登录视频废话:
0 H0 k! G4 c( k; H$ a
尾翼:
D8 C$ i, ]9 q$ E. K W
i" t0 D, Y9 l
代码:
2 ^4 [4 R* w" O$ I
! r' O9 K$ A n3 \
void CWorld::SetLight( BOOL bLight )
0 k* n' s& B4 I6 ~- k {; G
durch
0 E. Z9 O2 }0 Z/ l- u
Code:
/ _3 K; r+ A& Z8 G9 j6 E
void CWorld::SetLight( BOOL bLight )
+ J+ P& P7 C7 o7 w* B" x- o6 ~
{
& H) Z! W/ W5 U. G7 [. v6 s( I& \
//ACE("SetLight %d \n", bLight);
( U, h0 V4 @9 a# ^ b
9 y- n% q, _; c/ |8 `% i% S
#ifndef __WORLDSERVER
1 g9 {# ^: W$ Z5 f: p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
; c% {! j: p6 n
CLight* pLight = NULL;
; Y6 Q& R8 \0 n# a& ~ @
+ u) Q2 S( X6 I P7 I, i5 k
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
2 _1 @$ X a; n
3 E1 Q: C1 c* B! \8 w1 f9 _
pLight = GetLight( "direction" );
2 E- j% L& i' \! g! K+ _
. _$ O$ Z9 @5 B* C7 z5 h$ V4 H S
#if __VER >= 15 // __BS_CHANGING_ENVIR
( _$ x Y, E7 |' u5 p
if( g_pPlayer ){
" t& r3 g# @8 r' C
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
8 Y( z# L( O% Q. q7 i9 q8 R; x
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
- w6 j6 K; o" v( n8 T- V6 {
{
/ j9 b" e3 I3 }8 u
if( pLight )
8 Z z6 Q. P9 Q Z: E
{
7 i. S! h# `) ]) J/ {0 |
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
* g7 Q. P" o5 u3 c! ~: c. ~; w
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 `* j6 {: V# l, ^' A
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
# J& B8 g3 u5 Y% l$ ]6 n8 U# |
9 S/ L' H4 l( j$ l8 i5 x
pLight->Specular.r = 2.0f;
, D y" o# j& U/ _
pLight->Specular.g = 2.0f;
* G6 s; g6 A7 m2 c- G
pLight->Specular.b = 2.0f;
* ?) T* r: U5 w" J: a: h
9 o" E+ e2 [5 |( y
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 j4 l! Y( q6 _3 U6 u
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
4 ~2 ~/ C3 M* J1 D4 I9 v! K
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
/ l$ X5 p. h$ D, L) J/ ^3 U9 C' K
2 W$ h0 x4 w5 g5 N1 k# x$ l6 t
HookUpdateLight( pLight );
) d U7 }& \' C y1 }. `
6 l) z, }- ~& h1 ]6 f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! X( R) X8 U6 A5 V+ d3 \$ { S
0 d( g6 R8 ?. ?: Q* I. C
pLight->Diffuse.r *= 1.2f;
$ \$ w. h6 e& q& j, v( {
pLight->Diffuse.g *= 1.2f;
% O- r$ K, P8 }9 _+ P" \+ f
pLight->Diffuse.b *= 1.2f;
9 _" F; v4 N* N; F; }
+ w% I a+ _: c7 y
pLight->Ambient.r *= 0.8f;
! ~4 [1 l: _6 J. M- T
pLight->Ambient.g *= 0.8f;
! |+ g5 w1 d3 p( W4 k7 P
pLight->Ambient.b *= 0.8f;
. L: y' x5 J5 _/ d& y) d/ q
) {* a4 S* ^: z
memcpy( &m_light, pLight, sizeof( m_light ) );
9 c% |# b4 M! [, K) R: a) q
, X W: r" o2 |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! [; T% H3 V. E3 M* n
D3DXVec3Normalize(&(vecSun),&(vecSun));
" W* O& G- E9 c' j h& ]
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
- ~! D g: x6 J
pLight->Appear( m_pd3dDevice, TRUE );
$ F0 b: Q5 b7 J" |8 Z& Q
3 J+ h" B" f9 U7 X
DWORD dwR, dwG, dwB;
4 n/ \+ P' M' \) j# u
dwR = (DWORD)( pLight->Ambient.r * 255 );
. ~" ]" \% ~; K. }; b- J( v6 \
dwG = (DWORD)( pLight->Ambient.g * 255 );
8 L# E% E. g3 ^! J7 g
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 g- ]: o; V5 d( V: Q5 [
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. F; ]4 v# Q0 M m3 c1 G
}
" j" L7 ?" H% O/ U Q& o/ |, q
}
# ~+ y2 I; y7 ~
}
6 Y5 `( w, o& K/ u; X
else
* |( F9 w# Z: n' i. A7 K: v; ]) g
#endif
7 j$ S, r! M2 {
c; ~1 q7 [& }3 D4 j
if( m_bIsIndoor )
* K: d& @! S) ^& `& s, Z# T
{
4 I& x9 i3 |: c0 v: E, o
if( pLight )
+ ]. q! g% r; N* o
{
- A$ u' B: b" g5 c1 c" X, l
// à??μ oˉè*
# x6 [1 s; i# b3 G! `
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
: l9 N' O: g5 f, i1 [. t
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 P) E3 ~" E+ v
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
" _; w9 }8 @- B$ v" C( e% `6 `+ x1 ~, Y
- Z- P$ V# T3 ` L& |9 r$ E
// oˉè* ??à?
. F' K9 h$ _9 W& Y2 ?
pLight->Specular.r = 1.0f;
& p" K" _9 L. T2 t; t
pLight->Specular.g = 1.0f;
x: Y# m6 D9 ~8 T5 Q
pLight->Specular.b = 1.0f;
( x9 s6 b; f/ f5 K5 R" U
// àü?? oˉè*
3 @, a; h% ]2 n2 A
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 b& H- l" j0 C0 h) {1 l/ _
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
" d* U* k3 i- R; g* T0 H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" U' ^. ]% k& Z. w+ q
: s$ A4 B0 V4 } @
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, `6 \7 c, E' _6 [8 B
{
x- s2 y' n, P8 o0 A6 R. G% J
pLight->Diffuse.r *= 0.6f;
* ?2 u) B0 q( m
pLight->Diffuse.g *= 0.6f;
# Y/ j: w" H7 N& q
pLight->Diffuse.b *= 0.6f;
; A( K3 b+ \. e8 d2 ]' x) R
pLight->Ambient.r *= 0.7f;
- H D; H6 ]& Q/ ~: {% {. h
pLight->Ambient.g *= 0.7f;
2 t) t! ^' q& \/ b6 |
pLight->Ambient.b *= 0.7f;
# h& s0 b8 b3 u# D) c& ~
}
6 R9 V$ o. W1 I0 q
; }! Z2 }3 Z8 z1 T; N. S
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 Z; t7 w; Q4 F c6 }
if( g_pPlayer )
8 \4 d- `) s0 A. p3 R
HookUpdateLight( pLight );
5 _4 ^- G: d/ x+ g& V- T' U8 U
#endif
9 [9 E0 b1 A: V* H+ K4 E4 ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 `- L& o3 J4 g+ T4 t% U* |
. [7 G0 W% V! x6 W' }
pLight->Diffuse.r += 0.1f;
, h( t6 Y, c* h$ s3 `
pLight->Diffuse.g += 0.1f;
9 u; h$ F V8 Y, d- S3 v' S
pLight->Diffuse.b += 0.1f;
' d# o8 \! u5 G/ l! k
// oˉè* ??à?
: \3 p/ [8 w; m/ n$ g
pLight->Specular.r = 2.0f;
l5 w8 V# U- O
pLight->Specular.g = 2.0f;
. z# Y+ @ n% Q U+ l
pLight->Specular.b = 2.0f;
! P# [4 a1 ?9 g8 Q2 D
// á?oˉ
& O: A4 |* ~; i7 \0 a+ E2 u
pLight->Ambient.r *= 0.9f;
& a2 Q, Y! D+ {& \, C
pLight->Ambient.g *= 0.9f;
/ H/ l2 x2 s. o: n* ]
pLight->Ambient.b *= 0.9f;
) O- H: N/ j3 }6 [0 D( b- \
$ F7 Y* ]# q0 b) U$ B' I. |
memcpy( &m_light, pLight, sizeof( m_light ) );
! c6 D- Z- t) W% N8 i; M( S% d
4 y1 ?! O! g# v8 X; R
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
! O/ x/ @% X' G. C; ~6 r& [
pLight->Appear( m_pd3dDevice, TRUE );
" y* t( z' F0 O& k5 U9 a; U6 n; {
0 e2 f3 e4 E* P+ Z/ B
DWORD dwR, dwG, dwB;
$ Y1 m4 H5 E( d r" B3 z
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ D: L7 i) r( f. j! F: P" A
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 T) c' }! D7 I V1 [7 R3 L: ?
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 J& @! ~2 u3 g6 B" O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
1 T( J1 U) ]+ H* `
}
& u( A& k4 z1 d6 Z# O# k6 ^8 u9 u
}
. p, A( X. Z6 q, q4 T) M' g
else
8 G" _5 `) n6 p! K" W8 P! D; k
{
" k1 t# r/ J2 J; l6 s: ]$ J2 Q
if( pLight )
* q- A+ ]- f- S. D) u( E
{
9 z( [0 E8 y# M! E! F
* H% H. F9 a6 M) R8 E
int nHour = 8, nMin = 0;
* d& a) G0 q" x5 ?( q: E
#ifdef __CLIENT
W- K; D1 G( {1 } J; {4 r
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
$ N( x) y% Y4 [, Y
nHour = g_GameTimer.m_nHour;
3 ^! {& C' ?# {! y
nMin = g_GameTimer.m_nMin ;
- ~% i7 h v0 C; Q
#else
1 y' i4 _# D% Z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
Z& L0 o! T* {6 V
if( m_nLightType == 1 )
# |3 S4 K8 t# N& e1 Y4 J" l# `4 i
nHour = m_nLightHour;
: f4 V& v1 I& B) _. y- E: x8 O
#endif
, ]1 e; g) K0 _5 s- q1 l$ G1 L4 M
nHour--;
4 w# t1 P- }0 F0 S& l6 t$ K: m
if( nHour < 0 ) nHour = 0;
! ?8 @0 O" s. w; H" G* |9 E
if( nHour > 23 ) nHour = 23;
% }& L5 o+ M" t; `8 u4 [, Z
8 ?0 _4 o( s* O' |+ E$ s
//if( m_bFixedHour )
' R+ q- |8 T5 E
// nHour = m_nFixedHour, nMin = 0;
0 x6 q$ J% N0 T% g g
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
& x. g, A% _5 b% q+ U# t5 U
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
* B! N4 n$ L; I, `) L& }# P9 o
" u7 ]1 s! F$ {( C. M& v+ E% s0 P0 |
//m_lightColor = lightColorPrv;
+ K- i9 f7 j# k+ |$ E
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
# q( o9 k* P$ v- u+ I! t1 y* t
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
S/ m! V2 {+ U6 E# b
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
B; ?( u: P8 x+ R* G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 r3 b+ Q4 {- l. `* x/ `
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! U& h( a; D9 [% q, ^9 |+ [0 S% W3 m
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
m" g& i, V: `
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
" p) ~. s {: w! O" i: P9 U' P2 V6 }
. X% \; R( h- F) B+ |; H2 L
// à??μ oˉè*
* j. o5 N: m& f+ p, `
pLight->Diffuse.r = lightColorPrv.r1;
6 D; D( U; }( E/ W1 i
pLight->Diffuse.g = lightColorPrv.g1;
8 n8 ]+ g: S& W7 _9 S# o: F8 @
pLight->Diffuse.b = lightColorPrv.b1;
9 }8 ^( f1 E3 k) }
// oˉè* ??à?
1 T7 k: X# g% M
pLight->Specular.r = 1.0f;
' K" O7 ^( B _! p% w$ ?
pLight->Specular.g = 1.0f;
5 T+ _ D; |+ Z, c# D
pLight->Specular.b = 1.0f;
) w4 s& g6 c3 r- n( X
// àü?? oˉè*
2 v- z& ]3 ?* q& v
pLight->Ambient.r = lightColorPrv.r2;
1 `" _3 k R2 o4 ^8 T
pLight->Ambient.g = lightColorPrv.g2;
( K6 s9 T P0 ?9 S4 q
pLight->Ambient.b = lightColorPrv.b2;
2 P) a2 {! Z% A' X1 E+ t
: U( j5 D8 n% u. G7 Q+ t! x2 |
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 }. _( E5 @- b' T( {
{
) z4 }: T$ {- D$ D8 t
pLight->Diffuse.r *= 0.6f;
! @4 I( { N) J
pLight->Diffuse.g *= 0.6f;
4 X+ c0 K. D# M" G. e4 m
pLight->Diffuse.b *= 0.6f;
6 ^$ }5 P& d7 T& c6 _3 C# R
pLight->Ambient.r *= 0.7f;
" J3 ^6 z5 J+ v" F! C
pLight->Ambient.g *= 0.7f;
' B- G8 z8 d2 z4 M, F
pLight->Ambient.b *= 0.7f;
5 q5 G# m+ }# e. c+ K
}
! d7 |% c4 _1 C( O' e' F1 L9 z& m, a
/ V- Z$ S) A! Z3 ]5 a# e
#if __VER >= 15 // __BS_CHANGING_ENVIR
! p* y9 {2 d( j) e" u0 a4 g2 p% `
if( g_pPlayer )
0 G( J Q- d! z3 T) z0 y q
HookUpdateLight( pLight );
! g; {3 {5 z) O1 R$ v
#endif
2 U, c2 Q A8 p8 g( ~
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ [$ d Y( x! F
& p+ l9 {+ D4 O* ?* J
#ifdef __YENV
+ n8 `6 I5 {& O3 X: |
pLight->Diffuse.r *= 1.1f;
( G5 U# e( S3 L9 g- V; k& {
pLight->Diffuse.g *= 1.1f;
: j0 w, I7 @* H4 Z0 j' t- D
pLight->Diffuse.b *= 1.1f;
" U5 k/ K7 E. D# H( ]- R
// oˉè* ??à?
3 w+ {% ^4 M5 u3 w
pLight->Specular.r = 2.0f;
) ]5 S. \% V/ z+ `+ N% X
pLight->Specular.g = 2.0f;
! I5 ^* h5 V3 D5 ~
pLight->Specular.b = 2.0f;
: H4 O2 c- Q- I- r; \1 G
// á?oˉ
1 V, b0 _" Z/ j9 v# @% m* v$ i6 `
pLight->Ambient.r *= 1.0f;
/ L# l7 r: ^' E5 b
pLight->Ambient.g *= 1.0f;
; G: S2 X ]7 B; z( n, h# g
pLight->Ambient.b *= 1.0f;
2 U! h. s; y% y1 A# R: \
#else //__YENV
: u* D$ W8 Z# d) k( I8 a
pLight->Diffuse.r *= 1.1f;
2 c5 M8 L* n( j
pLight->Diffuse.g *= 1.1f;
* ~) X( |' S( n `/ H' G4 M/ m5 z
pLight->Diffuse.b *= 1.1f;
: i5 o" c3 ~/ \% W+ d
// oˉè* ??à?
# W/ Q$ E' n- T; W9 B
pLight->Specular.r = 2.0f;
0 b$ w1 [8 x1 U
pLight->Specular.g = 2.0f;
2 Q0 Z1 X6 l1 s) v
pLight->Specular.b = 2.0f;
/ R6 \' u! j1 ^" K; \! V* {* Z6 g- ?
// á?oˉ
+ C( c2 S S7 R. Q7 S6 T3 ?0 o
pLight->Ambient.r *= 0.9f;
3 Q6 _7 E0 u- `. R% |4 ]; P# l$ C
pLight->Ambient.g *= 0.9f;
9 U# h8 ?# P" P* Z
pLight->Ambient.b *= 0.9f;
, M4 c5 c/ P0 w' E5 `4 I. v* f
#endif //__YENV
$ p8 m, C- X( b3 B1 r5 f+ x3 Z
8 N; _% a8 R5 v( O
memcpy( &m_light, pLight, sizeof( m_light ) );
6 N! a; a/ B4 e2 L
, S* i) s! Y% o, T" {. A6 f
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
4 `* Z' o, O3 D, R& H
D3DXMATRIX matTemp;
( A. E1 h9 B2 X. K W& V
static const float CONS_VAL = 3.1415926f / 180.f;
* @6 s1 k z5 j
4 Y) k- {, Y( ~5 n7 H
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% g# h8 q9 j4 {+ N
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
+ v/ U; M7 z* S9 ?' ?& |# Q
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) m( @9 M! Y0 t. o r9 C6 {0 L
pLight->Appear( m_pd3dDevice, TRUE );
1 V# ~$ o1 N9 j0 W
8 ^2 J8 r; |9 l, k/ G
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& w" Q; ^9 `6 o7 [" G
// D3DXVec3Normalize(&(vecSun),&(vecSun));
4 ?5 l, F1 ]. P: U
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. X8 Q/ N/ i' v
) J$ W2 f0 z1 [: t5 ^
DWORD dwR, dwG, dwB;
: o( G' D' }& Z' A
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 y9 ^; k- z0 l' k% W2 t) B* m4 ]
dwG = (DWORD)( pLight->Ambient.g * 255 );
% r8 a& y$ m* h# N% [; R/ o* j" W/ V/ x
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ o8 T4 F- Z. w) ?! S& K9 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( U4 l: }, j# n
}
) R+ {/ {5 Q: ]2 ]; N
}
' v7 o5 G% v: ^! n+ S- s u
% G! J9 }0 f/ u$ G W
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
6 K- H8 v8 [- m0 |6 G$ 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) );
3 i9 x2 c+ T& k1 T. r
::SetLight( bLight );
) x+ N9 f y- H7 V8 v" |2 X- ^
8 ~; Z! ~9 {) q$ ?# p: a
// ±ao? ?D?í???ó á¤à?
2 Q4 I. |& Z0 H9 A% q9 B% t
m_pd3dDevice->SetMaterial( &m_baseMaterial );
! D8 s( G; R* h5 l4 N
Y7 y/ E0 |* ]% y- e
#endif // not WORLDSERVER
' u! b: s- ~9 E2 f2 }
}
- D" Z* _: ^* y" E! I3 q2 q
并更换
+ A& S8 @+ W' _9 R' F
Code:
" ~* F" W) e4 ?" O" B
__FLYFF_INITPAGE_EXT
/ c2 i3 W" @( D, t6 G
定义
; y4 v% h7 t# O! r& U
+ h7 t1 Y$ D( T$ z5 v3 W3 L" Z( {
9 D m7 l1 S6 x" r
; e; e2 h: |9 u" g1 t. d; ]
$ r, l y) [% y" c. G" J6 g
现在终于删除我的狗屁加速...
4 @3 J: S8 m, Z3 f5 {2 V
+ S" W& r, O C( d
3 }/ ~& O. t0 R4 l/ S# V" c5 n3 E
9 D" b: d% t' X( i6 ]% W$ _
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2