飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
7 J& d5 B, a& j4 C
尾翼:
( p( w5 @3 t, P
! y: f2 _' N% p- H+ p) M: l' o4 `
代码:
. K& {, J; S6 I, u; }% Z0 o( ~
CWndAutoFood::CWndAutoFood()
- n' W8 ], j2 I2 c7 S/ F, M" ~
{
2 }: [; o W! j3 d" V0 }% w& S3 E
m_pItemElem = NULL;
; u2 m+ W: i, x: c3 ~% F1 |
m_pTexture = NULL;
' U6 H. K; f: @' ^
bStart = FALSE;
) F% R+ G; J$ @% Q7 _
}
$ Y( H2 m- B ?& A1 \' X) g
" z, N# j0 I3 L. S7 v
CWndAutoFood::~CWndAutoFood()
6 O8 j% a! \. P# v9 Y1 c: T
{
6 x3 w. F- W3 ^: ]4 |
AfxMessageBox( "AutoFood ist gestorben
" );
/ G# e- U8 {7 [# h$ c; R8 v
}
$ i4 e1 N' h) k; b" T. t
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
9 P; H7 l R, F+ c5 E
{
! e3 k! s! F& v
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
& l% ?+ N8 q- c W9 h7 Q
}
, l- D2 F# L$ O) Z3 L' l5 z
$ n {, f2 k: e. w5 E: Z* T
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
0 Z( A- ]8 T! G0 u% M# z2 _
{
: j. m( H! v3 W9 Q3 G+ ~
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ o) `: ]% q% y5 X+ y& f) f
CRect rect = pWndCtrl->rect;
# Z! j! D& v- J' X: U
if( rect && rect.PtInRect( point ) )
! { P* X7 S. ^9 E
{
8 G6 u1 R* t" [& F% J
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
) I! Y2 L, f& w2 b: W& v( }
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
. S) k0 t% Q ~# _: n! d4 f' l% Y; o& c
{
: l d: m6 r' g- c9 t! K2 N
if( m_pItemElem )
+ A! }0 J7 v8 E3 o
{
3 d3 Z- n) k8 Z& m4 Z" _$ R
m_pItemElem = NULL;
3 \7 `: ]1 n# d; z
}
' I, f4 ?! B& N6 ]
m_pItemElem = pItemElem;
$ H4 S/ }$ u5 g1 b; {
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 V' @- w# s9 ?/ c
}else{
( A# A) v7 W) n& [- y
SetForbid( TRUE );
, ~9 |& A* ?4 V
}
. T! O8 ^- M9 @. B
}else{
' U8 N. x1 Z$ l! l: M- M: h' }. S: ?- |
SetForbid( TRUE );
+ y+ q$ A/ a+ C8 I0 B& _
}
- X9 I' f! A2 j: b1 P1 ]5 W% O
return TRUE;
- V+ E; D2 w6 }2 C' n9 a
}
1 u5 d; H2 Z1 f, p1 g2 D& g
- H. y/ l, X, r1 s2 ~
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 p2 x- e. k, H1 _7 E J
{
# P3 {5 Y( v) j
switch( nID )
" K% ~/ Y. Z2 }! R% G6 J
{
% x. s5 f( E' L+ F
case WIDC_BUTTON3:
- G/ J3 l( S/ t1 t" [
{
9 G& H, q( d2 j# ^* s
bStart = TRUE;
0 H0 @/ \7 T% a- t) W( m& B
break;
: Z! J# [! }9 X. r- i- m. r5 J
}
; g0 l [( r, s+ ?$ p
case WIDC_BUTTON4:
9 [7 A8 v- D+ G; h
{
; t$ `# J" u- i4 Y2 U
bStart = FALSE;
9 |3 P; J+ i2 F% ^/ S
break;
8 x; H; ~2 ~6 \/ F3 D. ]; b
}
2 q& u. u0 w, {+ P7 Y7 f! {$ Y8 m
}
/ e7 H" r( h& T2 Y% l
return CWndNeuz::OnChildNotify( message, nID, pLResult );
/ }' U( o4 x3 n- y1 r
}
/ z ]* N" Z7 B. h# n
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
* ~9 ^2 d! y% I. {( @' i( A
{
4 ?0 o+ k* w j/ o
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) ~) ~$ M5 J6 B
if( bStart || !m_pItemElem )
9 v1 U4 q3 \+ W; z1 C. `
{
+ F9 k0 ~# o4 l( {* t \
pBtn->EnableWindow( FALSE );
# E- u$ ^: i1 S
}else
/ V" d' L4 R5 x: u0 T8 @
pBtn->EnableWindow( TRUE );
4 a, z3 R3 B) r5 D2 M( L- n& v" ?7 s
if( m_pTexture )
) S$ G" K7 r: P! P# U) X, ]' _
{
/ X: @0 \) y' z7 S4 z' o% o' X
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* T. g1 V' V1 f, W) O" x
if( wndCtrl && wndCtrl->rect )
/ M+ R8 e% H3 f4 b
{
4 l) q7 V/ |* n; w% h
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
0 |5 H& K- O4 `+ x, B1 N
}
( b+ [" L6 R7 \" A4 L! N7 i
}
1 b% V7 ?; q. P* Z. d
}
( K$ _7 e) X% ^: F" W: x9 h
, H" ^7 I# b2 ?: S( S
BOOL CWndAutoFood:
rocess()
7 ^/ T. J, m) f4 S- R
{
+ p/ _# g0 ^# W
if( bStart )
; J U; G( ~$ x* }$ C0 {9 d
{
5 @$ \/ n: J0 E% t9 A, V( N, D; e$ |
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
k1 p8 k4 F' x6 y4 e* ]* y- {
{
6 ~: S* h. e9 v) H4 d2 j
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
$ O4 p+ D8 I6 s% y) _8 u
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 T. o7 E2 W2 U1 N( m
}else{
4 ^8 [2 r' L$ U5 d4 H1 S7 ~ f2 d
bStart = FALSE;
" A) Q Q: c6 B7 n, d
m_pItemElem = NULL;
- D) w2 g6 T. ?+ B* k
}
/ C' f% G+ f( Z7 Z/ _
}
+ p. f8 o9 ?! N: @5 c
return TRUE;
& x7 T: h' r6 \7 A2 w
}
- q9 N5 t- N( @. G
9 W- a6 [8 x& x: b( t/ n% q) Y
登录视频废话:
. q. j, l4 k! i2 ~
尾翼:
f+ Y% c/ J7 P, U. R# `3 o" ]
# ]% H+ ?0 S; l& n) k
代码:
9 N& ]* D/ C' U: f+ [2 p! H
% G! m# [% a% A
void CWorld::SetLight( BOOL bLight )
9 u* j; y$ A0 D0 J5 r
durch
3 [8 b5 F0 k* F5 U
Code:
/ i0 f8 v- B7 r
void CWorld::SetLight( BOOL bLight )
* u {: N" k1 A2 z4 M6 T
{
# b3 d+ I N9 r* p' }: K3 W
//ACE("SetLight %d \n", bLight);
; Q; O, \7 [: V0 @5 J" }
* ^! z# L5 @$ u+ I- u" e! `4 M& o7 g
#ifndef __WORLDSERVER
1 b# j; B( C% [- A0 y; s
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& t0 D+ S8 A% t% o3 c5 }
CLight* pLight = NULL;
6 c$ c( k. U1 H p2 V
/ _! f3 n) T: k2 V, t2 G
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
/ W3 q7 C$ u: Q# x1 B
7 ?6 p2 u$ K: k; m. L0 R. z& n
pLight = GetLight( "direction" );
" e1 f9 a$ I, |* }! d! {1 w: h1 b
" ~4 ?, M. L# U$ p4 Z8 r# L3 q
#if __VER >= 15 // __BS_CHANGING_ENVIR
}4 V2 n; e$ f" P, p) s$ X
if( g_pPlayer ){
) w; ?/ @& H8 _4 C- i" d
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
, M. Y) F5 M) l$ b- C: ^
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
6 i+ X9 l2 N5 C; p0 i8 e4 g o% {( X
{
1 v3 r6 W c5 R) D1 q% {
if( pLight )
P$ U( e4 o- T3 m7 Y! n
{
0 i& O Y- I; m* n
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
+ t( b: `& L9 h$ q
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 G: G% z! a4 t+ b& n1 a, m0 o
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
t9 i3 l* u$ l$ E3 G% v
. M1 I6 m. s# e2 L& D
pLight->Specular.r = 2.0f;
& q$ j6 ^% l+ ]. K8 ^. W
pLight->Specular.g = 2.0f;
: d4 X9 _6 J5 }4 \( `
pLight->Specular.b = 2.0f;
+ b* J4 W" Y( U! s1 p- w' x
3 X7 `9 ^. P4 ?9 a# P6 l, w
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 a( w9 @2 ^7 n. m# C) K
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
, y2 g. U* q" o+ M+ K, g
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
* a& S) k. l2 x( M# K) O! v
% p b0 t W, e( f7 P
HookUpdateLight( pLight );
6 D/ C4 ?9 z/ f1 k/ s& r3 |( N) \
' M7 J/ A+ H# R( ?. H6 `/ M. a
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 i3 S3 w& r$ q {' @& N
" m, ]- W4 {' ~) ]4 y
pLight->Diffuse.r *= 1.2f;
" T# K, A) T2 } q$ |4 d
pLight->Diffuse.g *= 1.2f;
5 c2 o, P1 |4 \4 k" d! H3 v4 R
pLight->Diffuse.b *= 1.2f;
; Q: s. {, i% g3 e8 B3 J
2 Y' [+ F9 a* x" M
pLight->Ambient.r *= 0.8f;
, v8 x7 |/ a% t( y1 H: u
pLight->Ambient.g *= 0.8f;
/ T' s7 L2 @% N$ I: L0 W
pLight->Ambient.b *= 0.8f;
, s: p& w* F4 O) C" i6 E
) }/ e) V9 `4 X8 N) |+ r; |
memcpy( &m_light, pLight, sizeof( m_light ) );
$ { z& J* b& g8 h& b
4 s. n: n) L) I9 e6 P9 h
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: ~' D3 n! M* z1 P' T$ z
D3DXVec3Normalize(&(vecSun),&(vecSun));
5 E# N: G+ G2 W# X% \4 }0 t
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
4 K! Q a9 Y K8 z
pLight->Appear( m_pd3dDevice, TRUE );
! N8 Q- @: h$ x/ d7 F
3 K1 W c( @& h4 u. y
DWORD dwR, dwG, dwB;
9 g: ^$ t# I. x( L8 g
dwR = (DWORD)( pLight->Ambient.r * 255 );
! l6 l+ v6 ^) u' X2 P5 ?) k
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 |- w" ]7 [6 s' F( |- _9 L/ e
dwB = (DWORD)( pLight->Ambient.b * 255 );
W& x3 u* G2 ?1 O* N, d+ D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
$ `( K/ W! c0 I
}
0 Z* F9 q5 I# ]2 }1 X6 S( K
}
/ y P) A( Z J( b5 `9 U; W
}
! _$ i+ W2 e4 }2 m9 z* \
else
6 T2 l+ a0 D D9 i
#endif
4 S6 s& o5 p! L+ c
7 ]5 I! F& s2 ^2 Z5 Q0 @" ~/ q
if( m_bIsIndoor )
% [" D. A6 y; T* e* o+ w4 R7 z3 h
{
4 r/ S' H, u# R' ~# l
if( pLight )
/ d' e% M) }, ^' f, T
{
! C) v* `1 q; j1 k
// à??μ oˉè*
7 I( ], r9 Y* N, T! {
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, r4 X/ H6 s* S9 n2 L; r. o2 n
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
3 M8 S; Q# S" u$ t- [. l o
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- b, z6 {; x9 l" r) J5 r
+ |- f' w+ I; T5 N8 D) e& v7 z
// oˉè* ??à?
' ], d; U" h2 `4 e. y) @
pLight->Specular.r = 1.0f;
) P; |) k7 U C, W) A Q
pLight->Specular.g = 1.0f;
5 y3 L2 `8 O5 w# y' k
pLight->Specular.b = 1.0f;
* m4 U7 h' d' m4 j6 I2 w
// àü?? oˉè*
& c+ h, y/ u. B0 { r! l# p
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
2 y+ m9 f9 \/ T& L7 t0 u& a
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
2 @/ [) I- R e& Y, c' y$ U. I* G
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
9 c0 b, z3 u1 T' Y& j! r
4 {! H: n8 R0 j$ a h2 x- X! i& G
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- l% |5 m# M6 }" \" T" F; m
{
' ^4 E' l# {( b6 q6 w, j5 |
pLight->Diffuse.r *= 0.6f;
9 S2 n+ H2 [% q4 @* K( N" H
pLight->Diffuse.g *= 0.6f;
' K* V% { n' p7 ` X+ B: p, S
pLight->Diffuse.b *= 0.6f;
# Q* e0 t M& ?! L, I9 w
pLight->Ambient.r *= 0.7f;
9 F/ ]' F3 x* p3 n, d
pLight->Ambient.g *= 0.7f;
* l5 k6 g- d+ S; O4 o/ d2 n
pLight->Ambient.b *= 0.7f;
# I; W7 A! H9 g$ S/ U4 \! h( j- ]& t
}
, d& i! R" J; X( o$ v" B; j
9 o p. Q3 W. `& A* U
#if __VER >= 15 // __BS_CHANGING_ENVIR
. Z- B% C, n3 T. n
if( g_pPlayer )
& w2 ?; D4 F7 r
HookUpdateLight( pLight );
, `# \1 v) ?4 \; G
#endif
3 g2 n0 ]# u4 [) V( Z1 g% t
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% c4 B1 U3 t @/ Y9 @
- {; S/ Q! G# R% z
pLight->Diffuse.r += 0.1f;
; c, V8 C! u( W7 V( Z
pLight->Diffuse.g += 0.1f;
% g! U5 p5 q" t/ m" f
pLight->Diffuse.b += 0.1f;
( S8 v `+ G+ `3 m @( Q2 d& [
// oˉè* ??à?
+ B0 p5 G. p9 Y5 y I
pLight->Specular.r = 2.0f;
9 [) j/ K4 H4 ]* x, W9 d% {
pLight->Specular.g = 2.0f;
. x% {8 L8 \5 O0 f" h, Q: X
pLight->Specular.b = 2.0f;
2 ` h+ M# Q9 U* ?
// á?oˉ
" L3 S1 I2 X5 I' ^
pLight->Ambient.r *= 0.9f;
' D. u0 R& d/ X
pLight->Ambient.g *= 0.9f;
0 i7 f: j6 v1 a9 ?+ Z
pLight->Ambient.b *= 0.9f;
( x# ]6 _; O5 s9 f, _
, Z, i9 i+ o" Q2 y0 q
memcpy( &m_light, pLight, sizeof( m_light ) );
" \, v6 x: _% g. {1 @
' z! Y4 X, M& m& T+ Q; ~) S7 }
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
6 R4 j" w9 Q% t+ p& V, Z! q
pLight->Appear( m_pd3dDevice, TRUE );
, j; t X! \* O) q& ^3 q
( D9 {( o7 ?0 s, p6 ~9 K
DWORD dwR, dwG, dwB;
4 z1 {4 f1 U* H2 x3 G
dwR = (DWORD)( pLight->Ambient.r * 255 );
; S* ~& ^# x- |* f7 M1 X
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 Z. h0 `" G; q3 @. ?5 I
dwB = (DWORD)( pLight->Ambient.b * 255 );
c! s% W( O7 g" b
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; d, I8 m9 R, u
}
1 m& A* q. Z3 B& c" n
}
p& ^. K/ N# p1 R. m Z* G
else
3 P/ Z1 k. I7 ~5 Z0 t! j, ~$ V5 Z
{
0 a" O2 a2 ?# ]+ m- ^
if( pLight )
4 r; W& `: w- G
{
5 Q6 B* k$ V( H' j! n
6 \9 e/ N6 c- ]
int nHour = 8, nMin = 0;
- z! L% h* D. }& ~& F5 _
#ifdef __CLIENT
* I6 s( x9 N6 O1 o. F/ R
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
2 L0 y& Q9 s, V e6 I& K
nHour = g_GameTimer.m_nHour;
9 Y+ j$ V+ q+ f% E4 i
nMin = g_GameTimer.m_nMin ;
# w% r( p8 @" G
#else
2 [, \6 o3 K( e. T! m( z
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
. F( r+ v0 k0 C( G# M
if( m_nLightType == 1 )
, e! U9 y6 h/ Y( ?! N1 B( x
nHour = m_nLightHour;
$ I- l" M$ ` V
#endif
; F! {, y. k5 `! u5 D* _
nHour--;
, p6 Y1 d& }8 [+ V
if( nHour < 0 ) nHour = 0;
$ ]! u" C, f. `% B
if( nHour > 23 ) nHour = 23;
% e5 \6 q/ G2 a4 M& `5 V$ G
6 o/ D9 M+ i6 V' y" M; l, p, e( K
//if( m_bFixedHour )
3 H8 w/ o: M8 r0 L* b: Z
// nHour = m_nFixedHour, nMin = 0;
# h. X0 n6 H8 _) b
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ ]( E# C K* @) l1 B- k
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
4 ~- C/ a8 s5 i; }3 X7 j3 f( `+ O
1 E/ a8 v: |: b8 ?
//m_lightColor = lightColorPrv;
( x9 V. D- F& S& ~6 E: w
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
2 c7 ~4 C6 O( B. U$ X
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 R6 d# l+ O9 l2 P0 {( e. v7 Q" q
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
- O# F7 L# G+ v' @% t/ ~
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: `) B% A+ s, g9 R1 z9 A
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
" }- M$ w' Z( i: K e& q: J W5 w+ b) V
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
2 ?5 T, X& i6 S! }2 @8 o! t# F( l
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
; R9 ?8 [! [4 ]& x$ O& j6 \* b+ A3 K
* w F3 l/ G T: ?' y
// à??μ oˉè*
+ e% x- }0 ~' C9 G$ N& s8 L: M y
pLight->Diffuse.r = lightColorPrv.r1;
) e: B1 x& i# o" M/ n
pLight->Diffuse.g = lightColorPrv.g1;
3 l) w- w/ P+ ^, V* s3 c
pLight->Diffuse.b = lightColorPrv.b1;
' b |1 \( q8 K) z9 D# V- i
// oˉè* ??à?
5 i2 b6 X8 \3 k$ z w
pLight->Specular.r = 1.0f;
9 e4 t* ~* u% A3 A- h- o, P9 `3 ~
pLight->Specular.g = 1.0f;
# x2 a% W3 ~0 C5 G0 Z2 V- B
pLight->Specular.b = 1.0f;
0 r) d. a1 n; ^- i
// àü?? oˉè*
9 f+ q5 i4 [( J
pLight->Ambient.r = lightColorPrv.r2;
8 U" K/ Q8 Q: O: i9 M& N& P8 ?
pLight->Ambient.g = lightColorPrv.g2;
$ C" l; e5 Z6 u( S. J; |# X
pLight->Ambient.b = lightColorPrv.b2;
6 Z: X2 j/ w0 k5 u4 U$ w3 p
; a& ~8 {1 C) e
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! w6 r) K( d+ j1 E: |5 `: l7 ]0 X6 V
{
) S; K! w+ n' m3 E8 j/ X
pLight->Diffuse.r *= 0.6f;
3 e% b8 ]6 q, S
pLight->Diffuse.g *= 0.6f;
' a, W4 m: |0 k/ K8 Q6 N4 r: _: e
pLight->Diffuse.b *= 0.6f;
2 I3 @) k# Z# F) A
pLight->Ambient.r *= 0.7f;
6 |) s$ ^! K5 W8 ] A. l
pLight->Ambient.g *= 0.7f;
5 @; ? |0 ?) J" A$ o' @1 V6 s- @) ^
pLight->Ambient.b *= 0.7f;
+ y" p1 s5 w0 b5 j8 |% q. X! |
}
% W5 G4 ^0 |& N# k! Z1 D
7 O9 G+ Z2 p+ c! e- k g
#if __VER >= 15 // __BS_CHANGING_ENVIR
. h1 P1 u, g5 D/ C4 p
if( g_pPlayer )
) o. l% h6 v% W( D
HookUpdateLight( pLight );
4 q- T1 W/ c0 J: i. p( ~. x* q
#endif
$ d8 y! a3 Y, K) Y1 G( E2 C( g8 A. |
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# ^; Q) [! {# w; ~; g$ G& m
5 L8 R, n, L8 ]' m. |0 E: {
#ifdef __YENV
6 C$ [' u& Y' X, k: @) G% d% _
pLight->Diffuse.r *= 1.1f;
]/ s, n( k. l
pLight->Diffuse.g *= 1.1f;
* D" V J1 O$ b& X# ~( R
pLight->Diffuse.b *= 1.1f;
) @& O6 J% g, s$ \5 q3 {
// oˉè* ??à?
$ I7 n! t" l2 v8 O2 x
pLight->Specular.r = 2.0f;
$ i( h( s- D; X( J, F
pLight->Specular.g = 2.0f;
- W: s( c: _9 a7 n% S; H r
pLight->Specular.b = 2.0f;
- K7 f k; v% h9 \1 F" A2 o" E: {
// á?oˉ
, O- U0 G A4 k8 L" |( Z
pLight->Ambient.r *= 1.0f;
. X0 m4 B) e* ]1 P1 f% c( U& N
pLight->Ambient.g *= 1.0f;
8 E" @/ q/ J: z( d, L4 ~2 N
pLight->Ambient.b *= 1.0f;
# i4 M; @7 S# D( a
#else //__YENV
- B9 E0 F4 Y/ I1 r6 {' Q
pLight->Diffuse.r *= 1.1f;
/ ]/ K& n6 H# _$ u2 O9 b
pLight->Diffuse.g *= 1.1f;
9 g# s9 m* N7 i/ M+ ~4 Y8 W
pLight->Diffuse.b *= 1.1f;
7 t% N; x8 L' v5 _ ]
// oˉè* ??à?
$ k1 Z. E# b/ G/ P+ h
pLight->Specular.r = 2.0f;
, Y0 t% L( Q( M5 N+ ^2 z6 u& ]8 R
pLight->Specular.g = 2.0f;
; R) W! B& }' `2 s, }3 l2 Q
pLight->Specular.b = 2.0f;
# |2 ?5 U) `) n& [4 r
// á?oˉ
% t7 ?9 Z2 [6 y' s q- }4 H3 u
pLight->Ambient.r *= 0.9f;
9 b8 N" G8 ~. x& ]
pLight->Ambient.g *= 0.9f;
' t H1 t- B) l D
pLight->Ambient.b *= 0.9f;
8 V0 F& _$ `2 o+ |: }7 j
#endif //__YENV
4 r1 x' M& o, ]6 c4 Q* r0 j5 F
0 V" }& o7 F5 o2 @! |1 ?9 s# p% |
memcpy( &m_light, pLight, sizeof( m_light ) );
9 g7 e; a6 H4 p+ i* `
# d [# _8 L7 d4 z% w
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 M& C/ Y9 Z5 P; g2 v) M
D3DXMATRIX matTemp;
7 Q1 L+ x% G; J5 k$ ^/ E( Y
static const float CONS_VAL = 3.1415926f / 180.f;
; o/ p2 |. s1 i* |! t) V6 R
# Z; o+ P; z: ]4 b3 V3 A4 y
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
8 u2 g+ L0 Y2 A% j% }- h
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
0 d% g" s, `. a5 I
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
! G, ?& f" W( X, l
pLight->Appear( m_pd3dDevice, TRUE );
3 _# G* K* f/ W+ X8 a
' h5 X8 i: B5 Z- [- G6 f, v! o
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, G% `+ B, s, J
// D3DXVec3Normalize(&(vecSun),&(vecSun));
1 J! L4 Q( ?& e+ y) u! J
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
o5 i/ s" z# f2 E8 o/ X; _
) u* A% E: {2 i# S2 }* Y0 M( X
DWORD dwR, dwG, dwB;
& K z8 q" B. c, Q( p* h* e
dwR = (DWORD)( pLight->Ambient.r * 255 );
% _$ |& h; M% j
dwG = (DWORD)( pLight->Ambient.g * 255 );
; D8 j1 U* s7 v. h/ ^+ a
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 r9 m0 |- Y5 _0 f9 p* k( n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
$ F- W+ m$ z0 T0 v! P' r. X7 ]$ h8 c9 f# _
}
) c! Z7 G1 F6 X# V' z
}
. Y% Q8 Z, E) T2 i n7 O
8 @! l1 i- u. k
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
# C/ y& ] ~8 H5 y: i
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) );
, s+ t b& {' O/ }/ a" Z
::SetLight( bLight );
9 N b; R8 [, |; z
. a' h7 G& _' e h: q. n4 E
// ±ao? ?D?í???ó á¤à?
0 L0 M' G) V, k0 i; v% e
m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 e. E8 ^; B; v3 V9 G s9 J
( o" T, z0 [: X+ x
#endif // not WORLDSERVER
* K- Z. @. A# E+ V8 |" a- z" D, B3 C& S
}
2 `/ y# a. V6 g- L5 ?
并更换
% ?, l+ p$ G3 X4 E( D0 [
Code:
, S9 r: E( L: b0 D2 j( E
__FLYFF_INITPAGE_EXT
/ D4 l8 x3 i( J/ p- \
定义
- X$ _2 Q6 _9 `) w4 E% H; N5 g6 H# N) Q
3 L& p0 U5 k3 t! X% a2 |, g y& N
# o" r4 O* i7 i* G/ y# ?, T6 v
$ t5 r' R s- A* j1 N: R
+ E _( f8 Z9 _! |1 q$ x! U6 o" P
现在终于删除我的狗屁加速...
/ @; s2 Y. p1 ~/ ?
3 e, C5 A# E( ~! @
5 k( J7 p3 m1 d
( P$ p: V* i) l' H' A) }
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2