飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
% d( T7 g' y7 J Z
尾翼:
! N; k" a* R( T3 _5 }& W( I
6 R+ X3 q+ E2 b( t; ?- b) M
代码:
& W" u! {. x* X: D! q
CWndAutoFood::CWndAutoFood()
0 g" {" t4 J) H6 A
{
- Q/ v g' T2 b; Z8 m, A' ]! J+ N5 r6 r; K
m_pItemElem = NULL;
& M# a# _9 u! d7 Z
m_pTexture = NULL;
' w6 b( ?" i; U8 }" a. k9 V$ X
bStart = FALSE;
; C7 B( K: A7 x: b q. I
}
# x3 i) g; O# H, j2 x! ]
& Y# H8 d* B+ l* g( q' z
CWndAutoFood::~CWndAutoFood()
! X( Y# K- s6 U* \
{
7 w# Q# D- p* x$ F: x
AfxMessageBox( "AutoFood ist gestorben
" );
+ R2 E j3 S- u0 c- W" F$ B
}
|2 _0 |4 w3 R1 L& `! Q7 q
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
& v0 y- g, z* r/ @8 p3 k6 l
{
# x1 {" a0 ^1 H) K
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
. X1 S) x( @; n
}
[' @& q( |; ~1 u/ M/ `; Q
6 @6 B( r# e q* M* H
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
5 ]& q" v3 `( q# s) Z
{
" v( ]0 j$ [) z E& d9 ~; x
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# R7 C$ Q/ w5 `
CRect rect = pWndCtrl->rect;
. T) n6 ?6 L3 ^' i2 O+ R/ o1 W
if( rect && rect.PtInRect( point ) )
9 _7 Q, f+ p2 c" T3 o
{
9 F8 {! p1 y% ^! y; Z4 S
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
. U$ p$ _. X+ j+ k
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
/ H- c7 _& l& n# T
{
3 A2 I8 }, \5 o8 G
if( m_pItemElem )
* @ X" k" {) c5 I+ ?
{
. z# F2 x9 t3 i, E, c5 g
m_pItemElem = NULL;
# w6 c; F$ \# z* n- ~
}
* a" d! T) d9 K5 w1 u, w# |
m_pItemElem = pItemElem;
. r4 _' _, J) j* f- |3 `
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
1 r" m E# g# R7 ~0 q' I
}else{
2 v5 P. n8 F2 m( O8 e! J7 A/ U
SetForbid( TRUE );
, Y+ |3 o( J, a0 C2 ]
}
, q" W, F; h, D* A4 }
}else{
s/ ?0 K0 i5 N! [5 C+ l! r* T8 v- z
SetForbid( TRUE );
5 Z/ N) h" r' W
}
7 }0 N! b# t' K! ?, t$ b/ P* o
return TRUE;
2 w' T- ~4 [, h- j
}
" H" B4 r( I3 a+ U3 z
! b* {2 }1 |' p: M- C9 C; [
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
. g% P" q3 C$ f$ l, z X" B
{
0 |( v1 E* _+ D( \
switch( nID )
' C$ a% ]# P% o5 s G1 V( C9 x
{
& @/ i" s: C, D' g
case WIDC_BUTTON3:
( K% @' m$ ^8 {) x( P1 @4 |
{
( j$ [, o' U9 H9 z: @4 h( w
bStart = TRUE;
0 V N& L) ^+ E# f3 q
break;
v2 R& s6 x2 h# `, ] d
}
2 P1 w4 {% y3 f0 e7 x6 l
case WIDC_BUTTON4:
4 r4 Z6 F) X* }- Z K8 Z3 A9 d
{
+ [8 R. H! C& B$ P
bStart = FALSE;
. \; e6 h7 j$ v. ]. x
break;
9 P7 {# ]7 `5 } @0 a
}
' s3 x7 \9 K6 t
}
! x1 a* U+ q$ J
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& r8 q1 S/ `& |+ B4 u+ C9 A) C1 Z0 s) ~
}
X* @( \0 C$ K1 p
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
; d* j; _+ k& c+ N& Q
{
% R; I2 }8 j( H4 f0 O
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
9 F5 b2 `% y; L
if( bStart || !m_pItemElem )
0 c N" j7 {# k; i% s0 M
{
W/ Z& X1 N8 t' P& y( w1 }& l
pBtn->EnableWindow( FALSE );
8 j4 r; ^: y- N$ U7 i9 w/ K2 i+ A
}else
8 x/ ?( V- Z& F3 ]
pBtn->EnableWindow( TRUE );
9 S0 Q# E) x5 G% |
if( m_pTexture )
; n/ F# z- A6 @# _) W6 s
{
6 Y4 z/ H, d! N4 x! F
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ ~% ]( R$ u8 T0 S C" }" h! c4 K
if( wndCtrl && wndCtrl->rect )
?3 J6 Y, U: E5 c2 _% C
{
% ], [5 g% G; W
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
8 M: \0 I t5 S, t- z
}
1 r+ C8 J4 N. R! V8 x. D1 G
}
7 a1 m7 T6 u4 g
}
( E" M$ Q: A+ A/ s1 t. u+ Z
# ~- J/ {( J8 `
BOOL CWndAutoFood:
rocess()
9 v6 j) F% w9 O/ ^9 l6 z
{
" n( Q0 Q( h0 h* W. x5 I
if( bStart )
% q( x ~1 l0 }; @2 m* Q1 B1 a9 ^
{
7 k { [9 T+ f0 Y
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ O+ }6 }* |# [- T" X, ?# U; V
{
% T* u, z4 |5 x) _ m7 l
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 _3 E! v6 i& N
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
% K3 Y4 T+ H" `' a2 Y. @
}else{
4 M' C- R1 Q: Y/ @) a
bStart = FALSE;
7 b) i h( m L0 ^" D1 f( _8 j3 m
m_pItemElem = NULL;
2 z3 o2 \8 u; q0 K4 o2 b i/ R# \
}
; Y6 s% A7 C K: d; ~9 \' G7 o
}
2 p* Y% J1 v( Y5 d9 }
return TRUE;
5 Y A1 k. p$ a0 G% c
}
1 V3 b; l7 w+ c5 M6 Q" t
0 |% _7 p/ ?* E2 h7 W0 L3 j1 w" e
登录视频废话:
+ [$ @2 e9 T! L# s' `" ^' b
尾翼:
2 A$ P# O! U9 z( p
7 M! \4 a: a2 V+ H# D
代码:
3 S2 I0 H8 l2 g1 r
5 g" z" @4 [* W( C0 a
void CWorld::SetLight( BOOL bLight )
# A, T- c8 z/ l7 p9 X. f8 S
durch
% _; w: M# O' B( K" k
Code:
: D8 @% \+ ]; a+ V7 o
void CWorld::SetLight( BOOL bLight )
! h( p( c% I2 f) u# H
{
2 |& f4 t" J6 E9 e; y8 \
//ACE("SetLight %d \n", bLight);
$ D8 {9 Y, Q% _8 ?/ m
7 d& F. v) k) T+ l& y1 T m, _1 A
#ifndef __WORLDSERVER
" a& G- p4 K( ~
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
" M2 e* X3 U: e1 T" j8 m# m7 U
CLight* pLight = NULL;
' X( d/ Q" i" T& }4 m8 d* `
7 f; {+ H- {" e/ G. k# s( Y
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! s7 s, Y' W7 B' @
! d+ n3 h9 l2 K5 B/ O7 A3 r! ]) d
pLight = GetLight( "direction" );
* L+ {1 k% ~ P" j& R# o+ E5 ~
! f& J7 r) u5 H2 Q, A" N
#if __VER >= 15 // __BS_CHANGING_ENVIR
* _- @# G) G/ E1 M/ w# d; }3 M0 S
if( g_pPlayer ){
$ E p9 W+ l7 i2 I
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
4 e: r; R' n' p% `6 Y- G
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
$ o! T& n, C' ~5 l* c0 H% B
{
: l) @- q& A. w4 ^
if( pLight )
2 t! N' c) K# N2 F
{
5 d8 \3 G! q6 }+ R9 l
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 |6 o. `( k& s. Z6 G" A
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! d9 ~& ]" d& x, i1 g* a
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
- o# e- y$ f1 G# r, Q* ?4 ^
' V! k, p( I5 m9 s3 T1 A, y* V
pLight->Specular.r = 2.0f;
m9 D- k) ?8 c. v0 m7 [2 l" |6 C
pLight->Specular.g = 2.0f;
0 B( k) g5 s. O
pLight->Specular.b = 2.0f;
" ^- m1 \8 v, h* S/ F
e* n& K4 Z. [/ X
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
$ m1 o2 g) W1 e% g8 t: x+ g& ]! p
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
' v2 O9 B- p1 P1 y! o) _- E7 t8 E
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 D4 d' Z# f% j N* ]! i) U8 {
9 P% Y/ B8 B# B/ K" s. ~
HookUpdateLight( pLight );
9 Y7 d4 c) d" @& M3 `
. F8 f8 }' W6 `% K4 P2 _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 E9 u) H& H2 @& D4 E9 S9 {
1 A4 V5 o& S& V: b+ R0 N2 H! D
pLight->Diffuse.r *= 1.2f;
- B1 b# a* {+ P5 b% N/ {) b
pLight->Diffuse.g *= 1.2f;
# w" C. h$ c! U$ V
pLight->Diffuse.b *= 1.2f;
5 u' }5 h' d( w; {9 I) j4 V+ c+ H$ J
) X! Q* P, j) f& ]: x
pLight->Ambient.r *= 0.8f;
/ P5 S1 b: P( H) [4 w/ N
pLight->Ambient.g *= 0.8f;
2 h, L- p7 V7 z' q# f
pLight->Ambient.b *= 0.8f;
" ]2 G! P: }* k3 R
0 c/ U# G5 T+ R1 N/ y
memcpy( &m_light, pLight, sizeof( m_light ) );
+ [. Q9 o3 ~) y+ U& s/ I( {
& S T( g7 t4 w, J4 r% X
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
' a/ I5 i! W& v
D3DXVec3Normalize(&(vecSun),&(vecSun));
& m- \0 R) C+ u* c J
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# V, v1 V/ I4 z8 p J; }
pLight->Appear( m_pd3dDevice, TRUE );
T7 e, ^5 c( O( n! `+ c4 Q
: x, f: ?) K# @; C6 ^8 _; S8 Z
DWORD dwR, dwG, dwB;
* S; H4 a" k: t" p. H, z5 S6 D: n$ Q
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 f5 c/ F6 T/ U h
dwG = (DWORD)( pLight->Ambient.g * 255 );
: S7 o, j. q' ~7 Q/ y
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 I6 K& ~, F1 K3 m( o; D
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; u4 p+ n3 q3 k# I) Q( e, F5 d
}
/ w; e- x2 k6 k+ U% {0 D
}
+ p8 J+ g2 \$ n5 X6 T( r
}
9 e f6 w& h& q+ v. u: {0 q
else
# Y7 N4 ]) D) R# Y. N8 c) a/ L
#endif
/ {( `, p: j; g1 i% e- D( p
# j) a! ]4 s4 F+ L$ ~
if( m_bIsIndoor )
% n" U9 i) J: k5 F. l4 ~; c
{
! `% B2 O3 |4 |, W( D% V0 o
if( pLight )
9 g% U7 g S0 Q/ O1 ?
{
) l: O e- G0 c0 }% v8 I: \! K
// à??μ oˉè*
\% ?; h, E" |( F$ K
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
' e% e3 r4 w6 S: i. v5 v1 {: |
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
Z' @# T" c' [$ C. ?
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
: B% t' j$ H; M& r6 q! F
" X$ i9 u. o% A ]+ d) _, }
// oˉè* ??à?
" b9 k7 w# V" M
pLight->Specular.r = 1.0f;
, v. O; |* R R
pLight->Specular.g = 1.0f;
, o' b& X* D2 x O! Z( G
pLight->Specular.b = 1.0f;
9 Q) Z9 l9 c9 r" I5 Y. {
// àü?? oˉè*
$ Y; C" D- [8 n. ]' m
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
2 u) B8 x- T$ I# y+ b, w
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
* A! e2 V, ?# s! @+ t' _3 O% P! W( k
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
7 ?( X; t* \7 I
( O- r6 d0 B2 F& y1 e
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) n$ f' J' ~7 h1 ^' t" x9 p, Z9 q
{
7 n- J; y& x6 e9 a+ N, }" Y
pLight->Diffuse.r *= 0.6f;
/ q" D7 G, s& o* ?1 a2 k" J% G
pLight->Diffuse.g *= 0.6f;
/ }6 ^2 o$ `' ^- v
pLight->Diffuse.b *= 0.6f;
- z+ C" J$ }0 I: s
pLight->Ambient.r *= 0.7f;
4 L, H% ^3 `6 O) [/ y
pLight->Ambient.g *= 0.7f;
4 W* F0 L, C) [+ }9 M7 a# D; [- O# t
pLight->Ambient.b *= 0.7f;
8 B. S* {* u+ A( |! F9 C2 a# O/ M9 x
}
/ v4 m1 A6 v" b* B/ h2 A
I' t) R2 s' R1 y/ b: F; u
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 a/ ^8 x/ ~* m- K; u7 W
if( g_pPlayer )
% K" s4 C2 ?. y: |$ X7 ?: Y
HookUpdateLight( pLight );
3 \5 L; u& P0 [1 q; V4 q
#endif
( F" N4 Q+ k8 ~* m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 u" V/ k! ]0 u
7 n5 F+ l2 C; V# L
pLight->Diffuse.r += 0.1f;
2 u( v9 M" j; A. M( m# G
pLight->Diffuse.g += 0.1f;
3 ~* v6 g+ [3 e/ B/ K
pLight->Diffuse.b += 0.1f;
! Q( Z5 n! O3 s9 }2 L' h
// oˉè* ??à?
( b h$ X( Y! p8 _! {! j
pLight->Specular.r = 2.0f;
9 r( X8 i* b# G6 l C/ a
pLight->Specular.g = 2.0f;
, x- n8 r, @0 @& t4 V- _# D) P
pLight->Specular.b = 2.0f;
/ B9 r* \$ i, S0 s, ?9 K8 @
// á?oˉ
; k( \: ]0 m" A+ C
pLight->Ambient.r *= 0.9f;
, P) Q# q ~( L9 K: ?9 n
pLight->Ambient.g *= 0.9f;
$ b, D8 ~ g. q4 b
pLight->Ambient.b *= 0.9f;
$ f n5 ^" w4 s3 b( p2 ]
& t" [. x0 e, `% h
memcpy( &m_light, pLight, sizeof( m_light ) );
; u) Z1 X1 @" v
0 z o7 R% q. |' h5 k
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
* S; ^1 K8 V( e' g0 H2 w. a0 v
pLight->Appear( m_pd3dDevice, TRUE );
9 X" _7 M1 N% u2 K, a; \+ X
& D s- e& e3 M" v9 g1 d$ x8 N; C) J& q
DWORD dwR, dwG, dwB;
" x- e; ?/ [4 s) E- l0 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
' L* D' b9 C* M' j+ }. A8 c1 o
dwG = (DWORD)( pLight->Ambient.g * 255 );
% y6 y3 q' w0 D% ?- T9 A5 f
dwB = (DWORD)( pLight->Ambient.b * 255 );
+ w' T, C3 G" I9 j
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 {! ~( \- e q' f- k L/ q$ m
}
4 S3 J1 q! ~* Z: r G
}
6 K) K. [! W- G8 }# O# h. c7 F t
else
, ~) }6 R" t& e( R( u
{
9 `. E1 u: v) f
if( pLight )
* C* k5 U! B" q5 A$ a
{
- |: W3 Z* w4 v$ J, V4 h4 \* S9 M
6 A3 ^3 ?( w& w% h& w& g
int nHour = 8, nMin = 0;
. s9 a3 ~, G: s! ~# P% R/ t
#ifdef __CLIENT
3 a8 B% p$ i2 U+ M9 p2 F
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
, c, h8 V! R! N& T& c4 s; G% \9 h
nHour = g_GameTimer.m_nHour;
% ?2 _7 U* s7 r
nMin = g_GameTimer.m_nMin ;
, V" ^( Y- J- w: \! e! Y
#else
6 t4 a, M Q* [
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
/ R/ g$ l, w8 w* |
if( m_nLightType == 1 )
/ g0 T' ]1 |& W2 E: c# l7 z. W, Y
nHour = m_nLightHour;
; ?" s, | ^; V+ Z$ W
#endif
; l, i5 d% Y2 X4 A6 @5 T
nHour--;
5 q% s9 w+ }6 |( O, e; g
if( nHour < 0 ) nHour = 0;
- C: N3 D/ h8 }" d& Y6 y
if( nHour > 23 ) nHour = 23;
5 Y: s, b1 v0 T& s8 N; N: y
7 a) k" M8 k* ]
//if( m_bFixedHour )
$ Q% G& A" s- B8 Q* {# d
// nHour = m_nFixedHour, nMin = 0;
& x& X* n, u6 M: z' f) p" {
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
/ W0 g" P! F7 s5 c1 s
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
/ v3 [' {6 V4 k2 Y- P
2 s! ] ~% O' s, @# U' }7 b; K+ F
//m_lightColor = lightColorPrv;
6 \1 n: c; L1 \, c7 z8 Y
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
: H% t: Q/ p' q* ?' {& w
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
5 P$ u; y5 [& @
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
0 [7 r6 H. o, k: g/ u/ F
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
2 b$ L' H$ H3 b: H# c
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ [" C- p m) e b" \' Q
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
4 U: u9 w4 K1 P0 g
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 v% S; r* [. z( n5 U' o! H S
9 W' k5 q; r+ Z' @ Q5 R
// à??μ oˉè*
, Y6 z. g1 z) q6 o
pLight->Diffuse.r = lightColorPrv.r1;
2 {' q! V6 u% [5 M4 q5 T1 F( H0 C$ ?& N
pLight->Diffuse.g = lightColorPrv.g1;
) V: o; c) L/ I, S1 Y. I$ z! N
pLight->Diffuse.b = lightColorPrv.b1;
& w3 x8 \$ k7 s! u: C
// oˉè* ??à?
* b8 b2 e6 ^7 B5 A5 y) q; w
pLight->Specular.r = 1.0f;
/ a3 e, R4 ]7 M8 J- z+ L
pLight->Specular.g = 1.0f;
3 v% C2 @/ y! ~8 \/ U6 M$ U
pLight->Specular.b = 1.0f;
7 C) y* F8 F: u4 ?5 F0 T
// àü?? oˉè*
# H9 e& {/ |7 G o
pLight->Ambient.r = lightColorPrv.r2;
% K* q& K; p* _" P1 B5 a! o* {9 `
pLight->Ambient.g = lightColorPrv.g2;
$ _0 h6 Q8 S, U) x
pLight->Ambient.b = lightColorPrv.b2;
2 m( |0 k) i) m; R* s& T
; u2 T/ N9 k4 G4 E( S; r7 F! I
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
! T+ n4 H8 ]. _3 F, E8 C+ j f
{
/ S4 S& }# o7 p$ Z
pLight->Diffuse.r *= 0.6f;
! j2 S3 A1 B& [9 F! h, ]" ]8 N3 U
pLight->Diffuse.g *= 0.6f;
4 T; T/ `& ]. {5 n% K2 p: ^+ C0 ~
pLight->Diffuse.b *= 0.6f;
6 S& J2 _6 ?% H$ V. d7 P5 f
pLight->Ambient.r *= 0.7f;
9 u6 @. \5 o, \* P4 u y+ k
pLight->Ambient.g *= 0.7f;
% {( t9 y+ k4 m0 t% e+ m, O% T6 E! g
pLight->Ambient.b *= 0.7f;
' u" k6 `' C; r# L: }* ~
}
" w6 L/ t, p# K% t
+ o1 [& ` H" z3 l$ S$ r5 | r
#if __VER >= 15 // __BS_CHANGING_ENVIR
S+ p2 |- X! `6 s, T. \9 q
if( g_pPlayer )
7 k: k; y, X+ c/ t
HookUpdateLight( pLight );
( Z2 _' K8 |2 y" K
#endif
- F# W/ ]/ Z/ r1 U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& H, \ x3 t m% [
6 X( k8 F+ I# a0 O
#ifdef __YENV
. ]/ I \) m8 W |! n
pLight->Diffuse.r *= 1.1f;
" \4 b9 \ _# F- @6 h1 O
pLight->Diffuse.g *= 1.1f;
( b% g I" e5 b7 u$ t/ R4 R0 w
pLight->Diffuse.b *= 1.1f;
$ [5 k' ?( n+ o2 {4 [- I* I
// oˉè* ??à?
, G/ n. y4 U% P" {" O; c4 ^8 n
pLight->Specular.r = 2.0f;
; X/ E$ x4 z4 w; C6 ^! [
pLight->Specular.g = 2.0f;
) x5 U( U$ {* b/ E
pLight->Specular.b = 2.0f;
" T. o- b* Z& D7 Y1 @/ J
// á?oˉ
4 I# f. h$ [. q) k% H. [7 }2 \! P
pLight->Ambient.r *= 1.0f;
9 N$ {$ V% \0 Q6 t# M/ k: [- }
pLight->Ambient.g *= 1.0f;
, }6 Q3 f/ O i3 b
pLight->Ambient.b *= 1.0f;
0 J6 U( t7 u4 f$ n! y+ S
#else //__YENV
" r. N+ x! ]4 }5 W- h
pLight->Diffuse.r *= 1.1f;
7 }" _. \4 j, _5 l1 F0 R3 h) a
pLight->Diffuse.g *= 1.1f;
- m4 i. g4 V0 i+ ]8 o: V6 ~; e" J3 o: h
pLight->Diffuse.b *= 1.1f;
+ ~ I3 k( e9 T
// oˉè* ??à?
+ F: |9 C! }, r, @; @' k
pLight->Specular.r = 2.0f;
2 Q3 N6 g. J! ?/ O8 v1 q
pLight->Specular.g = 2.0f;
! |+ \! ~. V% a3 G% L6 w
pLight->Specular.b = 2.0f;
, R; b& j. [7 V- z9 m6 p
// á?oˉ
* r, B$ t5 z; Z& A5 r
pLight->Ambient.r *= 0.9f;
+ V8 P$ u) y3 ^9 \! a: G# Y: F$ [
pLight->Ambient.g *= 0.9f;
; L. b$ L' M$ `3 z' n0 @! [& V) E
pLight->Ambient.b *= 0.9f;
5 c/ ]9 Q, W* e3 c1 E5 r7 [8 [) D6 e3 b6 x6 h
#endif //__YENV
: v1 X! ]( X4 M5 a5 i! H0 w5 v
9 E6 t" M! U$ @' W# d0 u! p- n& @
memcpy( &m_light, pLight, sizeof( m_light ) );
5 r) i+ F ]. R9 U0 ~1 Q1 e4 H' r0 w- A
: }8 `, L7 R3 a3 w" c
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
: U$ y1 v" ]' A, r, }
D3DXMATRIX matTemp;
7 H% U8 a6 T; i
static const float CONS_VAL = 3.1415926f / 180.f;
3 X$ B- a, g1 a6 j$ [3 B8 S# j3 z' l, }
" z* M1 `3 V" x1 \! \. H P
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
2 n+ {% {* [% N0 N
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
- p* C, }( e( O0 F+ i. y0 y" o
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
6 `0 K4 T8 ?+ {2 g! K7 E; J
pLight->Appear( m_pd3dDevice, TRUE );
3 m1 d6 w6 V4 X" U
9 W6 P6 X$ G R( B3 i! u: U) L/ U+ ^
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
. [/ l! L, b# u
// D3DXVec3Normalize(&(vecSun),&(vecSun));
& b# y8 e1 l9 j3 M4 \
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 Z5 ^/ {0 F4 G! p) z$ I# n( l$ X
2 q5 Y+ ^/ {1 p( C. D2 j! N1 w
DWORD dwR, dwG, dwB;
6 D$ M6 J* u( R3 r3 L3 j) I8 G
dwR = (DWORD)( pLight->Ambient.r * 255 );
0 v' n4 U& Y0 I/ s7 p: Q( H
dwG = (DWORD)( pLight->Ambient.g * 255 );
: r" w, v/ |% k9 Q
dwB = (DWORD)( pLight->Ambient.b * 255 );
. b1 U+ a! k( o& Q* |/ X: v5 V9 X
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# U# k- `/ Z; [+ b3 k, A; J; G2 X
}
$ S9 q; f) m! y
}
7 L& t6 L0 M/ q0 K& y/ m
0 V2 v4 F1 n% V9 e2 l
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
4 _- I7 ^' ~$ V m4 A3 y7 M, V" 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) );
) h9 T9 u; `& |" e
::SetLight( bLight );
( {; d7 x5 Z; K$ {: Z: V& I
* n4 A# I2 k+ i. u
// ±ao? ?D?í???ó á¤à?
# t" Y+ T" c" f, f7 b
m_pd3dDevice->SetMaterial( &m_baseMaterial );
; S3 a8 o2 N3 A# k8 _: u: U
, G5 l6 N3 S4 l6 m. k
#endif // not WORLDSERVER
" S" U& k- C0 ]! ~3 ?+ C3 J2 e) X9 O% D
}
+ s( Q( X, H. b3 M8 v! {
并更换
% }; Z; f% g. H+ f% w2 @) _1 D
Code:
8 J3 F& O6 F# H+ N6 ~' h7 k2 Z
__FLYFF_INITPAGE_EXT
9 t r& m5 k7 {+ b! a5 \5 W
定义
) U1 e/ u% B/ x
# T6 H: y) y( C2 {
* o* }4 ?1 L4 A! v9 }, ~+ w* x
9 u. J$ } b' x! y. b4 W
" j" M. T2 E# Y
现在终于删除我的狗屁加速...
7 Y5 \/ [) b% E2 f
9 C, _% R& U& u# A% O5 Q, M
1 D2 _% i L( `" o5 r2 [+ s1 M7 [% ?4 q
' w2 I2 U6 L* A. C6 r
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2