飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
: F+ h/ ?: `% F# H1 h1 R" e
尾翼:
) f; H. C$ P4 e# S6 J4 H7 {! w' k) d
8 G8 t: j7 D+ g' f/ H: F
代码:
8 Z/ n; }/ H$ O8 C, p* K
CWndAutoFood::CWndAutoFood()
4 }4 \, v( E2 T! p* ~
{
4 t( I8 F5 F4 f- `2 [3 b
m_pItemElem = NULL;
" v$ _% B6 h: f7 D
m_pTexture = NULL;
5 q5 g- O% X9 K
bStart = FALSE;
7 H3 ?% \2 [0 X7 ^, B% b
}
2 g& [8 j4 D; J0 Q+ ~$ `% T
3 e& U& ^. g. ~5 L3 {
CWndAutoFood::~CWndAutoFood()
$ z5 U: K2 V% k: w% o3 ?" Z4 z
{
4 k; {6 l7 m9 Y. [
AfxMessageBox( "AutoFood ist gestorben
" );
, d O! s! L: Z0 W" A! Y: @
}
+ o8 ?# u6 n$ n8 h7 o. a7 I1 \# w
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 p7 |0 ^% }* _0 g' Y( S5 X4 H# K
{
$ R! f# E% i$ ~
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
2 G( [, q! n( W4 \$ n
}
2 m. \8 K9 B) v/ K
+ y3 }+ X" E* N! n- G' g& f
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
. S- e! `- I$ I; H8 T
{
$ v ?9 R5 R! T4 _
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
$ K& z* F' k& b$ D" f
CRect rect = pWndCtrl->rect;
9 c+ W, u& P0 j- X. t/ z" m
if( rect && rect.PtInRect( point ) )
0 w0 v5 v0 Y, L- g, D
{
$ J/ \" p8 F2 K! E6 G$ U
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
& b7 f. {/ A" r0 G8 U5 [( _8 Y
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& }1 w! T9 s5 t8 X
{
: }" K& ^2 G9 Z! o- u
if( m_pItemElem )
2 D7 h+ F# v( I. ~: {8 F
{
% v7 p* r# J6 d* j; O2 t1 @$ h
m_pItemElem = NULL;
2 c/ W. a1 U2 T$ k" ?
}
, g6 H. m2 s4 {* s" v6 n8 b
m_pItemElem = pItemElem;
/ n( ?) F/ A% J
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
, f, i5 }+ p z+ i2 W9 k% g) A/ a3 b
}else{
, A$ q, B! Y# P V, P/ C
SetForbid( TRUE );
! w. R/ F" \6 f }. A: q* G" k
}
* d7 k" E$ ~( ?
}else{
9 |$ R8 ~/ M( r# c! p: j
SetForbid( TRUE );
: o( ~; b0 ~( g l, b0 q
}
- X: i/ e* |7 v" E7 U
return TRUE;
6 T8 Z g7 l S7 e9 H9 n
}
& | U8 ^7 k$ l; v8 q" l
1 d8 ]8 Y+ H2 s3 `/ ?1 Y1 W1 {4 m
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
Z3 f$ ?1 X9 |" | L/ f5 ?( P
{
8 T) m2 {$ ~8 o# ]* r0 b
switch( nID )
7 B- k; I' l6 d, f
{
& ~* ]8 H4 ]% v( l
case WIDC_BUTTON3:
$ y, y% r8 H- p. G- @ @' X) y
{
n* U3 h1 L/ m7 ?
bStart = TRUE;
8 J; x$ Y! T' s6 p: y% Q5 V5 E
break;
: G( c' V( H t
}
6 I8 I$ \. ^% D: U' {2 b
case WIDC_BUTTON4:
+ f3 M) u( p2 _8 p
{
0 ^8 H: b" d. O
bStart = FALSE;
6 @6 C. a4 [: ?+ j
break;
2 X1 ^% H$ H* w/ I1 ?+ {8 g
}
( ]/ b2 X' C1 q$ R) F: h5 Z9 s: g
}
. [1 F! V% J" \6 F: h1 i8 y
return CWndNeuz::OnChildNotify( message, nID, pLResult );
2 B/ C' L+ z4 W3 J8 V* q
}
: o, [% n+ `$ _7 A
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
# w% b4 I# `0 c& G8 M8 y
{
! H! j& S- G9 A
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
5 N9 Z* X5 J5 J& H z, J
if( bStart || !m_pItemElem )
4 u% s1 @* v3 Q3 Q% Z
{
+ a8 Q3 p* {5 L$ H8 J0 z# O- m
pBtn->EnableWindow( FALSE );
: {' ?4 L& L8 f, K7 E: `
}else
4 b( a# p$ b0 {6 E
pBtn->EnableWindow( TRUE );
?" o) w/ l& N A! y) L
if( m_pTexture )
. A! V2 F$ l% \/ j
{
) ~, _) {; Y4 x/ t) S
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
4 y4 X X2 } c! \$ V; B
if( wndCtrl && wndCtrl->rect )
7 L4 C5 g Y8 t7 g. }) m
{
* h' O9 ^- _5 x1 o
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
. M2 n2 H M( I
}
$ r% ]" [& X- Q7 j: v
}
* R# n) S: F4 r) S- w# z& X
}
2 U+ o* H. b$ |2 X2 p1 H
5 U, Y0 T, e5 [7 G4 G" K
BOOL CWndAutoFood:
rocess()
0 R. ~+ {; B7 T2 X- V2 _
{
4 `- n |# V0 n I! f9 c
if( bStart )
. \5 X9 t: |: b1 c
{
' ^2 t9 L; d) p* t6 @2 b7 M a
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
9 s% f7 K" ` h* N. y
{
* u$ p3 s% V" g/ b, u% A; `
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" e3 L/ {6 ?& x y- [ R3 I1 t
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
/ V3 p3 R {8 F
}else{
5 g, p3 Y+ x/ r. {
bStart = FALSE;
( ^6 n4 P h; J8 L8 L
m_pItemElem = NULL;
6 g. {2 M/ }' c6 U3 {
}
# |/ {3 A+ S/ I: K: Y6 m7 q+ d
}
; w- b) E) P0 P- ]- B' m& P/ M
return TRUE;
1 R8 w: \! X* X* e0 ] J
}
& V0 ?+ W$ u. w( k+ d
- ?6 p3 ?' W# G2 T
登录视频废话:
2 N0 a! M6 H) h9 ?+ j, y8 B. c
尾翼:
1 h% @9 ]1 l' I, B$ B: U/ I
3 T4 r6 H- e$ Q% `
代码:
( u* K: f0 |) s2 E+ Y
; N* o6 C" z0 C8 _9 v# Y% ]
void CWorld::SetLight( BOOL bLight )
0 }# e9 V# c1 U! _2 l3 L3 f
durch
1 \3 Z6 |1 f4 B/ @, G( p4 m) U
Code:
) {/ h/ e( N6 a8 c2 X9 x
void CWorld::SetLight( BOOL bLight )
' h" C5 c1 h3 Y% `8 i
{
; y( F2 n# L8 V6 V! `8 G8 k
//ACE("SetLight %d \n", bLight);
% s% v3 Z* V# j7 M: L
- q2 F6 Z: d* t% V5 i
#ifndef __WORLDSERVER
3 E& ^ r4 f' c, A" D
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
; Z! _: y2 d, G& L
CLight* pLight = NULL;
" Y2 {# j9 I; D4 _. e" g, H# S
; c8 E' I2 a0 z* }" W
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 `% V- r% M9 d& i# T
" j6 D' K* D V" g( _0 L4 o' @
pLight = GetLight( "direction" );
8 B9 f3 w& o) L8 B& ?- Z9 s
3 }; h. F* y. i8 X& V: ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
; [ O0 ?4 b* a' a5 @% a: A
if( g_pPlayer ){
+ R9 V$ D6 x3 M
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
l H' b+ L* f6 k* {4 U' j
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
3 ?" m. |. M% \7 c- [% R1 L8 Y5 b# K
{
" X. @; S: B5 D0 o
if( pLight )
; D, y2 p; `' `+ t$ n- f
{
" @4 b. B) w" `
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
& i+ |% ]! b" [) G
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
3 J) O- P, q" x: Y) M
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! `+ i9 P: M" Z
# H m$ @+ p' ~# n/ O
pLight->Specular.r = 2.0f;
# x$ q; U2 G/ i, K( S" p
pLight->Specular.g = 2.0f;
" E, B8 L s1 P+ V* ?( ^0 i
pLight->Specular.b = 2.0f;
5 P+ p$ w: f% y% H
# J# S" x1 U6 n( }
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
7 }3 {$ N5 L) D* S5 \" O4 `5 S
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 d, R* n2 @. p/ G, A8 K
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
6 u. y4 t y8 `' d& X
9 K+ m+ A+ A0 @1 @2 H% w
HookUpdateLight( pLight );
- C6 \( y o, i3 w/ N6 B; [
9 d( `* D8 d, b3 @* P
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 V: x8 u$ C- r9 ]5 x: n
! K* y3 y4 Z. K+ G# F0 ^
pLight->Diffuse.r *= 1.2f;
- `- P3 Y3 H# f' j0 Y* b
pLight->Diffuse.g *= 1.2f;
9 N( {: G& k& D# u0 d
pLight->Diffuse.b *= 1.2f;
8 a+ o& Z! s V' ^8 F: P
% h' s8 \+ J$ A4 ^+ c3 E
pLight->Ambient.r *= 0.8f;
" {; h+ |$ h3 {8 ]# O( M
pLight->Ambient.g *= 0.8f;
2 e& U8 y2 e6 o& I. k( K
pLight->Ambient.b *= 0.8f;
5 u( O |4 B) h ^" j# ?8 B' G
! G6 H* U+ |5 Y3 J
memcpy( &m_light, pLight, sizeof( m_light ) );
' r( P. f2 f! m6 I! F
+ \/ C( d! _1 ]2 ^) r
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 X9 l* }7 v6 M9 @3 J% u
D3DXVec3Normalize(&(vecSun),&(vecSun));
1 Y5 [+ m0 K. Q/ s. y- O4 P# k
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 K* }' D$ C2 J3 C( P; a
pLight->Appear( m_pd3dDevice, TRUE );
6 ^! z; Z& z* l% _4 k
2 j$ S( s7 L6 t8 v9 B
DWORD dwR, dwG, dwB;
2 S) p- X1 e. H8 s, Y0 A1 l0 J. I( T
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ H- p. t: h& [6 g
dwG = (DWORD)( pLight->Ambient.g * 255 );
; n& m" m. J2 b* e2 v0 Z4 h+ D
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 ?, N! b7 Q0 Q$ X1 O% i, K$ y4 A
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
) Z g4 }* ^, }7 @0 z4 a7 n% g
}
4 G1 g: ?& x; W( w" L+ @
}
% D5 Q) A3 G# p2 k( [2 {
}
! |! P* E. f! C- c( u
else
7 r/ W0 _, H! ^7 U% t# u& ?7 A
#endif
' V, |" I0 i4 ~# A
# M' M. L3 ]8 G
if( m_bIsIndoor )
3 x1 H% J$ Q: \5 f7 z9 |- m+ Z! D" [
{
7 }5 x% r# i& i/ Y
if( pLight )
! {1 S8 }) C i2 K& X+ B7 u
{
8 t3 y i$ a- r5 W* R
// à??μ oˉè*
3 m; Y; x$ X. p* m) c6 k) Q
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
! R# R/ g3 t' H- T* M4 y0 b
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
! H, s- J H2 h% E5 M
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
( `, a' Z. n6 b& J5 T
) `- ?+ R% L4 D- V0 f! C$ D% a
// oˉè* ??à?
. W* i+ D+ `0 G$ V, g: Y q
pLight->Specular.r = 1.0f;
3 j H2 N! v+ B) @* a- d
pLight->Specular.g = 1.0f;
$ }3 A$ c1 ~6 J+ F! a3 g
pLight->Specular.b = 1.0f;
7 ?' V7 t; a1 T6 P2 h/ R: r9 K
// àü?? oˉè*
Z' y: `7 ~. O5 `' m7 l( K! G' }
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
( q# @7 r' t& `
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
1 M- ^2 Q5 S! ]
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
% F# n3 k$ S8 F- b
4 m$ q( L- e. z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' X& R" ]/ Y; U% q/ ?: Z6 U- v g
{
' _* m/ M8 e. A$ n
pLight->Diffuse.r *= 0.6f;
. r3 Z9 a/ ?. l9 F& G1 u. N
pLight->Diffuse.g *= 0.6f;
3 _0 B2 z9 C3 K* f, t
pLight->Diffuse.b *= 0.6f;
* U4 s0 q) B- j- f4 a4 M
pLight->Ambient.r *= 0.7f;
" C) i& w5 D! S5 [# _
pLight->Ambient.g *= 0.7f;
, o( I+ V, }: T+ z# h
pLight->Ambient.b *= 0.7f;
! l' t2 J% ?. B& G6 F. T9 x2 J
}
( F# J; A+ u+ M7 W# z: T% m
$ f* T! z9 r" Q8 e: F9 J7 x5 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 x& p$ i3 k: j. \: K* n$ Q
if( g_pPlayer )
, w) M/ W( Y7 Q. v- d2 K, _* F( z0 y" D) e
HookUpdateLight( pLight );
: z" j7 q( D% _) m; O- ~ D9 d5 @; v* G
#endif
/ i3 B! _7 F# f5 u) h
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 A# \& x! o, ]
# Y3 q2 {: G& C( a0 a! f1 ?
pLight->Diffuse.r += 0.1f;
# @7 k7 W! P, Q e
pLight->Diffuse.g += 0.1f;
8 n M1 V. X' {! F3 C6 i
pLight->Diffuse.b += 0.1f;
3 {. n, U ~8 d( f1 @
// oˉè* ??à?
9 _8 @* Z( U/ C7 m. q- T$ _
pLight->Specular.r = 2.0f;
8 ~" u( ?1 S5 L
pLight->Specular.g = 2.0f;
f/ c3 h- |/ r! s" z
pLight->Specular.b = 2.0f;
* y9 q: f# R& w' O: h! N" O
// á?oˉ
$ ^) t0 R K% w+ p4 q8 k
pLight->Ambient.r *= 0.9f;
8 O- M$ m: p( r, ?9 E$ V
pLight->Ambient.g *= 0.9f;
6 C) Q* j4 [) M7 Z
pLight->Ambient.b *= 0.9f;
! a/ {/ K1 X6 V: d+ o9 N, v
3 x4 o; |) `6 Q! W6 z# K# n
memcpy( &m_light, pLight, sizeof( m_light ) );
( f( f8 ~* ^9 ]; |$ j4 {
# `6 K5 y# u3 f; F. C A$ }
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
2 l' e) y& V. z# X: i
pLight->Appear( m_pd3dDevice, TRUE );
' U) r* V- z3 s) v; S/ R% Q
) F: J' a4 X! R) x- ^0 w
DWORD dwR, dwG, dwB;
6 |$ M9 Z" U: Q8 B k b- X% `
dwR = (DWORD)( pLight->Ambient.r * 255 );
* F" l( u+ b( s- Y2 f
dwG = (DWORD)( pLight->Ambient.g * 255 );
4 I Y! t6 u/ r/ w
dwB = (DWORD)( pLight->Ambient.b * 255 );
' e. T; u5 s2 T2 P
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
. g6 c4 _) P( S, y
}
$ ^$ z, @8 w' d
}
6 k, j% Q7 `. _4 x
else
7 q" {' o* M4 `2 F3 B( m6 {, r
{
* i+ W; M( u. P$ t4 T9 Z, Z! F) ?
if( pLight )
; T. O! J" P8 \$ l
{
" H. d* Z1 g1 V7 L, e3 A
$ s2 r) V& g+ L: M5 v; \
int nHour = 8, nMin = 0;
9 j& v1 l# c! \) Z/ m2 Y7 P
#ifdef __CLIENT
0 C. g! q8 J' b9 a, b) R% }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
: w% n8 @( b W6 G% G1 f; B: ?
nHour = g_GameTimer.m_nHour;
" b' Q+ }" {$ W- _& l
nMin = g_GameTimer.m_nMin ;
1 E: N3 i) ?5 ^- t& C
#else
3 ~3 H7 A! e% F& @# V/ } D' H, ]
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* l. E, U8 L' {. \8 ~5 P# w
if( m_nLightType == 1 )
. Y; V4 k) J. V! ^
nHour = m_nLightHour;
" Q/ r, g2 D! R& k
#endif
' f+ i$ V- D2 ~
nHour--;
; b3 M" r1 k8 J, n' L: U7 o
if( nHour < 0 ) nHour = 0;
9 u& i8 p8 m! b6 e) N5 h) D7 J
if( nHour > 23 ) nHour = 23;
& T3 }4 D& u3 T% ?/ k5 E+ R
7 _; V# l% x; Z# s8 u% e: O
//if( m_bFixedHour )
6 \2 g# B6 m, v' ~" E$ `4 V3 h
// nHour = m_nFixedHour, nMin = 0;
. ?" v* [, y) I7 V( z6 o
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
8 x- y& c. u9 X4 m" @% x5 v! B
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
( |0 }7 x. j3 h+ N: q+ a; L
% P \+ d& D7 j
//m_lightColor = lightColorPrv;
) { v- |$ F/ E0 n# B) S4 A
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
* F8 s$ S4 K8 m/ i1 i
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- [7 ^1 e7 s3 }
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. `% O, R8 I! t- B- c
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
2 b2 v$ o4 W; Q! t' j- e) W; c
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
5 l- f8 ]6 I% Z" `9 W M3 s. U% f
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, X" N( L& a4 C1 Z' l
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
' n8 L( C# P+ i6 T- A; G2 z
. Z9 y! S9 f/ Q1 f
// à??μ oˉè*
9 m, T; c5 I8 ]* x5 \1 y. x8 H
pLight->Diffuse.r = lightColorPrv.r1;
. x, V8 h7 H! y% Z! U
pLight->Diffuse.g = lightColorPrv.g1;
4 f- p% D1 c1 m+ w4 Y+ G/ \7 _0 G
pLight->Diffuse.b = lightColorPrv.b1;
% B! L5 {3 E5 b$ i( J
// oˉè* ??à?
5 f) {6 h z. G Q( @8 A2 u) ^
pLight->Specular.r = 1.0f;
# x8 m0 G2 Y2 _ C/ H
pLight->Specular.g = 1.0f;
+ V6 {0 U7 o% K8 |) ^
pLight->Specular.b = 1.0f;
) b: x) o- P; R* e/ p. I
// àü?? oˉè*
2 z* Y7 n6 h$ s$ n
pLight->Ambient.r = lightColorPrv.r2;
8 A6 j. W+ a1 C. N
pLight->Ambient.g = lightColorPrv.g2;
: Q! l W2 Q+ g, F
pLight->Ambient.b = lightColorPrv.b2;
6 g1 e- W$ N+ ^2 A4 F+ R n
3 e% t; }- [2 o/ x" J! Y' p3 U$ B
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
) B7 t4 D5 w, ^& l8 m
{
G8 T. ^8 y; [# N( Z$ D
pLight->Diffuse.r *= 0.6f;
) y' a* |6 g- z( q2 u& R1 j
pLight->Diffuse.g *= 0.6f;
& i, l# X7 t3 u+ O6 T' X1 P& F1 K
pLight->Diffuse.b *= 0.6f;
* |6 g( d# X/ R: f9 X
pLight->Ambient.r *= 0.7f;
3 P6 T1 f8 e, V% H! i/ s- I! M N) |
pLight->Ambient.g *= 0.7f;
6 w, m" ?7 Y1 n& W+ @
pLight->Ambient.b *= 0.7f;
9 [) a e- K" ?1 F
}
6 \. h# s. H& Q! |# ^ K
2 k7 Q: I& L. Z9 Y# d0 N
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 A+ P8 {1 a3 G! P+ G
if( g_pPlayer )
( r4 ?. B) h9 n3 f9 H, R1 {( Q( L
HookUpdateLight( pLight );
$ M( R* E- ]/ e$ h
#endif
; q- E; O; ]8 |' L+ b. A
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( a0 V! u9 v) [+ \6 [7 o' O
, U2 Y/ o4 h$ G9 i3 E+ V8 c
#ifdef __YENV
6 ^- ]5 p# n& S3 }) p2 v. z7 A, e
pLight->Diffuse.r *= 1.1f;
. h2 N" [- _/ f+ K; V
pLight->Diffuse.g *= 1.1f;
- ~/ q. M1 ~$ {" p- X$ _
pLight->Diffuse.b *= 1.1f;
1 M# Z+ t6 a* z, X0 O& O e9 L
// oˉè* ??à?
) i6 S6 U. t d' V0 Y3 @
pLight->Specular.r = 2.0f;
% c0 u" a' z- B& ~ D/ c5 c; R
pLight->Specular.g = 2.0f;
; S! G% v n0 a. }4 L/ {- y0 r
pLight->Specular.b = 2.0f;
5 b9 |8 {' S# f
// á?oˉ
! a. }1 u P& D( }
pLight->Ambient.r *= 1.0f;
. y T- \% @. o: l0 T/ h
pLight->Ambient.g *= 1.0f;
D# X" ~6 [) J6 s/ O
pLight->Ambient.b *= 1.0f;
* b* x% c9 z* ^
#else //__YENV
/ J* J; l+ ?3 t3 m
pLight->Diffuse.r *= 1.1f;
3 [4 g k0 c8 J
pLight->Diffuse.g *= 1.1f;
: w4 K6 ^' W4 N! w2 B* h
pLight->Diffuse.b *= 1.1f;
; O8 {1 M7 V( ^ q' f. R% o
// oˉè* ??à?
; b6 n. t& T& @
pLight->Specular.r = 2.0f;
1 X9 p* K) r0 M* p Q
pLight->Specular.g = 2.0f;
. b" M, d. c% e4 ?; T' C& n7 J; M$ i! P
pLight->Specular.b = 2.0f;
4 R' l8 [3 _2 D' I
// á?oˉ
8 Z" _/ p" I6 U5 f% w; ]
pLight->Ambient.r *= 0.9f;
4 z1 f5 U9 T; G d
pLight->Ambient.g *= 0.9f;
% |; |3 _# V2 |; P
pLight->Ambient.b *= 0.9f;
* M# u* O6 A$ h: M( `7 V
#endif //__YENV
. K" A3 Q; x/ \9 l( u8 s
- e) \, v$ x# f! G$ q
memcpy( &m_light, pLight, sizeof( m_light ) );
3 j1 {" l/ U& a: O
( R( J1 ]. n/ Y; E3 r( p
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% ]/ i" R# L) w& M+ D, X# X" E" h
D3DXMATRIX matTemp;
0 ~9 {& | i) e: U/ F) |2 {1 k
static const float CONS_VAL = 3.1415926f / 180.f;
) a) A! D$ l' k# L
9 k8 r- t4 _0 }9 F; z
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 j- V( ]/ P0 C* |
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
/ N, p$ ]5 y' B: H% }7 d8 ~6 o
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( X- X# e( @' M% W+ p
pLight->Appear( m_pd3dDevice, TRUE );
3 Q4 ~, G& o! l7 B* H% G5 C
/ ] o" }7 h0 b! ?' {
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 N' b( Y1 y& C; h$ l
// D3DXVec3Normalize(&(vecSun),&(vecSun));
1 R& c* t4 |4 L7 |1 \& b# v
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
2 z. a4 _0 ^: Z; S
* \# @+ @& v* o7 h9 C+ `
DWORD dwR, dwG, dwB;
L$ I$ g8 A0 h+ z+ N3 j4 F
dwR = (DWORD)( pLight->Ambient.r * 255 );
# D n% }! [$ t/ x
dwG = (DWORD)( pLight->Ambient.g * 255 );
" V) E! Y8 k4 j/ |5 v3 V8 g
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 k$ z/ `' k' o/ T0 x$ j! d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* D/ V" w% Y- U1 p: V) K- h
}
# F4 V8 g- m1 o+ t/ Y6 \6 O
}
# Y( ?$ Z: w$ A: Q% z
! Y9 ?" t# S% C8 R
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
* S' l& H1 E/ \& w, v1 ~* W
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) );
( o; \% e, U8 G+ h8 r+ X; c
::SetLight( bLight );
6 v% @0 ~: x; a4 M* S$ ~
) y4 [; O' {3 ~6 n# e3 q2 K. d
// ±ao? ?D?í???ó á¤à?
8 T* @3 ~& ^/ [; q& b! z/ ^
m_pd3dDevice->SetMaterial( &m_baseMaterial );
5 a: H# t' z% f( ]1 N
7 [ c2 B1 K) h* e Y+ K( U
#endif // not WORLDSERVER
0 S& ?- o' @ B. x' ~, I
}
5 `! e# Z S8 T- E3 l: V) T
并更换
, P- P7 c+ n! O: e" @: B0 I
Code:
0 v _; |1 H4 k3 V# S0 d
__FLYFF_INITPAGE_EXT
* a0 v/ M3 P% z
定义
* m8 }$ b5 J& F6 o# z4 @' H
# m2 C0 V) d' _( q
; W" P: ^! y1 G
4 z8 F- L C: j; k* U) Z/ H# c& _
1 \, z' ?' b* q1 o8 ^' J; _; u
现在终于删除我的狗屁加速...
! T9 `* r. l; d, r5 W- I
- j6 u8 ]% [8 k
3 A) H. } l" w, o& d
; V2 t+ B, r* }. }) j1 B$ K: g
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2