飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
9 A8 K1 e7 J7 B6 b
尾翼:
+ ], T' E4 t$ d, [9 v
- @9 ]0 V- k4 K1 `; W% B% f9 p0 {' x
代码:
% Q% @) X2 ~, i9 j- _9 M
CWndAutoFood::CWndAutoFood()
3 f. C3 m b9 m# [: k
{
' N7 L) @$ c9 D- E* k a( a& S; Q2 j7 @
m_pItemElem = NULL;
2 d. `' |' Q$ e) {& j
m_pTexture = NULL;
/ u r3 G: U! ^& U2 } ]
bStart = FALSE;
: E! @6 ]7 c& t* D! @2 l
}
2 O, D* S& l3 @! k
- I5 W: h; j, ?
CWndAutoFood::~CWndAutoFood()
, @$ R1 Z G; G$ c
{
! ~4 n6 u5 l, k4 B" V
AfxMessageBox( "AutoFood ist gestorben
" );
* k1 ^. C- e8 b, O; t3 C
}
1 g# p# N) j; M9 x6 x1 A
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
( O; O6 P9 L" @2 _# ~
{
# v B. o A8 D4 R% t8 U! m
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; W2 ~0 A% L) {6 q2 l; p& Q
}
6 S P) D% X: Y) U1 Z& U0 u
3 o- @! p0 x- Q! I2 l0 O# ]- D
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
/ _! `/ h+ U( B0 k
{
8 l/ ~# ]$ o& a! g8 e% L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
# |5 b1 H" S5 r# [
CRect rect = pWndCtrl->rect;
& A! T" _5 s; `, y& x' A3 `
if( rect && rect.PtInRect( point ) )
* |, X% M+ P9 A5 ~' n; I: u
{
7 t% q- S* K* W# J" w/ W( Q. K
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
7 V2 K/ J# `9 x9 b
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* G5 T2 V% @7 k/ f
{
: Y9 }% K$ j" g" |' w+ E, F1 G
if( m_pItemElem )
* o+ j+ @6 i! o
{
2 T* N% l* {% s6 ` F
m_pItemElem = NULL;
2 \6 I' B1 @- ?& p. q
}
: M, v! s6 S$ y4 k& }( x3 l
m_pItemElem = pItemElem;
" V8 M$ H/ u) b. S
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 k% Z. p4 F/ b- n' e
}else{
+ t* F1 D; ?4 ]5 \- z; d* M
SetForbid( TRUE );
0 T$ e# q+ B. ]9 C3 f0 r! h T
}
, }! P# }6 u8 j' d
}else{
+ Z: O/ }# h5 s2 ?
SetForbid( TRUE );
- ~5 U7 Y7 ^$ i
}
, p$ @1 C1 O1 G8 P) k( h
return TRUE;
1 t' z$ X: |5 v+ b1 Q
}
& Q4 r+ }. k8 L2 h0 y
& N3 p% I' R9 H& M8 T
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
# m- F7 O" [; W& v( I* \$ ~
{
# A" l( _- Y u0 @/ P7 T* a0 i) a- }
switch( nID )
. |0 L4 z! O2 z" i; S
{
2 @! s* v. R0 P/ |& O/ L* Q& T# E
case WIDC_BUTTON3:
+ F" V5 q$ ], i( F9 l
{
; C/ [ q% i: |" g9 ]1 J5 d' g
bStart = TRUE;
" M9 D6 h" \3 h! Q; G
break;
' s( t/ ^/ Q4 e2 U0 ~" U" B" O
}
% `: V5 s& i6 H& P1 X. h" Z
case WIDC_BUTTON4:
- F d' m( V0 l, d
{
9 Q5 R: u, G0 `7 z
bStart = FALSE;
7 y( w) d* F8 k; x
break;
) \/ K1 R1 p4 I7 c, L
}
/ \: K8 v; w# G4 @
}
- D2 Z) t8 A# i6 Q6 h9 a
return CWndNeuz::OnChildNotify( message, nID, pLResult );
: i j- ]9 }* U. l- | {; t
}
3 P* Z& s/ `2 z8 v6 i! S$ R
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
. C7 c! O/ q; a) o& F
{
( z! G2 f: R3 X4 ~( \* J( n
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
4 T* e1 r" P( k1 R# P
if( bStart || !m_pItemElem )
+ j: ^, t. i9 K9 M: m8 F3 Q
{
$ ^1 y @: L, \# [2 _% b
pBtn->EnableWindow( FALSE );
& m4 C* D6 y6 Z
}else
8 H+ r8 S8 D. m$ r: t
pBtn->EnableWindow( TRUE );
4 E% S7 n; ]% @/ O4 S% t
if( m_pTexture )
5 Z7 W6 U( l$ o; D+ m& _
{
G: A: m7 w! z) |
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. S5 j, E8 c% }# F5 }6 \! \7 A0 k5 O
if( wndCtrl && wndCtrl->rect )
" n( f! Q8 X8 ?# q
{
/ o! L, x! _( T+ {2 p! I, j
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
+ D# O6 V3 b' H2 f- e) ?
}
9 _$ Q* ]' i: R
}
$ ] r j4 B4 E, A4 p1 z
}
+ C3 Y3 V. a u. M2 R0 ?. B. q
9 g5 e4 u# w; v
BOOL CWndAutoFood:
rocess()
3 o9 O8 T6 q& U8 V( E, P
{
( k* u+ y4 n1 j. a" D) b
if( bStart )
9 H8 d. k/ G* A$ k! W! G q
{
, P/ p' V( l" a; u* |
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
+ @ u' _6 ?1 A. M% ?
{
* ^6 I. m5 J4 F4 T4 v1 ^: u7 H* D2 |
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 i2 r m/ J# A0 i; @
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
' N1 h' }8 Z. P6 v# q4 U
}else{
$ V4 ^+ Z+ I" C+ E! }- w. ~6 C
bStart = FALSE;
o3 R! z N0 n( C9 L; S( W( y" v7 r$ k
m_pItemElem = NULL;
3 l {! x; C( @! L* o/ l' @
}
1 ^) J( ?& c" A& e& A4 }
}
+ @( l0 W( k( n
return TRUE;
/ c ?4 I7 Y$ z/ z& r% t
}
) C9 X( n1 L E8 l
5 A, U! q2 e2 O0 ~
登录视频废话:
& G7 P$ A, q; e7 V7 P/ `3 x
尾翼:
/ Z) v; z/ \$ D; `$ e }% ^
n& A: k$ `+ T2 |8 _8 [4 d
代码:
) |- u+ B& m) ?1 }7 i0 Z) @( t
% v3 I5 h% p+ O: C' }" Q4 x/ j& D/ Q
void CWorld::SetLight( BOOL bLight )
# ?% ]+ p6 Z" [6 S* j
durch
s3 l0 F1 ~( W! C
Code:
5 J' O! e) X! F% w& p
void CWorld::SetLight( BOOL bLight )
$ ?9 \7 k9 F, s4 x9 L8 F8 R7 u& z
{
" p# C6 K9 \7 _ a' R$ |: W
//ACE("SetLight %d \n", bLight);
. P9 R) y, q2 w
$ A' ?0 F. [* \8 E" y, o/ x" s+ F
#ifndef __WORLDSERVER
1 a8 u; Z- e" L
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
8 _# P/ ~8 E; l3 [
CLight* pLight = NULL;
0 x; C3 j! T! E! l' \
% }6 Q+ G( k) y! \
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
4 g2 \( W. u" E0 z( W6 o& ^
8 G3 Z# x" P/ @; W3 g0 `
pLight = GetLight( "direction" );
* Y) @( I2 q# e( Y# T; m
. L9 c/ c" m2 D5 d Z# r0 f( O1 g6 U
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ w; m7 O/ {( I8 I. g2 B
if( g_pPlayer ){
- ~* M# o5 q* M
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
. k& Q, u5 C1 x* u9 M8 c% u ~
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
" l% ?( V! p2 J ?8 k8 c% O+ o
{
c& `$ a! H2 k: Y: t3 R; y
if( pLight )
$ o5 B9 F7 ~& J E: V
{
3 E' k' a* ]9 Y( V4 ~+ @
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
7 S/ ~, C. a7 B8 o% }
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
- |, D3 P* |; h, B% M6 x8 z$ F
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
! m) D) [# r% v( B& V; H% } c
( T0 F0 x2 Q" n) w4 m- ^
pLight->Specular.r = 2.0f;
1 e, J5 d2 I; m# I6 \' E1 j7 c
pLight->Specular.g = 2.0f;
; [8 ]) ~3 c" ^
pLight->Specular.b = 2.0f;
V, {8 E; U9 I$ k4 g
! |1 U0 ?! G3 @. Q4 T s; G* d
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
* a* k/ S1 I; H1 B) G: f6 f
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
1 K5 _, j+ r/ N5 T& Z8 Y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ @2 y; g- ^8 b
% o5 f7 k) e/ T9 ]
HookUpdateLight( pLight );
+ P, T* G7 G ^8 E9 u& r: C: a7 N8 @
9 h6 F, ]2 m8 ?0 e' Y% n& z" h+ x6 F: s
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% Z9 Y* n* I6 r3 ]% V
1 N5 K* I& ~- T a7 H
pLight->Diffuse.r *= 1.2f;
; Q3 w3 L S m. X. L2 J- V, }
pLight->Diffuse.g *= 1.2f;
% {9 t9 a: P8 F
pLight->Diffuse.b *= 1.2f;
/ l8 m9 r" ^1 u' W8 D0 q- H2 q
) g4 z1 N+ f1 a2 O9 Q% u* D0 ?
pLight->Ambient.r *= 0.8f;
: ?4 n" E2 T2 }9 K2 f
pLight->Ambient.g *= 0.8f;
' W9 z6 c+ e! L/ v2 m% a# A
pLight->Ambient.b *= 0.8f;
0 @5 F7 T) a: Q0 d8 Y, k. k
: H, F, M2 I0 Z H9 S: J
memcpy( &m_light, pLight, sizeof( m_light ) );
+ S& ~6 \& }$ ]+ M5 t
" |' ^+ `; |: Q" u$ r0 Y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
! q- \- q4 i, a
D3DXVec3Normalize(&(vecSun),&(vecSun));
S b6 N" O8 w$ [& ^! v/ X
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
* K' v2 D/ N/ S9 L
pLight->Appear( m_pd3dDevice, TRUE );
* Z j1 L6 I w' N- k
9 B8 W& g- T) I# M- b F% R% d
DWORD dwR, dwG, dwB;
6 y$ R' A3 ^: Z( R7 p
dwR = (DWORD)( pLight->Ambient.r * 255 );
1 O& c2 Y- x: j+ N" X% y( Q, N3 Z
dwG = (DWORD)( pLight->Ambient.g * 255 );
# [( w& t! u8 s& j$ `6 @; Z
dwB = (DWORD)( pLight->Ambient.b * 255 );
; \* V; |4 p$ [6 E) C6 A+ X: q+ L
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
' h7 H+ w' F2 I
}
0 G) L- d1 X U6 z8 z
}
& R) T& M0 r; q2 [. a
}
$ D5 _, e N8 n) p. s
else
0 O4 M" C4 F, e, c1 } c* m
#endif
! |" B9 x: t" Z
+ L3 g0 n) A$ H) u! f) O. F% Z
if( m_bIsIndoor )
; j' _, @& k0 C# K9 G/ x' K) @5 M e5 T
{
) T- f& Z6 p9 m, ~$ B
if( pLight )
w6 Z) V& `4 ]9 _) B) F$ |
{
/ T+ d6 @1 b9 r
// à??μ oˉè*
& b. M8 ?' a9 N5 W8 I
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
. S# C0 v0 X D% O- f8 y
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
. w- p/ X. G4 H* c5 h9 W0 x. C
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
$ O: C; A" C& _+ R; w
[6 U; P- j; C- N; F, K
// oˉè* ??à?
) {( C4 M" U, h# I$ F( D3 m
pLight->Specular.r = 1.0f;
# W! A% H# x8 v) ~0 f+ R
pLight->Specular.g = 1.0f;
' N1 f5 I, G0 m) X" p
pLight->Specular.b = 1.0f;
5 l; ]) ?$ \# ~- t0 ^# n
// àü?? oˉè*
; l: n: D! s! O. ?# o
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 a" t8 E x' s' w
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
3 d; ]' G# a8 R9 Z/ W( N( Q9 P
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
% N2 G3 c3 f9 R) r0 R# V
1 A) Y6 p# w/ P- r: m. o
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
" Q- x$ W. R& D
{
# J$ Z5 ~" e) l/ j! E
pLight->Diffuse.r *= 0.6f;
0 V1 D2 S+ ]+ E0 Q3 U
pLight->Diffuse.g *= 0.6f;
$ ]3 P; ~% I, Q' d( a/ {) \/ F$ P
pLight->Diffuse.b *= 0.6f;
3 h6 l% ~/ T; Z6 {$ I
pLight->Ambient.r *= 0.7f;
: O5 o( R& _- L3 Q b3 k
pLight->Ambient.g *= 0.7f;
6 ?9 R; f- S5 }
pLight->Ambient.b *= 0.7f;
2 j1 d, c! g; y; b: f7 D
}
* E: T1 w% i2 Y: `* o2 h, _: m
' }; q5 X/ D4 D/ }" [
#if __VER >= 15 // __BS_CHANGING_ENVIR
( Z2 B- V0 _) w- W- }, E# _( l
if( g_pPlayer )
3 Z+ H* w+ x# H; O# m4 C, w7 F
HookUpdateLight( pLight );
+ V/ p5 m! b( X
#endif
2 W/ s' n5 z4 Q G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
( r0 G( \; o* [% V
# I2 H% _2 e6 B' ]. z
pLight->Diffuse.r += 0.1f;
! m" m. k6 m& h9 f0 U0 ?; e5 U
pLight->Diffuse.g += 0.1f;
- e2 E9 |1 W8 \ F4 [! N$ f$ c& y( P
pLight->Diffuse.b += 0.1f;
3 L* E# J! t, D- `! g. t& q4 L
// oˉè* ??à?
# [, r5 }' c3 r% i# k4 v) p# V
pLight->Specular.r = 2.0f;
7 l+ h- t: c1 J1 h
pLight->Specular.g = 2.0f;
5 }( m2 T% Y' e" ~' g
pLight->Specular.b = 2.0f;
/ G# y* r/ c1 I6 _/ r+ ?0 n
// á?oˉ
7 v7 o( ^& {0 W2 U8 P3 L) {" Z& n
pLight->Ambient.r *= 0.9f;
8 D( ?( ^. q- ?/ d8 G$ z" r5 R% F6 ~" J
pLight->Ambient.g *= 0.9f;
3 M3 {8 }6 L" l- u( K
pLight->Ambient.b *= 0.9f;
' I2 C y4 T. R! S$ Y2 j
3 @# f2 \' g$ \+ j* a) K4 z. b, h' K
memcpy( &m_light, pLight, sizeof( m_light ) );
7 N; d1 Q9 S; c" _
" M2 u3 F* e0 f3 f. R
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
; m8 Q+ D+ ]8 Q0 X: g, B5 n
pLight->Appear( m_pd3dDevice, TRUE );
; G4 z/ k% G9 s% G8 [3 W
) h2 w' m t3 x& o# x2 }
DWORD dwR, dwG, dwB;
1 M$ K! g1 ?- E; X* I
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ N5 M" {5 t& ^# V5 y1 R* W
dwG = (DWORD)( pLight->Ambient.g * 255 );
! L4 r. a3 v) g( z7 H! O) V
dwB = (DWORD)( pLight->Ambient.b * 255 );
- U- q; y, F$ d' _' X5 I5 j
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
2 I9 P) {$ m! e3 q2 R% ~4 ^* T- |
}
- z$ M* l( ^/ S. w1 D
}
$ {! H' h: e* A# Y: F# B2 u8 s! C
else
' _ }7 o% T n0 A X
{
1 ]* C( ? l$ I/ V2 B
if( pLight )
3 J7 \# G; A6 i: k$ c- P
{
; s9 p v: y) ~, |6 y: y& O
( Q% m& U* F1 m" S; P
int nHour = 8, nMin = 0;
}; ?$ {7 C/ D/ T0 P- g. I. z
#ifdef __CLIENT
7 _( K% \! L* }* Y1 \" k6 A
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" \& F: u5 Y( U, ^0 O+ y6 c
nHour = g_GameTimer.m_nHour;
! i. S4 H1 y6 }' d+ D/ |
nMin = g_GameTimer.m_nMin ;
, c$ Z8 i. d& s0 g, k
#else
% Y' A" ]: b- Q
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
8 G6 M8 X; @! }) U- Y6 I& s) |: w
if( m_nLightType == 1 )
. e0 w: X8 W% {2 K/ e
nHour = m_nLightHour;
. G& ?( W1 Q% ^ z# X: b
#endif
8 X8 b% S- `6 z0 N
nHour--;
4 |/ P! o7 s1 e# k& M! e
if( nHour < 0 ) nHour = 0;
+ N/ v% ]5 W5 T1 L; ~" ?
if( nHour > 23 ) nHour = 23;
, q+ J: a3 Q8 M, Y( a
3 V6 n7 x! m8 y# z% f. d2 w
//if( m_bFixedHour )
; m! p* y, R, `, s5 g. [
// nHour = m_nFixedHour, nMin = 0;
( [4 m" k1 Y g8 r/ E# G6 Q( I
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
9 q% \3 G, y5 w6 z4 S: [
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
7 x* o: b1 n6 t% E4 X8 Z# N
5 s5 ]3 D6 Z8 @5 j( Q9 m6 G
//m_lightColor = lightColorPrv;
; P/ I, }" Q9 ^# o
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
1 F) A; O0 T3 e; Y. d: H. i9 r
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
% e* D X8 O; J! P; v
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
# R# i: K( h" ]
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ u2 s* m( D( n' c& Y+ w
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! d7 n4 E' |) _5 X9 u8 Z# [ B$ _
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
. m. Y0 E, }* \9 [
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
& R4 s0 v9 ?6 k( L0 Y- Z
! [ b& ?0 k+ o, i) A) J
// à??μ oˉè*
4 b; q4 ^" ^; B5 n. \5 L# a0 A
pLight->Diffuse.r = lightColorPrv.r1;
0 R) O& f3 O3 w) ?
pLight->Diffuse.g = lightColorPrv.g1;
* {! e/ O. f( y* Q5 I
pLight->Diffuse.b = lightColorPrv.b1;
6 o, f" |9 K$ |" v; b
// oˉè* ??à?
3 g, V- G+ \2 O* k+ e' _! i
pLight->Specular.r = 1.0f;
) L Z9 ?% v+ Y4 i
pLight->Specular.g = 1.0f;
& H/ w. L$ U9 w2 E
pLight->Specular.b = 1.0f;
_; r2 z. N' W+ l
// àü?? oˉè*
H; \) X% r0 H* [, L: l8 \2 y
pLight->Ambient.r = lightColorPrv.r2;
0 J$ P7 N. H! K8 ~/ |
pLight->Ambient.g = lightColorPrv.g2;
$ @: r! o6 N, o) }. ?+ }
pLight->Ambient.b = lightColorPrv.b2;
& }% M0 b8 g# O' a& n
* c4 S* x D8 f& C) O3 C1 k
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* P! A" Y0 Z4 W9 @9 c. _6 Z! r
{
+ S9 g8 l9 G: h% H# G
pLight->Diffuse.r *= 0.6f;
6 K' D0 y7 \3 G' H
pLight->Diffuse.g *= 0.6f;
% y: h# R, d3 j
pLight->Diffuse.b *= 0.6f;
. B! d- ]% l# c4 Y
pLight->Ambient.r *= 0.7f;
5 t9 i' I8 D) Y, [
pLight->Ambient.g *= 0.7f;
5 C. p; {* k5 d. s
pLight->Ambient.b *= 0.7f;
: X: W) V$ [4 E! K# Z
}
5 U E+ z: ~. R
; ?3 y. A0 H& P4 J6 d! u
#if __VER >= 15 // __BS_CHANGING_ENVIR
& r, F$ r8 v$ w! g; @
if( g_pPlayer )
/ k. v5 [3 u: O+ S
HookUpdateLight( pLight );
/ z" D; E( A* ]5 I
#endif
+ e/ E2 h. Y. s; R
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, c( N, h" p4 u5 u( U0 T; G d5 O
, }/ n0 G% r1 D! A9 P# M
#ifdef __YENV
! t# z( I: v1 u% k
pLight->Diffuse.r *= 1.1f;
& u( M/ |! w% l2 I v& O
pLight->Diffuse.g *= 1.1f;
0 z7 ]/ v. l3 H5 {8 A! X
pLight->Diffuse.b *= 1.1f;
. b6 X k+ D. g* l v, r; p
// oˉè* ??à?
# ?2 e, ]! \# e0 @8 d" L
pLight->Specular.r = 2.0f;
. \% Z8 \3 j6 e+ _0 W6 y& P7 ?
pLight->Specular.g = 2.0f;
+ q4 y$ k) Q# Y: p
pLight->Specular.b = 2.0f;
Y2 E5 z/ f/ Q4 k' w; ?
// á?oˉ
7 [4 p1 d0 x @& N& h9 d
pLight->Ambient.r *= 1.0f;
, g! r( V1 W, D! r
pLight->Ambient.g *= 1.0f;
! k) n2 D6 C$ C, _4 N
pLight->Ambient.b *= 1.0f;
4 i& L& L1 ]& m7 K# _$ A4 ^* B
#else //__YENV
" ?0 \+ R4 Q$ |( l0 ?) t+ s# D
pLight->Diffuse.r *= 1.1f;
9 U L0 Y' P' G+ x4 o2 @& ]
pLight->Diffuse.g *= 1.1f;
- S8 _3 o9 J; Z! O8 q
pLight->Diffuse.b *= 1.1f;
( ]) U8 w, T! O3 Y! p+ n! @' }
// oˉè* ??à?
& D8 D; Y2 g; i, W0 F$ ~
pLight->Specular.r = 2.0f;
$ x8 L2 R( r/ q: r
pLight->Specular.g = 2.0f;
" [- G7 P& f* K9 x: H
pLight->Specular.b = 2.0f;
! s& Z4 M$ j, M9 u
// á?oˉ
3 J R" W; c+ w l" n& s
pLight->Ambient.r *= 0.9f;
( W" J& ^- t8 o# ]# ~- @" {# q
pLight->Ambient.g *= 0.9f;
9 O: p4 v0 x+ n1 a% z
pLight->Ambient.b *= 0.9f;
# f( i% X, ]- p& N8 m" f5 Y# k' q
#endif //__YENV
( }! m% z. s U8 E% M1 l
* N- l9 W4 b! |* B( U2 o' u) f
memcpy( &m_light, pLight, sizeof( m_light ) );
`5 c$ p0 b- w- `7 s
* l+ W) c7 ?8 z: M
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
" G: p9 S& p% t7 k. W# B# B% S
D3DXMATRIX matTemp;
' B* a k% y, Z% }( i4 X
static const float CONS_VAL = 3.1415926f / 180.f;
6 o* F4 h7 E; G r+ V7 H
* P# F# {( K/ s4 F
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
5 n8 W. S( \. \! u3 m7 }4 V
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 W S0 R1 n# Y* }+ l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
+ F: s: `3 H% w% V5 z/ Y: V
pLight->Appear( m_pd3dDevice, TRUE );
; L/ R# \1 {- E3 |
" b! v1 C( e: \5 ~# A
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* q* N4 _1 v6 n2 ?6 P
// D3DXVec3Normalize(&(vecSun),&(vecSun));
$ l& D' {8 X! ^/ Q& a k
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 t( e% f3 }$ l2 F, Q
& x+ {7 i9 X; [. S
DWORD dwR, dwG, dwB;
; s' C! v9 \ u
dwR = (DWORD)( pLight->Ambient.r * 255 );
% }! ~# a9 \ q
dwG = (DWORD)( pLight->Ambient.g * 255 );
, {; U6 L+ q, y- @, N) i2 x
dwB = (DWORD)( pLight->Ambient.b * 255 );
1 v* j0 z1 t% x7 m2 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 ]* o3 P! ]$ H
}
) y. S1 a& E' q; j6 \, G+ e
}
. {5 G( H( {6 \2 [2 I
9 ], {6 W6 j% |* t; I2 N* C
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
7 t1 u" n& @* J! i; A
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) );
7 I2 P& a9 D8 Q( c. T
::SetLight( bLight );
5 v6 n1 c0 g* x ~( I
1 m" {; b9 r; ?3 K5 z. s
// ±ao? ?D?í???ó á¤à?
3 O4 _, |! n( p i8 c0 Q
m_pd3dDevice->SetMaterial( &m_baseMaterial );
& C9 d0 G3 u/ S
& @4 m5 }/ h- [$ Z0 R4 P- d, D
#endif // not WORLDSERVER
* h( q6 M4 Q0 S) F2 [4 a; c( L
}
0 i3 P' e. C f# n4 ?5 R4 }
并更换
3 c3 X% @# W9 Z8 T% @
Code:
$ {8 @# U, a" {6 `/ \1 F/ F
__FLYFF_INITPAGE_EXT
1 w) U& L$ R) E+ C
定义
# w0 d4 _$ U5 ` h2 ^5 o& V6 ?
* F) c- E5 T/ ]3 u; f
' Y2 s4 Z$ f6 p+ N6 r. m5 y
) r5 ]- F' s" n! D: W
& J+ Q1 G0 G4 h1 V [: c
现在终于删除我的狗屁加速...
0 E2 G" N7 _0 `0 m5 D0 y7 B2 J
' X2 c4 |2 Q2 ~
. K+ X- s! U; m8 ~( w
2 a% T2 L) g E5 z
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2