飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
! I7 s3 v" \% Y) I' S6 b
尾翼:
6 f/ r. [2 `; ^* I' e
6 F# v7 U7 C0 {8 k
代码:
* j" W5 L5 ^3 B8 y7 E
CWndAutoFood::CWndAutoFood()
. c4 ~$ `( {- a) p, Q( _
{
3 z) \& {2 q6 r( T0 K' C
m_pItemElem = NULL;
$ l( `$ X+ {* n1 R; h, k. i! X& u
m_pTexture = NULL;
* h# A$ g4 g4 v8 D
bStart = FALSE;
. a, _% F! A+ @
}
5 @2 p5 N& I5 a: {0 b
, O, Q; D0 O9 w1 V+ Z+ o+ n: `
CWndAutoFood::~CWndAutoFood()
7 c5 t: k. V2 g& b3 V1 O5 u5 S
{
9 @5 c, u2 x( I4 S' ?+ Y5 O0 [
AfxMessageBox( "AutoFood ist gestorben
" );
6 p, D1 Q1 j, ~$ Z* M
}
; H. ?$ C" C5 [ Y
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
7 n R* L s7 U. x- E. q
{
5 y3 }, l u- |. x0 J' x/ t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, t, s8 w& Z" w$ i4 {# j
}
' `. A6 [4 ^) ]! L$ e
Q7 T$ I9 ^' c" |4 w4 E
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
" m/ r5 }% b1 \4 v* `( I% ^' H
{
9 o! p V: Q: J0 I
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
' F+ O2 m+ f: @3 F
CRect rect = pWndCtrl->rect;
& H) e* [$ @- U$ o1 A4 j
if( rect && rect.PtInRect( point ) )
/ |3 H/ O& A8 {) D: e( m3 Z, I
{
/ i. Z$ O R2 U5 a/ V+ {
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
$ o" N, r* O- |$ c2 ]
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
+ W5 a! G; i& ?7 s6 P
{
s8 Q$ e2 B/ L, v6 [
if( m_pItemElem )
& t( l& ? ^$ N9 l* I; K" q
{
7 U/ t& W+ y, y
m_pItemElem = NULL;
7 i7 T" p' ~3 H. [1 Y
}
; E7 a5 v g' @- X. E% y
m_pItemElem = pItemElem;
7 G% A' b5 G3 l) l5 ]$ ~. h1 |
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
, n7 Y: {: |3 Q: j
}else{
( Z) _& D5 q) J0 b/ }, V
SetForbid( TRUE );
- [; Z& n! g7 w5 D- W3 w+ I* Y
}
0 |* [- h& Z3 f, B' P; F6 }0 H
}else{
* P: H9 N% e& m6 i) a7 D/ L" g
SetForbid( TRUE );
8 p: m4 H k2 T g
}
5 H* J9 M" o7 v2 S$ e* _
return TRUE;
0 g ~7 p4 C. _9 N8 @
}
& E G' ^( U$ ]1 v) W; i$ I
8 k7 ?5 [0 N7 {
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
+ N2 Z, F, z% y3 q) B
{
+ e2 `7 @# g" x: r9 g
switch( nID )
" P0 V& B) [* h: J% T- k
{
4 B3 \, ~' @% O4 T7 B
case WIDC_BUTTON3:
/ D d& n$ M% ]% c& O% O
{
1 B- C) G6 o! m# O
bStart = TRUE;
7 @( P) s, Q, P6 C4 \
break;
& f; T. h8 H8 C3 P7 _+ [
}
8 n, L) y$ V" y' k% V4 P( {' c2 f
case WIDC_BUTTON4:
5 o& j, J* O' t( d. w
{
4 u5 _: U- L- c+ F
bStart = FALSE;
- Q; Z/ m* o. N# A- l
break;
. a9 Q8 N+ n. c5 l6 ]& K/ ~
}
+ B- n$ D) N, n/ ?! U
}
, \" X+ x! n: u: `" Z D9 f
return CWndNeuz::OnChildNotify( message, nID, pLResult );
9 z4 G2 e7 P, N0 B0 x
}
9 e- Q- b0 r1 {) ?/ ^0 p) a
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
- x& C+ V3 ?8 s
{
3 x4 | I: h3 v2 y' j
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
8 v% [0 \7 k2 K9 D, L3 H3 @/ @
if( bStart || !m_pItemElem )
/ c+ x, t- W( F9 p. N# y8 X8 _! z
{
% ^: `% _" B3 V$ @4 s! A1 L: P
pBtn->EnableWindow( FALSE );
3 V% `5 h' N; K6 M2 k- B; m
}else
% e% ~1 k u4 i" y0 Y: C
pBtn->EnableWindow( TRUE );
9 O) \7 W2 o! B% _% d
if( m_pTexture )
1 s% m% _2 k8 @+ v: ]& A* i
{
! X* ?; v; g: ^) N3 X4 c" A% G
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
5 y: Q! r$ j5 S
if( wndCtrl && wndCtrl->rect )
9 [% A5 @! a( W
{
2 d4 Q( I5 g; `! R, t
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
: ]5 {! S$ w; R2 x/ F" C j, g
}
8 Z& V. Y N' k: M
}
" y: O. }( Y& I; f# i' p
}
( g% x% L3 _% o6 ?0 R
8 ?7 j5 }- f$ r' s7 m
BOOL CWndAutoFood:
rocess()
3 f9 i2 }4 Z8 r$ A
{
7 k3 y {: C j# U
if( bStart )
, B7 f$ q+ ^/ h- F9 W; w
{
4 U- P. j! p- H* K& z. w2 K
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
6 C( a- q2 v5 h5 H
{
2 h, ]' o) s4 \. K* o/ l, o
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 u! R) Y+ i4 L& A% A" ^
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
* @2 z% x% ~0 ~& u# j
}else{
6 i3 O9 Q4 L9 o! m; G
bStart = FALSE;
5 X6 ^' [% Y$ {0 J* }
m_pItemElem = NULL;
) f N* s8 I o" H0 N# ?, u
}
6 a% [* G, V9 I" |' w* M0 q, {
}
- j7 U3 g' S+ |- ~
return TRUE;
0 [& X1 {; D+ C$ y( L' F/ ^+ H
}
6 z3 ^5 q2 G+ X! e# R# T
! l$ ~5 l- C+ C& W: p
登录视频废话:
- W- x4 S! m: W: e+ k1 G4 s. C
尾翼:
9 c$ b- V* w& U( e) h% B# b4 Z
1 U) k+ I/ f @5 Y
代码:
9 v( @5 E) _% {, k9 a
2 W3 a+ W. V& \
void CWorld::SetLight( BOOL bLight )
I" ~7 b0 K+ J' B. z3 ]0 D6 h
durch
! b! \( d3 s x( o3 W) s) l
Code:
$ p& U% k# V, o- Q% d3 M. m
void CWorld::SetLight( BOOL bLight )
6 @+ _4 q' `2 u7 a$ x4 t8 y. x
{
6 D2 K1 |' Z! K }$ H: J
//ACE("SetLight %d \n", bLight);
" B- g' ]/ }7 V8 E3 g- O
# S' O8 c$ _8 n, _5 H
#ifndef __WORLDSERVER
2 x* e7 P/ Q$ O! q7 V9 Q3 m
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
; m+ {/ y2 q' R4 ]5 t N
CLight* pLight = NULL;
# _) k( `; Z% `* J
$ J0 t1 K- r4 Z! g3 r0 h% d* p( j
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
) N6 `0 r' B+ g, O
3 ]: ], G# N$ O4 L4 H& ~3 a1 D0 _
pLight = GetLight( "direction" );
" M- V5 o! z. |) @* H) @5 U" w
& R4 N c9 S3 L
#if __VER >= 15 // __BS_CHANGING_ENVIR
! t6 `' }- P7 z. }. h; a2 [
if( g_pPlayer ){
& {4 j" d0 @, H3 t; Y3 e0 R. g6 i
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
7 w. {* ? E" p* y! U% \0 N
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
" H! q i# `$ {/ J- Y
{
* f7 c( \. H- U2 c2 D5 m# Y! v
if( pLight )
% \4 a1 ?' x0 U! Q
{
) t3 E1 U) T1 q
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
9 l( U/ \" D5 _3 Q0 F f( ~
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
( V' ^! p7 J% V5 W U
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
5 X! f: C' d- i3 i: Q- f% B$ j/ I: p7 N
2 K1 _% B" l* I- o% O a# h
pLight->Specular.r = 2.0f;
, [7 x, A3 C* f3 d& N
pLight->Specular.g = 2.0f;
: \6 `6 x. _/ U3 K
pLight->Specular.b = 2.0f;
: y5 S( y# n1 A5 g, D2 ?
; R# \- h" ]' C
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
5 |9 v6 J% r8 a. G: i
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
2 Q/ D' y/ g& ]+ ]
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
' P& K& @1 U" v: U- |: @2 \, \
. W+ F2 Y6 T8 S; b6 B: `) x% Y
HookUpdateLight( pLight );
* Z2 [4 x5 }9 c; L0 {
0 F h' [$ u5 c/ s3 c6 s/ w% O/ }! q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ N, ]) C3 M- {: f, p* n
- Z8 q5 U" M9 u% q4 R
pLight->Diffuse.r *= 1.2f;
, R+ D6 b: I! T7 r9 D) Z G- Z* X% U
pLight->Diffuse.g *= 1.2f;
' r. @& p1 H5 l- Q
pLight->Diffuse.b *= 1.2f;
& _ U- O) w1 j& _+ S8 e- r
" y( G9 o7 f& e) g5 W. c; f
pLight->Ambient.r *= 0.8f;
7 H8 A- Y. B6 O$ ~
pLight->Ambient.g *= 0.8f;
6 e$ c: {* i4 T9 R. Q2 m
pLight->Ambient.b *= 0.8f;
( A4 o ?, k3 T% p# c/ r9 Z' V* s
3 C. {' Z3 N7 |
memcpy( &m_light, pLight, sizeof( m_light ) );
6 P3 k3 _ `' z" Z1 d7 r% Q
( [1 a; d1 s: g! M& |% m! n
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ A$ m/ D3 _5 b
D3DXVec3Normalize(&(vecSun),&(vecSun));
: z2 c ~$ d; w; f7 S
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
( C) g1 U. _" L. V* g
pLight->Appear( m_pd3dDevice, TRUE );
* s( J8 V0 O' N! [0 E4 k: ~
8 N, b8 O; f4 C9 x8 u3 v- ?
DWORD dwR, dwG, dwB;
a9 z4 x: B1 r! K
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ B$ o4 H; n) h& Y# J7 V$ Z
dwG = (DWORD)( pLight->Ambient.g * 255 );
* A: ^3 K5 t; U3 Z! l
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 I% m3 B1 H- L8 Z! x/ `- U
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- q& `: W k9 I# i6 F/ B1 V0 ^3 V
}
+ J L" P/ c4 H6 r8 H
}
; U' E; t3 R0 h- ~5 s
}
6 ]- Q5 L, I' s9 T0 M
else
2 X. a! k1 _" f, a; ^7 K+ ?% e6 E. Z
#endif
. W9 O1 R" h1 A
. R* ]2 O& G* ]5 Q, y% m, |# ~
if( m_bIsIndoor )
; }& e7 t7 n; c4 Q; g2 K
{
/ A0 F& {1 [- B1 k
if( pLight )
" X' H9 c. P3 r W, W; \
{
5 M3 h. s, t* ^) l
// à??μ oˉè*
" d! |5 b3 ~6 |
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
: c# E9 D: b& a( o2 v
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
' F7 p$ ~- S. \/ |6 [ Q: s4 c
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
0 C) t# K# W+ e1 J/ ~1 M4 ?
' [' b! Y% D- V( u
// oˉè* ??à?
7 _* ]4 J9 @$ \% [" I0 L
pLight->Specular.r = 1.0f;
2 o6 N/ p Z! `7 B7 o5 H
pLight->Specular.g = 1.0f;
& S' l* v; |' y
pLight->Specular.b = 1.0f;
6 I8 c6 |/ m4 D1 F1 o& |7 K L
// àü?? oˉè*
6 Z- f' W& j: h: R- h8 p- m5 I/ j
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
" z' Q3 |4 V D& M
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
6 f% ~* U/ I2 M* g6 [
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
1 D# z. |: ~ |
1 z; y- S p* D( z+ \$ S. b" n6 e+ c
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
. T$ k! {6 V3 V
{
( `8 B3 Z1 C* J
pLight->Diffuse.r *= 0.6f;
6 a5 t; a9 R+ v4 C; y
pLight->Diffuse.g *= 0.6f;
1 q" U; a5 z) I- |% `# _
pLight->Diffuse.b *= 0.6f;
, _7 X7 ~+ r& P/ W( W/ ]+ ^* t
pLight->Ambient.r *= 0.7f;
n1 Z6 D( B8 r
pLight->Ambient.g *= 0.7f;
$ J# n& V3 g- R6 D/ [
pLight->Ambient.b *= 0.7f;
* P+ O. z# \1 O; ^; Y1 ~
}
+ x1 }: h& N/ Y2 v2 C# N$ L6 m
8 K+ ?6 Y, c" h- e2 ]: G1 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
' h/ k$ t$ `" G+ v0 N! W' p4 f
if( g_pPlayer )
5 O. L( v+ ?: Q S; I$ r7 Z
HookUpdateLight( pLight );
: Z0 a7 g1 F" N B+ e
#endif
$ ]: Q) g1 V$ z# m
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# F( F( v' t+ L: P5 ]# Y& N" R
& t6 M n5 k2 R0 b* f
pLight->Diffuse.r += 0.1f;
: h$ q/ f, _* i0 V' r% @
pLight->Diffuse.g += 0.1f;
0 u+ b0 r6 z/ @0 y2 c5 y
pLight->Diffuse.b += 0.1f;
% z1 y( Z3 ?' s1 V, l
// oˉè* ??à?
0 g: B2 n( g2 H# ^, b6 a% [) e* i# B
pLight->Specular.r = 2.0f;
5 w1 A0 r1 @! t3 l
pLight->Specular.g = 2.0f;
+ @% t! q2 d ]1 Y
pLight->Specular.b = 2.0f;
. K @- |( S: J: I/ ~# B
// á?oˉ
- \# y, @0 _9 `1 s
pLight->Ambient.r *= 0.9f;
0 ~$ E" j; u( _% y5 h) I
pLight->Ambient.g *= 0.9f;
/ _5 u; M$ h' _6 m6 k6 @' s6 b
pLight->Ambient.b *= 0.9f;
: E# G$ |2 h! I0 r0 K% B4 Y
$ W+ [1 k5 k2 O" [# k
memcpy( &m_light, pLight, sizeof( m_light ) );
( E2 _# q" p5 q& S8 a/ q
- d- A. }, e$ ?$ t [
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 U- l6 H+ M8 \# S. P
pLight->Appear( m_pd3dDevice, TRUE );
: x. h0 M$ ~; z
7 ~5 D6 p2 v7 D( S2 Y _; v
DWORD dwR, dwG, dwB;
: S4 [( l5 e# l
dwR = (DWORD)( pLight->Ambient.r * 255 );
8 A F2 R# }3 q% E4 D& a, ^! O: L# B
dwG = (DWORD)( pLight->Ambient.g * 255 );
5 K1 Y* r3 z+ S# ]6 I/ s; D
dwB = (DWORD)( pLight->Ambient.b * 255 );
! C* b1 G; ~% o) j& A2 P8 g, l
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& @5 N( ]* N5 l/ @7 _- z5 Q
}
5 _3 \& Q* B/ d% B# @0 N$ I
}
' a0 ?$ ?* T7 Q
else
" R6 e/ x0 f; V$ ?6 X: V( ]
{
5 N& G/ s, z6 r3 g
if( pLight )
, }8 ~+ o1 ?6 f; `+ ?( m' l
{
0 p* L1 Y7 ?, a* _
* `* H* \3 b A* Y( Z: ~ ], m# x
int nHour = 8, nMin = 0;
5 ]- ?+ v; ?7 a# P
#ifdef __CLIENT
* d" m1 X0 a C/ E6 S9 R& N/ |! v9 D
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
2 y; _- B. T$ K9 X* x
nHour = g_GameTimer.m_nHour;
8 _9 K, |0 O( I8 [$ E
nMin = g_GameTimer.m_nMin ;
* I9 v7 C5 U6 t2 @& j! a
#else
[: i4 `2 _% r7 b' w. V% ~
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
' C- q# ~8 {! Y `% f8 v
if( m_nLightType == 1 )
; u+ A M" K& R% h
nHour = m_nLightHour;
9 E" |; a: ]$ C
#endif
; Z8 @6 S Z* Q7 h, i& J% U1 n
nHour--;
! @" U! s5 {9 ?# H- d
if( nHour < 0 ) nHour = 0;
' B! p2 ` G* u' E$ u1 E! D( T
if( nHour > 23 ) nHour = 23;
5 a* d" n6 i* C2 k
( G9 j7 T& X6 f/ |
//if( m_bFixedHour )
3 \% [; f$ \. k
// nHour = m_nFixedHour, nMin = 0;
4 C! O- B9 y* R5 M; \2 F, a5 t# ?
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
" I2 l5 S# ?/ ~: r* Y
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
! R R9 O( A( V5 K& t! {, M: a
8 R! Z7 |$ {* l6 W) f0 p6 J
//m_lightColor = lightColorPrv;
8 u8 s1 ^3 q' D
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
8 T8 l1 L/ u5 e, T
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
) T% w& e; \/ e# w: M# T" `: ~
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
5 N3 C; {: e4 i' b* O O
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
; s. U, [& i6 |1 F& B8 Z+ Y
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ Y8 \& ~& Y7 `# V$ R
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
+ v9 ]$ P3 r8 ~; w
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
% `! @- l1 Q8 m7 T5 a9 h
, H: @$ q* Z) B
// à??μ oˉè*
" @1 r: Y4 t- ~0 k4 |3 ^( f7 P: n
pLight->Diffuse.r = lightColorPrv.r1;
6 u( O* b: Y$ S% v" e* G9 z1 p
pLight->Diffuse.g = lightColorPrv.g1;
! B& T9 b+ E( V% v j" s
pLight->Diffuse.b = lightColorPrv.b1;
+ f5 R2 U/ r1 ^1 p
// oˉè* ??à?
( N: H; z; _' S1 q: D% `3 ^, w; N0 ]
pLight->Specular.r = 1.0f;
0 y. x; O- V; ?7 g2 _ u* S2 a
pLight->Specular.g = 1.0f;
" Q, J: f2 n1 b) L. p# E3 c! }7 k `
pLight->Specular.b = 1.0f;
4 M @/ j/ @# W& z6 q3 ~: `7 _
// àü?? oˉè*
" k$ C/ A- g5 S6 e! Y6 s' z8 [
pLight->Ambient.r = lightColorPrv.r2;
1 X. j9 ^, B! V0 W7 K3 ]$ w2 w
pLight->Ambient.g = lightColorPrv.g2;
7 F: s0 @# b5 I
pLight->Ambient.b = lightColorPrv.b2;
) j" N! V5 p4 b) p0 S
" e4 e1 s4 H9 H! a; R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* m+ l& _6 S% w! ?4 t
{
; M" u4 z0 I X6 t
pLight->Diffuse.r *= 0.6f;
+ }5 b+ `0 q+ b
pLight->Diffuse.g *= 0.6f;
* ^# P+ K) E! Q, W6 l
pLight->Diffuse.b *= 0.6f;
# n4 ~, I3 s$ o, J5 X
pLight->Ambient.r *= 0.7f;
3 o& `2 X' ?! Y& C
pLight->Ambient.g *= 0.7f;
+ ? L- z/ k: D3 G/ e' S
pLight->Ambient.b *= 0.7f;
7 ? b+ x& T: Q3 l, q
}
( U# g) r1 K% m( V
0 i5 F# ^" j% r3 i3 k2 {2 ?
#if __VER >= 15 // __BS_CHANGING_ENVIR
# I/ p5 x8 e9 Q% p
if( g_pPlayer )
3 f: I" Q4 r" V# m
HookUpdateLight( pLight );
; G0 K' D3 M3 f; I8 x
#endif
1 p4 X4 J' d# w1 ~$ |0 Y% t/ c
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 G- P" H: ^3 O2 G; v
' r% J S R1 W1 S0 ]. X( y
#ifdef __YENV
: y0 L- O8 }8 l* Z$ }8 \9 m: | Y
pLight->Diffuse.r *= 1.1f;
7 r2 ~$ [7 N% g6 S5 k
pLight->Diffuse.g *= 1.1f;
& x( f+ y2 J" e8 n* p5 ^
pLight->Diffuse.b *= 1.1f;
; ?4 f: k% r# Z9 h; z# z- g S5 f! H
// oˉè* ??à?
- x' P2 w; j2 l$ p) o
pLight->Specular.r = 2.0f;
% c' j, D" B& R2 V* `: q( R7 A+ ?
pLight->Specular.g = 2.0f;
8 F6 x( D1 I/ h& K. c& Z0 _& u+ C2 Q
pLight->Specular.b = 2.0f;
* R) _/ _/ s, G1 e+ f0 ?
// á?oˉ
! p& j/ l; z& a8 Y
pLight->Ambient.r *= 1.0f;
+ a6 c# K/ }9 u+ M9 \9 J
pLight->Ambient.g *= 1.0f;
, g$ x6 ]# o5 x6 h
pLight->Ambient.b *= 1.0f;
0 U. ?! j T+ Y" C' |3 a( n6 N
#else //__YENV
# b% c t" l6 M% U1 V2 G
pLight->Diffuse.r *= 1.1f;
: i: t1 J# y! }
pLight->Diffuse.g *= 1.1f;
5 V. C: K& j4 P
pLight->Diffuse.b *= 1.1f;
; e! u+ c* S- a5 t+ s
// oˉè* ??à?
2 W: k' J6 L& F! C0 d, [5 n! A( @
pLight->Specular.r = 2.0f;
8 | q6 f3 R. E8 M0 I0 ^) j/ N7 b
pLight->Specular.g = 2.0f;
- E: D" K6 |3 P3 Z
pLight->Specular.b = 2.0f;
. ?# r8 q+ I& C" T
// á?oˉ
* ^' F3 J( x9 N* _3 W2 M0 i t! V+ _
pLight->Ambient.r *= 0.9f;
. x. ?% O: D" V+ Q
pLight->Ambient.g *= 0.9f;
+ N# f0 J4 O4 [5 @( ]
pLight->Ambient.b *= 0.9f;
: F; b8 z8 J+ i# G: f
#endif //__YENV
) \& }3 b, m+ |5 P
" m& T. D6 R2 R( C4 g& B
memcpy( &m_light, pLight, sizeof( m_light ) );
# ?% n0 n/ _* {! K
! c! O% z0 C1 F: A9 i" z
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
5 q/ W' }" Y4 p1 d. ?" L2 n7 K7 v; h) z
D3DXMATRIX matTemp;
( k" s9 s2 Q3 \0 ]9 w7 h9 }
static const float CONS_VAL = 3.1415926f / 180.f;
; ?$ [' E' D0 b' C& l$ D, `# b
8 L, |% [8 H9 U( k3 f, U" @& _# H
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
# F. J0 P/ J8 K# ~) N
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 ]0 e. n% L2 \: s/ t0 R
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
0 p4 }) ~: M* I5 s7 o
pLight->Appear( m_pd3dDevice, TRUE );
2 E8 d9 k) s, I/ {2 c/ z: x* L c
5 \; J1 G- d2 p' X
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
4 t$ k. y' X$ O# i6 R1 o; w* ^% d* l x
// D3DXVec3Normalize(&(vecSun),&(vecSun));
1 H2 Z2 J4 _$ }% O8 G. X; X2 ~
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
# U& M' u$ i7 f; [; k; e
, u; q. S* T p6 F7 G* P' k
DWORD dwR, dwG, dwB;
+ C! {' i$ C# a }2 y3 e
dwR = (DWORD)( pLight->Ambient.r * 255 );
" K( U9 A+ }, Z g5 Y$ p" k5 W
dwG = (DWORD)( pLight->Ambient.g * 255 );
T d4 l3 x2 M
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 I/ {$ }# c g+ L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
4 x! V5 Z4 q9 j; m0 S+ ]# `. `
}
2 W% i+ D- [0 r, q3 F: x( v5 g
}
% Y; |: T+ N! y% Q. L- T
+ k4 Y4 P5 ?! j' k8 `' W
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
4 }& I$ i* [/ v' e' E; k. _" g
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) );
2 _3 \; Q O; G' y7 c4 G
::SetLight( bLight );
/ p! r* s" x6 @# o8 P
# f% Q4 }6 Y6 t. j4 K+ K
// ±ao? ?D?í???ó á¤à?
9 z/ y& k! i5 [
m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 t' ?- A+ p- s; y& M$ p
1 }" H# K) j# L% p9 z" |+ G
#endif // not WORLDSERVER
" Z, [: o- H! C* K- _1 O* M; {" T l
}
$ H! u0 |" y% N5 h
并更换
" F# ~2 Z( b4 }1 G6 C# A
Code:
X! k( U/ s- D. D1 b( C7 g
__FLYFF_INITPAGE_EXT
& c) _0 T* v9 b. R
定义
& `7 r% ^9 i% s; [! y) M
( n; L8 M1 f6 G* `* }6 D
; _! n/ J) Q" v
2 E1 U( {, e. N1 F0 U, J. S8 h
. a. i9 R) J) Y0 U% X6 S* G3 \
现在终于删除我的狗屁加速...
* ^8 j) j& x7 D5 l; D% u
" D; O) A/ g2 P/ e" |$ j* U! s5 c2 N! _3 F
$ Q0 }5 i4 s. k }. V5 A
4 A# k4 G: K8 r9 Q) \
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2