飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
1 l/ _( u4 n/ D# |* U4 x
尾翼:
$ O. w) A, R, y
8 b# C' e* `+ [, _
代码:
/ G$ Z& }7 Y/ V4 x3 H
CWndAutoFood::CWndAutoFood()
( O4 P$ J% T2 E1 {, F' ~3 o
{
. j3 r7 S7 a& y+ ]3 g
m_pItemElem = NULL;
$ s1 d) `% K; a, e) N3 H" p3 ?
m_pTexture = NULL;
2 B5 [6 [) a3 y2 ?/ l: s! R
bStart = FALSE;
( ?4 o2 j" N& J+ V
}
: d+ G2 P j0 W% `0 C$ @- z: Q1 J
o# X: O; [% L6 @ D8 Q8 w3 q
CWndAutoFood::~CWndAutoFood()
. ^( y# O2 k3 \# H" {+ h" n4 k
{
. Y+ [% y, m& h
AfxMessageBox( "AutoFood ist gestorben
" );
: b* q( L% S; ], X! {& ?1 m% d
}
* c% X! B. ]) C$ g* H' x
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
6 E0 N8 t1 ~/ z6 g& ?- n1 X! k
{
; M0 S6 j9 K0 Y4 A N
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
* c3 J9 P$ K* o9 i
}
, H( @& O9 t& _# k
" y1 B3 ?, O9 @- P3 H) _
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
. p2 ?$ o: C" `. Z' S0 o2 k4 N, ?
{
6 _4 l" w) t( \ @. [
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
! I! u2 D* J1 H- r3 E
CRect rect = pWndCtrl->rect;
3 U+ E* I$ ]# h4 r. [. i6 J
if( rect && rect.PtInRect( point ) )
% x$ U! i: M J9 j1 Q4 g
{
8 }' N3 i3 F! K5 z, C7 h
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
4 Q2 s: y3 w- m0 D2 Y$ m. P
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
1 F$ [) | \6 X
{
% G; F3 G4 R' L% O4 ]
if( m_pItemElem )
# a7 g0 t5 k% U; l3 P
{
! h) c+ ]) a0 ]+ Z' Q) s; m9 J/ {, j
m_pItemElem = NULL;
0 g G4 o: r) T! N/ ]* D6 ?" c
}
9 d4 k+ X @' {/ Q5 G0 P& ]1 ?
m_pItemElem = pItemElem;
% c0 P# j& E( M
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
7 {& h- C. p/ Z3 g' W
}else{
( o5 [ c2 C2 Y! S9 _
SetForbid( TRUE );
B" U9 Y" M$ r. g8 Y- @
}
% `& l; ]: P" M. L5 p- r
}else{
9 Q9 g8 D9 S f& x% Y; O% M
SetForbid( TRUE );
/ X* Q; i9 L- p
}
- M0 R$ w$ r+ ~7 b; O, H
return TRUE;
0 F& @( W3 w& G! Z) p8 p: x
}
6 r* J1 P- M" S" R" D" g7 f
9 O p) o2 }: o) H/ S1 v6 E
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
$ \) L+ t0 J5 `" R% E$ Q/ }
{
s$ q5 [5 B0 A: J8 g
switch( nID )
/ l5 f5 p4 S1 W) E7 f: z
{
0 s2 T# S* [, B7 N5 \
case WIDC_BUTTON3:
5 F1 N$ x* _( X% \0 o- f) ?
{
& R8 `" G1 t9 w% Q! M: X
bStart = TRUE;
6 w3 R3 b. x: }) z; y7 T
break;
, X+ A9 z; b. U; q
}
! z: e# a% I! H& X/ M: L
case WIDC_BUTTON4:
. k$ i, u0 o& g4 h1 _9 H
{
/ q5 F6 d( t7 [- g0 t, P
bStart = FALSE;
7 k, b+ W, u) o
break;
8 h1 z/ \; Z6 m. \1 C/ Z
}
5 L0 p* m/ u- G/ B* x6 `
}
- ~# r4 P. ~4 @, f" t
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& k3 y( r! J9 h
}
# W) T( A: n: r. y
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
9 l+ X. Z4 `0 L y/ a, R
{
. H/ J+ h( }/ ^; o) l
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
" v6 h& k/ M: v' O; ~
if( bStart || !m_pItemElem )
$ O, h2 V/ ? \4 [$ B# Y
{
0 H5 q. M, p# `, r/ B2 g
pBtn->EnableWindow( FALSE );
+ Z8 O3 i. Q0 ~$ K7 O+ `0 p
}else
/ K$ ?! F# L; @1 p& g* F* W
pBtn->EnableWindow( TRUE );
d; v' D; n" q% K
if( m_pTexture )
+ e! o9 h- U k: ^) _- b+ D
{
5 v" m1 R6 [& p( \) N
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
" Z" R6 U. Z& t2 x3 \" A- |3 y
if( wndCtrl && wndCtrl->rect )
) @4 w/ i& u$ o
{
4 r7 q. t6 j& S5 _- t5 P
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
' a& p, Q9 Z+ Y9 s( p$ i. B8 x# T
}
7 ~# I% {6 ~- d" j: S. U) a
}
; B9 `% `/ Z+ A* ]
}
: ~1 Y+ N: S2 w% K. U: u
1 W- S" Z, |; F. `
BOOL CWndAutoFood:
rocess()
: L$ Y0 Z& v* {! T! x4 \
{
5 G* J0 C5 F; Y4 I/ N# y7 f
if( bStart )
! H1 j$ [" ]5 a a" y
{
! Q6 g( X, i& E) A3 s' v
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
3 Z" G. i) o: { L" Q
{
, [- ]5 i) q. l2 }9 h; g( T
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 q$ ~% G% x0 E" i/ n' {1 a4 p
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; Q) b: \0 W5 z, t0 G
}else{
* d) ^: \0 i2 |6 u8 |4 l1 c) j7 I K
bStart = FALSE;
# M3 J( f% ^4 a2 X y6 ~+ K/ S
m_pItemElem = NULL;
8 O+ t Q% l( y& M* y
}
2 G5 m' L7 j$ @1 [$ i j' |% ^; j
}
" v+ H0 `, F2 J6 [( d$ z, j0 Q- O9 n
return TRUE;
) h+ f) }4 o+ `/ H; N) x" e
}
3 p M4 ]! J1 {: G, }# H( ^+ o
& i- P1 l$ n& Q
登录视频废话:
5 q! P6 z3 f* I8 m
尾翼:
9 c$ E6 {: _' ^9 E+ x0 d
) @4 E6 S' d8 t ^
代码:
' C* A" X4 Y- L, r- ]
& w- c- ^8 [. g! ?
void CWorld::SetLight( BOOL bLight )
# C* J3 Q& w$ V& U; Q
durch
8 w0 `1 }, u+ U0 f+ y* u5 G
Code:
. E! T: `# d& D/ h, U
void CWorld::SetLight( BOOL bLight )
# f) b; N1 U; [/ S% Z0 C. u
{
6 y" s) ?: G4 W6 w
//ACE("SetLight %d \n", bLight);
. T) F$ c1 O( N3 A7 V, \4 D
6 x- o& `" j! I2 ]7 w+ h
#ifndef __WORLDSERVER
& Z% l: v7 W" j5 P- \8 i4 a* M; m) Q
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: W* ? p" I- Q2 X b5 p
CLight* pLight = NULL;
! r1 m6 z. ]/ x, X0 Z: n. x
. q: p' E* @9 m0 Z# [8 {/ E
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
% ]- T& A2 [: H6 R. \% O
[4 S& _% ^( t6 P+ N
pLight = GetLight( "direction" );
9 m+ b, o0 l% V: e% U, r# H- W
" c. Z' E+ ?0 `: u
#if __VER >= 15 // __BS_CHANGING_ENVIR
/ l' e( e* f5 ^) J3 M" g3 @1 H
if( g_pPlayer ){
1 _4 K1 [) E) M5 w& m
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
3 l2 P- o" P* f6 M
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
3 U# j" ], R* t# v# Z; y- g
{
2 |0 [7 t+ N; w& c" I
if( pLight )
* L! @: S" J4 q# ?7 s
{
, ^$ Y" l% F; v( \6 k) f4 S
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
" i: s2 M9 F/ G4 z% h) ~
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
' F4 U) ~6 K' V- b1 X
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
1 f) x$ o; ~! R
5 [0 a- l" \ x9 |% F4 Z+ m
pLight->Specular.r = 2.0f;
' z; P/ ?4 q2 [1 [+ K% G
pLight->Specular.g = 2.0f;
* X. T7 n" @4 \ ?% _- P- Y3 `) m
pLight->Specular.b = 2.0f;
; d: L4 d' t( }% O- l, Y
( ]$ N1 Y* a& C" r2 A z. B
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
( o) y( M4 ^. d2 q& V5 k, {8 M
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
& v$ E# H/ m5 @5 l/ O
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
5 f# q8 U+ Q0 V9 `/ Q) v# w
# q- V9 s' s/ o5 d) ]5 C3 B0 i& X1 r- D
HookUpdateLight( pLight );
- t) X5 J7 C2 z# N- ?' f0 N
6 F6 P# [# Y9 B$ [% l$ n6 `4 v
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
5 P# O8 g3 U& d8 ^+ i$ |: w
! ]0 H; T/ y8 C
pLight->Diffuse.r *= 1.2f;
5 f+ H. e! d/ v Z# M
pLight->Diffuse.g *= 1.2f;
1 C" Z( x" ^4 H& y; N- L* w
pLight->Diffuse.b *= 1.2f;
( C; D' ?$ i$ g, B5 u* K+ E+ p! e+ b
- ]+ @% |( y% r& V7 ^
pLight->Ambient.r *= 0.8f;
+ n) R' T7 G( P1 T# ^& m& S
pLight->Ambient.g *= 0.8f;
8 K: Y1 b+ J9 F9 @$ D% t% ^) P
pLight->Ambient.b *= 0.8f;
) N. x. r& X8 G% `- {
, f# Y- N; P& L3 A# x
memcpy( &m_light, pLight, sizeof( m_light ) );
7 B. }7 I1 [: h9 P! |$ m) p
" l, c$ e; H& ^0 q- `% e0 h3 k7 m
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
0 o% G {+ `+ ]% j3 N, r
D3DXVec3Normalize(&(vecSun),&(vecSun));
! S& ]. z# N2 h1 G5 z! |
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
7 f( ]) \7 j' b5 w; H+ v
pLight->Appear( m_pd3dDevice, TRUE );
# x4 c2 A" {3 l( D& Y
0 L$ L* h8 I# [6 K1 \: ^
DWORD dwR, dwG, dwB;
+ C$ o5 r. R" t
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ [4 b; B$ _- o) T" ~
dwG = (DWORD)( pLight->Ambient.g * 255 );
" N% a) \- t' F3 R
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 \% w7 ~( j; W( q2 q6 k
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" S. q: T1 K" G# s: M' H, U
}
1 c7 c0 J) k/ s' `
}
3 G7 _% I% }+ T: s
}
- e8 D; U9 }" q. e; f t
else
! p9 f. s# `3 @7 u2 G1 O, @) d
#endif
/ A% P3 w0 H, N6 U
3 e' ~5 e* Y. ]
if( m_bIsIndoor )
# ^6 I+ [) K3 h* G1 b
{
- v! W. i9 @! g# W& L1 {
if( pLight )
^5 P' x6 J+ z) p" O* O4 c
{
: T8 y4 `# r% {! j% n5 H
// à??μ oˉè*
y0 P( V6 K7 @* Y
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
: J' W# T* g" F/ T# \. B, {
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
' R$ D4 R7 s9 j0 Q- E
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
5 [! R! Z) q I' \( o
; z- S s9 k2 R) E
// oˉè* ??à?
& t( V2 L& d' p
pLight->Specular.r = 1.0f;
* m2 S0 f8 x$ t7 q) W# [
pLight->Specular.g = 1.0f;
- k" `/ s: N' Z! t# l5 k
pLight->Specular.b = 1.0f;
$ R# [9 s5 [; z, f
// àü?? oˉè*
' g3 o$ D A/ I7 L$ J7 F! m
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
$ O7 p% Z1 G) g' A2 Z) E
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
8 p% A) ^% J }' `
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ p+ v1 z% V. g- r9 u f1 P
; ] J& O* \8 g
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# N8 t: C' L5 f+ q- J+ y% E5 x
{
. Y$ A" `, x4 ]" U
pLight->Diffuse.r *= 0.6f;
! M) a7 d5 C3 c
pLight->Diffuse.g *= 0.6f;
2 E" B+ X6 H3 V' X$ O, U6 r" M( a
pLight->Diffuse.b *= 0.6f;
. w& T. |4 R p: u
pLight->Ambient.r *= 0.7f;
r( m% {' F( ~1 }& F0 q; a& e
pLight->Ambient.g *= 0.7f;
. z( d2 t C7 k( a# X6 _
pLight->Ambient.b *= 0.7f;
$ g0 n( V; A% ~: @9 C3 f
}
/ J d$ `& U+ w- l! m4 M' P* C
9 H9 G: O0 h% d% X( |3 n3 B, U; p
#if __VER >= 15 // __BS_CHANGING_ENVIR
5 i2 t$ ]6 _% O- ~+ K4 i" e% ~
if( g_pPlayer )
+ c- g1 R1 l9 a: t" }2 u8 _1 Z
HookUpdateLight( pLight );
8 M% y8 O& N# }, P
#endif
# U: }% r$ K7 H
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
. O5 W( B" {, f5 G4 I! n
5 h0 j& J! ]0 Y" D/ p3 T% A8 T
pLight->Diffuse.r += 0.1f;
) c. h% |6 `( G2 E/ m& | X$ _
pLight->Diffuse.g += 0.1f;
6 f: [4 o# }' [
pLight->Diffuse.b += 0.1f;
6 Y0 N5 m3 C% a4 d; g/ g% E
// oˉè* ??à?
/ D7 \# o [# R: }. ]
pLight->Specular.r = 2.0f;
" ?+ h8 w: d( Z
pLight->Specular.g = 2.0f;
$ t$ y/ T, G& d5 U
pLight->Specular.b = 2.0f;
$ [; ~ n# Z% e& N; Q! X. L& b
// á?oˉ
- z! K' Z- L1 v& A6 q, h
pLight->Ambient.r *= 0.9f;
; E& p4 H7 R& e9 P5 S' g: l
pLight->Ambient.g *= 0.9f;
. P7 M8 p1 i9 K5 X) x' ^! k: b
pLight->Ambient.b *= 0.9f;
9 F# F2 G7 w+ s0 S
. ~- V( Z' b/ W
memcpy( &m_light, pLight, sizeof( m_light ) );
, U+ `/ m$ b' S; M0 N
) d) a. D/ c7 x( s& ~! ]9 e
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
7 B% j9 ]" d: @6 O; d, X. }
pLight->Appear( m_pd3dDevice, TRUE );
& r6 v9 [6 O% ~( x4 R" @* K
3 n M5 U$ Y0 Y. _
DWORD dwR, dwG, dwB;
- P1 S8 J4 o8 i! ?; P$ `
dwR = (DWORD)( pLight->Ambient.r * 255 );
3 G. \0 C" {: j' D
dwG = (DWORD)( pLight->Ambient.g * 255 );
* D m, _0 E- J
dwB = (DWORD)( pLight->Ambient.b * 255 );
8 d% Q; r" j7 ]1 H& Q5 T' Z
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 V3 g% P4 I' A4 ]! {, W
}
; s% k7 Y& r$ `* b0 p4 k# \+ G. f
}
% i, K7 \7 Y6 ^2 ?8 T, N
else
. l' e" k& ^8 A0 r# F8 v0 L: c
{
2 \: m% T7 h' n
if( pLight )
" v7 w$ c I8 E7 U7 T/ u: F
{
- Q# M9 c" ?9 C, Q e$ m! n& b
+ S6 J- v F. V* K
int nHour = 8, nMin = 0;
+ o P4 E1 z5 \6 b
#ifdef __CLIENT
4 p$ {, ? e; e; Y
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
; l y( D0 V3 x5 I' r
nHour = g_GameTimer.m_nHour;
& c# c1 A! M1 u/ e1 m: t4 X
nMin = g_GameTimer.m_nMin ;
: Q; h: v$ A: [/ w$ w: D2 o. ~2 s
#else
" d3 S) d/ K V
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
3 x& n w0 d% |) |
if( m_nLightType == 1 )
0 t/ u. Q) {* j# s. Z6 _$ d8 x( t7 U- ?
nHour = m_nLightHour;
3 K2 m* R1 \/ q/ n
#endif
, b7 l/ g8 j" b- A" q5 U8 K
nHour--;
- \0 n6 W6 j' w7 V5 [/ i6 V
if( nHour < 0 ) nHour = 0;
/ J( t* u& A# ^0 |4 Y+ p: @1 A
if( nHour > 23 ) nHour = 23;
7 x+ v9 E$ j+ [+ R- D/ V) w
( `; J* N" H4 P3 r& k! Q6 y- I
//if( m_bFixedHour )
! m: ^4 ^/ M* c g0 F" F
// nHour = m_nFixedHour, nMin = 0;
% w$ z$ `. j2 k
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 ]8 Y: _ f! a6 I2 F# I
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
9 p& y5 C9 ~* j) K" _( D! J" Z
0 {0 f/ i; Y* m1 m" Z; F
//m_lightColor = lightColorPrv;
; _, x+ M: q J9 n
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
6 `2 i( q4 P9 t+ F/ N$ s+ j+ L4 T' v
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
L, P5 }4 n) H; S0 ]8 m- m K
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
1 Q% h n+ {* ?2 F2 i( V
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
+ i/ [1 }& r' X5 H
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
! t5 C8 f E* H' z+ @$ P
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
3 M/ P4 f3 C( O' r+ j% [3 |
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
?) s* t. b4 G8 ?5 G1 ?- @
1 S+ F: P+ b9 j% v5 t" z; a8 z) W
// à??μ oˉè*
/ L: C% f( l# {3 U+ N
pLight->Diffuse.r = lightColorPrv.r1;
9 n% c9 x, |) G! c
pLight->Diffuse.g = lightColorPrv.g1;
" c0 D. z) x, q2 D8 H2 Z
pLight->Diffuse.b = lightColorPrv.b1;
3 P! s. }! X+ w5 K+ B& u
// oˉè* ??à?
4 I, K! i6 |1 L0 _! m/ g7 m
pLight->Specular.r = 1.0f;
' ?+ z' q I8 a, U! n- v
pLight->Specular.g = 1.0f;
. u- F9 M& a: w8 }: P
pLight->Specular.b = 1.0f;
4 Y% ]# z) m3 c5 K
// àü?? oˉè*
, t* r) x! q* }: Z/ m4 B
pLight->Ambient.r = lightColorPrv.r2;
* p! Y* O& n+ |2 W0 D
pLight->Ambient.g = lightColorPrv.g2;
2 B6 z t( |( h# G) T1 k+ v
pLight->Ambient.b = lightColorPrv.b2;
3 f: Q# v# W: g( Y" E! T
0 v! ?" g1 o9 E; C
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
3 O6 q: ] I! ^ |+ q
{
' e! m! X& |% \( Z2 Q0 {' N
pLight->Diffuse.r *= 0.6f;
1 e) D! k1 u9 C$ a) [( X& f4 |
pLight->Diffuse.g *= 0.6f;
3 b( l4 T9 U; F
pLight->Diffuse.b *= 0.6f;
' T7 ^6 D# S- M& }! m; B5 d
pLight->Ambient.r *= 0.7f;
0 g ?. @9 n4 R5 Q% e
pLight->Ambient.g *= 0.7f;
6 u6 |% w, m# w T" `
pLight->Ambient.b *= 0.7f;
3 _! j/ I- v; z) D6 m! P
}
' y' h+ T* L; E( |1 l
, N* }! F( ~ E" F
#if __VER >= 15 // __BS_CHANGING_ENVIR
" ^7 r# n% G) A) P9 d
if( g_pPlayer )
: l# M$ B& m" c, q, W% C
HookUpdateLight( pLight );
/ J$ G" W% S0 ~0 A9 P) ~
#endif
/ o5 j/ j0 y8 C0 _. i
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
+ f" e) f2 A5 u# r! e3 p' u: Y
, U) f9 g* q6 G
#ifdef __YENV
' x0 {/ O/ X9 G' a
pLight->Diffuse.r *= 1.1f;
* l8 D5 k# v2 C" |7 ~/ A; z& L
pLight->Diffuse.g *= 1.1f;
; @/ n1 r$ b2 G8 Z( y
pLight->Diffuse.b *= 1.1f;
2 z- f- V) b& u, R5 }- c, l
// oˉè* ??à?
! Z9 [, A; l: P, G- I
pLight->Specular.r = 2.0f;
/ k! W9 T* O4 v
pLight->Specular.g = 2.0f;
! z" c/ c$ W: V: [
pLight->Specular.b = 2.0f;
+ U) @. }' ^ Y- C2 _
// á?oˉ
3 s. t2 g! D, }/ z2 T5 Z1 C
pLight->Ambient.r *= 1.0f;
" y" T$ B4 \: w5 s! ^0 E! q
pLight->Ambient.g *= 1.0f;
+ T" r5 R# B2 m2 W# j8 u- S: F5 I
pLight->Ambient.b *= 1.0f;
' V' T p9 ~1 s* R8 ]! V. f" _
#else //__YENV
: e' N& ]/ O9 J( ]; W& D1 w
pLight->Diffuse.r *= 1.1f;
3 F, F. A+ }$ @ b" e& z6 E3 e0 q9 z) V
pLight->Diffuse.g *= 1.1f;
/ w1 w8 U! A' e1 e' E$ [8 a3 k! K' V
pLight->Diffuse.b *= 1.1f;
]# ^2 W* G: o% o! ]; Y
// oˉè* ??à?
& v$ K( L8 j8 ~" P2 V- R
pLight->Specular.r = 2.0f;
# B$ f, @4 v5 ]
pLight->Specular.g = 2.0f;
* b$ o% ]5 y& s
pLight->Specular.b = 2.0f;
^2 v( F$ t+ P' U# f3 s0 b* {# t
// á?oˉ
0 B3 D$ z) ]6 d/ U! f! C
pLight->Ambient.r *= 0.9f;
9 }; I) T$ G* l" j: ~. K" I, J' ?
pLight->Ambient.g *= 0.9f;
- O6 _6 H4 P! j4 ], o0 [: D+ ?; H" ^
pLight->Ambient.b *= 0.9f;
5 P1 B: x5 u3 ~5 G
#endif //__YENV
8 L% K# e" F4 A3 R7 |3 ~
: ^. D5 }# \# W0 m; k& N5 h& @; h, W
memcpy( &m_light, pLight, sizeof( m_light ) );
1 m! i- U; a8 q, o5 {
m6 |( j7 S2 G9 D J* f9 l6 J
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
! B1 U1 S. }+ k: N
D3DXMATRIX matTemp;
+ c9 s0 y' _1 d. L' G
static const float CONS_VAL = 3.1415926f / 180.f;
a& ?6 U1 N0 L* t. L3 J
, R5 e1 w, \0 [2 S4 @, f
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
& r" F$ w0 X2 h* D. Z% I
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
" z: m( X" Q: Z) _& F) I# b
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
( E" v. W! h) ]& ]& Q* H' q
pLight->Appear( m_pd3dDevice, TRUE );
9 J5 H: O; [+ x8 K6 d
5 \ N* d7 n! }1 N; K
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* A" n/ C. Y7 l T
// D3DXVec3Normalize(&(vecSun),&(vecSun));
8 A+ ` J- t$ c9 m' y& y5 n
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
/ ?# k0 l3 e: w' }; p
. S8 l, P/ Y2 z$ _) I8 f
DWORD dwR, dwG, dwB;
, F! s6 ^' ^3 |% J9 o7 c& o
dwR = (DWORD)( pLight->Ambient.r * 255 );
% S3 P9 R3 j# |
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 I* f8 y _; ^, t! n1 x0 f8 n
dwB = (DWORD)( pLight->Ambient.b * 255 );
3 X+ b$ m9 v2 c8 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" s" Q5 O1 H1 G* J0 I
}
9 |* [. S. H8 Y4 w' O8 _
}
" E, t& v3 @( g4 ^/ Y: S
! @+ }, Y6 O2 D# c! s
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
7 |/ ~3 T0 n0 Q- i' o( q( j1 t
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 Y( B- l! t2 w: V0 W& j% i5 n7 B
::SetLight( bLight );
, k1 |( L [4 `; R, _
/ ?% d+ F; |+ d0 h2 R+ M
// ±ao? ?D?í???ó á¤à?
: s% J9 A0 \* u% |9 `# q9 ^$ R
m_pd3dDevice->SetMaterial( &m_baseMaterial );
" O" Q. F$ \* m7 q& n
3 w9 v4 }* E- N9 X$ U9 t
#endif // not WORLDSERVER
( Z, h" f& M8 v7 K+ J* ^& V0 l
}
: Y$ Y @# h$ Q* N2 d' r5 f+ q/ `6 A
并更换
" l% D, V; g/ ~& m& q
Code:
, |. K' ~8 x0 P( ]- Y) l
__FLYFF_INITPAGE_EXT
7 m4 K) T/ E' h1 i8 n ~
定义
" O5 o1 ?; L8 v6 o$ y: x5 Z
7 v8 @/ C+ G Q1 C! S
# `. s5 O6 L1 P) K
% B$ u7 e- @* f$ R# a% C* c. t
' Y8 G, a4 G, g" l3 s: T' ?4 v
现在终于删除我的狗屁加速...
8 X# J) N5 A) Q5 d7 \# Q
8 U4 W$ F) Q6 |, d
" k. n# }( c: \/ _0 l8 J" d
5 @# L6 D Y6 l, @' K- B! h
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2