飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
& ^6 n/ }$ [! o* ~$ |5 h
尾翼:
0 e3 U! S- B: ]4 E
/ i8 d7 s- p2 J
代码:
7 M! Y. @- C( h( s2 _
CWndAutoFood::CWndAutoFood()
. ^# h1 n, m) V, ^% e; m: M
{
' r( P5 z2 q6 |0 H. N) M
m_pItemElem = NULL;
( ], ~ R1 m, K; k- C; E. Y- r
m_pTexture = NULL;
. u5 W: h) R0 e# @0 G6 }: q) k
bStart = FALSE;
/ v+ q% ^. P( ]+ `
}
3 w% ?1 ?" I! y: m# W7 d8 v% j1 E
1 j" _; Q* b/ Z
CWndAutoFood::~CWndAutoFood()
7 _& A( P" N3 |! a6 p/ a) a
{
) `; B8 x% ]" b2 E
AfxMessageBox( "AutoFood ist gestorben
" );
) W* w% ?6 S+ J: I
}
% |4 t8 a7 T, g9 M' C2 [7 t
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 ]4 [- `& |( ~2 u% E/ f. L
{
$ g) ^. J. O: G& ~0 D
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
2 ]! M3 x- A' }
}
: H% l# W- V# \' } d# ^# L1 j! [6 Q
; u$ v5 l w3 N; s! U- d4 D
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
G) ~2 B" u1 m9 B/ A! c/ |9 y+ H
{
9 h3 ~& N5 R( ^2 f+ C$ T/ x& W( j2 j
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
; [' C5 i: w" p4 J. L+ X) V
CRect rect = pWndCtrl->rect;
: i! M# R5 Q9 F% N9 K- @3 D( V
if( rect && rect.PtInRect( point ) )
- }, P7 ~2 s0 B
{
% ?) P# M- s2 i' \- g( b5 H
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
! u8 g7 O" V& L/ [
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! B* X. H. B2 k- `2 M
{
. ?' i1 N8 e3 o( w
if( m_pItemElem )
" Y) d8 W) E, p+ J r" k1 L
{
' t8 L$ I: \$ r
m_pItemElem = NULL;
; L8 }" l* G. N' b
}
1 h; s* I. d% j$ Y% C& u$ r
m_pItemElem = pItemElem;
0 H) E# e- j7 M e- ?5 z; { w
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
$ t2 d# _6 K# j3 p; q( C/ l
}else{
0 x5 s9 e: e% Y- x0 K8 B1 g
SetForbid( TRUE );
+ t5 `$ f0 I# v. c
}
1 b, U0 m9 P$ r5 t2 a. F
}else{
; l8 c+ F% B; ^
SetForbid( TRUE );
0 P9 ~; E7 P$ ]4 `$ F) Q
}
2 }( L! `9 w. f6 B$ n7 D! i& T' c
return TRUE;
* |! L9 F: c0 m, E) p
}
^ Z: U- f9 k# a: @
* {- d' @% q# p1 C) h5 M% U( ?
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
) j& p2 W4 L& g0 I5 I0 A: k
{
( V* l# ?; V" D, Y
switch( nID )
T2 {2 p% D) s7 B7 G
{
9 g2 d+ L J2 v, e9 A I/ \/ o6 M
case WIDC_BUTTON3:
( K6 @8 b2 `' q' a
{
7 y) F6 i( ^1 @2 a) f1 s. S4 i* a
bStart = TRUE;
; l) i: V, @0 Y: s+ l( S* z2 t: e; z7 w
break;
2 }, x' Y2 f6 ^" z0 f1 y D
}
+ s- f" j( |* `6 P8 W, \. |( T
case WIDC_BUTTON4:
0 g j) |; c, I& n& p I# c
{
# _( r- P# a8 T2 H2 X Q: y
bStart = FALSE;
6 A0 C. V! u) e. G- B
break;
- u* ?2 L$ H. S! @! t- b
}
* H7 c: R& k2 Q" L
}
6 ^7 X' B1 T7 l) w* P9 W
return CWndNeuz::OnChildNotify( message, nID, pLResult );
4 l/ R" t' b5 E: W, K! u! U
}
3 i5 V1 H* b1 U2 \% p
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ W" t& S) v3 S+ T
{
& v& k; ]* p( Z" J0 v# k, R
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; t( l3 R' q) \8 @- ^/ [ t
if( bStart || !m_pItemElem )
. d2 P. U% S% ^) C y
{
# M4 y& U8 s9 C% r1 g5 Q7 c
pBtn->EnableWindow( FALSE );
, W6 R; u' B$ p2 [/ O/ U- X
}else
% R+ \5 M7 J0 K8 l9 |0 s9 c
pBtn->EnableWindow( TRUE );
! D/ P Q; D8 B) \) Y
if( m_pTexture )
* f6 Q% \" ?% p; f4 r4 Z: P; l9 g0 t
{
% f% L1 ^ Z2 y3 \ H" a9 `
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
1 k1 L: F4 ~2 @& N: I( e
if( wndCtrl && wndCtrl->rect )
7 H) g$ j0 K: q5 v5 P
{
& G- ~6 p+ d: W5 B* e t9 K. \
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ Z% Q! y1 W0 Z9 s" ?
}
4 ^' ~7 r7 e; e
}
0 G5 R) r& j$ M. Z$ ~' [
}
# T* i7 w3 j/ ?3 e% h& Y1 n+ g
3 \. d$ s' j8 a7 b) R C
BOOL CWndAutoFood:
rocess()
2 [( ~2 a4 N- h- e2 c
{
% r$ @4 N" N. {2 Q" q: f
if( bStart )
4 o# r. u- S) E6 l2 j& z* B
{
& z. [' ?8 o1 w/ I* \
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
" d; U( Q+ p6 a9 s: ^
{
( u; w! W: m0 F9 ~
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
) _4 t, p' ^) z. ~! ]7 B& O
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; j* N$ X, { n
}else{
3 R3 y& x1 @6 @( K1 b$ ^& o
bStart = FALSE;
: M! d0 ]9 } d/ K
m_pItemElem = NULL;
; Q0 F7 U4 Z, I( Y7 t6 n+ Y
}
( q: i" n1 U) b7 C
}
' M' k9 ]5 Z. u% g m$ T
return TRUE;
% t: B, v2 _" q) C' _, _' Y+ I
}
' X0 z6 r# i& |# Q v+ y
8 O& l) K) V- d' e& Q/ M" m
登录视频废话:
2 s5 V. a( @% ]6 M/ ?0 P
尾翼:
& O, R& m p! E: n
6 _+ c( a2 K& u! l0 c2 k
代码:
' Z; M4 y$ \9 a' B3 Y, g
2 U6 a; U& _# U
void CWorld::SetLight( BOOL bLight )
- s% E) r6 i1 e3 r% V! O) S$ o8 ?& }
durch
) D3 B# m/ ~) a
Code:
) a/ A/ w7 s% `, ~! C% T: e J
void CWorld::SetLight( BOOL bLight )
* u$ e7 D8 n2 Q' T
{
, f3 X0 i( p. V+ [ }. s G4 I* N5 Y
//ACE("SetLight %d \n", bLight);
5 h; U2 U1 }2 S1 ^1 b+ I
: L; N& w6 a( ^- O7 h
#ifndef __WORLDSERVER
P ]0 n) Z( j6 L. q' O5 ~
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
7 {* o! r( q6 @8 v- k% q$ B7 U
CLight* pLight = NULL;
' ]- Y* U2 R+ P) R4 m5 C
$ x& Y# u( k5 [
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
$ W9 t, w) Q; {8 D
. w- g( ?, T" l) `( a! O7 z
pLight = GetLight( "direction" );
; s* u" T) K5 q; v8 L# {5 g, R$ z" v( j
8 ]( `* D. q. A- k$ C- w1 m# C
#if __VER >= 15 // __BS_CHANGING_ENVIR
' e/ ?8 j9 G' y8 |' P' F
if( g_pPlayer ){
3 } S4 G: y4 v& c& X& w
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* A9 ~# w% o6 m2 F& _# ]
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
! M% i) ~" A" ~
{
( g+ j! t1 A* f' S9 Q
if( pLight )
) t; X. o7 W1 a* H! Z4 f% U/ f/ Q
{
, g: L1 c; ?2 w% C8 z, c$ ~! n. [5 Q2 W
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& s& X% Q+ M* A8 x1 a2 u
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
^, t; b7 v' Q( j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
|3 p2 D4 `+ c( H* M) Q; x# _; @, n
- i+ T* l/ a$ j) A$ i/ F* f
pLight->Specular.r = 2.0f;
/ y, [, k/ l; {! b
pLight->Specular.g = 2.0f;
) N ~7 h) Z, K- L2 h
pLight->Specular.b = 2.0f;
6 Q, |/ ?( H) m1 g8 k6 A
4 W1 O+ T* @+ O, y, w i) p! W
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
" X7 ?9 ^' p U# k( K) F2 x
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
0 M' U3 p& Z) O$ C7 C
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ L2 \; ?. q' E: w1 W2 v! I: `
+ q% `% S6 f* K4 Y( a. \. H
HookUpdateLight( pLight );
( t. P/ X( Q9 ?- E; ^5 _
$ P+ o6 L! m8 t" v$ z0 q- i6 m* Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
2 ^7 B5 O0 g9 K7 j/ ~& d$ B' w
% H+ b6 a8 q8 ?, p y
pLight->Diffuse.r *= 1.2f;
# p1 {4 j; L* U3 a9 B& w# V
pLight->Diffuse.g *= 1.2f;
! w" f5 k6 f/ u6 n# Y
pLight->Diffuse.b *= 1.2f;
$ P# }" y# o% |: h& b% ?
0 h( E6 ?$ Z! d/ I7 _/ u+ c2 c7 f
pLight->Ambient.r *= 0.8f;
: p" C5 V- }2 s; y
pLight->Ambient.g *= 0.8f;
5 w6 {! z9 T3 F# O! t4 `
pLight->Ambient.b *= 0.8f;
7 x& j7 Q0 t8 u
) o; y F$ t6 E# e- x" ]9 u- @
memcpy( &m_light, pLight, sizeof( m_light ) );
. r/ k& i l( m0 |
, V4 D# T' ], q
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 p! m# i% p7 u& ?# _7 T' Q
D3DXVec3Normalize(&(vecSun),&(vecSun));
$ A( c; ? C$ s# Q4 \
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
H& s; o. u8 y4 u, i7 Q
pLight->Appear( m_pd3dDevice, TRUE );
, W' e, v2 P5 {/ x" H* d
& Q7 L4 ], e4 v
DWORD dwR, dwG, dwB;
! c0 ]( n4 E( C* @
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ C) Y+ u, i) `: a4 M
dwG = (DWORD)( pLight->Ambient.g * 255 );
! x# ^) _# I) R# G; h" l h
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ S2 a. u% G, O/ x% ^; T' F
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
8 \1 W; p- ^3 g9 J% |- X w
}
; e4 v; r, ? ~/ i" n1 V' T
}
# J% u; g9 {& ~( L0 ~
}
1 C' ^6 y8 o$ V- T: h
else
6 l1 b: X4 n* m! W( j& Y
#endif
5 V2 n$ }! O# y8 h3 o; N, Z6 U
: |6 H) d3 W6 ~, c( i0 D
if( m_bIsIndoor )
4 d& b; n f' z4 S) [# G4 A3 d8 P: Z
{
2 k, G; X' q- Q2 Z* m6 f% K) [
if( pLight )
2 c& D; F" Y1 i$ B' i, |/ y
{
6 ^8 d$ M" ^" t, g% x* b0 L
// à??μ oˉè*
( }1 C( {; A1 d; ]: L
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
% f x- z+ z2 d4 s s
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
X+ i5 |# U; T# N
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
# O! ~) p9 v1 ]: L! |
; z0 s& o: F: X6 ]. \* r
// oˉè* ??à?
4 G8 p& A5 D; X1 K2 s. s& z8 e
pLight->Specular.r = 1.0f;
" O9 a" a% K+ C. h1 G0 i; M
pLight->Specular.g = 1.0f;
7 A% f \# S, c
pLight->Specular.b = 1.0f;
& \: r! q% s$ T- o2 A% }7 l9 e
// àü?? oˉè*
3 `9 R+ [, \/ x
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
4 n. Q9 h7 ^5 C) d
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
# P+ y$ V9 C, T' A' Q# J0 H
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' w1 j6 M% v+ [, B/ [. V
# C6 v; W; |- q- x; C0 A& Y
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& O- h1 P/ b* U( v
{
0 O4 [* T0 @- C) S2 z9 q( N& \
pLight->Diffuse.r *= 0.6f;
# _) s* S' \9 u
pLight->Diffuse.g *= 0.6f;
) b7 D, f5 b0 J/ S" I
pLight->Diffuse.b *= 0.6f;
) n. A0 ?4 X; r# _5 K2 B+ {
pLight->Ambient.r *= 0.7f;
T5 Q& h4 J ^$ }: X
pLight->Ambient.g *= 0.7f;
) `' \! c3 f- K5 T% J$ S
pLight->Ambient.b *= 0.7f;
6 v+ E/ L% w+ b/ C
}
5 S) C5 R. M- n; b
) C2 j5 b: Q& \& x% Y8 m3 Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
! b {% R( X; K' ?+ L
if( g_pPlayer )
% O& g+ \8 i! N3 B
HookUpdateLight( pLight );
+ ]: o- @+ E1 E
#endif
& H( _, N) B- x f2 x! {0 P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 k" @. J' |& i1 {# G- _
% h) q" x3 V* S3 V
pLight->Diffuse.r += 0.1f;
- ?% n9 E5 |! f f
pLight->Diffuse.g += 0.1f;
0 W' M# _- U A% U$ r
pLight->Diffuse.b += 0.1f;
5 R; a; F, L: M7 p! i i
// oˉè* ??à?
; z) a/ q7 j5 Q+ Z* H% B. e _ v
pLight->Specular.r = 2.0f;
5 d) g* ^, t a& r; m
pLight->Specular.g = 2.0f;
& T) p6 n/ E2 U9 z C6 f
pLight->Specular.b = 2.0f;
8 ]- C* J, n3 r0 D }' b8 F
// á?oˉ
, A. s) t2 \; R# J
pLight->Ambient.r *= 0.9f;
. |4 N- d# O2 @: b" s
pLight->Ambient.g *= 0.9f;
. C8 z6 L4 y1 O* R) g0 s' x3 h$ W
pLight->Ambient.b *= 0.9f;
8 f* V/ ^' t* V& \
! d, A- |2 g* g4 I
memcpy( &m_light, pLight, sizeof( m_light ) );
4 x! n# B* K/ w' @; V- C
& E6 h, |) l! a. t) t, b
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
d7 A$ c; b) d2 z, j. N) J
pLight->Appear( m_pd3dDevice, TRUE );
3 G- T. J* q8 B: Q% }# y# P$ V5 J
: v7 r# ?) @5 X
DWORD dwR, dwG, dwB;
, S7 h- |. L3 ~
dwR = (DWORD)( pLight->Ambient.r * 255 );
" k. J* b3 w$ Z, L( \1 q" V
dwG = (DWORD)( pLight->Ambient.g * 255 );
% \; o2 i0 c) v) z
dwB = (DWORD)( pLight->Ambient.b * 255 );
! D6 M( v1 U3 I0 C
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 A% C2 V7 X+ D+ W7 a
}
) O5 \4 g% [! H% o7 {! U
}
+ t( W# U" I6 a
else
, n: V8 m8 p K* v3 A
{
/ t8 M$ ^4 Y7 h( Y+ Y, \$ s
if( pLight )
0 I$ G5 O5 W. r t
{
O# h. }/ H1 w# M: c/ t
p0 |$ S1 d& g$ h# `; w1 q! o
int nHour = 8, nMin = 0;
# p2 }8 e K' `; V9 K9 A7 ?1 x
#ifdef __CLIENT
3 P/ \8 g, i# G+ ~8 d" {; V% E2 \' v
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
' s" f, P* P8 I1 v% N- e7 |
nHour = g_GameTimer.m_nHour;
1 g# u% M e( Q* ` `+ C
nMin = g_GameTimer.m_nMin ;
: U% ^0 B1 d' G* h! }4 j. \" r# e
#else
- v( A* X& n7 H$ G, N" a
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
9 {) ^, Y6 r4 |. q$ `
if( m_nLightType == 1 )
( B. \" N) \; l& ^5 I; |* l
nHour = m_nLightHour;
/ H; c4 A7 u% L. K
#endif
+ h/ Y$ }: {+ q" p5 ~
nHour--;
1 e8 M0 x$ P3 |- j, G
if( nHour < 0 ) nHour = 0;
& S) D) L+ }* \, M1 N0 _
if( nHour > 23 ) nHour = 23;
2 {+ T1 I0 B+ Z8 ^
8 D4 v+ R4 h: O' u& f
//if( m_bFixedHour )
, ~. J+ A* o* t8 C
// nHour = m_nFixedHour, nMin = 0;
; n5 z/ z! v2 ]7 ?9 v6 v
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
$ v7 R) m8 K B
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
0 l# ?& P* O& M- |7 |; R" i
2 V1 E& M/ I4 g2 k$ B7 j+ d
//m_lightColor = lightColorPrv;
; m$ U; Q% L( n& b- |
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
Z- U0 M8 p w- F+ R
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
/ k: ~- W1 V/ f7 K D2 I
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) N! P$ A: H5 i. u- c
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
0 p9 h1 }5 Y0 w) Y2 k
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
6 ~# v* B( j# u& Y8 @: O9 O# M) x# }3 m
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
5 W) Q$ L+ l3 F
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
! A% V& g: n0 B9 h
5 H% ?/ \& i w8 ~
// à??μ oˉè*
6 k( k4 ~; x) B S) ~
pLight->Diffuse.r = lightColorPrv.r1;
& X- }, t, _% ^7 t# w! e1 T
pLight->Diffuse.g = lightColorPrv.g1;
% ]5 J o# v% u4 b
pLight->Diffuse.b = lightColorPrv.b1;
# H) U* Q0 s0 j6 H, T6 c9 b
// oˉè* ??à?
; c4 x* ^: `2 d+ ^% g0 L
pLight->Specular.r = 1.0f;
- L) ~' {- d2 d% h6 k& M
pLight->Specular.g = 1.0f;
' J. E4 s+ \: b/ c/ j0 I
pLight->Specular.b = 1.0f;
) d% U) `& [& U/ O2 e2 D# _9 B
// àü?? oˉè*
% ~' ]: b5 s9 C# G `! T4 K
pLight->Ambient.r = lightColorPrv.r2;
- u* p- W. K, I' n
pLight->Ambient.g = lightColorPrv.g2;
: K8 u7 t+ ?- ] M
pLight->Ambient.b = lightColorPrv.b2;
- O6 t, t% V5 w( x5 S- i1 x. S
: A: B9 X$ J0 j5 r
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' H2 w/ [( i$ X8 r8 d4 U! m* z
{
' p2 H# c3 O6 ~3 w8 k: f' I
pLight->Diffuse.r *= 0.6f;
& \3 l$ f; L6 z# ?
pLight->Diffuse.g *= 0.6f;
% G! H' e, y i9 Y. l/ E( a+ }# G, F
pLight->Diffuse.b *= 0.6f;
+ m' p0 i) H- {8 _4 S
pLight->Ambient.r *= 0.7f;
, `9 X0 s" |- @' W
pLight->Ambient.g *= 0.7f;
' f& f2 B+ N0 T r' Q* y+ t
pLight->Ambient.b *= 0.7f;
; a8 I* e# Q4 Z8 ^
}
6 {9 P9 Q& {! T5 m( y* A
, q$ k- Z' t5 A, T
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 t& m* z2 @/ Z+ w$ G3 P" C
if( g_pPlayer )
7 ]' \# q7 z: C$ D1 [8 L9 N
HookUpdateLight( pLight );
3 J& v, ^ r$ Q$ p
#endif
9 A% E1 t9 R/ v; \3 I q8 _
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% R3 f# M/ k. P0 G$ l
5 y5 ]3 ~3 p5 J0 N! B
#ifdef __YENV
6 y6 t. J1 U4 H8 G$ d2 C% t% S( `4 R
pLight->Diffuse.r *= 1.1f;
7 {7 o$ ~- A% v. c9 G
pLight->Diffuse.g *= 1.1f;
( F5 D; m& z( V
pLight->Diffuse.b *= 1.1f;
2 D. J& x4 |( f0 M" N! C1 Z
// oˉè* ??à?
4 v9 M: ` F8 R. z& t$ |
pLight->Specular.r = 2.0f;
7 H3 V# u8 L3 B% s0 |! s( d
pLight->Specular.g = 2.0f;
. J" M' Q' A! i: L, X6 E) ?
pLight->Specular.b = 2.0f;
+ Z7 }& w3 ^3 U* `2 w
// á?oˉ
, c8 A, u M5 m& Z: q8 Y' p' w: {
pLight->Ambient.r *= 1.0f;
8 P- N4 D- a# t) {
pLight->Ambient.g *= 1.0f;
! y1 T2 t! |2 r; P
pLight->Ambient.b *= 1.0f;
: ^$ e9 K, B. Q+ P) |; r& \; L
#else //__YENV
) L4 D d t; O; E C
pLight->Diffuse.r *= 1.1f;
' f2 q: x# c+ j* K3 x; H: k7 T
pLight->Diffuse.g *= 1.1f;
4 W: J; v1 g w+ `& j
pLight->Diffuse.b *= 1.1f;
' j5 B! [+ B+ W- L
// oˉè* ??à?
- k2 E2 U& c4 n3 W
pLight->Specular.r = 2.0f;
: i: l" P4 m* e8 C0 @) I' @
pLight->Specular.g = 2.0f;
; b( H% {7 A: v
pLight->Specular.b = 2.0f;
? B% ^, `8 l( M/ F
// á?oˉ
9 A( u' V) f2 R7 k& S8 w+ A2 A
pLight->Ambient.r *= 0.9f;
4 @9 ?; \" ^5 ~# ~! F4 [
pLight->Ambient.g *= 0.9f;
" `: ^( M' Y+ T" o. {7 B
pLight->Ambient.b *= 0.9f;
- |5 q5 C5 {5 F i. n h- \5 P9 }
#endif //__YENV
# `: X$ F6 R& L2 }3 F# X$ p
( l1 W* L8 K9 r/ {. M0 J
memcpy( &m_light, pLight, sizeof( m_light ) );
9 C' X' E0 v1 f
( n) `: F+ `9 W4 X! \% A, ]
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
3 {9 F( E3 x+ H$ j
D3DXMATRIX matTemp;
) u1 \+ D( L6 u, v/ m& S. J
static const float CONS_VAL = 3.1415926f / 180.f;
: e. v& m( P- [/ S
" F0 S4 t) j6 c; ^* |/ F
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
3 R+ z9 |8 R% O3 k) l8 ?3 A
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
J" {7 s+ n' o4 o
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
/ N/ u8 O, ^. E9 p6 H& L
pLight->Appear( m_pd3dDevice, TRUE );
6 n; Y2 e( y7 L
# A* Q/ l, \' g
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
- V% }7 C- @7 m; J0 l8 h% ]# F$ K
// D3DXVec3Normalize(&(vecSun),&(vecSun));
. C) K. L5 E* J9 [
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; I) T$ `& [( G q# W4 h
) P( m9 s2 W( A0 q; o3 p
DWORD dwR, dwG, dwB;
- L/ j. m d( u; A+ v; E# V
dwR = (DWORD)( pLight->Ambient.r * 255 );
& R, ~9 y8 d. I' x
dwG = (DWORD)( pLight->Ambient.g * 255 );
) K# }3 p5 g0 x) ^& P g, x9 }) t/ B9 X
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 n7 X, L) }2 z7 M# s, e' z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) { [7 Q: [) ?/ G' A }
}
0 }' K7 F B# D
}
3 q. [+ T) D9 D Y& x1 c
7 U0 S/ k. D& t( m. B
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
' R* v q! n5 @7 b. z
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 | K: G& R: s1 i
::SetLight( bLight );
" q0 A7 y3 @/ o
& d8 S; Y& T5 G% ~8 @! J: H4 j
// ±ao? ?D?í???ó á¤à?
7 r5 j, ^3 m* S
m_pd3dDevice->SetMaterial( &m_baseMaterial );
- V( p& F& t3 \ p
' V2 t# p$ j* @2 F) ?( m
#endif // not WORLDSERVER
8 d5 @' o$ c! C! \/ q9 c4 A4 F
}
/ y5 s8 J1 O2 F8 n0 n1 H3 O6 S6 F
并更换
0 m g% a3 s7 C& ~$ f5 l1 J
Code:
6 m2 m$ P( X& r1 f" q2 L' O
__FLYFF_INITPAGE_EXT
3 j2 U9 O- ^/ G
定义
- g' X! T: Y- N4 T+ U: o- h8 q' P6 I
( D( F3 [3 \+ |2 U; e% l* o
: z+ R% F) V) E4 Q9 d2 F1 a
% J! h% E# ?' d; v3 v# r
7 {: J, e9 f Y0 m8 T$ V# S
现在终于删除我的狗屁加速...
X" B( v" c" h
! \1 P* l+ W3 V6 Z; O. H% U: Q
) S- r* I% z G' C; ^, z& s; B
( P) o$ [ I6 w/ P2 M5 j
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2