飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
0 q) G$ ?4 m# r, n# ]: G
尾翼:
# I" r+ |* ~- P# W4 P* P
' U4 h4 @$ h9 s w1 A
代码:
; a8 E: D& T4 f6 {* r
CWndAutoFood::CWndAutoFood()
3 |: D# A9 n9 {; i9 A# |
{
3 k9 M3 c6 [- b0 _3 [3 B
m_pItemElem = NULL;
% b2 d" S& G/ i
m_pTexture = NULL;
" y4 i/ n7 Y8 V% a/ t: u
bStart = FALSE;
9 V3 \0 R/ m7 J$ w
}
: {4 e. a$ r. O
" K) w) p; @+ f2 n9 A
CWndAutoFood::~CWndAutoFood()
% t9 A2 ?$ e2 t$ _+ J9 b) d
{
3 b: Z, ~3 ^6 T* _; X1 H
AfxMessageBox( "AutoFood ist gestorben
" );
7 w9 [. x" @# i& U: D
}
/ i b% Y5 }8 _9 \: \5 l3 e
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
0 Q. X! i) [- t% R
{
1 p- r& Z5 ^; S5 v- _8 f
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
+ s& E/ r$ p7 G4 a) }$ l5 V
}
" |0 `- Z) `: q4 ^5 W+ W
/ f g1 l3 m5 y% w |# ?
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
3 | k# }9 A0 B! d* C: u
{
8 x, a! J: S. B3 I! K% O
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' q- {% k. l) f1 x' c
CRect rect = pWndCtrl->rect;
9 ~( z2 o0 B' r0 b8 q9 E. F8 B! q
if( rect && rect.PtInRect( point ) )
8 g7 P4 ?4 c3 V# y; t( B+ I, ]2 O
{
5 O3 l! T" P$ c
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
. Z/ g5 S7 T6 L
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
: ?- F& ^+ ?) {% r7 o9 w4 O7 \/ ?* Y( M
{
5 O1 l' T& k4 V- Y5 F5 ]
if( m_pItemElem )
1 ]+ n' t$ w" ?: V% O8 [ |
{
; N( h& x. @" f. t
m_pItemElem = NULL;
$ V1 B' | y6 j# x3 e6 }
}
+ X! X0 C7 P- f/ Y0 O* p2 x0 r+ i
m_pItemElem = pItemElem;
, O$ i( E6 e( g. P
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
- x, T9 h% D& I& b5 `7 S# [, \
}else{
! ~1 Z% }: @* f6 G0 u- i6 t
SetForbid( TRUE );
! [& Y% m* v }# o
}
& V# w+ C& T+ s
}else{
" }+ I q: X2 f2 G6 X O; Y
SetForbid( TRUE );
3 j& D, I, ^: e- C/ U/ i! }3 @
}
3 P" v9 c8 L7 ^; r0 C, `9 i. o9 z
return TRUE;
) o6 u1 h2 v7 f z; x/ m! L T
}
5 u$ K6 \0 p4 X1 F9 o6 K+ c
2 f+ h% ~2 s0 a
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
7 e% H- I6 J2 B1 i
{
( @+ P- v/ N2 K0 d/ u
switch( nID )
" Y9 C! i! g% p- W* c9 `5 w& O
{
% d/ u: I6 c( z
case WIDC_BUTTON3:
. v7 W4 t" E9 v/ O0 t4 r- F. B
{
6 u! v7 d$ h3 y4 U$ k
bStart = TRUE;
# @1 p) `5 G4 @. i/ d* [, A
break;
, k( C6 I( Q- q! q! |
}
. _! b0 e! h* F( ~
case WIDC_BUTTON4:
' X0 _' d, W% i$ s' Z ]8 Q
{
( z; I2 D6 d; @$ }$ a- x
bStart = FALSE;
! m1 J0 Q/ c" y/ Y5 \
break;
: o3 n& A9 R( {6 C
}
8 Z* P% z( x0 T, l. {
}
" g& L* C) ^5 Q6 `$ D+ B' Z' T X
return CWndNeuz::OnChildNotify( message, nID, pLResult );
I' X( W3 c4 a6 U3 @( ] x
}
; F: ]( W( r, w; x6 ^% k8 x* b
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
! k( Q# n( v0 w) y% @, C
{
: p k) B' r+ |$ O' \
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 h+ g$ h7 ^# ?: w
if( bStart || !m_pItemElem )
; o/ x* h! r" g* }1 D S
{
0 t2 H& p6 U2 O5 n- U: R3 v
pBtn->EnableWindow( FALSE );
5 ]$ b6 b+ n8 _
}else
$ V# M6 P4 T3 j% l! a$ M
pBtn->EnableWindow( TRUE );
% }6 g6 }+ ?5 u! J8 O
if( m_pTexture )
. I" ~' n( y: |2 {$ a( Q0 M
{
8 d+ M1 y+ g$ f+ u; R1 K! ~
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' h0 v( ^4 @- Z. d' m3 k) k* C: C
if( wndCtrl && wndCtrl->rect )
& `7 w4 }$ r# d$ h5 s
{
2 O$ C+ {& R! [! X/ B, Q
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ |1 R- Y7 L2 Z, l& H4 r( ^" W" t
}
2 r' c F: h6 c v# M% _& l2 S
}
) z( V( Z2 m, v/ \1 M5 M+ T
}
( k1 x8 E' A, T% v/ p
, h: V# } y' K b2 |3 L
BOOL CWndAutoFood:
rocess()
; c/ q% ?% M: v' F4 j
{
9 Q+ l2 M, N" g3 q4 |+ K
if( bStart )
5 o3 l# s/ E' o
{
* V1 }. `3 \- G
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
( e4 O7 f1 ] {# @& s. ?; F2 n: j
{
; s) H5 X: ]+ ^- p% q8 h( S% w
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
* i) q4 d- e. `& w$ A1 l( z, b% `
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 W* v! C1 e" ^* V
}else{
9 n0 V& H( U% z$ O: J
bStart = FALSE;
! P4 V4 S2 g8 G- G3 I; p
m_pItemElem = NULL;
# j' U# W( V; r( t+ e" g
}
) i! y0 l1 i$ }: \8 m6 a
}
4 o8 u/ A, e/ y8 i5 Q, c' L
return TRUE;
1 H) e& K; l2 B# _
}
7 k5 r* j5 t' Q; v
; M# H5 A5 U& f1 d0 }
登录视频废话:
1 N& [( c# ^( L4 u0 A
尾翼:
" q$ L$ ^2 \3 ~+ j' \
3 S- P% g2 Z5 {& Y# Z5 P
代码:
0 u9 }9 z7 F2 S5 Y7 H
g/ L7 N7 Y' r* m: d
void CWorld::SetLight( BOOL bLight )
) F# Y& N# O& |9 {6 [* M# p
durch
, S- \+ F/ J2 M' t8 s) R% q: p
Code:
8 k9 C/ r' O0 B e: o5 d
void CWorld::SetLight( BOOL bLight )
9 A, k, N! X0 A* K' r
{
" l6 r" r* _& [: s* g/ |
//ACE("SetLight %d \n", bLight);
( T% i( g( W: v0 M
& G8 E6 O7 O4 W
#ifndef __WORLDSERVER
! |: B4 Z- t7 I$ V+ K. V4 \) Y
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
& x3 Z% o% y/ P6 o9 ?" j: r
CLight* pLight = NULL;
3 _0 }5 C0 k& X0 Y
1 Q6 O& z, q6 x- t5 F: d8 k9 `
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 n( G+ D% X! m& Z' Y/ V
( h5 Z O3 V' V
pLight = GetLight( "direction" );
0 N/ i4 J% P" Q
2 X+ Q6 f. B0 `: s
#if __VER >= 15 // __BS_CHANGING_ENVIR
8 f. i; [( {. ~* x# @: z
if( g_pPlayer ){
o3 @& O- ^1 U( k1 F. L7 }( n0 r* P
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
) o( N1 i1 A0 E8 y
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
, a, Y0 Y! C0 e
{
( B) s2 P3 o7 F7 z9 w
if( pLight )
/ B9 A* t4 w' l) {( Z2 k
{
& z$ _0 i+ }: _# i8 C; O) `5 D
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
0 I+ G* n O |: y- j2 _4 O
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
1 ^. T2 Q1 e/ ^* t3 [/ J
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! l- e' e3 T0 k3 N* O& X2 k7 M
& S1 L1 `6 s1 A5 f1 Q( e
pLight->Specular.r = 2.0f;
5 W \9 g9 i5 A' X1 K' u5 n
pLight->Specular.g = 2.0f;
$ W7 x1 i. ?' f7 f
pLight->Specular.b = 2.0f;
8 Q) _' z4 Q) l# X P" Z! ?
6 S4 i2 T! b% a9 x3 {& L% Z
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 m" f4 b' f: ]# e9 g
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
5 q, ^/ c9 x- Q0 [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# {" _, g/ g' M! J t
) s9 w7 R1 `: S7 @* g# B3 I
HookUpdateLight( pLight );
5 ?$ \8 b v1 h" n8 k5 U
, @# d6 O" j: O! N# ]/ O- H' K
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
3 m1 R/ S/ q. N) {1 \5 @
0 j* P. K% g7 m7 Q( P
pLight->Diffuse.r *= 1.2f;
& f$ l: n* H) C. A5 t( p1 R z
pLight->Diffuse.g *= 1.2f;
# N( ^2 P! e8 Y0 M5 n# e
pLight->Diffuse.b *= 1.2f;
+ ?$ F$ g8 {; C7 a$ {
9 }( g% T2 M/ {5 `
pLight->Ambient.r *= 0.8f;
8 L" [; a8 }5 ]0 ^, N2 o* R8 Y
pLight->Ambient.g *= 0.8f;
z1 D9 k8 \# a: M( H' I8 w. ^8 g
pLight->Ambient.b *= 0.8f;
9 O; j5 C& ? |; z5 ]
0 A3 ]. V0 F; D2 P
memcpy( &m_light, pLight, sizeof( m_light ) );
8 Q: K1 W/ j, _9 w; d$ Q: `. d, T0 g
: k8 J; K+ g- M$ Z
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
, M+ ~) y- k4 m6 Y8 o
D3DXVec3Normalize(&(vecSun),&(vecSun));
# ^0 x; ?& D3 H! p3 G& I E
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
$ U6 n! H( z' p/ i( H
pLight->Appear( m_pd3dDevice, TRUE );
& D4 }# L9 W- c2 ^+ E
7 T: T7 X" K# m' n4 o- X+ @3 G1 R
DWORD dwR, dwG, dwB;
' d6 K8 U4 e, x( L( _& m* L& d, M1 O
dwR = (DWORD)( pLight->Ambient.r * 255 );
! Y: `: H6 v, l6 B8 ^
dwG = (DWORD)( pLight->Ambient.g * 255 );
: y- F; y4 E9 P3 _0 ]' z" Q. W
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 h- x, g1 l: H0 w; d; @; H, P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. w, n; o9 |- t3 C
}
9 M4 X" U+ R+ O4 `: D7 d
}
, e, n) p5 H. @" @) x6 e
}
+ R1 @5 W$ a3 S/ R; b% e* ~
else
# O/ Q+ Z7 g/ b0 q$ }: h# v" K
#endif
% E3 O7 j! b, |$ u' n
0 c0 E/ B. N! K" a9 R( a
if( m_bIsIndoor )
: U* s) y; s; n J3 U
{
/ H' k1 L6 `6 S' w2 u3 V
if( pLight )
4 T n7 `' F3 {; W
{
9 z; A. [" Z6 P/ q K3 w/ {4 Z) H
// à??μ oˉè*
C% O" {; \0 ?
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
) c L5 y+ ]7 `" x
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
4 Q3 ?) Y0 K7 q
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 K! ~1 d$ |# C& y+ A1 ]
' G6 L3 c: o# _1 l4 ^5 u# N5 V
// oˉè* ??à?
. }! {8 X2 _( D: |1 I; a) E4 _# m
pLight->Specular.r = 1.0f;
7 @4 `2 w" e/ N+ T g- D4 }* O5 q9 i
pLight->Specular.g = 1.0f;
) L, L, c. i6 \! f, U
pLight->Specular.b = 1.0f;
+ `, o' J2 q# \1 r& ~' ]
// àü?? oˉè*
% }$ f' P% r( s2 n" a- D; r" A
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; N, M* i: Y2 l7 s$ \% J- [+ c
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: |& Y& o# J. H- }' ^7 \
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
4 V8 g' m' c- Y, \
) g2 X: V4 b& t6 e2 z1 u6 z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
$ _0 e' \1 D; b' h* R
{
% C4 c4 X+ J: ~! l
pLight->Diffuse.r *= 0.6f;
9 |: g5 ~. `( r" c1 ^& d" a; v- U
pLight->Diffuse.g *= 0.6f;
* R0 s% f" v7 V% z U
pLight->Diffuse.b *= 0.6f;
i; `0 x# t. o/ J
pLight->Ambient.r *= 0.7f;
: M- x1 S' u! ?1 h3 z* o
pLight->Ambient.g *= 0.7f;
$ n: ?9 t+ x+ z4 W8 i f
pLight->Ambient.b *= 0.7f;
8 }6 `9 [! g. m) i. W" T L* K
}
' k* r; ~8 N. V3 i% g8 ^, x* C r
% a+ s$ q( [4 i! h! |
#if __VER >= 15 // __BS_CHANGING_ENVIR
4 }; f8 V" ]9 ?3 z
if( g_pPlayer )
/ h) R/ g5 G/ Y
HookUpdateLight( pLight );
" e- A$ R4 |2 Z3 [
#endif
9 I3 d1 I g' D( p
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% @0 o" c: L; Y, B" p! T* y5 X3 z
% H3 l1 Y% ]# Q. I( [
pLight->Diffuse.r += 0.1f;
: M9 Y' f2 x$ }6 ^7 z1 T6 ]* d
pLight->Diffuse.g += 0.1f;
' ^' d8 G# y) J
pLight->Diffuse.b += 0.1f;
/ ]: i4 k" R" l
// oˉè* ??à?
4 Z8 m% G3 x5 x2 @' l- t- |
pLight->Specular.r = 2.0f;
( Q# O9 t9 B6 R* R3 q
pLight->Specular.g = 2.0f;
. C$ p2 J7 `' v
pLight->Specular.b = 2.0f;
! f0 m+ D8 @# v9 w9 t' B
// á?oˉ
0 A8 }; F) N' P' k+ @ A
pLight->Ambient.r *= 0.9f;
- T! D0 ?( e- j: k! H( g
pLight->Ambient.g *= 0.9f;
: F% \9 u2 u6 @5 }* a/ I
pLight->Ambient.b *= 0.9f;
* @1 T) d& D6 f3 G5 C
, c8 H3 a& b+ n$ J5 e8 C2 v
memcpy( &m_light, pLight, sizeof( m_light ) );
4 G, q' P/ e& L* s
+ x0 Y: @$ J) p# l! m
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
]1 D/ Y! L" r, s% h9 w8 _1 v0 |* L
pLight->Appear( m_pd3dDevice, TRUE );
& T' k$ R1 x8 D, i$ m' p1 [0 H
8 U& r! t( F3 K3 k& @# F8 K
DWORD dwR, dwG, dwB;
k. S0 Z4 u: H
dwR = (DWORD)( pLight->Ambient.r * 255 );
; q" F( y, R, S) @ L
dwG = (DWORD)( pLight->Ambient.g * 255 );
, V, m6 b ?# N1 g5 \) J
dwB = (DWORD)( pLight->Ambient.b * 255 );
. f" w# G( I7 Q1 c0 z7 R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; p/ F- q( j& ~9 U9 M
}
# x+ f3 O5 f; Q& I
}
3 P6 z; A4 l. H1 |1 x. P
else
% h- v4 D+ R' Z! Z) |4 L' }
{
# D- f+ j; C4 O* `! D& {$ z6 F
if( pLight )
( `: ^4 B1 |, k5 b u+ Q
{
, n/ X2 e: d0 d" c
5 `+ r1 b3 ?2 o# m. A0 {
int nHour = 8, nMin = 0;
( ]7 e5 ]( W3 x
#ifdef __CLIENT
! O: L* L) k- {3 X, @2 X
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: g! ~ Z$ w+ e2 ]( d- G
nHour = g_GameTimer.m_nHour;
6 w; K. e) g! w! u
nMin = g_GameTimer.m_nMin ;
. R: ?- j, Q8 V" i/ `6 o
#else
8 @. Z* l' s' V4 Q: u& a: l {
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
| H: z9 _% F j3 u0 W% S. s8 _* w
if( m_nLightType == 1 )
( J* H" j# W: N( K1 G! ]; C/ `
nHour = m_nLightHour;
/ v$ v; j# A* A' {3 K0 l
#endif
y! A. g3 h- ^, B$ P }
nHour--;
2 S0 V( H, Z3 z @4 z
if( nHour < 0 ) nHour = 0;
/ c# k$ |! o; J! V. P
if( nHour > 23 ) nHour = 23;
" F: \0 C9 p L$ i1 Q0 B, Q5 R
& d9 U8 U7 x9 R" g' v- X
//if( m_bFixedHour )
K' D6 n7 v( ]2 t: B% M
// nHour = m_nFixedHour, nMin = 0;
6 k' n* B$ [8 ?
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
* r# v9 N1 h0 d% E
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( |: B# U; \' M" Q/ @ J
; h) {( G4 T& ?+ Y" T
//m_lightColor = lightColorPrv;
) o. v$ Z8 H/ T% p! h. M
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
( m% t i2 t$ F; m+ ~3 B
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
8 b. h+ [- G1 n/ Z9 g
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) {' ]' S) T& g7 }4 G
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* Z t8 n% u8 A7 V5 I; J6 }
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
+ e2 [& v/ s8 s- j7 J
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 X: ` G/ j* k B& P3 T9 Z- r
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 H5 n: ~4 S/ n# n
) P, |* \4 ^( @" B1 A2 i
// à??μ oˉè*
) f5 V3 W2 F4 v1 G; {" C; L
pLight->Diffuse.r = lightColorPrv.r1;
) d' o* z; ]0 t6 A3 h7 p$ S1 ]; B
pLight->Diffuse.g = lightColorPrv.g1;
, w- @# J/ ]6 ^+ G3 s
pLight->Diffuse.b = lightColorPrv.b1;
* m% l4 f) P- Y
// oˉè* ??à?
7 r, N U6 n" h' b$ M7 }8 i
pLight->Specular.r = 1.0f;
$ n) O, A( b4 j" } S% F+ L- k
pLight->Specular.g = 1.0f;
" n7 a4 a! L8 c" V& ~
pLight->Specular.b = 1.0f;
6 j( @: U9 S/ [) [: n
// àü?? oˉè*
% ]8 B( O4 `+ K" ?3 B! {
pLight->Ambient.r = lightColorPrv.r2;
3 K6 q" H$ P- d6 v% g- J
pLight->Ambient.g = lightColorPrv.g2;
* C6 j0 C2 T4 d2 d' o
pLight->Ambient.b = lightColorPrv.b2;
# O1 T- `" d. ]2 o$ R9 ?
2 W# g9 s5 {: K) ^( r: E
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 l6 g1 W4 X8 C2 l
{
7 D3 N# ^5 U& Y; O/ X4 d
pLight->Diffuse.r *= 0.6f;
4 K! F5 s t$ d; n2 t) U
pLight->Diffuse.g *= 0.6f;
q1 }' I" |& l, Y
pLight->Diffuse.b *= 0.6f;
8 p+ @- a" {' ]0 `- h) c0 K( k
pLight->Ambient.r *= 0.7f;
4 q. B$ }/ N; l$ A% m& k' g, v
pLight->Ambient.g *= 0.7f;
1 ^% O; I1 S& l4 V
pLight->Ambient.b *= 0.7f;
R) x* X- k; z U6 b4 g
}
* v" |( ], F( G* f4 o# q
! d. L) Z( F/ T4 O/ M6 B. d
#if __VER >= 15 // __BS_CHANGING_ENVIR
; ?" Z, h7 b$ U. z P2 ~5 s( N
if( g_pPlayer )
3 L( n$ b' _0 o" k2 Y; ?9 B3 p! n& c
HookUpdateLight( pLight );
) u3 n9 e. k6 b2 v% n$ R& \
#endif
% X! B! E6 y$ U. H$ k0 D
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
Z) W! O6 n. t% W
# g* W6 R7 m: N
#ifdef __YENV
! s# I- X* Q. M1 t" s/ S6 S Z4 c4 |' ]
pLight->Diffuse.r *= 1.1f;
# Y- T) _- r* B( [
pLight->Diffuse.g *= 1.1f;
, G5 |3 E ~' H
pLight->Diffuse.b *= 1.1f;
7 @6 B8 E& U2 e9 j1 Z3 P
// oˉè* ??à?
+ u% E; v% `% W' D$ e
pLight->Specular.r = 2.0f;
( n" f6 d) M" a0 q8 Q# |
pLight->Specular.g = 2.0f;
7 ^2 n# P$ E6 x E6 K; }1 N, K# z
pLight->Specular.b = 2.0f;
/ l. J/ j/ ~. B S5 L2 L0 T
// á?oˉ
" G$ K4 n; q% w+ [6 a* n
pLight->Ambient.r *= 1.0f;
/ O+ C6 n7 n k6 N4 G
pLight->Ambient.g *= 1.0f;
5 O `' P3 |. ^& z, Z
pLight->Ambient.b *= 1.0f;
# S" }! P5 F( D$ ^9 U! o+ S
#else //__YENV
/ H: y) t' M! L" X+ N7 g, d5 N
pLight->Diffuse.r *= 1.1f;
" Y, M# h7 }7 l: c) } a- W9 y
pLight->Diffuse.g *= 1.1f;
! b% r% O" h9 Z6 p$ v; I! `6 z
pLight->Diffuse.b *= 1.1f;
' v" y! v2 W0 x/ s1 ^
// oˉè* ??à?
5 y% Z, }, Y; [" c# l
pLight->Specular.r = 2.0f;
, C7 l" K/ b0 o6 ~8 u0 n
pLight->Specular.g = 2.0f;
) i: G8 [ y% M+ P& [! l
pLight->Specular.b = 2.0f;
- Y3 }' B* y. O7 ^$ ]
// á?oˉ
7 ?) V# u8 L; w8 j/ |# Q/ l# a. n
pLight->Ambient.r *= 0.9f;
! [9 T0 u1 h' i( L3 @8 }
pLight->Ambient.g *= 0.9f;
8 m' T8 A# G k7 J$ X1 u
pLight->Ambient.b *= 0.9f;
% N6 T5 R E$ ^7 \0 U
#endif //__YENV
& G p: z! ~4 H6 h$ N
: Q7 ]* X: i# u" u
memcpy( &m_light, pLight, sizeof( m_light ) );
$ d6 Q% w+ Z* p
" |- S. U" v( b3 U# y8 D
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" [+ B! O/ u2 ^7 ]
D3DXMATRIX matTemp;
5 I3 o8 k9 q- C" `& P
static const float CONS_VAL = 3.1415926f / 180.f;
2 a {+ ~5 D: U4 a: i
: B' x& i C8 f4 z5 F1 c
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
9 P$ ?8 v. D- V, c( @; L
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
& C& V; s0 I% P. ]. H
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
& l1 f9 T# ^! ~( E4 D
pLight->Appear( m_pd3dDevice, TRUE );
: s2 ]& v1 n5 O/ v$ e
& V; ?6 q5 L0 M: F# t
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* {0 j# x' H1 K; N
// D3DXVec3Normalize(&(vecSun),&(vecSun));
% Y: Y$ d5 Z1 F; A! Z- w5 v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: O' r; u8 T0 L
% j( H( `1 j' Z" ^# G6 ]" W
DWORD dwR, dwG, dwB;
2 ?, _ h* M3 e4 _$ G( C9 b
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 U# W1 m# W( a3 o" t% O5 x" E9 }
dwG = (DWORD)( pLight->Ambient.g * 255 );
- Z8 U: ~! L0 C- `) W
dwB = (DWORD)( pLight->Ambient.b * 255 );
& G( g, o1 P) P Q/ h8 [5 f1 E
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' l, a3 ^! v Z J+ Q# p
}
8 Q4 U& s# d J8 H4 {
}
* D$ F7 p F$ Y4 U. J9 O- S! w
& q/ D" O# W% q. F
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
; x4 j. E3 ]$ i7 o
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) );
, C, f! G6 P/ R' l8 f x1 T/ o
::SetLight( bLight );
+ s( I0 x$ R6 j7 h! ~. v; ~7 M n
: w2 @7 | R% y, L4 @% b
// ±ao? ?D?í???ó á¤à?
# O* g1 A1 ^. A
m_pd3dDevice->SetMaterial( &m_baseMaterial );
1 P! ^$ I( l+ W! n: B
9 Y% ^6 W t( _; c/ y
#endif // not WORLDSERVER
7 Q8 A$ w5 g7 g+ @; i4 c
}
% B# g% O% ]$ r' ?+ [" F, V) J$ l
并更换
% l: ]' G' o' I6 e/ ^1 d' C
Code:
: S- e& w* d# g
__FLYFF_INITPAGE_EXT
4 F* F/ v7 }8 k- Q5 }& h+ @2 | ]
定义
" K- T9 x1 W( |- }& W$ o
& X1 t$ |( H# a$ _- j5 N7 o! S
8 t1 N7 B$ x. P u; d1 G# S* ~8 I
7 I$ [$ V: K- r* @
$ Y# ~. Q3 Y8 n( N2 h
现在终于删除我的狗屁加速...
+ D) A+ T1 c) T) z' Z% h
+ ~) l0 x! v$ u. d2 n" q$ S
{! @ F ^; d( F2 t% p- x9 `
' ?% d" s% s3 A( C% ?, N: A
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2