飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
4 w- s* j5 k/ Z f8 V) P
尾翼:
9 i' c- Y3 t s: R
. o! V; C9 G/ ^3 r% s- v" M2 i- t
代码:
5 R% X. W$ g3 m/ x
CWndAutoFood::CWndAutoFood()
6 n/ l- L4 R7 L. p9 @; T
{
) C: f, n; ^4 N( L3 H5 t* l
m_pItemElem = NULL;
1 ]- k4 Q8 u8 Q5 V( d9 |8 z! g
m_pTexture = NULL;
: d# N$ g5 h" m# Y/ x4 [0 ^
bStart = FALSE;
) m0 \" |/ j# E9 L
}
. g- Y- ?0 ]$ d3 j" k" w# ?
+ G# G$ n5 a0 U( Y" j/ l
CWndAutoFood::~CWndAutoFood()
2 d# K0 C; y& C: }) M9 L3 u6 @2 k
{
+ i7 ^/ F" ]+ u# D/ g
AfxMessageBox( "AutoFood ist gestorben
" );
5 t- G/ d$ {) F0 _5 @9 k
}
; o% h- A0 V9 p% M( r
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# J4 o( F; [4 D
{
1 v" g }9 `$ } ^
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
4 Q# o# |+ c+ L% n2 H+ \) ]: B
}
/ z% W) i+ E% D; e1 X
F) ?! b3 S* h( G6 l
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
; p- @) t2 @. N9 g; }$ O2 E
{
0 O# R" F! s8 e3 |! q* D8 c' h
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
% t1 N& ?+ a' V- x5 S* M3 a
CRect rect = pWndCtrl->rect;
3 v* Q/ J+ h5 T
if( rect && rect.PtInRect( point ) )
# L0 K, Z: W( \( |! i$ u/ B
{
0 A {9 A7 s" a6 l+ o. L
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
0 r3 i B7 L% `% j
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
- s6 x( {5 j# q; w
{
* [' z+ K9 k7 N: L
if( m_pItemElem )
5 ^% W1 b8 W4 w! z( O4 `* S
{
" _$ u) K$ _* N1 p7 b6 Z' {' @8 m
m_pItemElem = NULL;
9 Q( n: F& F1 t! q% _& g
}
# ] i. q' s7 u+ V E2 B( O9 K
m_pItemElem = pItemElem;
7 w X0 p$ J6 R& f K
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
: _* [# i3 Y2 i/ |" l6 _6 y
}else{
5 H5 J; b! Y$ v# ]0 W- y( I; w/ n
SetForbid( TRUE );
; U; {! p8 h* Q( |4 c j! y
}
/ N ^3 K' p$ w1 p4 j) J
}else{
9 u5 F+ z% _/ {3 ^
SetForbid( TRUE );
" o6 o9 l1 K) E9 @% h9 ]7 i
}
. p" X, e0 |7 k' M6 @" \
return TRUE;
$ L4 C2 O+ j; }4 j; ~0 p
}
% L. D _% o5 y# T) w
4 q7 Z/ Y% r3 S0 e9 z9 R
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 M3 i1 w+ Q2 K% |8 z
{
/ E; z% _1 e5 ?
switch( nID )
, P% L, v6 p d% X9 _- [+ p
{
7 v/ L* N4 Y$ p3 q
case WIDC_BUTTON3:
+ E/ j/ W4 k8 k) c
{
5 |/ G2 }* L/ c) ?4 S8 o5 Z
bStart = TRUE;
( e3 y: L. c" d X7 {
break;
/ |' v% M0 \+ x& a5 X: R6 u8 Q& g- j% e
}
* z( e0 S- n$ ^) u& i
case WIDC_BUTTON4:
4 v- \" J G" \$ k C
{
# q+ H9 l5 C% `3 L
bStart = FALSE;
! C4 O, g$ h) L% [, i8 E
break;
7 s7 x. O2 M' u9 i
}
" z1 w' v3 G# w2 w/ r, a
}
( R! M0 [' ?5 j# b1 H& U
return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 u# A( K) }6 A
}
' _2 {; \: a/ D! f3 L
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
8 r8 r \0 i/ _: s( d, h8 g
{
0 ^4 D+ `' z4 K
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ t# u! x) d5 V) G4 W% @) c& i& J5 B
if( bStart || !m_pItemElem )
& R3 @2 V5 ^5 ?, X" u6 W9 J/ V* x
{
. F+ X# R8 `* n3 [$ y4 X: ]
pBtn->EnableWindow( FALSE );
7 o0 R- }4 Z& `+ r6 O
}else
/ I& H: w$ a2 h: j; j
pBtn->EnableWindow( TRUE );
& F8 G1 P; p' w
if( m_pTexture )
2 e/ L+ ]0 Y1 B9 w* w4 Q1 q* x
{
1 n' ?5 L# W. K9 N
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
- F' G" k& N6 K4 a; X/ w4 P
if( wndCtrl && wndCtrl->rect )
c; j# o- {0 J8 ~( e
{
7 I/ [2 K6 p7 N& j. k
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
3 S2 |) B. y# Q8 w5 S5 p) U
}
, A+ w: \; p% ?" \
}
0 X& J# D1 T4 |' {" ^* a
}
3 ?5 l# n& z9 C0 B5 ]$ a/ X) i
: D) Z, K' @# D$ J8 j0 U5 w. Y
BOOL CWndAutoFood:
rocess()
& c- j, F8 E' ]
{
' |/ X+ |+ ?6 _) q$ v( S7 c. }+ ~8 r4 q
if( bStart )
+ }3 c! g/ r8 [$ X' Q% e N$ \/ C
{
2 p% t1 X+ Q, w; M2 f- A/ N
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ {2 K! w, R' C) T, J6 I; `
{
; c8 c8 w: G5 u: a. w5 W, E, Z. I
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( Y' p' ^: S N& p8 S
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 h. ]( R, A7 i9 ^; T
}else{
' k0 ^1 m( v: f4 B# I
bStart = FALSE;
# t- E( M3 A, s
m_pItemElem = NULL;
2 M2 }5 Y% B2 Y5 {) E; A4 H) b
}
" z# g" U8 d3 Y5 n
}
$ M4 `3 ^: o( q0 Z2 b7 F
return TRUE;
/ \( g. M! i6 s5 _) c2 _, ?# G7 @
}
# t7 i3 b0 ~8 H, a% {
1 _$ P4 e$ s% C$ ^6 }
登录视频废话:
+ L; c4 s+ y; n
尾翼:
3 [2 N' H X0 f5 W: E0 z
. I2 A: s+ v5 C9 n' u! H
代码:
9 m) B, O% J) F# r1 m2 }
' ?0 R7 n' l. g l/ `
void CWorld::SetLight( BOOL bLight )
* u8 I) ~$ K$ D1 \ w" S" w* b6 S1 A
durch
7 A/ L8 z" ?0 y# i
Code:
) r- p6 H) s) l0 P9 k
void CWorld::SetLight( BOOL bLight )
7 P# ?2 @% ]3 z
{
3 }( X7 ~% R1 a8 K. l
//ACE("SetLight %d \n", bLight);
: P: ?% B( A4 K E: X1 J
1 f* ]5 a+ R z4 F6 D) L" M
#ifndef __WORLDSERVER
3 `1 A) R6 a1 t7 J% v" P# q- T7 Q
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& X5 G6 `" C7 N0 y; {3 _2 X
CLight* pLight = NULL;
& W$ P& K5 B# q. P3 p( w# G* a
: P1 ]0 b1 d$ V2 g1 T8 Y3 n5 @7 z4 `
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
, S7 R6 ?, c& X6 ]* |
+ u5 @) o: V/ H: J
pLight = GetLight( "direction" );
* P u, ^' s- a* c9 c
5 p" h1 }- Q1 B
#if __VER >= 15 // __BS_CHANGING_ENVIR
( d2 O- t3 ?; f ^3 [( x6 m
if( g_pPlayer ){
; B- ?; @( y8 V5 K2 p
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
# ?! J" w% l" Z# z1 Y! R6 ?+ X
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
- h: _$ R! C( R* Z, m* E3 ^* l5 G
{
# M* D* D3 g0 { Q
if( pLight )
8 K+ L+ y. Z. ]7 \
{
+ I/ K( \: F3 R) f; t9 X' e5 |
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 S5 m% N k! B1 ]4 {6 g- Y" H Y
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
; ?7 w1 y/ q W, \7 ?
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
) J4 ]6 q' ^. p. P& D( ]
" T4 j" g% E, j f
pLight->Specular.r = 2.0f;
5 [" s4 D9 o! R$ Z
pLight->Specular.g = 2.0f;
) j: x4 c( V" g6 p
pLight->Specular.b = 2.0f;
4 T0 h, ?3 Q. Y
; v, X1 L" f; D6 b" O% Y0 K) |
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 e/ Z& X7 I' f1 G
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
4 Q% R1 [& }. N' \$ ~ T, x* C& a
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
( L- ] J9 o: k: F
, |+ x$ Y/ J& _6 c
HookUpdateLight( pLight );
$ M) @0 s. g, ?1 I
* C+ y% z+ V4 }. z& a% m. C C( i! Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 i& z2 \5 p; ~4 G! S0 j7 N* \9 m
6 w8 D. }2 l2 x8 f9 ?+ b9 ~
pLight->Diffuse.r *= 1.2f;
" z: Q) F" e4 }5 T& T
pLight->Diffuse.g *= 1.2f;
) K% @" N* p C) P0 w
pLight->Diffuse.b *= 1.2f;
, Y x) R6 C. p' l! i
, j. P* t+ z. v, \$ d8 }
pLight->Ambient.r *= 0.8f;
+ ^; z1 L$ r% F# \
pLight->Ambient.g *= 0.8f;
% m3 Z z) q1 X& l9 s9 _
pLight->Ambient.b *= 0.8f;
6 m3 U$ Y0 _$ I9 ~
, H1 Z6 a ]. i: _: s" u
memcpy( &m_light, pLight, sizeof( m_light ) );
/ v; w. S+ D* }4 }# T( i' B8 }6 k( v: d
$ h2 I7 R% @2 l7 A
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, w9 s7 G) C% m* |
D3DXVec3Normalize(&(vecSun),&(vecSun));
( ]" `" V6 _4 @* y
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 k+ K; ?# V8 e8 I9 p
pLight->Appear( m_pd3dDevice, TRUE );
1 j0 R& u3 G% p- r" U& i5 C
2 v6 `: V# M, F" Y% b+ c1 q$ O' v* s
DWORD dwR, dwG, dwB;
: S- u7 F/ [7 m7 F' _
dwR = (DWORD)( pLight->Ambient.r * 255 );
) d' X5 f Q8 S+ `8 V
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 U0 ?+ o1 m) J% Y
dwB = (DWORD)( pLight->Ambient.b * 255 );
. b7 o" `+ K# l) d; M! ]
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
, I# R: X7 X+ V
}
$ h1 E$ C& r2 M7 R' {3 t- d
}
; P. L: v& ^: D& |% v
}
* O2 R% @( L! d3 W
else
, m) t3 t' j# T! d9 B! _% a) L
#endif
! k( W Z+ t9 x; ~) ]
- T% H& N& B" w& n4 V( G
if( m_bIsIndoor )
! } V6 J+ N/ S$ Q4 A) m$ k
{
6 ^2 ~& n! v0 P
if( pLight )
" i) {% j3 [8 t$ I
{
7 _, u7 ?9 Q5 `9 Z
// à??μ oˉè*
6 l! e- `; @3 f
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
# I+ A( r: m: y# f/ S
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
( Q& I) N$ w: W) O0 W* u5 s
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
( M/ W5 P0 w6 C! [0 b
2 d2 {. X& Q, ^. f* o- y
// oˉè* ??à?
6 a6 B9 h1 ^8 m3 a; g3 @( M
pLight->Specular.r = 1.0f;
+ m- i9 a n! H$ G9 a: q* b
pLight->Specular.g = 1.0f;
2 a( F0 V# W4 X8 U
pLight->Specular.b = 1.0f;
% s3 E! Z% L V. |' u$ v
// àü?? oˉè*
( s: Z/ [6 K# x
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
7 v: k: a$ A2 c, ]2 K
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
* \ S2 |; [' c5 Y4 h& E i4 @
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
, X2 X9 U4 S3 L
, ]/ ?$ L6 E5 f( u' d) d+ |
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
_+ q7 v4 x+ g- `" Z, Y+ O
{
7 v' d5 l, ]9 U7 f- u! g: s7 x
pLight->Diffuse.r *= 0.6f;
6 \) Y6 ^/ d7 p( z+ j1 L. h
pLight->Diffuse.g *= 0.6f;
; d- C) N+ w( l$ t4 W- N
pLight->Diffuse.b *= 0.6f;
. N& ~. @4 g8 l. D @* J7 _ a
pLight->Ambient.r *= 0.7f;
6 f/ x! G$ }' u
pLight->Ambient.g *= 0.7f;
5 o M6 ]3 c0 C8 c; V
pLight->Ambient.b *= 0.7f;
( s6 B; m0 J; Q, ~
}
, s% \9 c# ]/ z) B: [
, H9 f2 M( a8 H. L# }1 r
#if __VER >= 15 // __BS_CHANGING_ENVIR
: N, U8 [2 V$ p
if( g_pPlayer )
' g5 z1 |7 ?& y# W
HookUpdateLight( pLight );
6 Z$ F% U; O/ @
#endif
+ Q; M6 D+ K1 q$ f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 b' M$ ~) X* r. c5 o* Q5 V6 L, A
$ X0 D; b$ O+ V; I& ]- }6 Q6 G
pLight->Diffuse.r += 0.1f;
9 |, X1 b. H9 N9 B) Y
pLight->Diffuse.g += 0.1f;
' F4 ~1 l2 h/ h! S
pLight->Diffuse.b += 0.1f;
1 U; I+ ~/ V+ I/ U" Z* s
// oˉè* ??à?
; y, H) `$ t; b" W
pLight->Specular.r = 2.0f;
" g- X- l( g6 L3 C1 m' K' P
pLight->Specular.g = 2.0f;
: S( x0 e0 s. H$ T9 F
pLight->Specular.b = 2.0f;
7 \2 k5 a3 a5 w& L: X D
// á?oˉ
: K' m! D' }: \4 K9 t$ P$ o8 x0 R
pLight->Ambient.r *= 0.9f;
5 G( F" D# t. a" d8 h- ^9 g
pLight->Ambient.g *= 0.9f;
, { _3 g* M. @6 e3 y S% c6 P4 w
pLight->Ambient.b *= 0.9f;
5 m$ T# u, F9 O& g1 c Z! t; `& u
J( a: e0 \4 | K+ _1 x1 I
memcpy( &m_light, pLight, sizeof( m_light ) );
) q, ^, R! A% [6 E
4 T, Q- ]/ E! @" i2 I# y) x2 R
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
9 }: [& Z, h; r' ]4 S _, i# y
pLight->Appear( m_pd3dDevice, TRUE );
5 w0 C' y/ F% O! W/ v& \$ X/ ~
1 k& H K" S$ n* I+ B% N
DWORD dwR, dwG, dwB;
5 R7 `* y' V+ o, ?) E, J
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ a4 ?6 |) X0 t/ w6 @. G8 @
dwG = (DWORD)( pLight->Ambient.g * 255 );
6 p+ h: m! {6 j5 L
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 \0 q: [1 n2 }4 b7 W
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; s; \1 p( P* A& P: x) {
}
; Y; g, A! @! C9 f
}
/ V' o$ G A& i9 `: x5 k b _6 ~
else
; G2 K: D8 h7 P: _& k
{
6 r) i* \ D$ S4 x2 B* p+ q
if( pLight )
% k) `' t6 E& M: z/ L4 z
{
8 G% g% `2 y( R U
: Y4 p0 M3 h3 E }# W
int nHour = 8, nMin = 0;
; w# v! b% Z8 m4 a- l
#ifdef __CLIENT
7 ]6 h! X) y$ r; _+ }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
4 R% Z% m. A. y, J: X9 J$ I! w# q
nHour = g_GameTimer.m_nHour;
( K( z4 o9 N: a
nMin = g_GameTimer.m_nMin ;
7 B9 g0 F( T* Q( H1 ]/ P* p3 z
#else
$ T3 M8 |3 W- h' M
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
# p( u4 y3 k( ]- l$ Q
if( m_nLightType == 1 )
6 O1 o1 i F0 Q1 f% X
nHour = m_nLightHour;
6 Y/ H3 [) H8 p4 E$ P
#endif
; X; k, ?' R! m, e2 l" T8 A
nHour--;
- J0 B( T E. {+ T. l* q
if( nHour < 0 ) nHour = 0;
5 N) z; ~8 p- U; _% M$ S" v
if( nHour > 23 ) nHour = 23;
1 \2 Z+ z2 V$ M+ T( p1 B: g) w
8 x- I- g9 L5 R( U2 l0 Q5 k% }* r- r
//if( m_bFixedHour )
( p6 C% ? K7 H# x R: v; N. R& N
// nHour = m_nFixedHour, nMin = 0;
M$ ~9 k2 b. g! x$ D
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
0 c/ X) r0 h! m
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
: U7 [2 m8 P6 l: I
j9 D8 E) [0 o" _9 C- I; m
//m_lightColor = lightColorPrv;
/ {* n6 f: I$ F$ k
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
% n% }: u( @" _
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
1 ~6 b5 Z/ |% q$ h1 M$ e
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
; k8 L! ^4 r% D
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
5 D. W" x3 p# T. m& ?( E
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! q1 u7 R# {' c3 A! ?; p1 M
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
0 E U# ~$ C5 f0 z# [, ~( y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 ~" ^, n5 c" o/ n. n" y
# v1 `6 f r* c- L; F$ M4 z% F
// à??μ oˉè*
# y& v" ]& ~0 r0 R" z8 W' S
pLight->Diffuse.r = lightColorPrv.r1;
& I, p) a0 X! P
pLight->Diffuse.g = lightColorPrv.g1;
$ k: B$ I5 \+ O; S& j% ?' i: u s
pLight->Diffuse.b = lightColorPrv.b1;
; H" p8 ^, p! S; d. P& a3 G
// oˉè* ??à?
; E0 A) _! {- v; m& V1 B
pLight->Specular.r = 1.0f;
/ Q. l+ L( a0 K: G$ q! e- H3 x
pLight->Specular.g = 1.0f;
6 @/ l1 O) |9 A7 w
pLight->Specular.b = 1.0f;
1 _0 u1 ]$ m, z4 q
// àü?? oˉè*
& h! ?! P7 X, l% ~
pLight->Ambient.r = lightColorPrv.r2;
+ t. _0 S* W' z! e: l' n
pLight->Ambient.g = lightColorPrv.g2;
. D! q, P5 O" D1 W$ ?9 V, Q
pLight->Ambient.b = lightColorPrv.b2;
$ Z) E) d! `% O4 P6 v4 t( o
1 h5 W& _* o/ Q& i, ?1 O
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& o$ l" Z3 b# v1 v
{
. L* o' w- l& r. K+ o- P1 j
pLight->Diffuse.r *= 0.6f;
4 M, K0 s2 @( I7 \+ A c% o
pLight->Diffuse.g *= 0.6f;
4 p3 `0 O: p. z& Y& u
pLight->Diffuse.b *= 0.6f;
' U6 ?* r& R0 \6 r* ~
pLight->Ambient.r *= 0.7f;
0 k* w7 N: y3 B. w( g* L/ ?
pLight->Ambient.g *= 0.7f;
! t4 _' L( z* r7 K: O( ~
pLight->Ambient.b *= 0.7f;
2 X$ n' k% ?1 O8 L3 [
}
, Z9 v- @8 v8 s/ _& X' F
, f2 V3 A5 J2 l# D3 R
#if __VER >= 15 // __BS_CHANGING_ENVIR
( S5 \- ?- N0 ?
if( g_pPlayer )
+ E$ f0 G4 o) a' @( ~1 U0 ?
HookUpdateLight( pLight );
/ W) ?) _8 S9 S: g, t* B
#endif
: d4 M3 ]; g% b' j8 Z& U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& i5 K+ U; r! {1 {) F" y, e1 h7 A+ }9 D
4 E# G! u: N0 C3 i/ w
#ifdef __YENV
. X. T0 U. L* t0 m' T ~4 F8 ?
pLight->Diffuse.r *= 1.1f;
$ Q# s% Y% X# E
pLight->Diffuse.g *= 1.1f;
6 h3 ] Z5 C6 K7 Y+ c
pLight->Diffuse.b *= 1.1f;
2 q* D5 q* p$ ~; X7 K3 N
// oˉè* ??à?
/ ^2 z7 b- c1 [" M5 S2 q3 Y
pLight->Specular.r = 2.0f;
: z' W$ z a' K! D8 k) B; L
pLight->Specular.g = 2.0f;
/ y3 I$ R1 c1 S" ?" M! [
pLight->Specular.b = 2.0f;
+ H# u2 K8 s( _. M; p' z+ z9 c9 A
// á?oˉ
; y9 U+ |6 ~& h' U4 |# ~
pLight->Ambient.r *= 1.0f;
+ O# ]/ t8 G& B1 T
pLight->Ambient.g *= 1.0f;
0 P F5 H; m( K8 K/ i5 V0 c X# q
pLight->Ambient.b *= 1.0f;
: U8 M1 ]' i5 |3 z
#else //__YENV
, x5 [0 A `; U" e
pLight->Diffuse.r *= 1.1f;
) F8 u7 M( s0 P6 I2 a% }
pLight->Diffuse.g *= 1.1f;
! w0 v$ c4 z% G4 i: @/ E) {0 x
pLight->Diffuse.b *= 1.1f;
% b$ d2 Z' Q( m, ?4 ^ B& X
// oˉè* ??à?
8 Q- @; A& H7 O$ S8 X0 l! S8 k
pLight->Specular.r = 2.0f;
?* {2 O/ N. p/ y. \
pLight->Specular.g = 2.0f;
1 O, ^4 o5 j; k6 M& v% d M
pLight->Specular.b = 2.0f;
1 G" {/ l8 @$ J& |( h
// á?oˉ
* T( l5 T; S0 Q1 ^, H
pLight->Ambient.r *= 0.9f;
& D) k I1 ~& Q& p
pLight->Ambient.g *= 0.9f;
4 j- }: O4 y0 ^. p$ V: ^0 R, b
pLight->Ambient.b *= 0.9f;
1 _" i& O8 ^0 l# M9 @5 g& P. Q
#endif //__YENV
: Z) n* n$ G! v; z/ T& R& ]4 ~
$ {2 O! e9 Z& z3 P' l
memcpy( &m_light, pLight, sizeof( m_light ) );
1 ~- g* K2 T8 @" [
& {3 o5 \- e0 v! `% l
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' r8 A1 l0 d1 Q @; _9 a; f) w
D3DXMATRIX matTemp;
! r2 |3 p5 @7 W- A! r% A* z3 A/ D1 k
static const float CONS_VAL = 3.1415926f / 180.f;
) j" } D3 y1 M# p& G
4 Q5 ]9 _. |5 @4 |0 H
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ ~1 p5 U l9 v/ j1 J& I8 H8 E
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
: [6 i( |* ^& P# Q# G
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ `* C" b+ x7 z+ \2 d
pLight->Appear( m_pd3dDevice, TRUE );
6 A7 j. M6 O0 l3 Y; M+ v" ?. L' R( M6 C H
9 ?( o# v+ y+ q* A. p. q
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
+ j5 |' H# p- K5 s9 X' f4 Q
// D3DXVec3Normalize(&(vecSun),&(vecSun));
) D8 s, n3 U6 Z7 u
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ i4 o' o G" W L; k) B5 k) a. S
8 m* x* F3 h1 K8 s
DWORD dwR, dwG, dwB;
& @( E4 X6 F- _3 M0 e) d
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 _ ~4 g% ^# W7 {! A1 C9 T' T7 F
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 Y% s, u+ p) M5 ]8 o* K/ y* O
dwB = (DWORD)( pLight->Ambient.b * 255 );
' E( R* \# w! W% E( m0 g
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 j5 ]' S% b- B
}
# A( y- U' ~' }! i4 t
}
' { t) p0 y" j+ @! z* _
+ y/ C- p' X3 V
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
3 {* z. k3 m/ R3 W
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) );
. I. d4 h, S; A$ m7 R
::SetLight( bLight );
2 @( d: i! ]" H. c6 P
" i& F# H# G1 x
// ±ao? ?D?í???ó á¤à?
3 x; u) E4 K) z2 }6 e# E
m_pd3dDevice->SetMaterial( &m_baseMaterial );
F/ ]' b9 H8 u+ ?( j$ V4 z. a
$ C3 t# Z1 O& ^: }! I! ?3 c8 k$ T
#endif // not WORLDSERVER
0 \0 D' i+ A- O
}
/ Q" \# x: Z) m; a# B
并更换
1 M- [- i* }% `7 m3 H
Code:
! d! D+ Q& H3 A) K- i
__FLYFF_INITPAGE_EXT
/ E: x4 V: ?* N4 l
定义
2 j. U* v3 a$ j9 l- b2 Z
6 \; b$ m% L9 L7 L$ w5 X
* E; M& l9 L' [/ I
6 s' Z4 P& }9 P/ o4 X0 I
, L+ }# `- V% Q! Q1 {0 {6 H, @
现在终于删除我的狗屁加速...
0 L: U6 a* |: f: {3 d- Y
, g' j7 q6 [ |: @5 ~# i
6 Q6 ]: g- g; x7 C" ^" g) l
% I- q- G6 q, e, X, o9 q
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2