飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
4 { F! v0 F/ N! {3 {2 P
尾翼:
1 z2 O5 c. }/ x# P
O. n! A" ^/ R+ h. b: L
代码:
% R, s: E2 c* v. x$ |
CWndAutoFood::CWndAutoFood()
$ @) q# j8 W, l. N5 u* c% k
{
) b7 ~' j* q. @- [. E1 U
m_pItemElem = NULL;
9 U' o3 \8 n) B, B$ @0 q* ~
m_pTexture = NULL;
& M7 _: X0 k* R8 L4 {( W( a
bStart = FALSE;
) w* s7 ? ]8 T3 j- V- D
}
+ g- T1 m- v! t4 a9 Q0 y8 a y/ p
6 m( t( f0 m& `1 q8 M
CWndAutoFood::~CWndAutoFood()
# s' g S# j: R4 P
{
. P' D9 Q- n* J
AfxMessageBox( "AutoFood ist gestorben
" );
' H- d3 A9 d( G& J1 M6 h' T7 D
}
: H7 j, w9 x2 e
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
! Z. F; L% x/ `/ \) J( |
{
( K. D& T7 @# \$ u a& o0 i" V5 l9 \
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
: d0 D7 V& J+ c3 r# T# B' F, b
}
% s. ~ R9 _. ]* Y- }# E- a
: d. P; O0 d4 D2 ~. d: m& l
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
, _4 s6 [$ u3 \# a
{
' H5 [. G4 k0 f; u
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
, ]# q: m- y/ ~6 p
CRect rect = pWndCtrl->rect;
: e3 K( q0 O7 r" k( A) p& q" u. J" ~
if( rect && rect.PtInRect( point ) )
, L+ ~- }! K+ J! g0 A
{
$ b. R" w2 d* I" C" `% |+ X# {& T; a
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
' G* V2 \" S9 d
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! r. R" w- S# s% G+ t
{
& g' r. D" P# B. C; @! j
if( m_pItemElem )
' X; e+ E3 b: J. E4 o; ~
{
- u) K4 f- ^+ {/ `( w( V I( K
m_pItemElem = NULL;
1 |( |, E' c/ F u0 [! J6 m/ Y& D
}
3 y- u; C3 _5 ~% j1 t; G
m_pItemElem = pItemElem;
; k3 ^* R; p3 ?/ o' l; j
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
3 \& F6 g, a1 E n a4 U: D
}else{
1 E* ^/ ]: v0 i
SetForbid( TRUE );
- r* Z8 x, c4 I; y- X5 D
}
% I( W8 n8 e( O# z1 }
}else{
, K" V0 g1 f8 C' n3 G0 @9 [
SetForbid( TRUE );
1 J) @# h3 u1 m% ?* V3 X: d! G
}
: @1 K8 M' G, B
return TRUE;
& x: A, W8 w& P, _1 L$ ]8 t6 h) \
}
& Q) @* C' h2 U: W2 ^9 Q5 w4 h* [6 R# m
+ P9 q$ G+ r- { d O7 [
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
% }6 W* O4 ^5 d) N% H5 j
{
" j' V2 P3 [1 a% Y- C
switch( nID )
8 g- i* `% `7 N9 F$ G0 B5 y! W
{
/ P& m# P( Z: g3 z* U' H0 y
case WIDC_BUTTON3:
6 o$ O$ S& S; T' d8 e
{
4 m. B) l: E6 V* g
bStart = TRUE;
8 i- d' z/ @6 m
break;
5 V8 W# `7 D5 x. [/ Q! n% E5 G
}
2 M0 e1 r4 U) q( O; l3 ~% G) r1 W
case WIDC_BUTTON4:
- T, @, k5 `4 U+ b" e! D, t: C7 x
{
4 C( N. v, ^5 @4 _( J
bStart = FALSE;
) t' J8 t7 F9 _3 s- E" m. |# s
break;
: ]5 D9 ]; ^% e
}
& ?2 U2 ?; d" h% i
}
. \& i" G$ Q4 ?' e
return CWndNeuz::OnChildNotify( message, nID, pLResult );
( Y* g8 X5 N' ~; U- z
}
+ |8 F: @) k7 W- V1 a& V3 i1 X
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
* R! f7 Z' d5 Z' c" i; z! B, T% t
{
/ z, v, c4 r! f1 M3 {) @4 w
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
$ ~$ H9 S `; M; S. l/ G* Z
if( bStart || !m_pItemElem )
( c8 l% b# H Q; K$ I+ y5 `, {6 h5 R
{
, K. F4 u, [& i0 u$ ~! n
pBtn->EnableWindow( FALSE );
$ N v" G& J8 M$ E% }
}else
' G. |( x+ | ]9 f! R
pBtn->EnableWindow( TRUE );
@; Y6 i1 y/ R/ t" m+ p# b
if( m_pTexture )
+ l" t7 Y$ y6 H5 }. w( U
{
, [/ A% W; A/ H( |: ^8 S
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 n/ [, ^1 }: ]$ a* s; P
if( wndCtrl && wndCtrl->rect )
, Q" V y6 R# u
{
4 F/ D( K8 e& {1 d I
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' o% G2 C- a+ O( C
}
5 m0 m1 n7 d) ^* e% G0 z! F
}
& L1 s" t* r0 A' d" b
}
+ G0 K2 l- m6 c* ~! ^
5 P' q2 O6 z. E
BOOL CWndAutoFood:
rocess()
# Z# I, q& T' W& J* L' g
{
6 e6 ` h( ?# j( a! B
if( bStart )
! i0 c/ n" C% v$ x
{
/ x8 z" S! B) A& n/ m x
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 O' E0 a, |% J5 v2 \/ w. J
{
( Y0 w$ L& l8 L5 m
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
9 \ r; g* N5 t3 p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
, L" Z! r5 P5 s m( ~& z
}else{
5 b8 ?# b9 M& A& {. W# L; T
bStart = FALSE;
" S1 x, Y/ `0 q4 B. O& B7 P: ~5 g. z
m_pItemElem = NULL;
# }/ @; `+ ]" V7 O% B1 q6 {
}
+ n6 l4 Y& ^6 J6 J8 m
}
# x! F! |& ]0 @+ a+ E
return TRUE;
, K0 _+ r5 t, T2 ~2 o
}
# x: R: X4 k) E7 B9 v0 P
/ e6 Y+ u& `+ P+ I! i' W' I" Z2 p
登录视频废话:
# L8 B, \: e* W* O) N5 `8 D" h
尾翼:
0 K' P7 i$ `2 N: ^- p) a
2 c$ q; M+ u; b$ k/ f6 x
代码:
+ U5 p. f. w1 V" C# E! ^5 H
, h' H: q9 Q) O) Z
void CWorld::SetLight( BOOL bLight )
6 l+ l0 M8 D* v9 _: \! g6 V l
durch
& N+ W7 S/ [! ^; p
Code:
4 {8 R7 Y/ c2 y$ k
void CWorld::SetLight( BOOL bLight )
4 k; {0 {5 y' C& _4 k0 [9 u
{
8 z+ [; C2 S' \+ u, Q2 u
//ACE("SetLight %d \n", bLight);
3 b( V6 C1 h& t( v5 D! R5 B- a
1 b/ z9 o8 z, x% R
#ifndef __WORLDSERVER
. t. ?- X* b4 d- T2 U
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 B/ X- r" e; {2 E' o7 v
CLight* pLight = NULL;
4 j+ n+ p# n: R- O3 P6 O- E
0 r9 h; c& @( p8 d- K
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% d5 r% d+ b- ]& o1 K
- o! B& `: S7 {9 H! k& q, B
pLight = GetLight( "direction" );
9 T6 i4 N+ P* \. [$ n" `
8 q# M+ f* g, ^" O
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 v( e, ]+ B, X; e8 c- l4 Y5 O
if( g_pPlayer ){
* _" }2 u* f) {3 o9 w% @* [3 V! j
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" `6 _/ x% y3 l: W2 r" A
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
: K9 E$ _% S, G* z9 J+ B: ]
{
, T% W; S0 o) G: P
if( pLight )
" h* }$ X2 G N& n
{
( f* ]0 X3 V7 o' L8 C( H
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
8 ~3 T4 @# p! a, Y7 o
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" d1 {, q3 L# [7 R+ E+ s; j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
+ d+ {. K4 J4 h- N$ T
$ c. o& u: e. ?" V3 y
pLight->Specular.r = 2.0f;
- s$ o% M/ k# e1 [ K1 C
pLight->Specular.g = 2.0f;
0 A y6 r% g9 `
pLight->Specular.b = 2.0f;
8 o$ t' x: @( ~
0 S' D$ R6 w) r4 Y3 [$ y
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
/ ~6 W& S+ T# X2 |
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
`/ x7 g5 \1 S, m' c
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
Q# _2 z3 y$ C' p* l
- I, R' D& h- T7 p7 S) B3 A
HookUpdateLight( pLight );
* d! ~6 ~7 v) |# h
* x! p3 o3 L" q8 Y# X
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
6 q' _) o& e+ d4 n" O* ^& `
7 t' `8 ?) V4 v5 \$ D- q
pLight->Diffuse.r *= 1.2f;
: Q" ^3 C' |7 w) s" a0 Y: j6 J
pLight->Diffuse.g *= 1.2f;
4 |5 [4 b$ [, u
pLight->Diffuse.b *= 1.2f;
( \1 r, O' i+ S t5 Y5 b) `7 R
7 o% m2 R" J0 I- _1 [- u
pLight->Ambient.r *= 0.8f;
4 [7 K3 d' U! v& |" m
pLight->Ambient.g *= 0.8f;
1 H- `+ a6 O7 J$ k
pLight->Ambient.b *= 0.8f;
" x" r) q8 F0 h! T
2 ^9 `% e1 {, z9 W
memcpy( &m_light, pLight, sizeof( m_light ) );
$ W& v- _* Z& a l" S- A8 U6 w0 X
# v# \! ^3 m1 K1 H& m4 s
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
) s: }; K3 [6 x a0 y3 Q
D3DXVec3Normalize(&(vecSun),&(vecSun));
; X7 A+ x1 P. }$ z/ \
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
1 G0 B/ J1 c& i! p( w* ]
pLight->Appear( m_pd3dDevice, TRUE );
! |1 w" u0 N/ S% d7 R6 M; A3 f& d
; _' |5 F) c7 `2 z4 B p
DWORD dwR, dwG, dwB;
" v( u) ^6 D, E# z/ x: F5 E
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 ?" z( n& R) u5 ^# \0 v {3 h
dwG = (DWORD)( pLight->Ambient.g * 255 );
0 a' k4 Y$ f& L0 y5 S! T
dwB = (DWORD)( pLight->Ambient.b * 255 );
, O5 n8 b( j. d* T0 x
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
7 ] e+ D: |* \; b+ F- ]0 r$ W. W! U9 q
}
6 |& i$ }+ v! b# f1 M9 e- n ?
}
8 x8 |" A5 O# R
}
7 E5 {& {9 Y2 D, v% Y4 Y
else
0 l7 b8 \5 w" u
#endif
, ]/ C4 W+ H! [
, w5 Z" k8 S4 q& \# S3 W/ G0 y, \ I
if( m_bIsIndoor )
. i: ^6 Q3 a* ^5 s
{
5 A* ~0 a' e7 t! f% I4 j; j
if( pLight )
* G" Q0 x6 }5 f
{
9 m) k, D, o' {4 j5 t& d
// à??μ oˉè*
9 s0 u7 p# v. G
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
' h# P5 |/ S" A; A
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
9 A! U$ z' t' B% I7 C) v7 @
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
- {2 r; Z. c0 Q4 V6 K- j
& t) b2 x) q' F1 }* y
// oˉè* ??à?
9 K' r( R$ k! ~4 E( L5 |- s9 E' z
pLight->Specular.r = 1.0f;
$ }- s1 ]* I- H* ~8 i- ?9 T4 Q
pLight->Specular.g = 1.0f;
/ ?" Y+ P) f4 s6 b
pLight->Specular.b = 1.0f;
5 y, `3 p3 I0 @* k( }
// àü?? oˉè*
- O+ l7 j* L; F( Q; C- `4 v
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
1 ?- |) q C. N/ |6 e/ [5 i
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
: m/ P7 M* ?) F, C R- {! v
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
' _, F! z( K+ n5 L; M& [
# q6 c( D' T/ ^/ ^) o6 w l6 W
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
' f: P/ {6 Y* m' P
{
% p1 n2 E- ?1 _2 w+ M" d
pLight->Diffuse.r *= 0.6f;
5 b8 t3 Z% j" X6 H% v
pLight->Diffuse.g *= 0.6f;
7 D* H+ [" R) W e/ _' f
pLight->Diffuse.b *= 0.6f;
, t- W# ]6 W; [% ]" ?7 B
pLight->Ambient.r *= 0.7f;
% w5 W5 \$ F; n- o
pLight->Ambient.g *= 0.7f;
1 [+ R. A# {* Z9 v) X/ M
pLight->Ambient.b *= 0.7f;
- g( w: |+ r" \0 w* E* n5 K9 c1 i4 q3 f
}
& z/ r) {. K: i$ p6 D" \' [
$ R3 [$ y, U" p0 A
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 f9 ^9 X, u7 B0 S: W; F% q- @
if( g_pPlayer )
9 n: n$ p q$ O' K& P+ L
HookUpdateLight( pLight );
: Y9 j( K) _% A! n g% Q
#endif
( }% z; D% g: K; [+ p* P- h1 Z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# ~ X G# S4 Z3 [
" ?# }: _5 w' F' ^5 K. g
pLight->Diffuse.r += 0.1f;
* e) u; a( N q2 M. `8 y
pLight->Diffuse.g += 0.1f;
( J$ j! `3 S1 a% p9 U, x! a
pLight->Diffuse.b += 0.1f;
1 ?7 i" N2 y2 ?
// oˉè* ??à?
% N1 O2 ? I1 @; k. ~8 t
pLight->Specular.r = 2.0f;
( Z/ G. W- ?- B7 \3 k- y- }% T
pLight->Specular.g = 2.0f;
# u$ ^/ T% }& q+ n# t) X; D
pLight->Specular.b = 2.0f;
& _+ `( b2 i- ^1 q% e' d9 K. W
// á?oˉ
% z. o/ e- O1 M% h3 a
pLight->Ambient.r *= 0.9f;
+ p5 f0 [3 Q }7 w% C
pLight->Ambient.g *= 0.9f;
) j! I6 p- L& `+ W. q; N0 x3 e
pLight->Ambient.b *= 0.9f;
: R2 Z0 L3 G6 Y" X: p2 h
0 F! z4 X# s# ] {( t
memcpy( &m_light, pLight, sizeof( m_light ) );
# o0 H7 i7 C c* R+ e% F }, p
) w& Z- T- O9 k! j5 b9 d% J
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
- Y5 a+ Z# x' J0 K/ e
pLight->Appear( m_pd3dDevice, TRUE );
/ I9 d% m1 A) l
" k+ ~2 A# n* C& [! e
DWORD dwR, dwG, dwB;
, P8 L, S2 L2 w, J* L9 l
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 Q+ u4 o! x* R9 l7 J/ T
dwG = (DWORD)( pLight->Ambient.g * 255 );
& e' s$ S. x. U' k# ?
dwB = (DWORD)( pLight->Ambient.b * 255 );
`0 `3 [" ^5 d, J0 `0 Q( H
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
+ r8 R" `" ?% r& y' H$ Z0 X7 G$ f ]
}
, W# p: s/ Z+ z L) N+ e4 D
}
9 R( L L& [2 K+ F3 E2 K
else
' w, o: p( V$ E' @5 q
{
$ r! U% U) g! n
if( pLight )
" i7 C- S, H% Y6 u7 m, u& g
{
0 _; t" O. }, C, k7 o& p1 z
# ?: H7 I+ Q! p' Q- s8 H2 Q
int nHour = 8, nMin = 0;
( X0 f8 ?' N. z; [1 @
#ifdef __CLIENT
; C5 u1 u/ D9 }
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
7 x$ M$ Z4 Q0 T1 G2 j% c
nHour = g_GameTimer.m_nHour;
+ z* n4 m. r; F( H4 ^
nMin = g_GameTimer.m_nMin ;
% J4 x' Z+ G, _( `
#else
' N1 Z+ R' ?5 N% x( H6 `
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
: N5 G! T' q6 H/ ~2 E! g
if( m_nLightType == 1 )
" Y0 }3 [2 n& @6 s( Y; }8 W
nHour = m_nLightHour;
6 o0 h: Z5 Y" t: J
#endif
. v- p) `+ S+ j& h
nHour--;
" y4 H' E- F" N
if( nHour < 0 ) nHour = 0;
. Y- d/ J7 S1 R5 A$ F- B
if( nHour > 23 ) nHour = 23;
4 [7 A7 a% F4 v
0 y0 F* e: ?1 `2 F+ R4 C+ s
//if( m_bFixedHour )
+ _. K& W% X: m3 l$ F
// nHour = m_nFixedHour, nMin = 0;
4 y" L9 m; N0 k+ x9 L2 s. g
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; H) v+ \" G# n
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- V( c! o: z/ r/ q# b
6 y4 N" q4 l. ~ \" K
//m_lightColor = lightColorPrv;
# U- r4 S) A& p. Q
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
0 t" y+ ]7 X0 M6 m" z, d
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
; l2 D: x2 G+ I& y) N% E7 W- j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
6 J) r" ^9 ~3 ?# k5 k v6 ~) S
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
: W. `2 s& U( N" S, J0 R1 H
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: Y, s$ B( |, {8 T# y
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
) V F2 n5 G9 i. S) P/ ^0 J
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% W: _) k+ C! |+ u
3 D8 e8 V; D9 ]2 t/ w8 O
// à??μ oˉè*
9 _( \! \/ ?/ ]
pLight->Diffuse.r = lightColorPrv.r1;
. Z; ]0 d/ e4 b9 d3 o7 j8 i3 t
pLight->Diffuse.g = lightColorPrv.g1;
3 L" ^' u. k- `1 c
pLight->Diffuse.b = lightColorPrv.b1;
+ R* R, c6 Z7 x
// oˉè* ??à?
3 O6 ~. Q6 V6 ]0 A. _# s: T$ W: _
pLight->Specular.r = 1.0f;
R. V6 B$ l8 z8 z& @9 n
pLight->Specular.g = 1.0f;
7 @. S, y' `% n7 r
pLight->Specular.b = 1.0f;
$ p9 d( j0 ^5 w/ O
// àü?? oˉè*
j. p+ P" x4 ]. q
pLight->Ambient.r = lightColorPrv.r2;
# V' P* K; f- @6 o
pLight->Ambient.g = lightColorPrv.g2;
& a0 ~+ B( h) f+ U. I
pLight->Ambient.b = lightColorPrv.b2;
/ S: G, x8 ^$ p6 r! Y8 z3 A* y
4 b- N9 O0 ^/ D+ @0 z
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
, l3 \( v# X: r6 a1 `
{
8 i+ d, J3 L% s( Q1 b9 \: q
pLight->Diffuse.r *= 0.6f;
) \1 }+ S1 d; f v8 i/ m+ ~( g; X
pLight->Diffuse.g *= 0.6f;
; ]2 R8 b; X; r
pLight->Diffuse.b *= 0.6f;
# A7 u, I6 b9 ~! v7 R
pLight->Ambient.r *= 0.7f;
7 Z' S3 L( N4 q2 v8 ~
pLight->Ambient.g *= 0.7f;
: f) {% _' V7 R
pLight->Ambient.b *= 0.7f;
V$ f( [1 Z v! g. F- g4 h
}
8 l! P# ]5 u R# O
' I% B( @7 u5 D
#if __VER >= 15 // __BS_CHANGING_ENVIR
. I% m' |' u8 O5 i: E' R
if( g_pPlayer )
0 y! }; p1 P3 q, [
HookUpdateLight( pLight );
2 Z5 s, q: H' x9 o7 B
#endif
! i% ?+ L0 l- o
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) b$ C( R" X l7 R/ M
# b" ?2 O. F) [% b: N6 _, p5 k* I
#ifdef __YENV
9 J9 _' ~! _$ g( M! M+ C1 m# g. R
pLight->Diffuse.r *= 1.1f;
, M3 S0 X$ ?0 S
pLight->Diffuse.g *= 1.1f;
6 x3 D- q& N2 J; r
pLight->Diffuse.b *= 1.1f;
& J. Z# y" t$ V4 H' [0 i) a
// oˉè* ??à?
' g. s, A+ S# o- y# c D
pLight->Specular.r = 2.0f;
, I& F; Z, o9 x1 w2 G6 g/ i
pLight->Specular.g = 2.0f;
- O/ \& n' R& V: b9 X8 @5 h9 N
pLight->Specular.b = 2.0f;
7 Y- I1 q5 c) W
// á?oˉ
$ t, v( e5 X9 A1 g- ?' I1 ~" w
pLight->Ambient.r *= 1.0f;
( h8 x7 ^. f% o& B/ | |; B& _
pLight->Ambient.g *= 1.0f;
' |/ J" {4 o/ F' \$ Y3 g" v
pLight->Ambient.b *= 1.0f;
( \. n9 \& z$ I/ q+ Y4 [
#else //__YENV
4 T6 s- k+ |: {
pLight->Diffuse.r *= 1.1f;
3 W& F% [" k! e* {. q6 h1 z3 B$ k
pLight->Diffuse.g *= 1.1f;
* v3 ]) H; V. ^4 o$ P( O8 y( }% K
pLight->Diffuse.b *= 1.1f;
! `8 `. w! i3 N1 R4 ~5 W) q1 I/ E, Y
// oˉè* ??à?
* y0 p6 [7 l K C
pLight->Specular.r = 2.0f;
; p0 ?, f3 }' A6 J4 o* A& }
pLight->Specular.g = 2.0f;
& r) {- n) k- N8 Y K# n+ ^" p
pLight->Specular.b = 2.0f;
7 o1 }1 Y) Q) x# X. z: G
// á?oˉ
- C: {8 g" ^# D8 b/ {8 T, B6 r
pLight->Ambient.r *= 0.9f;
6 U3 ]$ x* L$ d8 x4 y8 D% F
pLight->Ambient.g *= 0.9f;
$ |" F5 n& W6 P, L' A5 ]5 l
pLight->Ambient.b *= 0.9f;
" I# P( M2 u* P0 I0 R# b4 |
#endif //__YENV
) {/ q2 y3 b. i# e& M4 |1 W
3 X0 D: V2 E. {2 _6 Y& i: j9 R
memcpy( &m_light, pLight, sizeof( m_light ) );
. z! V$ ] U- S9 _
, G, j6 s7 k# o( f8 D; v6 N5 ?
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
$ y% P$ U, x" @& O8 ]$ n
D3DXMATRIX matTemp;
# W; z1 t0 h/ n% I. z: V) H6 B
static const float CONS_VAL = 3.1415926f / 180.f;
. O Q: R# U: D+ [: ?1 o- j* H: V
+ O* R: Z. j' W) M( A" O, q# u
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
1 w. o" @# {$ `3 K' x3 }1 I6 J6 i! M
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
; ]5 \' M/ G, [4 t/ f) W* L
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ S h" E0 u/ ~8 a
pLight->Appear( m_pd3dDevice, TRUE );
4 @6 X5 N5 x; c% C0 \0 e
: E; K' Y! ^+ I# x
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 Y8 M# C! c" S% n3 d
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ d9 F" l$ o$ ~2 s
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; G! l% m, o. z0 _. H
+ y' c( N8 h7 a) _( ?
DWORD dwR, dwG, dwB;
% i# p( @, J6 `! f3 ^6 c
dwR = (DWORD)( pLight->Ambient.r * 255 );
/ w3 {/ w, {1 N$ D4 h
dwG = (DWORD)( pLight->Ambient.g * 255 );
! S+ \ U9 H. [$ G* H
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 _4 N% C. |! U; p
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; K, X _( i) u4 E2 p; k
}
$ l( O! u# X% l, V4 b) w
}
, j/ d9 r8 h3 ?3 E t- N$ m* U
) M2 F2 O/ c1 i5 @1 W
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
% Y# ^3 D8 c# A6 ~, @' L3 q
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) );
; q9 i( j* e" H, \. y
::SetLight( bLight );
6 `7 W: R% F$ m9 R9 x; U
! E4 G- a0 \9 j% c
// ±ao? ?D?í???ó á¤à?
* Y* z3 v2 S# H( x9 D; `
m_pd3dDevice->SetMaterial( &m_baseMaterial );
, U" V; n0 t( X
* c4 R% }: _! U: D, l/ h% u" ?
#endif // not WORLDSERVER
U& E. w2 c4 L. m0 u7 b
}
2 X! H' y. b6 h( G/ |$ F
并更换
9 I- h6 G- @# C% m' ]! [
Code:
% y; M/ K2 p( c0 \# L1 q4 C' x
__FLYFF_INITPAGE_EXT
) ^# P2 i4 ]( |" A7 t/ Z/ B- d3 d
定义
) M- d( d6 k9 e4 P0 Q# m
% p, H5 ?; F- e9 m: _1 \
- L1 b4 J* O' G6 [" @7 {" W- Q" w8 q. y
/ R/ |4 i$ h/ _: N" ?
" x0 N! \+ G/ j, r
现在终于删除我的狗屁加速...
/ A8 p# N( b3 N/ ^$ q
& W) ?4 F2 J8 b) Q4 t2 m
3 @- h3 r- s, r) z K& ~; S+ y x
# J% u6 k* R; o6 q, c3 y$ y
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2