飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
% j$ W* h% d. l* k0 `
尾翼:
0 q- {' C7 g) x# D$ P& v3 a& r
: Z& z% P6 t" x/ B$ ^
代码:
) I$ d6 d0 l3 y. S0 `8 t+ Y! v
CWndAutoFood::CWndAutoFood()
) }( K. J0 `9 |
{
& z0 C4 B% {& X! F
m_pItemElem = NULL;
- [) Z% C4 G! K) X* {, f
m_pTexture = NULL;
9 |5 S) z+ Q" E+ C+ X2 D& y
bStart = FALSE;
- y( i3 j z2 R+ D
}
+ k: z& |0 V/ n2 S* e# G6 Z
( m: Z2 m! [" K8 g$ y/ m
CWndAutoFood::~CWndAutoFood()
. l$ s& @+ v0 p& h& [0 d
{
3 Y5 T- s7 z: Z# r
AfxMessageBox( "AutoFood ist gestorben
" );
* G2 a4 f2 c: K. Y' s% \) p; o
}
7 g" z1 \2 }) Z6 D0 `% P) a
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
: G# |. ]2 ` }! W! Q O# U n
{
7 c+ ~3 A& L& e% I$ [6 p# r
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, g1 `" u! O1 }
}
0 c6 P7 f; o0 @7 K: s1 v' O* k% z
: M! R g& \3 P+ w
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
4 T) N1 g: w: Z- H2 G" V
{
8 d) d$ u- [7 h5 x* g5 ]
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! f% b2 ^# c) Q* f1 O4 S2 s% d
CRect rect = pWndCtrl->rect;
* m# K& K6 d/ k5 u; f2 A! X
if( rect && rect.PtInRect( point ) )
8 |( i6 V) K7 q4 o" O
{
" l/ Z) e3 }; o' E
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
, X/ K. L" [% `2 q5 ]$ N$ H2 v
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& Z2 O, S3 ] p: K$ H9 ?) r
{
" P; A! t6 \+ U0 N, v( s& P) Y2 }% p
if( m_pItemElem )
. l; u# h) W8 O" o% R5 x" e; Y
{
+ I! v$ z; V* O' e) r( D: v
m_pItemElem = NULL;
# J2 A* @7 L" x) {& T
}
4 B2 C, M4 [) @$ c: D& E
m_pItemElem = pItemElem;
* ~- z4 n1 R$ m9 H! W
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
1 M$ I" q# ?1 s( W2 V3 L
}else{
R2 {( j8 i8 `! u
SetForbid( TRUE );
/ U; G0 V; S7 n: I) y
}
3 U, l! R/ w" n+ w" j
}else{
1 d( _, i7 V$ s6 B" k( ^/ p& V! H
SetForbid( TRUE );
: A6 W, B+ Y7 }$ S- k. j
}
+ c; F0 {- C# `% c
return TRUE;
% _# H$ C( I( I% j; T% p# A
}
7 R( R4 k: z% n5 Q
; _& r7 D; D2 p5 \; j y
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
2 B+ f- ~0 U1 M0 P
{
( P; P2 c. K7 R! q& t
switch( nID )
0 p- g8 C" T1 I- H, S; l
{
6 V2 S; _4 p* A/ |: ^& L8 W/ {: T8 ^
case WIDC_BUTTON3:
1 _! Q! T& D0 U1 I( B
{
) [( h5 f% z+ }' e
bStart = TRUE;
& R; R) }) A0 U) K" L: G; _
break;
" J& w6 [; K0 j1 X1 _/ h# v
}
4 Z* Y. T* ~# M' F+ Z! d# @
case WIDC_BUTTON4:
# a' L# i. T$ W" s; ~
{
) N1 S n {# k3 A
bStart = FALSE;
3 m+ N* s& R+ ^0 G2 l8 [0 L
break;
! U2 [ a$ `- p$ o: O+ }0 \. L3 Z
}
1 h0 R& z' y5 U6 X0 A4 u7 h- T3 u
}
% F j1 k0 Q; V2 x5 P" f
return CWndNeuz::OnChildNotify( message, nID, pLResult );
# v) ^' r+ _8 U
}
* W1 v* T: ?* B: I& s
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ K, A' h4 I! i9 s: } V* Z! \4 l
{
4 e. Y- K* {; E: i
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 d9 Y/ f- M5 M; w: a/ S3 {
if( bStart || !m_pItemElem )
, Y$ R# ~0 _7 `. `
{
4 R9 t$ G4 N3 z V, w+ `+ {
pBtn->EnableWindow( FALSE );
R+ d/ F6 O' b P3 G5 R) d m
}else
# C8 O5 X+ l% q, z
pBtn->EnableWindow( TRUE );
& U% K( u: F. C
if( m_pTexture )
5 i( T7 w$ l5 w/ b' x6 ?0 p
{
' O, Q# ^$ F7 d, ]
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* Z- Q/ j9 Q* q7 p w/ W
if( wndCtrl && wndCtrl->rect )
5 D4 e, m; b! v: c4 B$ C) I
{
( P$ k; l3 L& T: `9 L2 `/ ~
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. U) ]. W5 \- E" k# m
}
& P! M: Q9 I8 `3 j) ~8 I
}
' [( t8 h9 e3 P
}
c1 i; u+ }' F: s/ h- _* x
; P3 q( G) M) t( R5 B7 b3 Y
BOOL CWndAutoFood:
rocess()
3 F& H/ j6 Y. ~0 k& B
{
& Y _0 f! Q! R* p& f
if( bStart )
9 \' M# c \- G0 I0 ` @
{
/ I3 U% r6 P0 P! c- k
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
3 |% a0 ^) w1 o# a B; ?: f& k8 n
{
2 _. ^5 |8 s1 g
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
0 E7 d$ m! Z# K5 j1 D2 O
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
: C5 ?1 X& M" g8 I. S1 r
}else{
w! E. V0 \0 ]- n! i6 \; \' a9 L; u
bStart = FALSE;
3 N+ |8 z* @, m; U5 T
m_pItemElem = NULL;
4 n `- c" y. p5 x7 E
}
5 e, H4 F4 M/ d6 @) H1 o
}
- E/ S, n7 f# \
return TRUE;
( U, w3 s$ K q ~) M. m$ X
}
5 t$ L+ B9 g, K5 k c+ w1 c' s
7 H8 B7 t9 s' B& F5 k/ t, J
登录视频废话:
: G/ m; m2 M! M8 s j
尾翼:
' E4 Y# J. ?3 H% r s0 p7 I
5 t! E) z9 }8 C5 L3 ~
代码:
$ s+ ]$ ~4 ?$ v
+ j4 v8 i+ s. I* c$ K6 Q. X( W
void CWorld::SetLight( BOOL bLight )
! P+ ^( n0 ~# V* F8 a8 f! U9 t
durch
. |6 N7 D. Z8 W" p0 c. N n
Code:
6 s, i) ?7 A: `0 G" V
void CWorld::SetLight( BOOL bLight )
7 D: b4 {$ D' e/ ?1 w. c( ~
{
/ T, L3 z* H" T" N
//ACE("SetLight %d \n", bLight);
6 n+ { S. Q( C5 G1 d1 M
6 z" b0 }6 v& P7 T( J5 Y" x" F* `
#ifndef __WORLDSERVER
9 C' S. _9 C. a2 T
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
, @& k3 [7 h8 b& Q4 Y: q" d' M0 q+ M
CLight* pLight = NULL;
/ J$ P: i* X& a2 p+ S2 g) K4 y6 h
" D( ~; O) H" {- w5 J$ W. d: @
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
+ f; m: g' ]# P& o( b3 \. x8 w# ^
2 {/ q1 U5 t8 P- B4 r
pLight = GetLight( "direction" );
% t X. k- r( D; {' r+ D& m6 J
0 s5 w5 y+ @& o
#if __VER >= 15 // __BS_CHANGING_ENVIR
( j& m- y- Z+ P- N7 }
if( g_pPlayer ){
' k( M2 }$ G4 }$ L1 D$ ~: f
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
& Q( ]: R+ V# h
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
3 J+ A$ H7 J8 F7 L* A
{
. F' _& B8 A: ~; p6 x
if( pLight )
% o+ b5 S: c6 q2 z* T' N* `
{
% G8 c; F: D- U5 w9 l4 h
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
/ }: i0 F7 f$ ^+ q
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
/ {$ p# h: J! D+ v$ j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 R/ s/ ~ D' n. R' ?* g! u
; S, ?9 h& {5 y% b8 s- z1 N
pLight->Specular.r = 2.0f;
' x( y, _3 k4 i) E( a
pLight->Specular.g = 2.0f;
5 N+ n4 j1 B a D# q# b. I
pLight->Specular.b = 2.0f;
; t `1 a+ Z2 p, {" x& e
2 O7 i/ l5 V. |
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 d( \& G; ?9 c( O5 z0 k. `
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' }! y( R' K, ]" v! c
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
% \* l; A! A% ?9 q0 _- @
O* V. |# ]; `; `" V3 i% D
HookUpdateLight( pLight );
) [- q: L' E5 E" ?" u) i
. v; o/ [- [2 F* |% h( J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& h: ~. P5 [) @: Y
6 ?- Z- ]. ?& T, u7 S
pLight->Diffuse.r *= 1.2f;
$ O$ U6 K% P! S
pLight->Diffuse.g *= 1.2f;
0 `3 V" k# h/ Y9 k
pLight->Diffuse.b *= 1.2f;
- F! I" _4 b7 v/ M
3 r P! e7 q, G- [
pLight->Ambient.r *= 0.8f;
5 t5 H. N6 E: \; m: {* a+ T3 l" V
pLight->Ambient.g *= 0.8f;
3 ?% p. [6 V, w% t4 g
pLight->Ambient.b *= 0.8f;
; J- ]# [$ _# U+ o/ b
0 c" @' ~1 _3 U5 R N1 R
memcpy( &m_light, pLight, sizeof( m_light ) );
5 y& t+ e+ t3 f$ L* a
! F# z2 D* ?, J2 |
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
W; l, I9 `4 U8 N7 w: x/ z
D3DXVec3Normalize(&(vecSun),&(vecSun));
, Q+ [/ x; K; O3 m
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 x! \# U* s! y$ o# s& T( `; j
pLight->Appear( m_pd3dDevice, TRUE );
/ }: |: W! S: g" B, u* b4 H" |
- {7 Q( A9 S, w0 z
DWORD dwR, dwG, dwB;
" {! |# A1 c8 J( K1 }
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 l9 M) X( G* z: ]0 m
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 M+ }1 e2 \# P+ M& Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
, N, a9 m" V5 @2 ] }
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 C( @ B0 o( F: S5 Y8 _$ r
}
- T! X4 \! L2 B1 t6 t( r
}
0 u' |0 |- [, |1 Z; |
}
& H; T# Q) j' ]8 z( a7 J
else
' ~/ Z) t- t8 \) @. A
#endif
# [8 V2 D" Z2 n; g, m; a
" Z- N1 R: }$ o0 M) K7 ]
if( m_bIsIndoor )
( a1 @" C4 j/ H3 c- r: h
{
1 G6 `: u5 t9 j9 y/ m) f
if( pLight )
; R. {. Q, @0 ~8 ]
{
5 C: j" p" l; z3 o; v
// à??μ oˉè*
1 _$ ~) n- n/ ^; ]& \ ~0 P7 S' L
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ O/ D2 C1 b% O
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
6 F5 \1 v0 S1 L$ C) U! k
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ ]5 _( e: x( Q* ~& x0 q8 u/ q
8 U C( _& N7 [+ n
// oˉè* ??à?
& n8 G1 F4 e3 ?# |& r" k5 v- m
pLight->Specular.r = 1.0f;
# O# Q5 s1 t" J5 U3 q
pLight->Specular.g = 1.0f;
& x# \5 |1 D/ W4 ]
pLight->Specular.b = 1.0f;
7 z, ?2 x5 G( d% j2 c
// àü?? oˉè*
8 }6 w' W# n1 o0 w( r9 Y8 ?
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
9 }; ~: Z; p; ]6 W$ q, ?: x
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
9 z1 U( M3 [2 X" q( ^
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
9 c" W/ H6 d- m) m! n: @' A$ F
[! {. |* I. {4 Z- J' F
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
D- ` ?/ S+ i" Y5 E( H: } R$ W
{
$ a3 Y2 w3 z3 i6 ^% B% c- h% h7 }
pLight->Diffuse.r *= 0.6f;
( w: ~4 j% o5 k; R
pLight->Diffuse.g *= 0.6f;
3 p$ ]1 f0 P, s/ m, b
pLight->Diffuse.b *= 0.6f;
3 j0 D7 E/ W7 w7 J8 [& _- q
pLight->Ambient.r *= 0.7f;
3 |5 N4 E" X3 r0 |9 X
pLight->Ambient.g *= 0.7f;
. [' ?8 o4 i4 [- w
pLight->Ambient.b *= 0.7f;
! _7 I1 f4 J0 _
}
# ]- q$ B x" S+ k3 Y
8 y) T/ A5 g" e" q/ N
#if __VER >= 15 // __BS_CHANGING_ENVIR
- V8 m- x! S% {
if( g_pPlayer )
. K: V+ C! Y) e6 N- J; n, i
HookUpdateLight( pLight );
+ s( b3 k I: N w
#endif
+ k4 h; z/ t: U1 U/ E; ]# o7 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( H0 |2 y* v# u9 G) W8 t
R5 S+ @- q5 F. H
pLight->Diffuse.r += 0.1f;
6 x k7 G+ C3 c- R0 e
pLight->Diffuse.g += 0.1f;
1 I4 r r5 ]1 d. T# Z9 L* V
pLight->Diffuse.b += 0.1f;
' S( l* S7 W# ^( J* F/ i7 i
// oˉè* ??à?
/ w. u3 I2 O5 Z/ e8 s9 N7 P
pLight->Specular.r = 2.0f;
, g$ {5 u0 k" j
pLight->Specular.g = 2.0f;
% n- Z8 m- |1 u ?1 F( V" P
pLight->Specular.b = 2.0f;
! u/ n3 F6 \& Z: A9 g a- \
// á?oˉ
7 i0 O& D+ x5 g; n y
pLight->Ambient.r *= 0.9f;
/ c; a( ?* Q: T
pLight->Ambient.g *= 0.9f;
& s: J% f' A/ B4 P C
pLight->Ambient.b *= 0.9f;
) t" z1 d+ Q7 J0 q
7 \/ m9 A' l$ | @! N
memcpy( &m_light, pLight, sizeof( m_light ) );
9 _ E" Y# ?: `9 f& H4 Z
+ _6 u0 c3 g" c8 b
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
# F# J% R( V$ {: M% q" y+ o+ u
pLight->Appear( m_pd3dDevice, TRUE );
( @: N* Z! p) U- [1 b
2 @8 Y( ?/ \$ d; v2 P: c/ Y
DWORD dwR, dwG, dwB;
# {9 @, N/ ]. W( y4 `
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 s6 [- w T2 x2 w' U a0 M
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 F# F1 M/ d3 Y0 e
dwB = (DWORD)( pLight->Ambient.b * 255 );
& x; x0 R @- W" l- p5 B
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. I! S/ e" @; f% F
}
, b* ?4 w' `) V. Q+ B
}
) D) Q& V' P) g! d% [; q* |
else
* a) e. X( A$ A, Q3 }* R
{
8 S8 U! W R3 F2 o5 e' u
if( pLight )
/ ^" R* Z0 k: D4 f
{
& ?1 F% ^/ _: F ~0 i \. H' w
; S; M% y4 W! I, z# G
int nHour = 8, nMin = 0;
/ e" m/ w! W2 z9 [6 v' ?- y
#ifdef __CLIENT
3 Q* v/ X# h) v8 v
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
0 G0 C! ?# s, w
nHour = g_GameTimer.m_nHour;
& ~1 J% G" \6 k C3 k; k9 v0 d
nMin = g_GameTimer.m_nMin ;
1 h: C% t0 I) n/ b- M
#else
( R0 l2 }" G0 \4 v- g0 c
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 @3 a" h, [, f. z3 e: t( V
if( m_nLightType == 1 )
* o3 X3 d' i% w' [/ K6 R- ^9 a8 O
nHour = m_nLightHour;
; u, M& C; R, x) R7 {
#endif
* D) E! ~9 Y( _; j( r
nHour--;
$ @& A3 k% t2 O
if( nHour < 0 ) nHour = 0;
- `3 `* p3 ^3 k7 a& O
if( nHour > 23 ) nHour = 23;
% m% W' ~. n& z0 H0 T
[ ]. G' V! k5 a0 _$ m4 `/ Q7 A" a
//if( m_bFixedHour )
! w) T8 q1 I, I7 h9 s7 @& w
// nHour = m_nFixedHour, nMin = 0;
; {1 \+ W, a4 b& z; q5 H
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
8 D: A# E3 H4 A7 g9 h+ Z' o# W5 ]
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
/ S0 S, j! t( v" D+ x, U
1 ]% i9 n, `3 f5 p% D
//m_lightColor = lightColorPrv;
- I' n7 N2 r$ X G0 I
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* [9 v: l) ]5 n
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 ~7 L' M0 ?; M2 E" O m+ M
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 y1 ?6 M; |. {
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
& C. q- q+ ` p& E
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
' K" ~# R3 {: b9 e$ N7 e
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
4 \+ y2 n3 d( t4 W3 d" L0 G$ H. W/ n
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
0 B$ X. A% \4 _4 J4 c- d7 g
5 T3 n+ v- J: Y/ u4 ]# F; U* ?3 A: C
// à??μ oˉè*
6 B% K/ Z, N7 s r. {+ a/ t( j1 A t: \
pLight->Diffuse.r = lightColorPrv.r1;
+ B2 ~8 ]8 n& X2 f- q* H* d, \, @
pLight->Diffuse.g = lightColorPrv.g1;
d# a' H8 L/ H- b x9 i! ?
pLight->Diffuse.b = lightColorPrv.b1;
Y$ Y( d5 n1 E4 p, E
// oˉè* ??à?
8 b: g( W0 K/ v, v
pLight->Specular.r = 1.0f;
9 _8 c2 a; Q; ?* s' {5 u9 U
pLight->Specular.g = 1.0f;
0 q6 X5 J" ?# H: j; V
pLight->Specular.b = 1.0f;
/ ?+ Z. k8 I0 m2 ? u
// àü?? oˉè*
/ p9 R9 J( G' c& v" @3 R
pLight->Ambient.r = lightColorPrv.r2;
+ E# K5 w8 U0 t, U
pLight->Ambient.g = lightColorPrv.g2;
' Y0 G) p! ^) F9 p7 H
pLight->Ambient.b = lightColorPrv.b2;
% D$ c9 \& {. x7 a9 z F" l5 q
# D" k5 E: b! ]9 j$ I8 ]6 X$ {$ c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# L( }* R6 R( T( n l% n
{
/ f5 l3 o) p# \9 `. P
pLight->Diffuse.r *= 0.6f;
9 g n# ]: `6 ` I7 J4 f
pLight->Diffuse.g *= 0.6f;
1 Z1 h l u& W- T& O; @$ [
pLight->Diffuse.b *= 0.6f;
) x& r r: c& |" j9 o
pLight->Ambient.r *= 0.7f;
$ f8 s, o7 U0 ~2 I
pLight->Ambient.g *= 0.7f;
* U* \5 B) l4 c. t
pLight->Ambient.b *= 0.7f;
7 \. m9 v2 G; Q+ e9 y7 }* x& Z+ b
}
* c% K# \' y$ @, @
2 i+ h- O' |, q. t D7 r6 N4 N* P
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 N' g7 h9 z( d+ M4 u. e4 S
if( g_pPlayer )
2 _ j* S# g+ ^& T$ \# |
HookUpdateLight( pLight );
. l7 }! W+ f- X2 o5 [! [! o7 `
#endif
; n; D0 S' k3 l2 G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 ~' m$ |- U: P2 Q, m/ l( T0 @
. y2 \. h! B3 }- {1 w
#ifdef __YENV
9 R+ \& P$ q& k( N
pLight->Diffuse.r *= 1.1f;
, W/ t; R, G. F. x! X
pLight->Diffuse.g *= 1.1f;
, j: W) Y% u( ~: Q+ F
pLight->Diffuse.b *= 1.1f;
9 X. `: q: c. i
// oˉè* ??à?
( Z4 {' U6 A5 X! ^3 P' i( h
pLight->Specular.r = 2.0f;
0 O/ n; O4 v$ Z# X* a Y8 }
pLight->Specular.g = 2.0f;
# x1 B: S7 ~1 B! @3 T) q( H
pLight->Specular.b = 2.0f;
4 `- z/ S5 e G, R/ z
// á?oˉ
0 g G4 j( _: ?. Y4 _
pLight->Ambient.r *= 1.0f;
0 L7 f' A' O( n5 }9 v
pLight->Ambient.g *= 1.0f;
6 R' `2 b! ]# z1 A
pLight->Ambient.b *= 1.0f;
2 N3 d3 h3 {# v, n# K
#else //__YENV
# n4 a1 U+ y* p- h8 y
pLight->Diffuse.r *= 1.1f;
8 N, V0 ]# W9 K1 [
pLight->Diffuse.g *= 1.1f;
# V; d5 c' C9 _2 d
pLight->Diffuse.b *= 1.1f;
; g* F# ?1 `. f1 I9 `
// oˉè* ??à?
- }1 j4 g' F, R$ ^+ z' j
pLight->Specular.r = 2.0f;
0 `7 x$ o' j$ Z5 v1 [0 c
pLight->Specular.g = 2.0f;
9 J) k \3 v! _+ w- x
pLight->Specular.b = 2.0f;
# p6 Z& E- z5 r3 w
// á?oˉ
: B4 A( M/ G; ~) h+ w$ E2 D) J1 t Q
pLight->Ambient.r *= 0.9f;
2 J3 f2 m- z h, Q& K& e
pLight->Ambient.g *= 0.9f;
7 y) l- t* l$ P' O) ^, x/ o
pLight->Ambient.b *= 0.9f;
b+ Y' i2 ~% J s3 w
#endif //__YENV
j8 h' v# U: t& u O0 y
3 h7 H+ F1 V. a# ?& n. C
memcpy( &m_light, pLight, sizeof( m_light ) );
+ T1 E, i7 a. |% y5 ?2 k5 R
" ~' o, }6 ]* A) j/ H' d
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
, B+ K7 l7 H) t- j. j& j& F
D3DXMATRIX matTemp;
2 j5 ^) J l7 n
static const float CONS_VAL = 3.1415926f / 180.f;
0 B6 ^ ?# H. Y3 k/ N* U
+ k6 _7 ^" U7 n4 K( G5 L5 g9 W) w
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
" P) o/ ~( j, K" H
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
8 f# k% s+ E B1 ^ a3 l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
4 h7 C5 g) r& C" A; _+ B
pLight->Appear( m_pd3dDevice, TRUE );
) e+ l' B! n- {+ L4 p, }
8 B9 X0 H7 z Q; f# X! R
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( C' G, A, q5 K0 ~& ~- \
// D3DXVec3Normalize(&(vecSun),&(vecSun));
2 `" x1 e0 T& b* |
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# |/ x. z E3 l$ Y, H; c8 H1 i
: e8 b0 {1 z5 h3 [
DWORD dwR, dwG, dwB;
. C+ B5 i) s* U. g' G* X6 `
dwR = (DWORD)( pLight->Ambient.r * 255 );
- ]) U. I+ h- W3 k" x" Q6 R, z
dwG = (DWORD)( pLight->Ambient.g * 255 );
: m/ c: S: R9 x" ^4 L* F) k
dwB = (DWORD)( pLight->Ambient.b * 255 );
" m0 a- c- V3 Z! |: t
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
0 H# Q( v7 O, t1 @1 e9 ^7 ?/ M
}
! ?4 [, _/ Z( c* ] p& N; ], y: b# ^
}
, d) g3 I1 ?. w! }3 D( N
1 m9 ` |+ B6 l" b
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
$ ~2 Y q: @, B% l% `. o3 e
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) );
* _; Z' K: R) T5 }% N
::SetLight( bLight );
8 E" G$ j U8 G, j) \
6 U# `% m! q( d! }
// ±ao? ?D?í???ó á¤à?
) F+ s' v- I7 ?" _3 Z
m_pd3dDevice->SetMaterial( &m_baseMaterial );
, H5 d! K; Z% O& H
4 ?9 F3 g* J$ s
#endif // not WORLDSERVER
3 C; P7 D/ s% M- t9 `! i1 P1 ]# {$ a
}
! j- k8 q3 {4 H" F$ }4 g3 Y
并更换
k2 z1 H, T u
Code:
! c( ~& l7 X ^+ Q
__FLYFF_INITPAGE_EXT
3 I1 L' k2 D; y( A* L& g& S
定义
5 @7 j& W) X7 z% m' @& e
0 D8 k$ ?" U/ y. a% R* r
: X( x3 K: Q: s$ c J! G' o. u
5 a5 g' l$ a: N" x( V' L2 d
: q% G- g j% ~# p
现在终于删除我的狗屁加速...
3 m0 G- S4 }+ [6 |
* l. n' ]9 |* n3 O
+ F+ m; f* J& t
, U" l: c# |# t! k D
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2