飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
6 r! E. Y' N, X6 q7 c0 n. \/ v/ }8 F
尾翼:
/ `# y( V+ \& s! d; z4 a6 d5 @
" \. L% | i; [3 c6 t) { V
代码:
; y* g5 x4 Q/ ]
CWndAutoFood::CWndAutoFood()
- ^6 x7 D! U v% b' d$ v2 A; s
{
* g* K. S5 F2 V/ P( a8 p( W
m_pItemElem = NULL;
3 \( n& u0 }: Z! P# H5 N3 K
m_pTexture = NULL;
! l/ _# {% i1 u1 ^7 a
bStart = FALSE;
$ P, h# }7 h9 b& B5 T0 n
}
! Q v$ A$ ]# Q2 F5 c0 G$ o0 _
]) T1 B& f- k: ^! W
CWndAutoFood::~CWndAutoFood()
. x9 |& f% P# R$ G) |- f$ J
{
~2 b* z! a% {- L0 k g: L
AfxMessageBox( "AutoFood ist gestorben
" );
0 g7 ]9 z1 J8 n% X# J5 b! e
}
( _& j0 q% @1 y2 l5 A7 v5 J
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 \. e1 g) ?$ {" t
{
; o9 {; d) C" J0 X$ b
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 g# n& h3 I7 d. Q0 n* n
}
3 ]1 p* i: [5 b5 B1 @# e/ v3 k( K
1 A6 V& L- `. l- v
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
* T0 g9 q* M1 t% H
{
2 w& d/ ]8 d# P; M
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
R! ?( E7 A. l+ |/ x
CRect rect = pWndCtrl->rect;
2 r7 L' J* J0 i( B2 X; m
if( rect && rect.PtInRect( point ) )
- }& U0 `8 L# R/ i4 b
{
& Z5 ]) p0 P& b5 K) w
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
, `( Q& @1 ]4 M* Z; h1 Y; V
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
! k. P, p) \9 N" k
{
, K$ m$ C6 t2 E+ Y. E3 V: L
if( m_pItemElem )
' A! [2 O* L) F3 b% `% `
{
6 W0 k3 ]7 f5 \
m_pItemElem = NULL;
3 T" _4 |$ V( }- o/ g
}
5 f8 H1 y8 @) }* T- V$ ]! M2 ^
m_pItemElem = pItemElem;
5 a) s4 M: d6 x
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
4 T( b9 ~' E7 E* n x
}else{
+ U8 ]* a1 d5 o9 [7 _
SetForbid( TRUE );
" E8 P. K4 P+ D# T6 x5 N6 c' }
}
- l1 `- ~! m6 M
}else{
! M2 {; G) i4 h3 Q% G9 D! y
SetForbid( TRUE );
6 M' G% g1 K1 D$ P
}
! Y! w5 z7 q& w! W8 ~. {
return TRUE;
+ L( {' m, S' @/ B
}
8 v( w$ j7 V( Y# d
b# z V7 F: Q9 Y/ b7 \
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
4 y9 V, B2 j5 c. A" b& [% M# y K
{
& ?* W- d/ h* S
switch( nID )
" h0 |( }+ M! F
{
6 Q1 S; y- T+ n& }- F) I
case WIDC_BUTTON3:
% ^, m; C) ~# R* l8 N8 g
{
r3 B$ q4 b- Y3 R! ?
bStart = TRUE;
- m7 v. y: F7 E) p- }
break;
5 E# g- P# v8 V+ @1 L6 Z; `
}
' n1 U- ?6 d5 r
case WIDC_BUTTON4:
1 r! b" J3 @4 M, }0 P
{
; Z' U" b" ?& \2 C; I
bStart = FALSE;
( E! ~; j" y0 X6 w9 a; g9 Z6 N2 S
break;
9 P( f G5 a; V4 T
}
' }, X- c2 g( u: D% B0 d! L
}
* ?% e: B- i2 Z; B( ~; b6 e$ d
return CWndNeuz::OnChildNotify( message, nID, pLResult );
: Y8 c& Q) G* t8 q5 D
}
3 E, m( g7 J7 K, A7 V
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
: X3 ]4 x% b7 z# `0 F
{
) L$ C2 \% o6 [7 u& {8 Q% L( l1 ^' }
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
, q8 ?" G+ H5 E) X3 J: H
if( bStart || !m_pItemElem )
3 l, `$ Q% e$ H# d6 ?
{
5 {. }& ]" G& p3 a" v( X
pBtn->EnableWindow( FALSE );
" @/ p6 r& n6 ^, w) Z
}else
2 {1 i" U" E6 s' \' J1 `
pBtn->EnableWindow( TRUE );
C5 E! F+ H7 Z2 R" P8 l- D6 d
if( m_pTexture )
+ _6 d0 ]( Q9 r2 C7 n
{
7 @/ [/ z" `- Y3 b
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
7 V( o. ?5 j" X# H( ^) D* K
if( wndCtrl && wndCtrl->rect )
3 f) J/ N4 o# v/ X5 _
{
* Z/ _. l& W- K1 V; h
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
5 J/ `2 W: s) V& y0 ^& p
}
/ c0 |/ C% |# ^! C5 ]! |
}
/ i) u r5 S' W& |
}
" F6 k0 o1 H9 o8 M4 S: h
1 I( n/ g, I+ P% i% f) K/ i6 G5 W
BOOL CWndAutoFood:
rocess()
, d; F: n+ d0 b- I$ S* J
{
' { B6 ?# q( w" p F7 M
if( bStart )
# ] W4 l. R! g& P" p2 B/ n
{
/ t6 B; z! n3 C( n% r- E7 p* w2 s" q
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
) h- U T" Q4 R' B% u# x( |
{
2 t" ^; Y# Q" x! z
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& ?: f3 W# ^2 l7 t
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
8 ~% D" A! X" P! l) @
}else{
$ R7 a. V3 u8 `
bStart = FALSE;
! ~* \+ H; g& v* [
m_pItemElem = NULL;
9 x! D2 o% i3 L
}
) x& K/ l/ c- g c
}
0 f: u9 s- m" ]% p& n- x9 ~& o
return TRUE;
1 z- _$ @9 D! j7 C, x U6 e5 D
}
4 L7 T# D4 r$ g. ~" o
- l7 P0 m! f1 M
登录视频废话:
' n1 |/ H M! G% }% K! j
尾翼:
3 Q3 z# n3 ^3 n9 z& E. C5 Q
[" W: ]9 l: Z1 s
代码:
3 h% k& g" ] z+ S* ?
' F' R, m0 h' w( c7 u1 B# o' ]
void CWorld::SetLight( BOOL bLight )
0 O! V8 \5 _3 M( L
durch
. C" ~$ q" S+ M" M' B
Code:
; F |1 o. x$ e0 s" X% N* T
void CWorld::SetLight( BOOL bLight )
3 G& t4 y# F5 F
{
/ ^7 e4 C0 q8 `, \- w
//ACE("SetLight %d \n", bLight);
& i9 A! \. m: R/ O
# H) G% {, \; o2 G( m/ J, I
#ifndef __WORLDSERVER
6 \+ w, B7 `) k) l+ d
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
$ A( q# B$ ?$ v
CLight* pLight = NULL;
7 T K; Y5 k G/ `$ n+ F9 P
; I( g! b7 L2 n! w& G# [% B& t
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! U$ @9 H( a: U7 W, T7 n
. L; V+ `, |* l$ J7 Y+ S
pLight = GetLight( "direction" );
$ ]) y$ j" a5 S1 T; s* F! A+ x
2 a* o# |8 c7 F! s: ^1 n7 ]
#if __VER >= 15 // __BS_CHANGING_ENVIR
* t7 R6 D1 A! A
if( g_pPlayer ){
' z: o* o' X& M; ~
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
1 J, r$ O4 g% h+ V* @" O, L
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
+ F0 x& M c1 a8 o9 s
{
1 v, X0 U: }. p& c3 ]; S( s
if( pLight )
" x3 H# V5 Z& q- f
{
% l3 t! h: f" L# ]7 p# o
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
4 i! ~; q* a, E4 p4 L2 f1 E3 |
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
# M% I/ f* X; h( Z" r& Y
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
' | e: x' Y/ \( y3 W8 [
, T: j) G K# g. x
pLight->Specular.r = 2.0f;
) ] k* L# ]2 g7 v; \. m
pLight->Specular.g = 2.0f;
; u# `6 E5 o0 p5 ]( P3 d5 Y
pLight->Specular.b = 2.0f;
2 c) e) g" y- ?# X* e: j0 j
1 U0 h8 h) W; E9 p- h9 H, p
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* S$ q8 V( p/ s6 N
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
- o" W* R; ^/ v% j; P5 C6 C X8 [
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
' k8 J3 |8 G' c' D7 M/ b
/ @6 E% q" `6 G: u% z
HookUpdateLight( pLight );
1 F8 Z% E" M! ~3 a" L$ m+ Q4 i
& q' D% n% c' E6 O6 X5 M
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
" |, J' F/ t$ t$ [- P6 D: T0 e
! L" U/ l {; P0 g, n' e$ j9 g
pLight->Diffuse.r *= 1.2f;
1 p2 c/ j! j& ?- S+ A X4 L6 i5 a
pLight->Diffuse.g *= 1.2f;
0 \, e7 F& L1 Y t ~7 i3 a) p
pLight->Diffuse.b *= 1.2f;
. d4 o# p; L1 \/ v) ?5 h# u
; {0 C3 v7 K% C% ]* h8 D9 j1 D
pLight->Ambient.r *= 0.8f;
5 p+ D! V6 f- C0 X- T" I) w0 Y
pLight->Ambient.g *= 0.8f;
7 G2 Q7 C- i. n% R/ I. z4 O
pLight->Ambient.b *= 0.8f;
/ `% x3 O+ i) q4 x3 Q) ]! `
5 a, @% Q @# t2 ^1 E) A. E
memcpy( &m_light, pLight, sizeof( m_light ) );
% X" r2 ^, m# ^" U/ k
! F w1 }2 ?; O" e/ {
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
9 j( F, ^- p- T7 M
D3DXVec3Normalize(&(vecSun),&(vecSun));
6 Z7 ~8 f# I9 X3 K2 i) b# ^6 f
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
3 j, ^' ~$ j* M6 m) {" t
pLight->Appear( m_pd3dDevice, TRUE );
- x0 }: N% o) O7 N+ }/ ~' r
# R: V/ g# D9 g6 Q) N* B
DWORD dwR, dwG, dwB;
+ j, I$ Y& A" g! \5 S! O
dwR = (DWORD)( pLight->Ambient.r * 255 );
J, x5 p' w3 z9 [' I6 D+ Y* H
dwG = (DWORD)( pLight->Ambient.g * 255 );
& i% `4 I9 W5 A2 _' j P z) v
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ r& a; _3 V/ e. a0 a
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
( F: a- [ f% c4 z8 F! d! H
}
+ A6 ]( _7 J( |* N
}
! E6 ?1 N/ L7 o" ^4 b
}
% z/ V$ D/ V3 [0 q
else
! W3 m( d4 ]1 L
#endif
; Q* Z1 z' ^1 C7 ]# S9 t5 H5 @# g
G; a7 v7 h3 `# C+ \/ q6 ?6 p
if( m_bIsIndoor )
( x# q+ a, T$ N2 H! m) h
{
! Y: U: y* ]1 T2 C" T/ P5 a0 \' c
if( pLight )
+ R. ]6 ~7 t; V3 X. K) W7 A, `' Q
{
6 M( R3 O! J( S* d) U
// à??μ oˉè*
: C+ T* A& |/ d+ q( o" O' ?
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
; a W3 X+ Y( [7 A
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
5 H2 N/ A. T2 }
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
' P: [* v5 o2 S2 p* i
. Q5 x) q1 \) A" q( p
// oˉè* ??à?
0 c2 d8 W) Y, Q& J; V; v( Z
pLight->Specular.r = 1.0f;
: y, [' b: H( z$ C% M/ I# R- s* ^
pLight->Specular.g = 1.0f;
6 i$ Y; k* k0 c/ N
pLight->Specular.b = 1.0f;
& V( o$ j& I, W1 L4 W
// àü?? oˉè*
, E5 ^- H4 e$ z* l. f7 [* b: C
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
: ^- U( [7 L- h, P* E. Z' j4 H
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
0 T* C3 ] ?% O# V
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
X0 x! b/ I; P6 e
# C% P5 g5 b i& A' p4 z& I4 n
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ {! e; r2 S2 F& w2 S1 u
{
0 A. P4 V, f8 G" j5 v5 W7 M& v/ i
pLight->Diffuse.r *= 0.6f;
. U/ O- Y* p. D6 a4 n" S: f
pLight->Diffuse.g *= 0.6f;
' D: a/ ^+ T# j, \& O9 U. Q
pLight->Diffuse.b *= 0.6f;
7 V8 n F. x1 S* J
pLight->Ambient.r *= 0.7f;
' H2 G3 Q a% f1 G6 H: m
pLight->Ambient.g *= 0.7f;
* y3 M$ A- {/ X
pLight->Ambient.b *= 0.7f;
8 h \( Y! Q9 W% v1 f; r
}
2 G+ h% X- C" ^
J2 E, Q* E9 C5 G- D
#if __VER >= 15 // __BS_CHANGING_ENVIR
3 y5 X# }: O8 x; i
if( g_pPlayer )
: }3 i0 g" z$ A6 {; Z, }
HookUpdateLight( pLight );
& K9 |/ m" q [& [
#endif
9 D& b8 _, N& Y! h* `
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
! F+ A* V) H B- k& d- n9 T
5 c* r7 l8 g2 ?# Q' n! H" a1 T9 T
pLight->Diffuse.r += 0.1f;
, c" o3 e$ N% P# p( F8 d
pLight->Diffuse.g += 0.1f;
2 {8 d( }1 M) C" R9 Q
pLight->Diffuse.b += 0.1f;
5 D0 r3 U* z' w9 Q: P$ J" g
// oˉè* ??à?
: [ \8 _& [5 e7 X* U- t" A/ G/ l
pLight->Specular.r = 2.0f;
$ R( x8 y* G5 c, `$ H3 r* b
pLight->Specular.g = 2.0f;
# Q% x1 ~2 d/ J/ D4 `
pLight->Specular.b = 2.0f;
" U) i! ~5 n+ e, P) G
// á?oˉ
6 k: e! x0 e; z2 O, E
pLight->Ambient.r *= 0.9f;
* N' S5 W# c* x3 Q: K d9 X
pLight->Ambient.g *= 0.9f;
3 B. ?9 Q8 l9 }% b6 |
pLight->Ambient.b *= 0.9f;
0 O: x6 J4 f2 i" w
: u7 B* R0 b# O% u- E& i
memcpy( &m_light, pLight, sizeof( m_light ) );
& D# t9 t$ p' H" l" w& Y+ c% \
3 f' w- ~! f' u% o4 R$ c
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
) L F# i! e l" H' l
pLight->Appear( m_pd3dDevice, TRUE );
4 c- l2 `3 {3 f7 o. R
* P0 Q3 n. k. L1 r2 n
DWORD dwR, dwG, dwB;
7 a1 m3 }+ t% v( s- ?! x
dwR = (DWORD)( pLight->Ambient.r * 255 );
& K- [( S0 D0 E; l2 a r( Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
' R# A7 w6 E/ Q* ?* b! B
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 C+ S+ g4 h, m/ w" {0 ?, |
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
! c9 U4 E$ }" Z8 a9 j
}
}6 i) y F- p" N8 }
}
$ P& a4 S" s, G2 l* L
else
2 K+ a. Y" n5 O, u/ E
{
$ w% _& H8 `+ ?0 P7 y# E. v# X( v
if( pLight )
9 k* ~6 M( D# U0 f5 @; U
{
1 D' q- j {2 d8 u4 b
5 E& b" j; y& k
int nHour = 8, nMin = 0;
d3 w/ Q, H: Q" `
#ifdef __CLIENT
( C. ^; a5 ?9 i* M# @2 H
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
. w0 n- l1 m. {& ~4 p
nHour = g_GameTimer.m_nHour;
5 Z8 [+ c8 C( B: j: o, }
nMin = g_GameTimer.m_nMin ;
; J! T% P4 \% n2 I X
#else
: F' R- ]" p1 |* _5 d6 C
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
* u" z4 m0 f4 K/ a7 J
if( m_nLightType == 1 )
( D. @/ |7 n2 X. E5 `/ _) d
nHour = m_nLightHour;
+ S# y2 ^, |1 ]. w; v7 {
#endif
" p+ }4 c# `' s! y! ^4 T
nHour--;
( d' L2 h6 M) @" r( }! s' G
if( nHour < 0 ) nHour = 0;
1 L( e( N6 T M$ y7 v
if( nHour > 23 ) nHour = 23;
2 f9 P9 o0 y: a/ D7 }
% b4 g0 l" r2 |/ x3 N4 u
//if( m_bFixedHour )
5 ~: @8 _; Z" q! P2 |
// nHour = m_nFixedHour, nMin = 0;
( c; k# t; q! U H4 y+ w
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; w) V0 l: S9 C3 l
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
3 |& P6 G* h& ]$ ~2 Q
9 E( c/ a! s+ n# f9 |
//m_lightColor = lightColorPrv;
1 B8 W$ X( |* @" v
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
! C& v: }+ l" Y2 y) j
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
# o& [! Q/ f" Z
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
[1 e7 k: o7 O$ H3 Z
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
! M. u# M/ A$ `" N: q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 T% n- ~4 k- b8 j' g Z) J- b
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
& g( ~ `% R7 q; O
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
1 `- v. t0 B2 d, ~ G2 c8 {5 j, h
2 J V% I3 c1 E# @6 G
// à??μ oˉè*
$ D7 ]$ P) D2 \
pLight->Diffuse.r = lightColorPrv.r1;
7 D- h: s9 _. R; u4 f v
pLight->Diffuse.g = lightColorPrv.g1;
2 N2 y' t7 P: X- O T0 P- ~3 s
pLight->Diffuse.b = lightColorPrv.b1;
' o7 t4 g% H& Q
// oˉè* ??à?
* E* ~, [( I( W
pLight->Specular.r = 1.0f;
# u! X+ c7 ^# v" x
pLight->Specular.g = 1.0f;
) \6 c$ p, I6 H! l8 P7 |
pLight->Specular.b = 1.0f;
) K; t/ M; b' [$ N2 N1 ]6 O
// àü?? oˉè*
' k% `1 @6 c6 ^: G4 S7 O
pLight->Ambient.r = lightColorPrv.r2;
; P+ o: Q# t, l; ]2 i" C) g
pLight->Ambient.g = lightColorPrv.g2;
2 v* A" \* W4 O& D" w$ N) K9 ?* u
pLight->Ambient.b = lightColorPrv.b2;
2 d2 J' s" D, J4 m( X2 j& r
( J3 V" t Z# H7 [6 [* [
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
8 D. ~$ U" |) n2 ~, F1 a
{
. T, ^( n* x5 U, A2 i# W
pLight->Diffuse.r *= 0.6f;
7 W' k$ I* f5 M; E9 `8 l) P
pLight->Diffuse.g *= 0.6f;
2 x( k/ X J/ ]# J& A5 l s4 d- V
pLight->Diffuse.b *= 0.6f;
3 n7 y: M1 C T1 C: l r2 W1 X w5 ]0 u
pLight->Ambient.r *= 0.7f;
' n7 O0 L3 u0 B2 \
pLight->Ambient.g *= 0.7f;
4 D. R" ?% N; r r) s
pLight->Ambient.b *= 0.7f;
1 k9 E- S3 Z9 N1 t$ m" ~% G7 r
}
2 Q( L. ]* {% B0 L
1 Y, a0 r% ^$ U! s% C6 H
#if __VER >= 15 // __BS_CHANGING_ENVIR
T, y. I( A7 c9 ?! y! e
if( g_pPlayer )
$ |% Y( E" r% y7 y; t0 ?
HookUpdateLight( pLight );
. z) d6 b2 B5 l9 w/ h# ^
#endif
" O6 l$ g( D& [
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 y- b5 D8 o" E& _
* V! Q% t N( I% y' L2 I
#ifdef __YENV
- H% Y; g! e) j% T) I
pLight->Diffuse.r *= 1.1f;
6 z. X* e+ S5 \9 S3 H, A* L
pLight->Diffuse.g *= 1.1f;
& L& w( g, I$ Z8 N2 T+ N
pLight->Diffuse.b *= 1.1f;
& h' r3 h9 y8 d: m, O( f7 S
// oˉè* ??à?
- l f9 l( W' Z, o8 K- v' J- W) p
pLight->Specular.r = 2.0f;
9 L; X7 @4 |* a6 h
pLight->Specular.g = 2.0f;
! C2 x0 e F" g8 X
pLight->Specular.b = 2.0f;
: U# q5 M! [; ~2 P' Y( ?$ P w
// á?oˉ
' |" b$ r- y F. ~
pLight->Ambient.r *= 1.0f;
4 Q/ r! Y9 b2 I ]4 r0 B
pLight->Ambient.g *= 1.0f;
0 n4 F! t0 l) K" C: z4 s
pLight->Ambient.b *= 1.0f;
2 V, t. S) E; Z- H
#else //__YENV
+ d7 ]$ b# j$ \ q0 Y" z* S
pLight->Diffuse.r *= 1.1f;
& {1 {) v1 v, i. r/ b/ S) t# r7 M
pLight->Diffuse.g *= 1.1f;
7 f4 R1 L3 E8 e% O0 Y# q( D
pLight->Diffuse.b *= 1.1f;
; W6 c3 G9 s; f' w: F6 h! u/ j
// oˉè* ??à?
4 _5 H" ~9 }( d! s/ u
pLight->Specular.r = 2.0f;
" ]! j6 }0 F) J) Z
pLight->Specular.g = 2.0f;
. R6 J( E) j2 G# |8 q! @
pLight->Specular.b = 2.0f;
! b# u6 o, u7 p) S; t# Q3 e
// á?oˉ
, ^: |7 c# T$ i4 \6 r
pLight->Ambient.r *= 0.9f;
2 Q5 a+ r% G$ a; a2 D5 { v
pLight->Ambient.g *= 0.9f;
4 y) ~( R( d5 i& o0 O" k' g
pLight->Ambient.b *= 0.9f;
" R/ \7 @# W! h: a8 ^* m
#endif //__YENV
# `' S2 Q+ j; [2 Q( d
. d' Y6 I( Q0 x/ v! R- u/ P# Z2 o
memcpy( &m_light, pLight, sizeof( m_light ) );
% O3 V# S1 Z+ E% d9 h
. ~7 p+ [6 t$ f1 ^+ ?3 k
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
% c- {' @% e' f* F& j2 k* F5 u- J
D3DXMATRIX matTemp;
* W, b' B4 @* f" Y( W) V
static const float CONS_VAL = 3.1415926f / 180.f;
: y( t. N% F& q) a
8 i0 h, Q/ w8 D: g
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
% B/ ?. {$ C! r4 f' U
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 |9 W3 n0 _6 M" u5 b
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
2 `- C# x9 j5 f% F. l1 C5 ^& l
pLight->Appear( m_pd3dDevice, TRUE );
/ r6 l/ E; G% c. B) r5 W5 r3 @
- ^& L& T# [7 D3 Q4 r$ [: d
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ e' y# h2 b% E# |: h' @
// D3DXVec3Normalize(&(vecSun),&(vecSun));
1 ? F& b4 C4 R
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 O: l0 @1 J) a B+ ~& B
( S0 ]! z7 m1 h# V( L6 ~! f# i8 T: |6 ~
DWORD dwR, dwG, dwB;
3 q9 V% [4 W7 G3 V1 ]; x5 s7 N0 W/ m
dwR = (DWORD)( pLight->Ambient.r * 255 );
( H6 g& d, D/ f5 P0 p1 E' A
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ W7 ]9 r; W$ U+ l: [. a
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 h" S; m- K3 [/ h, l7 U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
n( I' L0 }+ y0 E0 |9 T& h) Q
}
+ P2 r% e5 l* M+ c" g1 u, g! x
}
) t- r; K3 t$ C8 C
: P' x1 Z. P' T6 V: w1 N
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
- r: V6 Z+ E: X; t" J
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) );
y* C+ j( P+ J9 j. d/ E
::SetLight( bLight );
" t. `5 K' g1 {; j! t) ]5 [
$ S, z H6 ]. `7 v& o$ R( z
// ±ao? ?D?í???ó á¤à?
7 g+ e, L+ E0 L% j% i; d+ q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 \$ o8 a; ^7 c8 ^4 ] B; q
2 `* w6 ^+ x6 ?3 I6 h1 ]
#endif // not WORLDSERVER
' a+ _' t" l, q4 e0 L$ u9 _2 ]1 r5 p0 J
}
1 Z( c) _) ^. q) g) l/ K u7 i
并更换
, E% O d. L+ e8 b
Code:
- {5 O9 U; |' A T; e
__FLYFF_INITPAGE_EXT
1 G, O7 t! e7 p9 R
定义
1 c, w0 u- ]# z" t& ?* d. }# ~( x
7 [9 v9 F$ _$ R! f8 O! s
& S s+ H7 e! v6 ^
0 V( J8 G4 `8 q- Q: E
2 Y6 E3 s$ Q) C! m! B# R
现在终于删除我的狗屁加速...
# ]/ A% V& p6 F3 Q8 D
2 `! f' i' b" ?5 } C6 T# N
- P) i8 W6 m1 Z3 v7 f# ^/ s) I7 b# }
9 ~+ H* d) M) C3 T+ `
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2