飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
* s9 ~/ y" [+ G& R
尾翼:
7 f* Y! d) l/ u; ^; K7 i7 o/ ]0 }# a: G
. J' V( h- U2 e" J! z
代码:
8 h+ L+ ]4 e. F9 D
CWndAutoFood::CWndAutoFood()
" h7 Q. M# s6 }; C, J" S
{
5 Z6 ?, b, O8 O# i1 v
m_pItemElem = NULL;
; U4 q/ H, F L4 g" m! b I
m_pTexture = NULL;
; j4 t5 k3 J/ f$ D. H) c; n! V# {
bStart = FALSE;
8 |' m P) N# c, u. O0 V% x
}
2 [: _9 g. R" U: U
" y5 g; Y( u2 [" S; m
CWndAutoFood::~CWndAutoFood()
* D) j: F9 j% X5 C+ l, R3 l6 }
{
, t1 |7 Z F$ s3 u5 Y9 w
AfxMessageBox( "AutoFood ist gestorben
" );
- L" j( w& T5 u. l/ f
}
" L8 I2 t# ?: _; G
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 x, K1 g; S4 K* L. n
{
! A& h7 u% g/ _( U* z* a3 [' B4 r
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
/ s9 l$ Q \3 Z# c) l# S
}
0 ? I$ [/ J. O
9 s" e0 J9 ~, c- t3 d
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
8 R2 {2 R$ O# ]* \" _! T
{
. g% t7 ^* _1 @4 {& k( N
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 L+ G ]) x5 r$ n+ P, h
CRect rect = pWndCtrl->rect;
; r! z$ s" ~" O9 H$ P( c$ ^. B
if( rect && rect.PtInRect( point ) )
7 z0 x9 K2 c; Z# {: S) h0 a
{
: o, ]+ ]9 S6 s$ h0 i. [0 t
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
+ A* x2 P8 l% c- z# l. D
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
7 j0 c5 h: u7 v$ p4 C/ R# a
{
+ {( {# {7 G$ ~
if( m_pItemElem )
- \) z) I* s6 [' A+ P
{
1 D7 J$ Y1 y8 f# V% y
m_pItemElem = NULL;
! Z# X: ^0 W3 ^$ r$ a: L+ I+ f* k
}
7 I! A H4 x. p+ S& c9 y2 u
m_pItemElem = pItemElem;
t: x& M4 w6 C! H7 x; h
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
* a- R B3 u6 S
}else{
% B/ r4 G$ }4 g, }9 V0 [/ ?; R
SetForbid( TRUE );
& j: `2 u9 p+ ]6 L' U- X
}
5 Y( w X- U/ l% T4 }( y- B
}else{
, u) \2 c2 N- N) g# k
SetForbid( TRUE );
& w" t! J4 b' J7 p3 I4 u
}
! j( U& I7 V; M) |3 a% f
return TRUE;
, \4 R7 d X d" a: {2 |
}
& m3 X" |$ d7 t+ k- G: S' i
1 Z' }) F# M# H
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
- R) D+ F+ A* l2 o3 x2 O" H
{
) r8 Z Q& l }+ w" a
switch( nID )
' d* ^( {& z* _2 L: q: y% g
{
5 t- F9 T c6 t7 w+ F
case WIDC_BUTTON3:
! j& u1 E4 j; y& A
{
) Y9 x; ^( b) [
bStart = TRUE;
5 B" x3 J( v8 F# L, ]6 E
break;
- O) l& E+ p+ G: I: w6 v2 u
}
/ Y2 }0 B) E; f. k$ B
case WIDC_BUTTON4:
% q" z! J+ @+ l4 q9 e
{
3 x R% m! e. }/ E7 J( b C+ D
bStart = FALSE;
& p9 F% q/ s8 M- D
break;
- d, j8 R; R, L% h) X; p$ g5 g: |
}
1 u1 |, j% I+ F6 g
}
+ w Z. v$ U. P& X/ T9 R
return CWndNeuz::OnChildNotify( message, nID, pLResult );
x8 |9 m/ J3 y$ }/ H! r
}
' `/ Y4 W% B! m1 N" o2 E L
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
" [4 H* E0 L7 C6 j1 B3 k
{
5 q+ C `# @0 y& U9 x. e; \# }
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; L- c6 j4 m+ s1 p
if( bStart || !m_pItemElem )
# I; o. ~$ p0 @/ Y/ Z( A
{
) c0 N0 |( j& a: H, U0 Q
pBtn->EnableWindow( FALSE );
5 P# P; s& {: e5 c3 M
}else
/ c$ `- w! z9 ^9 r
pBtn->EnableWindow( TRUE );
" d' _2 Z% j( A
if( m_pTexture )
, \$ W" Q1 Z# W+ Q, l" r. z1 M8 G
{
) T; G4 c2 G' Z2 v! x
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 S5 G" P& U; |& w9 u- M+ P
if( wndCtrl && wndCtrl->rect )
. }% Y; l* B6 d0 \
{
& ~3 n+ ~7 Y( N# B; i6 \
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ u; o3 ~6 u8 I" K8 g/ _7 f
}
& f; O" E0 Z6 j0 Q
}
: M/ @+ ]) F! ?$ p. t
}
0 Y) C* \3 n# s5 o6 Q( Q8 ?- \
2 s9 r! k9 V7 s, |- u
BOOL CWndAutoFood:
rocess()
( e( c8 u W4 j' R- I$ i Z' B
{
& X) M. v% D& v
if( bStart )
, k# k# S `$ Z" \ g2 {( i
{
8 X, z9 \$ s2 L3 E, ^2 ?; i3 x
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
; g9 T6 ?4 T2 c$ b, d w p$ d& j
{
9 n7 X w* Z8 b8 z
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
8 S* u) M Z: s. V# ?0 x2 k0 k
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
2 y. B, `) {+ m' k/ X, ]# V
}else{
& w7 [: P6 M7 f
bStart = FALSE;
% E9 l- a4 F' n) a( D
m_pItemElem = NULL;
9 b# G; I1 Q) w/ C1 C" V9 h
}
: t6 \/ B$ V5 r
}
9 z( A3 q; \# f2 @8 Z7 A
return TRUE;
/ f/ _+ O& ~ F+ Y3 j. K
}
- H7 _- T/ q& _
$ N: z, C. j M ]# P/ z
登录视频废话:
# C+ L% \- F8 T7 a* `2 y
尾翼:
# x2 {: [- m K9 ]' D7 I
i3 k( p% P5 l2 s3 w- ?
代码:
3 [# {$ Q: V0 X' f
9 E6 l2 e% U0 ]
void CWorld::SetLight( BOOL bLight )
6 K' Y& h8 D( j! l0 U, ?
durch
3 D; [5 m$ l5 i/ x1 r8 C
Code:
6 v% s: |' m! w' d1 H4 W
void CWorld::SetLight( BOOL bLight )
/ J* o1 d/ h" g' S
{
" B$ k, \( h7 ~( U6 R* @2 M
//ACE("SetLight %d \n", bLight);
* y5 r% {' P4 {8 g8 ~7 x5 z+ Z& p. ?
$ J M4 o9 T8 J; h9 z- X, f
#ifndef __WORLDSERVER
M5 A5 S6 k) V
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
- A" O4 z2 w0 v9 `, r$ ?+ I
CLight* pLight = NULL;
+ e: [! v. f, r6 `
% V; w; P/ G! s# K- n$ p
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 X4 Q$ F7 _4 b; [; G/ u" P% ?% I
* x+ M( N ?1 ]4 k! H: i/ i+ B
pLight = GetLight( "direction" );
2 y4 f: d' n6 ^, [1 Z
. a2 L, Y0 n5 k& z- r
#if __VER >= 15 // __BS_CHANGING_ENVIR
& Z+ o- w* d A! V! G; x+ k- N- d$ a
if( g_pPlayer ){
2 }+ F W: f3 L: q6 c
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
( Z0 I$ n C- F0 E. h! y7 d( o, r
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
8 E' v1 Q" B* {' N) y
{
7 a" ?* K2 ~2 a1 m
if( pLight )
" ?7 [5 j* ]8 T( i0 f/ L
{
' A9 I; Q0 c/ ?4 Y: Q* T/ B8 E
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
* S6 F+ u! l* r, k$ y9 T8 B" U
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' R- d6 d$ W; Z9 o0 x# Y
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
a0 ~4 s; Z' ~& Q' A
: M8 F3 S. h0 P+ Q# V
pLight->Specular.r = 2.0f;
3 y3 N. k: U4 O4 R/ O1 y% ~
pLight->Specular.g = 2.0f;
1 j2 N1 b* s& Q+ F/ R
pLight->Specular.b = 2.0f;
! b+ H$ X5 i; u6 j+ B
) t% M) G4 A8 v" Z! q, ~& e% H: L5 ]# ]
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* P c/ a& u t
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
1 M0 Q- _. Q9 ?% v2 r
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% Z3 ]: D6 f+ C0 g0 U
# O8 Q' Z; Q! l9 H7 c
HookUpdateLight( pLight );
& P$ K4 R. q4 x( j! `# J) @
% b: }' p2 U: C
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
0 J6 ]% D) \9 q+ h% i
}, `/ X! g3 r
pLight->Diffuse.r *= 1.2f;
1 T+ ~; ]3 q, @
pLight->Diffuse.g *= 1.2f;
. L4 B$ E, P1 s- r6 g
pLight->Diffuse.b *= 1.2f;
% g: t$ O6 ~6 r3 L- I
# {; Q7 r8 ^, g1 [: k9 X4 N0 V
pLight->Ambient.r *= 0.8f;
, ]( Y( ]( w9 @7 @
pLight->Ambient.g *= 0.8f;
/ E; j/ ~. x ]
pLight->Ambient.b *= 0.8f;
# n R8 @( o" `% z
) _- |6 J0 `$ H$ o* `5 \
memcpy( &m_light, pLight, sizeof( m_light ) );
- b. N2 }) `( T& l( w2 D
4 e ]" ~! s+ \ d$ e
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 L9 d: O" u; B6 g
D3DXVec3Normalize(&(vecSun),&(vecSun));
2 o |4 j2 P5 @" r& R4 D8 @
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, t9 }$ {5 U% `. S5 r8 l
pLight->Appear( m_pd3dDevice, TRUE );
: S% i3 x1 G; w4 R
( f' H, J0 k, N1 m& j- }) D
DWORD dwR, dwG, dwB;
6 [+ ~7 U! q; `4 v# n, }3 e; Z
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ _+ G* g) M5 ^+ r1 {
dwG = (DWORD)( pLight->Ambient.g * 255 );
& Z- \1 O& @! p! \; a, B5 n2 a
dwB = (DWORD)( pLight->Ambient.b * 255 );
' T' A7 O1 b6 M+ O' d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! A" i- Q5 @0 w) M' x P( F' Y
}
' G( m5 X! Y. a: ~* _4 B
}
9 w5 b" H: a$ T
}
, N: j1 _1 ~! K9 p& x( F
else
: E1 T6 P6 X3 P$ T. w) j
#endif
2 X0 ^: W/ L# J d1 {' c
6 G; D. \& |1 f
if( m_bIsIndoor )
2 i. V/ |% w" ~: C$ n$ Y
{
, `: W9 l1 i- {
if( pLight )
8 A& N# W; _4 ^" M
{
5 d' ~! y. c! F! A
// à??μ oˉè*
5 M5 ?- c5 O- L7 l4 v1 y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
- V: g- J8 c* L! w* u8 K$ p
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& w" c# s* a, r, ]+ G( q& }- Y
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
: Q8 B- \7 W2 y$ Z' D0 ]/ x" x! ^" f- r
9 l/ V3 B$ H* V4 p
// oˉè* ??à?
3 C. x' Q" W5 Q& \. K: D
pLight->Specular.r = 1.0f;
% S. s1 K; ~0 ]! T8 `
pLight->Specular.g = 1.0f;
6 i- v6 {" u/ b5 p w8 `
pLight->Specular.b = 1.0f;
' U& `4 _ r1 G
// àü?? oˉè*
- `' a2 w' T4 O& B7 X! l% C
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
Q1 \, t8 o; V5 j
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 M& C c6 {% r t8 a( j) R/ ]
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
" @2 ?: a `. q9 M: L. P6 ]% Z2 [# g
4 h& ~3 X- z3 [: a. F- }! ^
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' s0 [! ?& C( e1 H5 s9 A
{
% H) S5 a% Q f
pLight->Diffuse.r *= 0.6f;
+ k( U- k9 C: O! H. N& o- o
pLight->Diffuse.g *= 0.6f;
5 F E3 v o$ d0 `8 B v
pLight->Diffuse.b *= 0.6f;
3 V8 ]. S: { j$ f* G2 i& V
pLight->Ambient.r *= 0.7f;
$ N1 {, _- G. `8 m( G
pLight->Ambient.g *= 0.7f;
J! j! w9 e- g. }/ G( S
pLight->Ambient.b *= 0.7f;
9 l& {3 `: Y. S( n1 `: K
}
) {! g2 e5 j) O, a3 }% {
$ H& h, f+ H! @; }6 @. U0 r
#if __VER >= 15 // __BS_CHANGING_ENVIR
( L/ t A+ P5 ^" J2 o
if( g_pPlayer )
8 f! l0 `6 e7 g& j
HookUpdateLight( pLight );
/ l5 ], t; ]% d R4 P, |6 w
#endif
( d9 w* ~8 a& x6 I* N( _, K! {
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( s% `" d0 R6 u: H( b7 \2 \0 W9 o
) Q; u/ @! U- t; o2 y
pLight->Diffuse.r += 0.1f;
7 y. X; B2 z" n8 _8 L- J
pLight->Diffuse.g += 0.1f;
$ |+ [* C: Q( S4 |7 S" g& \
pLight->Diffuse.b += 0.1f;
. s8 ^$ j2 k5 D; _% s
// oˉè* ??à?
& ]9 h# d. l6 t' {" B7 Q
pLight->Specular.r = 2.0f;
! A; ^6 w% S$ I5 ]# ?. r
pLight->Specular.g = 2.0f;
# \, R9 D' j5 Q" b4 ~
pLight->Specular.b = 2.0f;
$ F' O/ k$ ^) E8 @3 `
// á?oˉ
* M3 t9 D/ E. F- e1 Y- G, l& x
pLight->Ambient.r *= 0.9f;
) I) W. p5 E4 A4 u# A
pLight->Ambient.g *= 0.9f;
+ }2 o( W3 J6 P# [, _+ o" E. B; k
pLight->Ambient.b *= 0.9f;
3 d. G; N Y* o+ v) d
' h5 w( @! n" U* g
memcpy( &m_light, pLight, sizeof( m_light ) );
1 G( ` |* Y0 ^" b
m- V6 O4 x% C8 y$ ~/ p M6 [
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
% u6 y* V' {1 y4 `
pLight->Appear( m_pd3dDevice, TRUE );
! R7 _; q# s9 Q/ S* }3 U1 u. s
8 v) s3 w! D9 I6 l8 W# H
DWORD dwR, dwG, dwB;
+ r+ i5 i; P/ e9 ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
# O" ~1 Z1 v6 Y: \- X2 C4 U k
dwG = (DWORD)( pLight->Ambient.g * 255 );
- h; S# I q. o* y
dwB = (DWORD)( pLight->Ambient.b * 255 );
2 j O7 q& v8 [) C% x9 z5 S
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: ^' \* q! k) B) x* \
}
3 y# A0 u# r& W9 y# _0 u& w
}
; O7 T3 e+ Y w
else
; a: Q- }4 w# r! D, c
{
% g. L! k! U, m2 R+ j9 I
if( pLight )
$ m6 T6 g) _! z& I$ O! `5 ]6 v
{
8 u; b" K3 E/ J( p' U0 P% f1 u, f V5 X
! Q$ S( K+ B; G2 D6 v$ B9 a
int nHour = 8, nMin = 0;
* Y! i/ p7 j9 W/ ?6 a
#ifdef __CLIENT
, }# j+ U3 U7 ], [/ I' |
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 e5 H% Z9 K+ d
nHour = g_GameTimer.m_nHour;
4 X3 Z, [9 z" q' P$ W, \; a+ L
nMin = g_GameTimer.m_nMin ;
! p% A6 ]; |/ b( F, ~# b$ I
#else
( A5 G- p( J+ H9 N2 _6 b, L
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
/ C' P; [# M6 _9 R9 p7 |3 n' e
if( m_nLightType == 1 )
4 Y) \4 C) g* [8 o5 z, h. y
nHour = m_nLightHour;
i, G; y1 \: z$ K( D& T$ o: W
#endif
1 q T' F" r7 b5 F) ]
nHour--;
7 X6 M- _: F1 Q. t$ ~4 A
if( nHour < 0 ) nHour = 0;
2 [( z0 O3 W4 u- D y
if( nHour > 23 ) nHour = 23;
) N# G3 ^! O' f5 s2 [5 C& G
6 @+ ]* u+ t. ?, i( t+ d1 o
//if( m_bFixedHour )
# F5 P# a% z2 S& |/ Y$ s0 f( O) c4 v
// nHour = m_nFixedHour, nMin = 0;
+ {# M0 \; S. E b
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
, @( }5 Q& D; M- k
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 D' j' l) q- B4 T: e. A6 q3 W+ j
6 ]/ v6 k2 v2 b( l( @8 R1 a- Z
//m_lightColor = lightColorPrv;
$ W, ~) n/ D% }7 s# p, X1 G2 e
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
% Z, h( _/ I% f8 l3 ^7 D# i
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
% G5 |* M& J* Z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
, z1 d2 o% p) z5 T
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
( ~* ~* ?0 l' G. p8 r1 R$ N) G4 o) G
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 H" g/ F, O- } A( Z$ j+ ~5 x4 u
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
8 [; u6 G$ q" X8 u8 a; J8 B
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% C% [) m/ c* N) ?0 C& d
# i1 ^. v$ x8 v( z1 g9 F- _
// à??μ oˉè*
0 n w2 t' I$ u7 O( B* w5 J
pLight->Diffuse.r = lightColorPrv.r1;
! R0 Z4 Z2 o$ I. U) t) G
pLight->Diffuse.g = lightColorPrv.g1;
/ L; n7 T: w: p+ e+ h( c3 |
pLight->Diffuse.b = lightColorPrv.b1;
+ u& t% E8 L% W
// oˉè* ??à?
. B2 H n8 u# z+ Y4 a
pLight->Specular.r = 1.0f;
w" h6 u- ^: G6 a9 t. Z. S
pLight->Specular.g = 1.0f;
& G% C- @1 j, M0 E* e$ p
pLight->Specular.b = 1.0f;
3 e" ]) U& n4 y. ?; A
// àü?? oˉè*
! @' }8 j5 O; D0 i
pLight->Ambient.r = lightColorPrv.r2;
4 F2 v# k- C+ I% h- u$ L
pLight->Ambient.g = lightColorPrv.g2;
+ o/ b3 ]+ I2 p% s0 S+ O( c
pLight->Ambient.b = lightColorPrv.b2;
1 F4 c1 c3 p+ ~8 o5 r( q
" I! u3 G. E7 [# u" f
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ l" x. l5 u2 ] @$ ~4 _; ~# Q
{
% m% V% I7 F$ G& {, f1 S9 f
pLight->Diffuse.r *= 0.6f;
! }! R3 ` K$ O6 C' B" u. n" ~
pLight->Diffuse.g *= 0.6f;
( G" c1 Q# N2 H, W, h1 G7 ^
pLight->Diffuse.b *= 0.6f;
0 M) p$ \/ m8 b9 D
pLight->Ambient.r *= 0.7f;
7 {& p1 y5 d5 M0 y. i' J
pLight->Ambient.g *= 0.7f;
* l- Y" _1 t$ a y1 ]; z1 c9 p
pLight->Ambient.b *= 0.7f;
. t+ q% a8 L5 d
}
) Y* i+ U4 v1 ]
2 n1 [9 j, E$ [: ?- v* a; u
#if __VER >= 15 // __BS_CHANGING_ENVIR
) g3 t" R# b" F
if( g_pPlayer )
: r- l+ I) k$ b9 q& b$ K
HookUpdateLight( pLight );
3 g- q- m: C; \8 D1 [# s) V& ^* c
#endif
. {3 A7 Q! d$ U8 q1 _7 W( l
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- n$ O- }1 s2 \) k0 U. |! w% }
% j( S$ o+ g: y0 k; I/ f0 V
#ifdef __YENV
9 w( i `8 {4 @8 G& \: [) H1 a
pLight->Diffuse.r *= 1.1f;
7 |; D1 W2 i ^% B2 Y- C
pLight->Diffuse.g *= 1.1f;
5 E9 I! t+ |/ m% M; v O
pLight->Diffuse.b *= 1.1f;
* N' e/ t2 \% {1 ? H: Z3 S K
// oˉè* ??à?
5 u/ E9 j% s( b3 e! w$ W
pLight->Specular.r = 2.0f;
) v* }$ h' s, j5 Y5 R2 R# `1 j
pLight->Specular.g = 2.0f;
! Q( H) ?/ F8 Z$ [2 u) V
pLight->Specular.b = 2.0f;
- O& [, `. |1 p( k# ~
// á?oˉ
4 q- }% L) Q# u
pLight->Ambient.r *= 1.0f;
8 P: `7 n6 g( P* s! u0 H
pLight->Ambient.g *= 1.0f;
1 Z# c2 i! n# I6 l
pLight->Ambient.b *= 1.0f;
& G- m. H" a; M$ p
#else //__YENV
$ b( p \8 R3 i9 ~; ?- T
pLight->Diffuse.r *= 1.1f;
, {+ U* b. G9 c7 o- E1 N
pLight->Diffuse.g *= 1.1f;
0 M4 r& _0 s: R$ o# M# G2 V
pLight->Diffuse.b *= 1.1f;
/ r8 ^1 A* l. H' B6 d$ ?! d
// oˉè* ??à?
K* u/ [* l( }
pLight->Specular.r = 2.0f;
/ c+ f8 a2 ~3 U
pLight->Specular.g = 2.0f;
+ h% K% }( |+ Y9 B: _% ] V
pLight->Specular.b = 2.0f;
& ?% _( l, `% I/ ^0 c- I8 K
// á?oˉ
* O, H+ [* b* j' @0 J: X
pLight->Ambient.r *= 0.9f;
9 B$ E9 W5 N& {2 x, ^: c
pLight->Ambient.g *= 0.9f;
" {# P1 i' V7 Y+ y z
pLight->Ambient.b *= 0.9f;
# y$ t" D% p$ j* z* @& O0 Q
#endif //__YENV
, W* J1 E4 S7 A3 P9 n" U
6 S+ w4 u: T2 A5 T2 g
memcpy( &m_light, pLight, sizeof( m_light ) );
) e( Z6 p+ a) `, N9 s6 h
' L. a' }. v) g' z* T% V6 K
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, d: C+ Q8 D9 |6 I# I
D3DXMATRIX matTemp;
" T* \3 Y$ W1 A$ U1 y3 }; k5 ?
static const float CONS_VAL = 3.1415926f / 180.f;
2 S8 U. p. K; v. N, C+ {
' t1 W3 T$ k/ T
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
! E$ @" d0 e* R5 f
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
- Z( C7 e4 B$ a/ [; c! l- n! c; d
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
& L8 V$ S* J- O% J8 H
pLight->Appear( m_pd3dDevice, TRUE );
: x4 @" S& m& [" Z' O: G
7 x1 Y! L+ z- g; d4 T' h- u
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- n& Z% B- J$ F- w y- ~8 ^$ I
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& e ?$ i* m& ~
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: u- ?' Q0 {+ G, {) ]
/ ?) s) Z$ S# v* o' }
DWORD dwR, dwG, dwB;
% R' j/ q8 H/ i! C8 Y# j* v( q: ?
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 o3 K3 `, u+ u" K
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ s2 j+ M; s* Z4 w" _% t
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 I0 X* _. c7 e' P, j( n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" Q9 c, O8 l1 d: Z1 n
}
' S, t- a9 U7 M6 A% r+ a. ?
}
1 U T) w6 _0 l$ R8 Y
n# {# P: ?) N8 W, z3 z1 C) X
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
# b5 ?6 B$ U: V& \5 ^/ A( I/ `9 f
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) );
2 l; C, m3 t3 E: R9 j
::SetLight( bLight );
3 h! t/ y4 @/ B7 f& F
/ z: {0 |! d' Y* b6 F
// ±ao? ?D?í???ó á¤à?
- S4 R0 s( Y! C1 _$ M$ M" h
m_pd3dDevice->SetMaterial( &m_baseMaterial );
d P& x# L) F5 M- ^0 h
" ?8 v. \0 `% d% R7 M
#endif // not WORLDSERVER
1 E% X2 u5 o9 g! y9 O2 g, @
}
1 {( y2 _+ L: C# [6 m( x3 A+ b: b
并更换
6 `9 E: U# I" w& C8 A, `
Code:
& ?$ [( i% o. }" ]) A5 {! X6 B8 i
__FLYFF_INITPAGE_EXT
# L5 t: ]2 L: ~
定义
5 b' @! T4 b5 ?1 L) Q, D
. f" o* [1 X8 C! e$ @4 W) \
0 y. ]8 W1 T6 G& h, b2 A! B
' c; I+ }: y- H( d, q: J' b
% q4 L) V3 z0 M8 Q8 B
现在终于删除我的狗屁加速...
* N7 w- ]& t0 w% V
( @% @4 L4 ?3 b+ k. c
5 d; ^: ?' X" G' V- l
9 @9 U9 C/ h5 ]0 S& S# x
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2