飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
/ c. k: d0 E+ a& V R6 c' k
尾翼:
( X+ w( f: B" J( \
8 v: A: E2 X2 @8 g% D
代码:
) \! M1 {; Q$ C; g. Y: {1 i v6 b
CWndAutoFood::CWndAutoFood()
( v- @2 G! H+ M: q( Z
{
c% `, |2 ? ]
m_pItemElem = NULL;
: `4 a* t' t+ D- \
m_pTexture = NULL;
- p5 ~; Z- T8 Y: G' q8 z
bStart = FALSE;
& U) w* b8 \# O8 ]9 K7 b
}
+ ]7 e6 z h) S' z/ ]( e6 [
0 [8 `5 N% Z8 X& S: P3 J7 W4 R5 m
CWndAutoFood::~CWndAutoFood()
9 a8 n' M& u& F, o
{
3 @4 v0 x1 f! q
AfxMessageBox( "AutoFood ist gestorben
" );
- `* c5 d1 D" P; \
}
/ D0 U' \- ^! O% I: I' N i, w
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
" j% w& G7 H4 x& V0 N4 e
{
" W6 L6 J: i7 @9 P! o2 [
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
% u. A7 h& e% W) K# x6 }9 P
}
2 f2 C- o3 r! t$ G H6 I Y
3 m; m/ W( B( e0 R; j" a
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
! S; ^3 n( g+ `6 l3 F/ v
{
|* j& V0 [; E: d* _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
0 y; A5 @4 f6 f' B, \+ C
CRect rect = pWndCtrl->rect;
. ]4 ?) b- i5 x1 s* k
if( rect && rect.PtInRect( point ) )
3 ~6 \7 N3 G0 y
{
4 ], k/ M# K" P" C* G' Z! r
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
: K+ ^8 m) ^: y9 \) \0 W
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ I3 a4 c8 Z+ g$ ~ v$ n0 U- g1 K
{
. j4 m# `+ [5 G$ c- v5 R0 g- m
if( m_pItemElem )
% R. q$ l: [0 @9 S1 E2 L& s
{
7 N$ x1 O4 R) t8 Q# I
m_pItemElem = NULL;
$ {& O z5 K/ T' r; l
}
" q3 e0 M' P7 [* h: w6 G( w
m_pItemElem = pItemElem;
4 F3 i4 E! \( h2 y h- T* A0 C
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ c5 g( a" ?: x; B: C
}else{
% q( m& I( D6 O% o) r$ m
SetForbid( TRUE );
6 i2 @' E; U! I/ P5 }- c
}
6 j t0 U: R" _* @/ Q7 G
}else{
6 l v* F* q$ C
SetForbid( TRUE );
: v6 l& `' Y, H0 b; I
}
) s+ @5 l0 z2 p: e' r" t- j* k$ H
return TRUE;
0 Y5 m( C, o1 n9 j! g8 m& A
}
y5 ~1 Z0 S- t8 P$ r! m6 Y3 Y
W+ x; q2 ^7 \' }5 j
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
6 h& Z! ^8 y a1 n. w
{
/ ?' l6 \0 _( d- a
switch( nID )
4 J- F4 p/ E; U
{
5 `4 z( A$ C1 D7 I
case WIDC_BUTTON3:
; [8 z/ r- c, Z8 |
{
: G; w, {2 `: V! ^2 w8 G$ o, h6 {
bStart = TRUE;
; }- {" n+ ^- N8 F6 A
break;
0 @7 C' b; A; V8 G+ I O2 K
}
6 X- l5 u2 h/ c, n4 I6 @2 [' |
case WIDC_BUTTON4:
, f) E0 A2 Q* Y$ X) C: [& x
{
3 \( u4 m/ H5 O( H
bStart = FALSE;
4 \9 s! r3 Z M) L5 }
break;
# f x$ j' r! N/ y& ^- \+ D' a7 w7 {
}
9 b( u3 M1 k U5 e% Y
}
# G1 ~$ z2 ~/ \3 `3 A3 r+ p
return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 ?3 V8 y2 q8 q' s* ^- b
}
. `( M; U0 j: k
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
+ x5 Q1 \; i2 I8 Y7 t* r6 N9 l; h
{
8 p' V+ C7 H8 u' K6 L
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ J4 Y3 u7 G! F+ V, N1 Y5 r
if( bStart || !m_pItemElem )
/ p8 J: b/ J$ x- {* i1 X
{
+ O# |, s1 i. Z! l
pBtn->EnableWindow( FALSE );
, S! u; y: i. a) A% C; Z' I1 b
}else
7 x9 [ _! H! o) ]. Y* @
pBtn->EnableWindow( TRUE );
7 ^1 W m/ X S1 |, ~( \
if( m_pTexture )
6 q& c' L' V q1 ?% Z7 ~
{
9 W" V* {4 {9 ?$ v4 z1 Z3 J) C
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" N# ~# X/ F$ O2 K, t' @ @
if( wndCtrl && wndCtrl->rect )
# ^" q/ N/ r5 K
{
3 |: o& ^( D, Z4 k' n5 W' K; n
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. N/ G8 F+ j+ I- m* z4 z) _' Q
}
, a K3 B8 K+ e: W( U
}
; U" u$ v: t' b9 Q) h! ~/ h" g9 o
}
x; b4 ?, |& P% Z" r
1 C! D6 _7 I1 g
BOOL CWndAutoFood:
rocess()
7 }* U4 Y _6 b
{
+ i: b9 p% M! l* c7 X" g: a4 ?
if( bStart )
( N! k8 @" n. z. k6 k# ]) j
{
, J! P& @& b$ d7 E6 d5 Z; s
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
! k5 k$ X- ?/ R5 |) d" ^4 N
{
) \' ^( v( t( B
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 x+ E, `( | p# T
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
! e2 Y* _- j- P
}else{
$ G( ~2 w4 q* r& q
bStart = FALSE;
5 K3 @7 q# V/ \) s9 o
m_pItemElem = NULL;
. k8 K( ` N7 J7 g
}
5 E+ W* c/ c, i1 x8 m
}
$ K2 t, @& s% n7 C3 y
return TRUE;
" u8 J: L3 ^. ^6 s3 u
}
, X& ] W+ X- y, K) Y% j$ @# a
6 c+ t5 p! d; M, R: y# H( d. X/ x
登录视频废话:
0 B3 j" D/ z' p2 R c$ c4 s
尾翼:
$ ?. D5 N6 ~$ a
; Z3 Y5 E) @ n7 z, a
代码:
0 P1 {# b0 }1 ]9 v9 }9 [2 r& v
6 q* v+ C/ }8 y* R: u" H1 a
void CWorld::SetLight( BOOL bLight )
8 W0 e+ i' Q* L; G/ [% z. X
durch
6 t+ P* V) o: r2 J: ~' [ X3 A2 u$ d
Code:
; N, K( D% y6 J! O& j+ y3 _
void CWorld::SetLight( BOOL bLight )
' X& d$ x9 T4 C0 Y9 D
{
4 e+ ] F( E; a' `; P' [
//ACE("SetLight %d \n", bLight);
6 O2 D, l& m+ s3 j) w
" C- Q0 A# u( g0 @0 r
#ifndef __WORLDSERVER
+ r/ W8 B; _" I, C" c0 M7 F
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
1 e6 v/ x$ H# f
CLight* pLight = NULL;
3 Q# l( R) c7 O- m' k1 h; y
' p2 ]$ c) T8 F% v! @+ O8 H3 j7 H
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
: U6 y$ J$ x) z1 \3 C. K# j
7 F( h+ k' W5 \! ]
pLight = GetLight( "direction" );
/ P6 d4 }& F* ]& j0 \
" m" D# H4 d+ ?; l. A5 k4 |* o2 B
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 s. e& {5 h+ r8 o
if( g_pPlayer ){
# K, Z r/ D2 S% p
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
9 Q& n7 s6 r% ?' u3 N8 Q
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ H; q) l$ s! f8 r( R; B$ k+ v
{
( j/ E" N* X$ T) p* k: {
if( pLight )
3 v9 {( M; A3 `' s
{
# n) |- f$ v' i- i* c4 e2 Z
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
2 X. N2 t. T2 M* g
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" a5 ^" t4 X. B+ f" c* X
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
. \0 R4 E# t l& m( y) `
. {2 O9 C9 Q& j w5 w) o
pLight->Specular.r = 2.0f;
5 C. r1 P* [! T5 J' T! v% |
pLight->Specular.g = 2.0f;
' l! P+ M6 O; g
pLight->Specular.b = 2.0f;
# o1 W1 k {( G3 @% G# a7 z' k; N0 q
# ]% f0 w" a$ Q" s: V" d8 _" P; h" X
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
8 s& Z/ m- t2 v
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
3 `' c3 k6 ^5 _. H, {- f
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
. F% r# m" `6 L" o3 K# z; l7 E
2 B# t, h L1 B9 H+ k. V5 K3 B
HookUpdateLight( pLight );
: Y0 l V, I4 c$ u% O5 C* P1 M
! _8 M) l1 O' g. V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. K% W$ M' o- I* |7 u5 }, R7 T
1 h! w6 y- W# e) [" f2 ^ K5 e! ~
pLight->Diffuse.r *= 1.2f;
( H3 \# F+ o4 y! v/ f
pLight->Diffuse.g *= 1.2f;
7 h$ I3 n; {! z& J# W+ d- A0 _8 a- j
pLight->Diffuse.b *= 1.2f;
* P1 N8 q' J' M/ G
. n/ ^* Y: B8 j Q6 G. h# A( B' K
pLight->Ambient.r *= 0.8f;
, g3 O# ]; R) v! K
pLight->Ambient.g *= 0.8f;
- @# M; I" x, {1 W0 f0 D
pLight->Ambient.b *= 0.8f;
! y, q5 N% s& f% w
. }& Y' C B$ \; r2 k" x4 L
memcpy( &m_light, pLight, sizeof( m_light ) );
" H1 O0 P$ q! b
; ^6 V1 A( D& c( _
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
& E; K% V) K8 E5 i2 f
D3DXVec3Normalize(&(vecSun),&(vecSun));
8 W7 J* q S* k7 A9 K+ D/ W
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
" a$ l4 k9 g2 R2 C
pLight->Appear( m_pd3dDevice, TRUE );
' p# |6 S; u; ]3 k8 l, x
7 \" ?9 a: s. T2 Y2 M* Z( O' `0 F6 G& m
DWORD dwR, dwG, dwB;
2 D4 u! f& V, B' _3 q
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 e# [( P7 o* W: R. U0 [8 L
dwG = (DWORD)( pLight->Ambient.g * 255 );
$ a0 A) a1 ~$ u3 y1 ~$ O
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 Q4 c" h8 J% f
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 z9 P/ L( t! P8 b; n3 ?& ^
}
$ n8 z3 b8 W+ M- K/ |
}
& T6 y6 i G7 A# g) I0 D! o' z
}
6 |/ g! n& T; ?, [+ O
else
/ _" u/ X9 }4 C7 [+ ?. x. m
#endif
5 c+ o& S% c5 U) z7 @
# U% W" K6 M# i# q: L
if( m_bIsIndoor )
2 X3 w+ }' Y8 B9 I
{
3 f! z" X9 I4 j' ?; x. ~; O( H
if( pLight )
; n; Y2 r( D1 T; C4 ^$ v* g# S- C
{
) s! a& @7 }4 \
// à??μ oˉè*
4 f4 `- S9 c: x( A9 z" c. P7 Y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. z: \8 r, k' M) y( t7 [3 g& @
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
" @; ~# g% g0 J* E3 U+ }1 i; E
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
7 _' Q- p c. x! ]6 K1 `
6 P# N4 f1 T2 m* x% D
// oˉè* ??à?
7 A! o+ n& n; y* x. G- \
pLight->Specular.r = 1.0f;
2 U* X W2 i0 K# {$ n
pLight->Specular.g = 1.0f;
. p+ e, t( D1 D; G# `+ A7 x! ]
pLight->Specular.b = 1.0f;
. f/ G' s5 ?) }* d/ {
// àü?? oˉè*
" k7 ]& h/ U" b2 g" F. [
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. p) [+ c* g" w/ R/ H J
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
# }3 b0 T+ [9 v4 I' z
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
8 U- e+ m) l$ ^
4 c* e0 I5 ~7 X2 Y: i4 W2 c/ d$ a1 A
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
; f* y: K3 v6 v5 q" k$ F7 A
{
& V6 w( @" u' C: X6 v! N( N
pLight->Diffuse.r *= 0.6f;
, h/ h1 q% T- C" X9 G8 |
pLight->Diffuse.g *= 0.6f;
5 t0 l. E' n/ r- h4 C( T' D
pLight->Diffuse.b *= 0.6f;
$ ?- H6 m& p) y
pLight->Ambient.r *= 0.7f;
1 { s0 J0 K0 Y
pLight->Ambient.g *= 0.7f;
0 x9 l5 l' }; Q- L" |' [5 n A+ D
pLight->Ambient.b *= 0.7f;
4 X, E0 h( E3 I" b' l9 n" Z
}
, `6 \" U0 G) n% Z T x
, G% y# j" L5 D7 u2 p
#if __VER >= 15 // __BS_CHANGING_ENVIR
7 V6 [' ~3 H9 ], x
if( g_pPlayer )
2 n9 s i! X! R7 S; ]
HookUpdateLight( pLight );
7 m; G8 V1 y. |. N$ j }
#endif
$ R L# R: u' r2 e/ h7 s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
' O) L2 C1 N& F- i1 r3 R5 E0 g
. e! ^$ E3 g: ?, S
pLight->Diffuse.r += 0.1f;
2 U( M) |3 \4 D( U; H8 a
pLight->Diffuse.g += 0.1f;
3 k' s/ L( v' \) i0 g
pLight->Diffuse.b += 0.1f;
+ P9 A1 S8 y; [) ` @* }$ {; W
// oˉè* ??à?
1 G+ I5 s) h" s2 u$ z% ]
pLight->Specular.r = 2.0f;
5 |. b8 k6 U% V6 [4 n0 N4 A
pLight->Specular.g = 2.0f;
, f5 b& Q0 J* a9 Z$ I* P
pLight->Specular.b = 2.0f;
: {9 i7 i* i2 V8 d. q+ u7 G
// á?oˉ
" i0 q& z9 A: v) I; s
pLight->Ambient.r *= 0.9f;
3 g6 v+ B; Q' p1 L( S2 P3 w
pLight->Ambient.g *= 0.9f;
8 P) P) e/ I9 b' D% E
pLight->Ambient.b *= 0.9f;
7 h8 N9 R0 O6 b7 {
, N% t+ j. r8 u c- g" } p2 Z
memcpy( &m_light, pLight, sizeof( m_light ) );
8 h! o4 } u" k/ f, P+ z
6 S( ~# C2 \; h1 {! ^
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 |7 b8 H8 L' Q3 U, ^. T
pLight->Appear( m_pd3dDevice, TRUE );
8 J/ q% Z1 {/ O, K) z b5 I
, P$ N/ ^& g: e+ \3 _: ?/ S" l
DWORD dwR, dwG, dwB;
9 D; C5 X# R Y9 F0 L
dwR = (DWORD)( pLight->Ambient.r * 255 );
: A9 e4 J, u, B% A+ v5 y6 [- @
dwG = (DWORD)( pLight->Ambient.g * 255 );
3 y! B" @# X5 E% }2 y' p
dwB = (DWORD)( pLight->Ambient.b * 255 );
" w/ x5 u5 I8 B7 R' E9 D$ U/ j
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 d# p5 r% L& @
}
, H6 s1 |$ ~% s8 ^
}
2 v; g* s! s8 Q# V1 `7 r
else
0 u @* `9 `) T0 {# t
{
+ |5 u% I/ P$ a/ g) d4 |# @* h
if( pLight )
: z* H, [* \5 ~1 d3 H9 V% R0 g
{
7 C+ F! d/ ]7 ~8 S/ o6 o
1 w2 i8 B( p) k0 z3 o' p* C
int nHour = 8, nMin = 0;
. n6 A! Z/ V3 G5 Q6 h/ v9 N
#ifdef __CLIENT
" W y/ t8 J4 S1 E
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
) g3 O+ K# x* x
nHour = g_GameTimer.m_nHour;
9 O7 a8 U3 x Q1 m# m: [) T
nMin = g_GameTimer.m_nMin ;
" J7 l8 B) n* g: P2 {' M
#else
x3 k) w; K6 _2 V1 [( i/ C
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
! F* w* l: i/ z7 D2 Y' f" U" W$ o1 [
if( m_nLightType == 1 )
" `! ]1 q+ F; w% H1 f. E% U% b2 K
nHour = m_nLightHour;
3 o e3 n! A3 G. K Q( Y
#endif
5 t( K( p' z$ I+ l
nHour--;
4 r1 M2 y4 o8 H L6 @
if( nHour < 0 ) nHour = 0;
& B4 S) ` y3 v5 c
if( nHour > 23 ) nHour = 23;
# v9 Z$ a& _6 R6 F0 k4 _$ _
& _$ J m3 w1 ?& J
//if( m_bFixedHour )
) f! i/ x. p5 {8 S+ [
// nHour = m_nFixedHour, nMin = 0;
) M% A/ [9 F# [4 z/ ^/ D
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
1 q# V5 p) `' u9 ^6 M
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- R! k! X7 O" Q+ e
/ U% ` E' y5 {. L) w8 G: H7 ^9 u
//m_lightColor = lightColorPrv;
5 ?4 j: |/ w* S" x8 N
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
8 F/ X+ J i; Z( B2 M+ T
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
6 b, V% R9 N! }& \
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
+ R* S, m7 I V, w& F
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
3 ]. N# }, k# O) J H& N. M* v( \
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
3 i4 b, {4 ?# F8 r6 G6 |
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ S# m! l! c1 t
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
: v- ?/ A( s" L7 _0 g+ k4 n# }
7 |5 f: @+ a1 S% o8 Y8 w
// à??μ oˉè*
+ g! h; f5 k0 \4 m+ q, D7 n
pLight->Diffuse.r = lightColorPrv.r1;
8 R! W# n$ O% Y- E9 g: ~) K& M) G4 y s
pLight->Diffuse.g = lightColorPrv.g1;
* f& l# S$ q+ n" `+ _0 R0 U6 O
pLight->Diffuse.b = lightColorPrv.b1;
. S' o& t* d& G& f8 ^& x" t/ g$ d0 T
// oˉè* ??à?
; ~# f- Q! V! H4 ?
pLight->Specular.r = 1.0f;
# G- _6 e6 ]& _' M3 }: \6 ?
pLight->Specular.g = 1.0f;
) c) _% v7 |* n+ N
pLight->Specular.b = 1.0f;
# p- T. }5 D5 H4 _7 r
// àü?? oˉè*
9 H. }5 Y7 ?# F8 E; n
pLight->Ambient.r = lightColorPrv.r2;
, k& W' W( e, m+ e
pLight->Ambient.g = lightColorPrv.g2;
G% Q9 e0 B7 V) b0 t
pLight->Ambient.b = lightColorPrv.b2;
& ]- ]/ A3 H/ j7 q4 M
) K% G6 p5 F' b% l7 V. \
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 S0 L% s8 O! Q7 N
{
( O: K; G; ~" n6 P' S
pLight->Diffuse.r *= 0.6f;
* T+ ]) Z/ d- @
pLight->Diffuse.g *= 0.6f;
+ w0 I L' J$ g8 ]6 S0 S" l, E
pLight->Diffuse.b *= 0.6f;
: @* m" e, c* m; \
pLight->Ambient.r *= 0.7f;
; ]1 f" B, ]! ^2 M
pLight->Ambient.g *= 0.7f;
8 D* ~* R$ A3 {! x( X* s# }
pLight->Ambient.b *= 0.7f;
) C4 Q2 N$ J& J% R% {! A
}
8 {1 Q) u! V1 K: M
: s0 { I& t) |' O
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ s! z0 L3 _: Z
if( g_pPlayer )
8 N! J0 Z. b% p D
HookUpdateLight( pLight );
' u) s1 Z' f0 F+ |$ P1 O7 z! w
#endif
5 t$ f/ T( n+ \8 G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% W0 p9 V, }- }; k2 o
4 f$ g w9 S+ k; f/ S
#ifdef __YENV
* W0 {* ~; J& r* k
pLight->Diffuse.r *= 1.1f;
: @% |, ~2 M% t/ V: V6 N
pLight->Diffuse.g *= 1.1f;
% R$ N; x% G. M* \) k% X* Q, K
pLight->Diffuse.b *= 1.1f;
" x* ~0 a$ {5 J! F3 _! H
// oˉè* ??à?
7 c$ o0 z; T1 i: p/ z# L
pLight->Specular.r = 2.0f;
4 | |0 O) x. U; H
pLight->Specular.g = 2.0f;
; U1 ~8 L! E7 |" T* H/ Y3 n' J
pLight->Specular.b = 2.0f;
; {; R$ s2 O1 H, f
// á?oˉ
: ^ b' F; G. h9 l8 f) |
pLight->Ambient.r *= 1.0f;
# s; x& f& t. @0 v
pLight->Ambient.g *= 1.0f;
% I v$ h$ `' r
pLight->Ambient.b *= 1.0f;
$ ~" \+ z7 z: W' |+ d
#else //__YENV
7 |6 d, F9 G+ m2 A# {% L: G
pLight->Diffuse.r *= 1.1f;
6 L3 i( v$ w" {
pLight->Diffuse.g *= 1.1f;
# C( _* D0 X/ c
pLight->Diffuse.b *= 1.1f;
3 L% V5 \* z% y
// oˉè* ??à?
* s3 `% r( c# h
pLight->Specular.r = 2.0f;
2 j* B+ i! s' `: l
pLight->Specular.g = 2.0f;
0 p( o% P- O* W9 y- D: {
pLight->Specular.b = 2.0f;
1 P+ x6 K& f3 E4 d$ E0 ~/ _
// á?oˉ
1 c! l3 l! F: A& `1 a7 W
pLight->Ambient.r *= 0.9f;
; V% F7 S( l% R: y$ ~
pLight->Ambient.g *= 0.9f;
9 Y" |5 r1 K( G! U! j, @- A# u* o
pLight->Ambient.b *= 0.9f;
) D8 v! S- i3 H; B; f/ E, v
#endif //__YENV
0 \" B& x0 _: \8 z& C% c
/ P& V/ c- Q* Q J* f
memcpy( &m_light, pLight, sizeof( m_light ) );
2 s( R: G2 P1 s
1 l/ l( x/ V# M9 v
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
8 S G6 W8 j$ k$ G' P
D3DXMATRIX matTemp;
( k) g4 M4 ~" s4 ?
static const float CONS_VAL = 3.1415926f / 180.f;
$ X7 ^4 W; H+ n1 A% l1 Q" a W2 N. O. `
" e4 Z& n% D0 W! B5 w& X( @
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
, _6 t- I$ b/ E# H' j9 f6 U U0 I
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
$ S. M1 p* Q$ K0 A8 h5 ~
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
$ ?& g; Y w, }% d5 a( _
pLight->Appear( m_pd3dDevice, TRUE );
9 c3 k7 W& r$ Y0 C6 H
x- D) v t5 M+ q, k* _. x
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
: O+ J9 B& v5 \! S( k, U- w
// D3DXVec3Normalize(&(vecSun),&(vecSun));
$ l5 J# O, x+ K' b( A5 Y
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* m6 E, u: ]/ P2 e9 ]
8 ~+ n3 M( @! T$ H
DWORD dwR, dwG, dwB;
# Y8 N* ]+ ^ d' k+ b
dwR = (DWORD)( pLight->Ambient.r * 255 );
- O5 y9 d( X! J2 M+ V
dwG = (DWORD)( pLight->Ambient.g * 255 );
( V8 I) y* E' x- x# c
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 U0 ~# F2 e! ]
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! X2 L/ n" Z0 R7 ~
}
" D0 D5 Y8 A! D
}
, Q$ e+ @6 D% \3 ]2 t" G
# \& W) x; S$ Y% @
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' h2 O( `' Q# H1 s, C
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) );
* ?0 F6 H7 x( N# e- A5 K
::SetLight( bLight );
& m' n* x( ^5 `$ B
! }# W# d* S" p$ p; @4 ?/ m
// ±ao? ?D?í???ó á¤à?
3 _: ~/ U$ w- Z+ O3 ^- P
m_pd3dDevice->SetMaterial( &m_baseMaterial );
$ h+ t; D/ K: k, i# ^3 V! [% |
+ Y: _# C+ S1 r% t8 M
#endif // not WORLDSERVER
! r& J* I8 X' h( u
}
F4 R) ], b" G) ~# Q
并更换
7 F3 b; [3 ]) V
Code:
( j6 e* }- }/ W4 H5 V4 }( v* x
__FLYFF_INITPAGE_EXT
* t2 ?* c( J0 n; A0 f
定义
9 _1 `) Q- A' c' t( n; b8 Q
+ {8 D% u" t) p J0 f4 {
! u( H' ?+ K$ J
, O( _6 H! p; M r+ c2 @* `
4 X0 P3 A6 @6 H2 X
现在终于删除我的狗屁加速...
1 l+ w# Q! V4 }. d7 W& F( Y Q8 h
' H+ d5 a1 l+ B5 a. _! |; X2 x# L
% y# p1 m! P+ Z2 A6 {) r* \- g4 r
* K9 A, J! c, a
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2