飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
. q1 S) C Z' r. m6 ~( [
尾翼:
( f8 N; {6 x: e a; j/ X! h, ?3 d+ U9 C
- z* g9 w0 b% D! Z! z2 l" q
代码:
9 W4 n3 @5 j; t, C" P
CWndAutoFood::CWndAutoFood()
+ m# O9 V! F/ o t7 [: `3 I
{
# \4 [1 K, D3 t" Z# o
m_pItemElem = NULL;
5 e( p8 W% n/ a# {
m_pTexture = NULL;
/ i, S( l2 ?" \# O' {
bStart = FALSE;
1 c& |8 k9 {# m% d1 q2 ]' {& x" B
}
4 N5 O5 i G6 V" `0 E
$ @$ H, |4 M3 V! @9 L: `
CWndAutoFood::~CWndAutoFood()
! t8 F& W7 C* E% A
{
, }' f9 @0 w0 H$ u! _$ D. P: L
AfxMessageBox( "AutoFood ist gestorben
" );
9 f' q: g+ K! J1 y, c# x% B) p' k
}
% r2 J+ Y' _1 j6 l
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
* [' m' C6 F$ n8 ~" q8 _% |
{
: e# P0 G5 }3 h0 M( b3 V8 i
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
( U7 b% [. \- {; f% A, o
}
' K" P6 G# ~+ A: N: e
& K6 x: W9 Z3 b( }
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
9 L) S0 }; g+ X* Z6 a/ b
{
! i. {6 I( z" F6 r
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# _6 [; S A9 _& |
CRect rect = pWndCtrl->rect;
0 p; U8 r( f- r" W# o) {1 u0 V
if( rect && rect.PtInRect( point ) )
. l$ U/ L& F5 i& v0 k$ A
{
6 H2 e% ^# R W/ @ ^
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
5 z+ Q' C7 p; ?$ m6 _
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
1 d; Z$ L4 `& R, Z5 M
{
) G* h- D _, T* |5 [5 }
if( m_pItemElem )
" S3 {9 c# b3 e9 z/ r7 t- ^& U/ t2 W& {
{
4 g0 a/ n6 ]* o3 y/ `& {1 l
m_pItemElem = NULL;
/ @2 h4 Q! I) a- u' f+ M& m
}
- U* f, I1 |; C1 l R6 y3 e
m_pItemElem = pItemElem;
3 t. T1 c1 I0 O/ R f% l3 v+ H
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
! l" Y# f3 ^1 w7 r" }6 q
}else{
. h# A3 J& w6 ]7 f; L0 z9 {# ?
SetForbid( TRUE );
7 J. c8 M& j/ B* D/ d0 U7 Z5 [2 H
}
% }* ^. u5 {1 z
}else{
; b! b$ s/ c! D- e% }/ z* C
SetForbid( TRUE );
1 ?$ y' s3 P0 Z G
}
3 D4 ~) A) o. b. Z; |7 v/ Y
return TRUE;
! _) W% N# i) _% C. k
}
& j" g% g/ _8 a5 ~& l6 [* S' |
( R+ I* x% D6 V; ^6 P0 p: S! {6 P
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
$ k" L4 ~ ?' Q8 m, X
{
7 i2 X3 z Q, W+ Q
switch( nID )
- I0 }% u' Z v
{
, p* b$ ] r/ u& V! b) `7 o. [3 `, s
case WIDC_BUTTON3:
4 L2 Y5 ?! b! b
{
8 C; l( k. H, g
bStart = TRUE;
6 q" O. M( e* W) I
break;
2 D5 ?) h3 D# K. M( i9 ]4 B/ S+ V
}
4 _0 Y# ~7 `$ }2 ~, k. x
case WIDC_BUTTON4:
* @/ I) N3 E* B. `
{
9 e1 ?: h" T5 B
bStart = FALSE;
4 U' w) a9 [5 F" S ~
break;
/ A" K* T2 r/ H
}
& i% }( ?& T3 E" r" g0 T* ^ q4 m
}
0 d( g+ P" v7 d2 r* W) N
return CWndNeuz::OnChildNotify( message, nID, pLResult );
7 r( _) @8 @/ P+ Z
}
8 F4 H6 I, P- S l% \5 K& _
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
! A. {% G# g7 _* n" X
{
! y6 q, E- J2 j9 X! d
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
. i+ R! a0 _0 W" z# i
if( bStart || !m_pItemElem )
8 ~% b$ f' k! Z, v7 }
{
1 E# [) x& L& l ]
pBtn->EnableWindow( FALSE );
' A" s4 y9 n; ]4 h
}else
6 O8 F. f( t& p9 l: |
pBtn->EnableWindow( TRUE );
1 b! q5 r4 e& ^7 C
if( m_pTexture )
* g1 g" a+ Z3 x$ f, R
{
- f3 u2 T% f0 X7 Q6 K, Y& ~4 X
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
2 | d Y# H+ p! Q
if( wndCtrl && wndCtrl->rect )
; I( h1 V: R6 N) X- c/ J4 f
{
0 D2 F+ s- z4 p- F
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. C3 ?6 H1 \% R6 Q5 {
}
' W* p3 T& G3 c4 e9 d4 u
}
% x4 E& H7 M7 L6 H
}
% L7 b8 Z) e# `7 L) X$ k) f
7 e' c+ g2 u9 L* n4 V2 m
BOOL CWndAutoFood:
rocess()
" x! c) N, g0 H- x
{
8 t) m" a8 l& S! F- F
if( bStart )
. N4 R2 n1 A3 S, r. k( h( |1 F
{
. {2 V, m3 w+ J: K
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
& t4 D8 ~/ U! j0 F, b8 o' f% I
{
0 J( \2 e) J- n. @# [0 _
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
7 s3 o1 e' R$ G! a. f
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
7 D, I, ~8 d( h) G
}else{
0 d+ e& V) Q' c1 w5 Z) d* k
bStart = FALSE;
% g$ `! Z- [& t3 t5 {1 A/ `
m_pItemElem = NULL;
: `, v: w, y& I8 L* Z. O5 u
}
& H* l0 ~$ d' q7 [+ b
}
6 Z6 q4 M0 M7 M$ Z+ e# U& W
return TRUE;
; j, F& C; k4 h8 v' O
}
4 O9 _: n, x: e) u) H2 C
# I* R, ?4 N' v4 j4 u
登录视频废话:
2 e7 @0 q2 ]' d; v/ s
尾翼:
2 w3 V: A+ t8 o" k
0 m+ E4 S& S R0 d
代码:
& c, V% x8 I) ]! v- S. O8 M2 M
4 f- f" w+ s( {9 |. A6 @) M0 M0 t
void CWorld::SetLight( BOOL bLight )
' c3 Y: x' Q# {- s5 s+ D
durch
7 J( _/ x! M4 q, k" K3 Q
Code:
# h( G2 c. ]( ^# u! s- J
void CWorld::SetLight( BOOL bLight )
% [$ j% I* g+ m
{
6 t n1 y5 s& J- H" p& `
//ACE("SetLight %d \n", bLight);
1 j% a7 C# j- l1 q
2 P) A; m. {6 i; O) x
#ifndef __WORLDSERVER
3 N5 i8 L* o; t
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
2 f' v# Y+ {8 L- f) F9 j4 n! h V
CLight* pLight = NULL;
" W0 X, A) J# r" p; Q2 |9 X3 x. n% ~
* ?. Q# K1 _6 U& o7 R0 R' S
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
. ?6 ~) {$ Q5 ]. I- D+ A+ u4 H/ |4 J
# P6 i4 t. m8 b1 |; e9 J
pLight = GetLight( "direction" );
8 J, A4 n: F& c: y
- a+ x9 ]" u1 O7 R+ N1 J. @/ B
#if __VER >= 15 // __BS_CHANGING_ENVIR
: G7 }2 @6 k2 j
if( g_pPlayer ){
- M) J- `4 W: ~& q b
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
3 A' Y6 L4 X; i( W
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
( a* a. d+ _( N) B* c ?
{
$ G$ W( B. A5 q- E: ~0 n
if( pLight )
. k& ]8 q; _3 s3 Z( j5 d5 Y5 V
{
4 n, Q# P# Q/ t+ C, B, J, a# s
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
( h% ^: [2 \, r: n, l! p
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
7 d& H W0 b$ a- o) B! Z' ? i( o
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
; _" ^# G( _7 u3 g
4 W _ q; q+ J* g& j
pLight->Specular.r = 2.0f;
2 @( H( ]9 |, F4 g* W
pLight->Specular.g = 2.0f;
* l, y4 h( ]2 C3 V5 V
pLight->Specular.b = 2.0f;
& D) N2 k( Z& d+ n
6 M# o' m& u+ ?' ~
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
5 O1 m- s, N3 y
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
7 [! F2 b1 p$ \+ H+ E. ^
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
' U! C' z9 g" B. s: o
- E7 d' m# u5 ?% b& O1 z* o
HookUpdateLight( pLight );
' `' M" F4 f) G' y$ g% _
3 y& D9 r# R! w _0 g ~% X% O
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! o" R# m) M7 q' q+ x
4 Q e2 z# a, n3 R0 E, [; s3 K
pLight->Diffuse.r *= 1.2f;
0 ]/ ^- H4 h7 ^# z0 P$ z
pLight->Diffuse.g *= 1.2f;
5 j% P3 d' M3 |) j) k1 w( B
pLight->Diffuse.b *= 1.2f;
" i; {: I/ c8 t7 \- l& e; Y* Z
8 d' m. g7 r7 G& \; p! Q
pLight->Ambient.r *= 0.8f;
- O1 I2 z# {4 J
pLight->Ambient.g *= 0.8f;
2 p* } ?( M1 F$ h$ Z
pLight->Ambient.b *= 0.8f;
?/ y+ v, p, b0 B: B K" \5 R- d
: H6 n; W/ b2 ~, v X
memcpy( &m_light, pLight, sizeof( m_light ) );
: u' w. T6 S0 t* x# D0 y3 b" P
8 D1 K5 B7 P$ E2 c c0 \
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, r2 j t1 ^( f
D3DXVec3Normalize(&(vecSun),&(vecSun));
( o7 i6 a0 Z" P/ A
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
' K6 d% e; Z9 c3 W$ k: i, x' U
pLight->Appear( m_pd3dDevice, TRUE );
! j0 N0 ^) J# U; ~7 k. y. Y* s
5 \$ t. }: h5 E- T& a
DWORD dwR, dwG, dwB;
/ ^ A0 O9 v9 V' O, c9 V
dwR = (DWORD)( pLight->Ambient.r * 255 );
! {: [% _/ D5 c
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 _; j' o/ }# _
dwB = (DWORD)( pLight->Ambient.b * 255 );
% X5 p+ @8 E% [5 L+ o. Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! r: ]( T* ~+ T% r% n2 v
}
% u0 v# k$ J; _9 E6 x3 j2 `5 \
}
) N2 i1 M9 N, K. D$ _
}
# L p: P$ c V1 j( s
else
, A' V- N, w* w0 H* R
#endif
* u* \4 u. d O" H3 @; \
; F0 c3 n, P& G
if( m_bIsIndoor )
7 ^$ x# a4 B4 p& F ~
{
: c0 c% ~: c$ B7 B- @! j
if( pLight )
% b0 C% _5 q- |6 I$ N$ w
{
# n2 X0 W% t& H/ @; s; p8 ?
// à??μ oˉè*
; ?6 k! Y G0 ~2 ~4 Q
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 Y% Z0 ?+ ^$ M& K+ _8 g/ |
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
I% g# E, u, a) Z2 {' @
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
/ N( R& m$ G6 `
$ |' a4 C/ u' \
// oˉè* ??à?
0 k/ H) x/ W" R9 D0 ?, I
pLight->Specular.r = 1.0f;
! }% M0 R7 Z7 B- j4 S- f/ A9 G! e
pLight->Specular.g = 1.0f;
1 R$ A. K8 ^# e8 @
pLight->Specular.b = 1.0f;
, s! T" Z2 Z5 c$ M
// àü?? oˉè*
% U# ?5 R& y: v5 k' l- ?2 h9 z
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 g3 X, P9 O3 h+ P
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
2 k- L$ l! a* W {2 A0 k! G4 W6 Y
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
& ~" q/ f. c* g7 M" r
' _ [" W. j$ o0 ^9 g% ^
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
7 B* U; _' m! Q+ V2 }
{
/ u0 ?$ E- O2 }8 U$ `( D* X- ~7 x
pLight->Diffuse.r *= 0.6f;
" S/ `0 o8 U" N9 Q& j
pLight->Diffuse.g *= 0.6f;
8 o6 w. {1 F9 z- F/ a
pLight->Diffuse.b *= 0.6f;
* q z5 c z& _" D
pLight->Ambient.r *= 0.7f;
& ]7 }( Y$ h4 a$ V
pLight->Ambient.g *= 0.7f;
& e; p$ P& _' m6 ?2 a: d3 `" i
pLight->Ambient.b *= 0.7f;
G& S" y4 C; P9 j4 d! C) g
}
9 I! H8 V8 i- ?& a
0 E4 ~+ m% r1 Y! G
#if __VER >= 15 // __BS_CHANGING_ENVIR
# i6 B+ \+ ?. x! C6 g& p0 n
if( g_pPlayer )
/ b6 H& i0 c H6 t f
HookUpdateLight( pLight );
" k2 ]' E2 n- j3 c3 Q2 ?
#endif
+ T) ^8 ^; Z" B' \- @
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
$ \5 u/ P% m& x: w9 |
/ C. \3 ]( J( e% q4 A' C5 |# C
pLight->Diffuse.r += 0.1f;
0 A2 d( R+ k! P) a7 B
pLight->Diffuse.g += 0.1f;
* y% g" t. J: R6 n% q0 u0 q8 k
pLight->Diffuse.b += 0.1f;
g( d5 C ^" f
// oˉè* ??à?
- W }5 f' O ^' v4 J
pLight->Specular.r = 2.0f;
% c3 G) I+ d& N* r& n3 p+ B
pLight->Specular.g = 2.0f;
9 q0 _& j! ~9 @2 n5 }% y: b1 s; [
pLight->Specular.b = 2.0f;
# F a, \ \) X3 n2 b4 o; m/ V* p( l
// á?oˉ
5 s3 {8 x8 h) f5 Z$ @
pLight->Ambient.r *= 0.9f;
* N' A% j2 c8 u
pLight->Ambient.g *= 0.9f;
_1 x7 |: R9 O2 j" c' B; r) p
pLight->Ambient.b *= 0.9f;
( q/ o8 I. e. l; Y
1 M% C( y; A4 G
memcpy( &m_light, pLight, sizeof( m_light ) );
9 Z8 M# x, Z1 ? k
# E+ ^9 u7 c& x1 ^, a2 H
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
# C0 E) |6 t1 t6 w
pLight->Appear( m_pd3dDevice, TRUE );
" D5 L5 `1 D# q* h3 c# L
. Q& e& }* y N: K: J
DWORD dwR, dwG, dwB;
+ w( X6 B! h' y8 t4 }! z. P' L7 N
dwR = (DWORD)( pLight->Ambient.r * 255 );
: U4 h, Z1 u, p
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ _, [ @- A2 u
dwB = (DWORD)( pLight->Ambient.b * 255 );
% B$ O2 k3 v/ }% D2 x! Y
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 Y' H' E5 p$ h; o2 Y# `9 o$ v4 S
}
8 T* \% N" C' g1 F% K
}
8 @) o- @8 B3 A. a% {9 R6 X" ~
else
, n; M# \3 d9 g$ m- }. A
{
; Q( A. d( q* v; k( R0 f' T
if( pLight )
. K" F+ u' R7 k. L
{
" I0 U/ X7 |4 V7 J! R/ |6 d' L
8 f8 f' }# d2 p3 l0 N; U1 P
int nHour = 8, nMin = 0;
+ U8 n! | T+ D: t1 w
#ifdef __CLIENT
" `: c7 }) m2 `. W
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: [: x1 v8 U8 [0 N0 k
nHour = g_GameTimer.m_nHour;
& K$ c6 K) d, E5 m
nMin = g_GameTimer.m_nMin ;
. @% Y) L' V% P" X
#else
. ]: F5 \$ P$ z t. y$ }% `
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
5 j8 v) x7 a% c
if( m_nLightType == 1 )
9 G( K' P7 l4 |) I
nHour = m_nLightHour;
) a+ U* ~8 a. v$ Y6 z" D
#endif
) `/ e- q9 R: m/ E. O+ M* E" x
nHour--;
3 u3 z6 G% `2 L& B3 R$ V
if( nHour < 0 ) nHour = 0;
, T' I3 X1 Q0 Z0 N9 I) ~
if( nHour > 23 ) nHour = 23;
0 K, ]3 [1 S2 w7 {4 y( `
$ o' R- ~& r5 d. q& w* P
//if( m_bFixedHour )
4 ~" f4 Q& D# O
// nHour = m_nFixedHour, nMin = 0;
2 [$ ]& F" [% v& }/ y( ?
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 H3 l/ V# {- N3 P3 G
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
) k1 n+ c7 r+ y" p
( a% w- p; M& x5 F% Y( U
//m_lightColor = lightColorPrv;
7 s8 g8 ~7 I( p8 M
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( R+ k5 T" R4 p1 p
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
2 V& ^ ~, H$ O1 F" D
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
7 ?) j( Q' @( V5 e. h, q
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: T+ j2 u0 ?1 X7 q$ R1 V
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
, D/ P/ K% @! X) N6 m
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, x D9 T ~# R" Z
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- e- ]" [! W- r* h
- F# M1 h4 A/ t& C/ _+ c8 r
// à??μ oˉè*
& {/ {# y% n; |* e4 A: ?& N
pLight->Diffuse.r = lightColorPrv.r1;
; a% ^1 _' o0 D- ^
pLight->Diffuse.g = lightColorPrv.g1;
- s2 e c9 ^% l& c7 H6 L/ ?
pLight->Diffuse.b = lightColorPrv.b1;
2 e' P1 X- n" k" g( i& K
// oˉè* ??à?
, z/ P f1 Y1 T' m6 T
pLight->Specular.r = 1.0f;
8 c! M" i% q% ~
pLight->Specular.g = 1.0f;
d$ f8 @/ {3 Z4 B
pLight->Specular.b = 1.0f;
6 i0 B! z/ r! c% k9 h D
// àü?? oˉè*
; @+ |& k! h5 O# P& y% {
pLight->Ambient.r = lightColorPrv.r2;
% C2 G( M0 j# U! p3 e& |. a
pLight->Ambient.g = lightColorPrv.g2;
/ T0 S% x0 j! n6 E7 K6 y0 E$ V6 E1 a
pLight->Ambient.b = lightColorPrv.b2;
2 L( b& g, n7 x
" ?( B- J: i& l* r6 Z* |2 S
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 Q7 A5 n% J$ L3 j5 x" \4 Y; q
{
& R0 _4 u$ L C( F; g; p' F$ _
pLight->Diffuse.r *= 0.6f;
6 t5 @6 A; f7 s" I7 F0 j
pLight->Diffuse.g *= 0.6f;
6 u/ Q0 L7 h+ G5 g c: E
pLight->Diffuse.b *= 0.6f;
9 m" Y' X/ O" N3 U5 X: w
pLight->Ambient.r *= 0.7f;
, z0 |; {5 i$ I6 i. X i% J |
pLight->Ambient.g *= 0.7f;
7 W- C: e8 c$ f( A: N5 a- s
pLight->Ambient.b *= 0.7f;
; |# k+ `: p' G
}
1 [$ v* e `% r1 H- H
/ F5 U' o. o1 M, r- j- w" d! L
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ b( K- Y# T( {" y. L
if( g_pPlayer )
8 M0 C- D/ ?/ V- J+ H* E0 f. O. O
HookUpdateLight( pLight );
( x1 M, c: B+ ]3 N2 G1 k, Q: J
#endif
, A) ?1 k+ Z3 I! D+ a0 W
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ H; d3 M5 N6 R: {% H' _
; P# g1 k) I( A' A3 |9 t
#ifdef __YENV
4 H# k: ^/ {. S* Q0 h
pLight->Diffuse.r *= 1.1f;
7 i3 W# t3 Q) A! g( G! Z6 M
pLight->Diffuse.g *= 1.1f;
4 c& H0 c. `; v+ N; E7 J7 x6 p
pLight->Diffuse.b *= 1.1f;
, n. i6 {* O$ M
// oˉè* ??à?
( D: k* y/ B! i& z9 H
pLight->Specular.r = 2.0f;
9 _, V. v9 d! h
pLight->Specular.g = 2.0f;
2 R# w x; z7 i! U
pLight->Specular.b = 2.0f;
% [, b% z; Z _$ `. m( G
// á?oˉ
: J* t8 A. j5 i
pLight->Ambient.r *= 1.0f;
6 o' u4 j& E: y0 g! y! L
pLight->Ambient.g *= 1.0f;
7 V/ V$ K- K: K8 s1 ^: ^" U$ P
pLight->Ambient.b *= 1.0f;
6 `8 B2 {8 p. H" \% {3 P# |
#else //__YENV
0 P; ]5 ?% s$ l# ]
pLight->Diffuse.r *= 1.1f;
/ V5 V; r7 {6 O1 l% l
pLight->Diffuse.g *= 1.1f;
% x0 s0 R, O, \
pLight->Diffuse.b *= 1.1f;
9 _% |0 G/ E* H& Y9 b- N
// oˉè* ??à?
, W9 q7 q( p6 i
pLight->Specular.r = 2.0f;
; F9 P& v2 b. E
pLight->Specular.g = 2.0f;
5 T5 o, |- i! ^8 s/ E
pLight->Specular.b = 2.0f;
: x# N; A) v1 \4 X! {
// á?oˉ
) n. q3 Y+ Z0 g6 x
pLight->Ambient.r *= 0.9f;
1 I* B4 O2 t: [- R# C; ]0 k1 h' ?
pLight->Ambient.g *= 0.9f;
# E# [+ r: I' n( H3 ?, N
pLight->Ambient.b *= 0.9f;
* X$ ~4 y8 Y9 N
#endif //__YENV
# ?* V6 ?: @6 T2 Z
' L& d' z0 H6 M
memcpy( &m_light, pLight, sizeof( m_light ) );
+ J6 R# W6 \0 W" N8 Q
( H+ c0 x4 y1 s& J( G
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ F- S0 j0 P5 R
D3DXMATRIX matTemp;
* O' Y. @, O' o+ y! l- E
static const float CONS_VAL = 3.1415926f / 180.f;
8 A0 w: O% _7 Q0 Y# U# Y
0 k* r& z" A2 ^& L7 q0 F+ V; x- ]
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* ^3 Z. ?. L0 {9 H- k$ F
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 X& e: s: A2 g3 W/ S
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
) E: T8 V' V7 _
pLight->Appear( m_pd3dDevice, TRUE );
. L' ^& c1 Z( |" B9 ~
! S2 ~( s: O; j+ r7 `+ ^+ Y6 D4 c
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 P) R# g! ^2 ?" `+ }# p
// D3DXVec3Normalize(&(vecSun),&(vecSun));
: T3 C! ^! b( ~) a! k& n) u
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" C8 f) J5 c; g, H8 i$ ?6 U' p
/ m# j6 c' _* K9 c3 R
DWORD dwR, dwG, dwB;
; p1 m1 I# O8 C! j2 {
dwR = (DWORD)( pLight->Ambient.r * 255 );
' ~1 W9 }' z* K& P4 c3 f0 i% y
dwG = (DWORD)( pLight->Ambient.g * 255 );
: p. i0 i( U0 v
dwB = (DWORD)( pLight->Ambient.b * 255 );
' @" i6 m. t. I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
u" H- ^# e, F' k
}
5 P0 T& K. h( ?/ [% g8 K0 h9 |
}
' h9 ]/ H- @9 B- q9 x2 P
1 s: B/ f8 H7 E1 W6 B3 u; k
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
Z1 i* G2 u: _7 K, M9 y4 D
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) );
" ~# R3 b v; D
::SetLight( bLight );
5 P; r3 `+ w& G
. M0 K/ g$ p) A: [4 ?# [7 r: }
// ±ao? ?D?í???ó á¤à?
2 w% y) z. a: C e
m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 _. n! p' s& h# O, N0 Q0 a
- I6 h: X# r% W5 N; [/ F! d9 U
#endif // not WORLDSERVER
* r N. G! E9 c" y4 r r
}
) ~" _1 {! e; z, A3 k9 e0 b
并更换
! p9 ^$ @0 ~5 R. ]3 J% u
Code:
G5 `9 s* H+ r+ q4 [% b
__FLYFF_INITPAGE_EXT
4 H( x# R9 S6 p! M N* o$ i$ `
定义
- c# L2 Z* m1 C/ }8 q* m* F. t
, ^' a1 @& c5 g+ l2 K" \
) c4 ?5 O3 s9 y" T& J) s
: T/ j# I5 d' G( \: D
: F/ B; r% _7 N/ { Y
现在终于删除我的狗屁加速...
4 d; }& f' t+ ^, d7 y, h2 ~ ^
b9 ^6 T( F0 n c2 d
, L1 O* i( \; `1 R+ L$ l) s; _
; G8 g( @7 v! K u4 N. N$ z2 G3 `
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2