飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
& J+ b9 j8 X' Z/ L, @% N/ H$ ~
尾翼:
; N% ~( n5 J4 h6 I
, \5 M& F8 P- `
代码:
1 O9 `- \ [) V4 v, `
CWndAutoFood::CWndAutoFood()
' Y& Z' F6 C, ?, z7 ]
{
) n& E8 L/ j* a1 _
m_pItemElem = NULL;
, P5 _" X( c5 G8 Y+ W; s9 R
m_pTexture = NULL;
$ n* L' f. D2 i5 ^/ J0 g
bStart = FALSE;
p$ u1 C5 i& m L
}
1 B3 k0 g5 K; Q& `' ~
+ m3 ? T: I( D4 ~% z) O2 |/ X
CWndAutoFood::~CWndAutoFood()
; d# b' p& a2 p1 X% w6 X& m C9 G
{
$ L" B) y; J0 ?( m! J
AfxMessageBox( "AutoFood ist gestorben
" );
9 y4 d) W- W* ]/ S
}
0 ]- O. r" Q+ V% B1 _* U. Z
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
5 U: ]1 }1 M7 G5 i
{
! V4 z0 W8 l. [) Y+ V
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" k& W5 ]4 w( Z4 l; P/ u
}
4 S; N# A9 l3 c9 x; z
8 e; @, X4 U, J
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
2 u' L4 w( P6 k2 K$ c
{
9 A+ v7 m4 m' ]- Y
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
8 P/ @0 ]6 F* ^7 ] ~9 D; a `+ _
CRect rect = pWndCtrl->rect;
! n2 |4 r* f: ^: |
if( rect && rect.PtInRect( point ) )
' L0 t0 a' K4 S) l( ]
{
; D8 v' T% b% J( T w \
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
; F: M5 u$ m5 ~9 W7 ]0 c+ t4 {
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
6 g( r! Q# C2 x2 Q$ x9 X
{
1 q" R/ x3 |6 R( `1 w$ v: D
if( m_pItemElem )
# }# D, b. C+ _$ S& D8 Z: N
{
, {2 D2 p4 w) w! r3 I: S9 D( t: w
m_pItemElem = NULL;
. T* j+ M/ ~$ a! T
}
$ I# o# c* p* l- {1 H4 l2 A
m_pItemElem = pItemElem;
# z) ?7 M; @" B7 i/ `# k* W
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
; n9 D7 X; V2 ] f2 Q
}else{
, p8 c1 M0 n; V5 G' s; {; E
SetForbid( TRUE );
! ]0 o( ?! R T/ B" z |! d6 P" Y
}
" G4 i( P( y! {! c
}else{
- W0 z4 f0 G- |
SetForbid( TRUE );
% Z+ |2 f3 v8 s9 l: x. o
}
0 k# i: |. F; B
return TRUE;
) T- D7 F! W! Z+ @
}
' a- f7 C0 _% G9 _: D4 T$ K! n
: g: M7 _# ?1 _& }! Z0 W! x$ x
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
5 I B) B" S5 k! R
{
! a3 w; E1 @8 X' f
switch( nID )
, u( ?" D: W: b; o& K; K' W
{
9 o: [& S* z/ z% X- Y( ^
case WIDC_BUTTON3:
, Z- @- R- g: a M" ~: ^
{
; q& A) L1 d; a& \$ @' R) B
bStart = TRUE;
o7 Y1 R! p9 x& R) ?% ^
break;
3 T2 u5 u! P$ S0 ]7 Q
}
. @/ ~& M# e! c( l% R7 d
case WIDC_BUTTON4:
% L) E/ [, q5 `
{
) J) V; V/ k) }. `* l" V; ]# a
bStart = FALSE;
, C7 R6 e) a, x1 \; f
break;
! E. P% S1 S8 l1 G/ x$ i
}
5 o; r5 [$ O1 ]! |
}
/ n& I1 }. x' b& H' ~$ y7 H
return CWndNeuz::OnChildNotify( message, nID, pLResult );
. T" O# ~% T4 }) w6 K6 r
}
# e9 m0 {8 G* q& B! @& t
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
* }+ e8 U8 I5 q& \. L8 c+ Y
{
. f n' L& h* m# g2 e8 t/ b- G
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
2 Y/ t5 @4 |3 J' R+ b' d0 D4 [9 h) J
if( bStart || !m_pItemElem )
. v. X4 Z3 s& D+ E l. T
{
% y3 R4 D8 D/ D; D; `& w
pBtn->EnableWindow( FALSE );
9 M/ Z0 O' m$ l4 u1 V) Y9 Q
}else
* Y% r6 x4 {. X# J, F/ Y8 R% Y: T
pBtn->EnableWindow( TRUE );
$ Y7 A, J! n% H* l% b0 ?) T: f
if( m_pTexture )
3 ]$ J0 U/ O# M% ]9 j
{
* @! F# `& d$ |: E9 @. a1 g
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 a4 ]2 p5 ^3 _
if( wndCtrl && wndCtrl->rect )
6 \" ?* [9 `! y7 b" O0 \/ o* N- T
{
2 l( Y! r( b& X
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
- n- X+ ?; F$ W4 c2 E- N( A
}
f4 p% i4 L- l; }$ e# H8 d, b
}
, e& D+ F. b* [7 I1 K
}
" h4 O# ` z% y0 @: [ D9 p0 n
+ r: ?9 T# L! D) D# T' s
BOOL CWndAutoFood:
rocess()
- g w9 Q; P6 J& M
{
. _6 }; [3 `; k/ [ ]2 B7 p0 y
if( bStart )
0 t3 Z( J; I& W: {7 Q9 ~* e/ |
{
; h9 e" J, q0 r" I) V* }
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
7 w5 n) [& r z+ U2 @
{
4 U9 K H Z; z, K6 C# Q" S
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
+ D, _+ }+ g% ^, p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
1 I! U1 x' k0 M# |% e, P
}else{
- N- O! n9 g* c) Z, @
bStart = FALSE;
! A8 r$ _ H0 o- U
m_pItemElem = NULL;
" L! c4 M2 h8 f; F- o$ m! p# t
}
- _- ^& s" U: `9 _
}
( r, x4 {3 v8 w0 Q, Q( K
return TRUE;
' o r0 K9 O0 M% X$ U& N; Q5 ^
}
8 e, v2 U6 R1 H4 E
7 H0 W& Q2 u3 b5 A h% {7 e4 ]
登录视频废话:
% i1 N# d$ I$ W9 U {% v- p) m
尾翼:
6 ~: [% {. \" ]# a
4 h$ o- d1 f5 H. b" z/ x& j4 z
代码:
1 b! a. c! w4 `0 X
3 R4 a; Y& _# u6 z+ y. @
void CWorld::SetLight( BOOL bLight )
$ e" C8 J k5 R' q5 v
durch
- q$ u( }3 c4 s9 w, Y* V/ Q
Code:
' C+ R3 \. ~% E2 ^: u
void CWorld::SetLight( BOOL bLight )
( k* s" H* g5 v1 Z1 h& F
{
* U$ P) v- K4 U) w* t( Y6 M
//ACE("SetLight %d \n", bLight);
( R& }. m/ i$ @' d- H& d, j9 }9 T
9 a* u, W& Y. O
#ifndef __WORLDSERVER
& {* X+ n c- r8 I0 V3 E$ f& D
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
* D+ g# G) k8 ?) I. N
CLight* pLight = NULL;
) e# Z- ?4 |/ ~1 B
3 H0 D. p7 D( N) Y0 H- r2 u
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
& V6 n2 Z/ {9 h1 M
0 j! `7 B) l# n) B# A3 q% C0 c4 G
pLight = GetLight( "direction" );
& K, H% j) b- P: Y, X) @ `& [0 @
# z# X! n5 | l6 z( B) c7 x
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 Y5 g9 B+ y+ B3 f* {- X
if( g_pPlayer ){
" |# n. [* p2 [8 F! Y
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
v/ Z5 ^# e v+ W2 J
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
6 J/ a( K; ?$ F9 ?4 T5 J+ B j
{
( p0 i6 b0 o& U% x# j! B" A
if( pLight )
8 o3 K/ P# j1 }# s7 v% l
{
; I' ]! I) l8 j8 l
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
# T% z0 t3 z! y
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
! }! O: q3 h s. e/ W! A! f6 x+ C
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
8 V" m; S" s9 Q# e P/ `9 F
E% x4 `. D( D! r
pLight->Specular.r = 2.0f;
& U+ N p( h9 _# a
pLight->Specular.g = 2.0f;
7 t7 G- A) R2 J
pLight->Specular.b = 2.0f;
% F' F) J4 W3 F3 v* @& N
4 j) W( Z. ^" Q, w* Z( F
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
5 |" ~% E- {% v$ z3 d; z% }
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
! d- Y* Y2 C5 ?- D
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# x' N+ d$ }- U: L2 y
5 P+ \2 D/ y1 p) S+ ]
HookUpdateLight( pLight );
7 o2 F a9 [8 ?2 M! Z# E2 a/ Q
A* z% l( K" E8 S" j
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 p N1 n) A/ ?" X
! D0 Y ]% g1 f1 M
pLight->Diffuse.r *= 1.2f;
0 A) @3 t" C7 i
pLight->Diffuse.g *= 1.2f;
6 }2 Y4 J5 X3 W3 G# {
pLight->Diffuse.b *= 1.2f;
) Q+ [- i, H; l; h
' D/ E3 ~* e* {7 Q$ }
pLight->Ambient.r *= 0.8f;
9 {" W8 u4 v7 {# Z+ d
pLight->Ambient.g *= 0.8f;
: h: ?6 E" q* r7 E$ ]0 i
pLight->Ambient.b *= 0.8f;
% f% H1 B! p, E7 D# T' o, v
2 {7 q5 f& M8 O; X* o1 }
memcpy( &m_light, pLight, sizeof( m_light ) );
! W- J! t4 H; a' x
. ^8 D2 @6 O* q3 ?
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
% \ X+ ?6 [0 A& r
D3DXVec3Normalize(&(vecSun),&(vecSun));
7 h, ~7 t( S4 s( k& b
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
0 A# T: a; k1 A8 c3 M: B. R
pLight->Appear( m_pd3dDevice, TRUE );
1 v$ G9 b; S1 [7 C7 S4 z
) H" r7 h: }: z5 a2 a
DWORD dwR, dwG, dwB;
5 P" W, ]) O; ?/ g0 u9 o6 v
dwR = (DWORD)( pLight->Ambient.r * 255 );
( G/ R& D2 \5 e8 b9 M0 X) R7 M, f
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 l( Q6 i# ^2 d( a+ |
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 f0 e$ C+ c' h& T2 Z6 n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' F% P0 G, f8 H M! k0 A* F
}
: F- {% V3 Q: m3 ~" U6 B" i
}
7 A5 @/ z! F; u" R, o5 T/ y; K/ |3 h R
}
" t) S# V& T: E3 ^% F
else
, m c. l% O- E% C% \
#endif
6 ~5 I$ I) K* } J- X. e
$ N% X, j$ m) c. `& N
if( m_bIsIndoor )
- S; {1 h- Q% ]1 ?/ F. B6 Z, Y6 t
{
7 @$ `, w( I: s
if( pLight )
0 I8 l, u; y7 B6 M
{
" \5 o6 J1 e [' P
// à??μ oˉè*
4 }& Z' M+ V/ ^1 V* N5 {& w* D
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ R( B q0 S; n* K+ j
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
, A8 |+ @! _) A1 g5 K5 S- E" t
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
2 j T' W- [/ D
2 l$ l ~- }3 B, Y' c
// oˉè* ??à?
, S3 H/ j C. C! E7 G
pLight->Specular.r = 1.0f;
: @5 {# h* h. b* {7 K
pLight->Specular.g = 1.0f;
* N2 S% P: c/ }- c7 y; b# k0 m7 x
pLight->Specular.b = 1.0f;
) B/ k- h9 j9 e+ e, d7 U: \
// àü?? oˉè*
) E5 c- v+ M: ]
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
; E- \, R& H; K* ]; F" j1 Y, s
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 w5 @3 q; d m% N3 \9 R
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
0 Q+ b: W6 H9 E/ r8 \# N
. c" w4 ?% o- m, B' X4 w
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
4 [! Q2 J) @! b: @1 U$ {
{
7 x- \. m, @& m6 X8 g- j8 x
pLight->Diffuse.r *= 0.6f;
: `7 C- P0 l* h
pLight->Diffuse.g *= 0.6f;
7 M. M( t3 B/ w! w
pLight->Diffuse.b *= 0.6f;
7 y7 b; {2 Y7 z# u$ x
pLight->Ambient.r *= 0.7f;
M8 ]' ^7 T/ J1 Q7 @0 K6 N& T
pLight->Ambient.g *= 0.7f;
: O9 F$ f+ W* {6 H1 T
pLight->Ambient.b *= 0.7f;
U& T" t" V4 V6 p L: o: T
}
7 a1 J9 ~7 h* }5 D8 e+ ?! Q
6 k- x" @$ c1 Y- K& h! Q( C* B) f
#if __VER >= 15 // __BS_CHANGING_ENVIR
& a, H" R7 T7 m- ]. ^
if( g_pPlayer )
# Q. ]& V/ K+ A. K& ?
HookUpdateLight( pLight );
* R) F% K5 H6 r0 V
#endif
" R @/ Z0 r0 q9 U/ J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) A9 L K7 Q# \" k& j3 {4 P, q
; B$ k) g* W; ^8 t& J
pLight->Diffuse.r += 0.1f;
! Z( E: m8 C3 f& \3 c) R( C+ k) m
pLight->Diffuse.g += 0.1f;
7 v7 L( z5 j* X( U0 [5 I
pLight->Diffuse.b += 0.1f;
7 g8 u9 S9 l8 G/ t; Q
// oˉè* ??à?
( ~6 D# y$ B" [# I {0 v& ^0 E. h2 g
pLight->Specular.r = 2.0f;
/ J6 _5 U+ q4 I0 I6 v
pLight->Specular.g = 2.0f;
4 m9 y/ ] O5 Q' h( Y$ W0 d
pLight->Specular.b = 2.0f;
2 R6 F4 f& B- l& W5 p( L
// á?oˉ
5 t9 ]* @9 O0 U9 n0 |% }, {2 ?7 x2 O
pLight->Ambient.r *= 0.9f;
. |2 L, b, m$ o" L( J$ z
pLight->Ambient.g *= 0.9f;
+ x5 a- `1 F7 ?7 L9 f' B: w
pLight->Ambient.b *= 0.9f;
, X! K7 c1 H. E$ M
- z* \/ M9 ]( }- _& G% D. Y( s
memcpy( &m_light, pLight, sizeof( m_light ) );
" ^, i0 @9 j5 H2 | H
3 t: s- b _+ e; S7 |8 }7 E8 E
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
4 T8 {% }/ G) m1 c+ a3 n* c% n$ {
pLight->Appear( m_pd3dDevice, TRUE );
' | l: e2 J) e1 u
7 e+ T- W' h5 F' y0 J' H
DWORD dwR, dwG, dwB;
/ ]8 T% S, ]$ H8 g: m- t9 A
dwR = (DWORD)( pLight->Ambient.r * 255 );
7 z5 z% e1 ^( Y+ N5 h g
dwG = (DWORD)( pLight->Ambient.g * 255 );
" Y l* e F& O2 [; {- [
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 U$ L% g- P! D+ r4 D% Y3 Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 U% E. X- |- k5 M- k8 M( J7 v/ c
}
# g2 [- q+ @# ^9 u
}
1 h7 h/ Q0 y4 p6 X0 E' P
else
3 z' w- `1 e x4 T: }2 V
{
( L" \3 ~* j# Y$ P
if( pLight )
+ b3 g7 T) O% Z$ [( e+ u
{
+ [# H, B: T3 |1 d% b4 }
9 @( w6 C7 `5 j" G* O
int nHour = 8, nMin = 0;
4 a* Q/ N- }; S7 V: [+ Z X6 K3 K
#ifdef __CLIENT
. l$ e8 z1 ?. m2 N2 x
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
/ O- Q9 @3 A0 }% D- m6 ~
nHour = g_GameTimer.m_nHour;
& V9 y2 I- ` ]
nMin = g_GameTimer.m_nMin ;
- u7 v- H+ Z+ u- j5 f, n% I- O% Z6 q
#else
7 f# B; K, r' p8 f
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
6 u9 o8 a8 g! n( |6 {
if( m_nLightType == 1 )
" x7 c: `$ }3 I1 P$ i: B
nHour = m_nLightHour;
% J! a& G: ~ j4 I2 J- i: Q
#endif
" y0 n. G8 Z% v
nHour--;
" J9 o/ |* G, L4 q' I; W
if( nHour < 0 ) nHour = 0;
2 \* ]9 k1 k/ G1 d$ T4 F
if( nHour > 23 ) nHour = 23;
7 D+ _3 R' K; y, O; L
; Z/ A. @8 X0 C% U
//if( m_bFixedHour )
. c! k; I. Z7 @2 L$ ^/ F3 W) [ `
// nHour = m_nFixedHour, nMin = 0;
# b. n- W3 O* t8 E/ q, E( A
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
; L( }+ u9 \4 }) l
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
& c7 C e! `2 h; z, [
( V. f- V5 L6 ]% _
//m_lightColor = lightColorPrv;
% U7 s! u5 q' C2 D' ]; T( Q
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
) C6 u+ e: }; G% b3 N! _. S5 R
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
9 ]% h4 N$ Q1 w0 d3 J8 i/ ~% Y; A
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
* W- ^' S0 c! w
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
8 V6 s1 C8 K) r. T
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
9 o# K* j3 E! @
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
& J* F+ \1 ?8 v4 C
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
+ u8 O2 }$ h4 J3 d; h9 X1 t- h
* O/ J2 O9 \+ K A' |1 E
// à??μ oˉè*
; S# o: b. X& p4 T. E
pLight->Diffuse.r = lightColorPrv.r1;
0 l" b. t2 j- t. o: y9 p
pLight->Diffuse.g = lightColorPrv.g1;
4 q0 o# J( t1 X, n) D& @
pLight->Diffuse.b = lightColorPrv.b1;
8 y( @" G! \! V
// oˉè* ??à?
3 w8 E+ @# \; y9 B! z: \4 Q
pLight->Specular.r = 1.0f;
$ Q+ P- c* m/ g9 U# I6 S7 J7 h
pLight->Specular.g = 1.0f;
7 z: z* @& f, y8 W
pLight->Specular.b = 1.0f;
! M7 W' \# A# k. A! Y; f: B4 {* @& v
// àü?? oˉè*
0 Q5 Y% Q2 t4 j) p1 u$ I. J
pLight->Ambient.r = lightColorPrv.r2;
8 {( Q7 H( i% c' X( |/ U! K
pLight->Ambient.g = lightColorPrv.g2;
: @; o# w/ Q) M9 b8 @
pLight->Ambient.b = lightColorPrv.b2;
- t- ^' k( F" N6 F4 R4 H+ \
! s* ^% F( D3 n4 ]2 D/ D {& O' A8 T
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# |9 v; r5 Z6 Z
{
9 E, T5 D$ g( e& f
pLight->Diffuse.r *= 0.6f;
7 r8 F- z: [9 ^; y; ?
pLight->Diffuse.g *= 0.6f;
( C4 l* f- b8 n! @1 e& a3 ^
pLight->Diffuse.b *= 0.6f;
* }6 z& q4 P+ e1 U
pLight->Ambient.r *= 0.7f;
$ f0 k6 f) W3 ^( {4 I$ s- ]" W$ B
pLight->Ambient.g *= 0.7f;
9 u% q/ Y1 n7 X# `' X( ?" c
pLight->Ambient.b *= 0.7f;
, @3 n/ W% A' s1 s; _' _; o: F; ?8 C
}
+ B3 _: F: {2 s) {. l8 @9 V" H/ u# V
9 y e g# X! c! [, f% u, L' L7 }: j
#if __VER >= 15 // __BS_CHANGING_ENVIR
w5 s% f1 j* ]7 N* d
if( g_pPlayer )
! ~$ n: j& C0 W& M$ p2 o
HookUpdateLight( pLight );
; m M3 W, u( L m7 t
#endif
) p) F' @: ^* k% f
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) a7 b( K$ s) x! S1 {
% w7 a2 V5 |8 k* t$ c
#ifdef __YENV
. f5 A# D9 z/ w5 z/ D3 Z/ G
pLight->Diffuse.r *= 1.1f;
. b$ h! d6 T7 X% e
pLight->Diffuse.g *= 1.1f;
; x6 V" o0 ?( }7 r
pLight->Diffuse.b *= 1.1f;
: U4 X+ b, N/ ] F3 J! F
// oˉè* ??à?
# n! j5 b' L5 {
pLight->Specular.r = 2.0f;
, Y9 `! i+ R: D# C/ W! S3 ]
pLight->Specular.g = 2.0f;
: S) D* |0 A2 d. X: M9 a+ y
pLight->Specular.b = 2.0f;
1 b. b7 ` I% Q$ W
// á?oˉ
% a( T, Y+ A4 B& o
pLight->Ambient.r *= 1.0f;
2 q% u, n& K' _8 D# Z
pLight->Ambient.g *= 1.0f;
: s* g7 l) B/ l+ p f9 ?+ E" ~
pLight->Ambient.b *= 1.0f;
7 @) j2 O: M' A% T: V1 H0 K" G! ~
#else //__YENV
- N+ D% h# p% e5 R* v
pLight->Diffuse.r *= 1.1f;
5 w3 n. i# Q6 i3 z6 o; B; f; d& l
pLight->Diffuse.g *= 1.1f;
$ L% e7 Y+ K) K- y
pLight->Diffuse.b *= 1.1f;
0 f" ^' e" I; t- I
// oˉè* ??à?
0 v6 g2 P0 j9 u$ I4 C# `
pLight->Specular.r = 2.0f;
& E* |5 }. ~ Y. W/ j
pLight->Specular.g = 2.0f;
4 H2 m- ~. H# d1 H7 Y7 D) V
pLight->Specular.b = 2.0f;
' @" w; r. I2 E/ }, u& F0 I
// á?oˉ
" s( ?2 T8 V6 }& @
pLight->Ambient.r *= 0.9f;
) l" f/ S7 L9 ?; S
pLight->Ambient.g *= 0.9f;
6 J4 ^* i( L+ H
pLight->Ambient.b *= 0.9f;
5 |6 e- C% P* m! t0 z; u4 F" X
#endif //__YENV
8 a: E9 n7 l# u% D5 j; h/ ?
- |9 v0 o3 r, W0 Z1 K% W
memcpy( &m_light, pLight, sizeof( m_light ) );
; ]# X! T a2 o. q. R2 P. N
" t6 V5 N- {4 V$ O, A( m& x6 i0 c3 p
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
' B' j! F9 C; L# K# v F- H
D3DXMATRIX matTemp;
) |3 D1 t2 J! S- F& u$ Y* N. F" e( Q
static const float CONS_VAL = 3.1415926f / 180.f;
5 o- g" B U! \ q* I4 t# ^: ]
0 I: B% M! d) J- M) Z
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
: E8 Z; X/ v! q
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
4 W0 |8 C2 [6 A. d/ _" N
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
* r8 o9 n* k @/ P7 Z. q9 f2 H9 R
pLight->Appear( m_pd3dDevice, TRUE );
& K5 R, u' H I) T8 k/ i. w
" [' K) Y+ S4 i4 o
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
5 p/ {* ~3 Z; p9 Q% ]3 u" }
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ [( M" X; \5 u" j5 A1 c
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ v# E$ M- F: I" l! N) i- m$ x
* B6 w" Q% Z: S3 F
DWORD dwR, dwG, dwB;
: t/ T; m. D$ [( k& E: J
dwR = (DWORD)( pLight->Ambient.r * 255 );
% J& T; S3 \. x; r* {
dwG = (DWORD)( pLight->Ambient.g * 255 );
+ y/ {% m* A4 k6 ^* v7 |0 U
dwB = (DWORD)( pLight->Ambient.b * 255 );
( e) v' T2 r# e/ i9 N" o& w5 z* `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
# x, A1 Y$ l+ A" S8 y& a
}
' i# o/ r2 m4 o1 j; Z! W7 i+ O
}
}# {1 V$ m2 L3 q! G3 `1 G7 {
' p9 G+ A- b2 P3 u" `$ _ u
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
& T+ r! H, ^, U
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) );
) T/ E7 v& y0 u, p" p
::SetLight( bLight );
! [: ]( a1 N0 |3 W# Y
% D& S& {; D8 l: W0 [
// ±ao? ?D?í???ó á¤à?
2 O, O; k- |7 g ?
m_pd3dDevice->SetMaterial( &m_baseMaterial );
+ x" L) w; E/ z' E+ W* X5 B* W# \
# o% }' g/ U" l3 P, f6 n
#endif // not WORLDSERVER
8 q% d! j6 k! [4 H
}
2 u/ k' [. C2 Z& y7 v
并更换
& [4 v3 p" O: J
Code:
+ q* L/ Q8 E: u/ u+ I8 V1 C @
__FLYFF_INITPAGE_EXT
' @6 N7 u d6 }( O9 ~8 n
定义
6 b% O4 N* S! r+ N8 d
- {+ M" q. \8 n" T* a5 X7 Q
) X2 B$ [$ M: x- Q
) E8 l, q0 V" x$ Y6 Z( Z
5 x$ u$ o' V& ?8 Q( H' N* q" B
现在终于删除我的狗屁加速...
) f7 J* Z- w4 v: Z
" A6 a+ t( {0 I4 V) V9 G
4 Z7 m* |4 F2 K+ {- T2 ]: l
) d+ h: l: X; I. o0 t& F$ c: X: V- H
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2