飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
- H# `0 ?8 ?6 \- D' c l+ W. q
尾翼:
6 \/ }5 d4 k8 F/ H
( X$ E7 R/ m7 ]
代码:
. ]0 B- C% v) |- {( w+ t: ~9 Y
CWndAutoFood::CWndAutoFood()
6 H$ p& i& y/ y2 q3 Z" l& o" w8 v- g7 Q
{
( }! b6 s* {( n' [, t5 i3 Z+ J' ?
m_pItemElem = NULL;
' R* [, F- ^( w" q4 d
m_pTexture = NULL;
: j: N$ F! d" z3 w0 T1 |
bStart = FALSE;
9 W/ Z" B# a8 x8 R n3 G+ i
}
^1 ?$ t2 C. m6 G' {
$ O7 H. M5 `; t! |
CWndAutoFood::~CWndAutoFood()
* ?5 K* d d% {% ?' Y6 X- T
{
, p6 \, x* Z$ d. i
AfxMessageBox( "AutoFood ist gestorben
" );
) ~% X7 `9 X" G. T9 Z" Z
}
& }: }5 m7 A/ u/ f( k( v
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
' t/ c: P: V" g" k
{
4 j4 J! f) A. u; Z9 M3 j, a1 N
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; V! [1 x5 X1 Q
}
' H6 B( r7 l. A
1 X" p0 X3 S/ c% z8 F
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
6 J |5 K! L7 O! I) s' q6 u) \. v j
{
# u' F# X+ ~ U8 x- B/ m+ U
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
3 E3 M4 x; ~8 `7 \
CRect rect = pWndCtrl->rect;
1 R3 u" R: h/ _- G( Q
if( rect && rect.PtInRect( point ) )
! y. q& p2 @3 |' w S
{
" a! Y) s% L6 O1 W" }* c
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
9 O! q8 s3 F8 C8 K+ H2 ?4 _
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
5 H& Z1 Q* \4 X( R6 A( @' O* @
{
! b4 ]& a- e6 e% o) D/ V) L
if( m_pItemElem )
0 F; m7 e9 D# d A* O0 O
{
. z1 S% X5 j! }2 j4 h
m_pItemElem = NULL;
^8 f! L! d- |" C; F/ r+ e
}
% n0 ` L7 J) o& R7 E% t4 m7 q
m_pItemElem = pItemElem;
' r A; K P% \0 \: m; t: `
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
5 `( ]8 p% P$ a$ Z' A! b1 W, P' N% {
}else{
) _) g, [; k0 [3 E
SetForbid( TRUE );
" e5 x2 m, U& F
}
( g; ~2 F. `5 |" O. L6 d; _; J
}else{
% N! B) |' l$ n, i0 g8 G
SetForbid( TRUE );
! R$ k" |* ]7 P5 Z0 `
}
3 w, P: M. B4 C+ n3 @
return TRUE;
2 n- V5 R' h- g+ `3 R" D: t0 `4 j
}
$ J( C) J9 O( q) X, E# v5 N
" M% ?) N& m( H: ^
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
8 N# e/ h/ N9 Q4 X' q
{
/ K3 D9 K* E$ M% H; }& i+ B7 g5 \) E
switch( nID )
+ P7 r/ B. V5 J! Z# n+ t5 P
{
7 t0 {2 W" y4 e; s4 p" C, k
case WIDC_BUTTON3:
- j9 k8 X# x: i9 L
{
' h) c5 j" [# I4 t1 m& `3 l
bStart = TRUE;
& Y# M9 E8 S0 H) U5 Q6 r- o
break;
# d7 x, I3 W9 C, X
}
$ B9 Y4 v! M0 O5 o t( E
case WIDC_BUTTON4:
j* k# n2 K3 k0 j8 z3 y$ ~$ L
{
* {! I$ ^* c6 _% I) k
bStart = FALSE;
* k8 d, R0 G1 d0 i3 O% w
break;
; m# H9 Y% z% m. X: E3 f
}
: W8 }7 z6 E3 E- }" ~9 ~
}
! f1 T5 i, A7 j, k
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& n2 Q8 p4 G6 T$ r0 B8 p
}
2 `) q3 ^! y& M G- T
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
. ]3 c+ c" c" `7 T
{
) W$ p' S. W3 A' J4 Y, u
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
: a2 ?! k% ~' }- Y" o
if( bStart || !m_pItemElem )
- q3 S# s2 p. T+ F% O
{
9 z, z& }" n W! R
pBtn->EnableWindow( FALSE );
* W6 s6 T* G: b; L
}else
4 x" ^% _ P$ k" E9 m( p( d
pBtn->EnableWindow( TRUE );
' _- R1 t: ]7 u1 H
if( m_pTexture )
( U" {) m* `4 f3 ^; m0 d$ ]
{
( e9 ?4 g# w! h E7 A
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
) Y, p, @: i; M* Y; O3 p
if( wndCtrl && wndCtrl->rect )
) A( s( N6 p* ~! X
{
# Z! t8 q( h+ r% J6 b5 N
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
, p! W4 K7 f. q9 m$ f
}
7 q5 ?5 [: H4 @& ~; y$ |' c& {
}
* ^6 U* |/ c6 ? X% A! C8 b6 K Z" d! O
}
/ Z$ f i- t& J/ S4 D$ l0 C
* G* [" i2 V# i& ?/ q5 }
BOOL CWndAutoFood:
rocess()
* l' B7 q9 s& P: n: c, B
{
5 ^2 l9 N2 t7 @" ], h
if( bStart )
* q U: f. v8 L, t# H
{
6 |1 K7 [, L4 b% T
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
/ ~" z7 a+ D$ K4 Y5 @% E, G
{
* B) ?2 |% i4 _3 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() )
2 c, H. U4 ~5 s$ y4 v) |
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
; K- A2 T, ?6 x( T) s0 Q0 [
}else{
" n6 w2 q2 L3 e* \
bStart = FALSE;
2 [6 R8 P8 @- O* X" \
m_pItemElem = NULL;
7 q! F5 D+ c. t* b& q
}
& X/ O5 _; ]: `* ]
}
9 X5 Q& S: s5 P% g3 V; c
return TRUE;
# q0 a) U7 x' i1 }0 {
}
6 p4 i$ B) ^9 b# U! I4 P- o" q8 S2 D
4 m5 V5 k! k5 S O+ k
登录视频废话:
1 Y( d1 H/ ]* O% G/ p' n
尾翼:
4 b' s, J/ T* R+ s# {
9 w. ~6 E+ b# D! V* ]
代码:
8 ^6 m8 f4 F9 y4 ^) M2 Q
+ J. e$ x6 q2 _6 d
void CWorld::SetLight( BOOL bLight )
% g \6 n# m" B6 e; n- c9 |0 [
durch
0 f j D; O0 j! ?9 c2 U
Code:
# a( M) y( |8 n: O2 o" K6 A
void CWorld::SetLight( BOOL bLight )
7 T) g# i: |, ?6 x5 G1 J$ q
{
9 k, w7 E( i& y* Q: d4 g
//ACE("SetLight %d \n", bLight);
% @6 _1 M% u/ F8 w% A. c% G7 z
1 G4 g4 P% Q# \: ]
#ifndef __WORLDSERVER
( W( O8 p/ y( {, ]1 |% e( o" \
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
# C& U z! x1 O' r: a
CLight* pLight = NULL;
" G9 [* M, i: u! Q
3 J4 o$ s& I! A4 I
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
9 w. {- G* l- J. W* ~( H0 z
" ]7 l$ m9 M( B: Y+ N8 k3 ^
pLight = GetLight( "direction" );
( [: c2 G8 {( M6 w
( O/ ~+ S9 T+ G$ V- n
#if __VER >= 15 // __BS_CHANGING_ENVIR
' ]/ e4 Z7 A1 K3 ?
if( g_pPlayer ){
0 n/ I" R% x4 ?: a6 Z& D0 G0 T4 o
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 `7 S0 A" J, X' |* m
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
?, c" O* z4 Z6 Q
{
2 e! G$ e+ ^; n+ A
if( pLight )
+ J: b! N f3 Z6 o! e
{
+ K) e/ c. }4 U) O1 ^" e
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
! b9 c1 G/ u, G( M, X
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
( b q `: e; W9 \% m" [7 ^
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
1 J8 V5 s' M p4 `
2 g& Z) D2 R# K
pLight->Specular.r = 2.0f;
( ]2 i2 T' \2 p8 |+ S
pLight->Specular.g = 2.0f;
J( C, N3 I6 V+ [/ t
pLight->Specular.b = 2.0f;
}1 D: S. Q8 j2 v; E D! T9 }
. k0 C- z4 U- j6 v
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
1 _! A; U# ^; K. W- _$ c1 g
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
1 z8 @6 m5 r' T+ y
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
3 H6 m$ c7 d; U# a
* o4 l; |- T" a" f# M
HookUpdateLight( pLight );
& v0 F2 H7 `- v! L0 w' N) V
% r5 ^/ j" u$ x1 }/ a$ j; G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- Z! `0 K+ t k3 E; r9 q- L6 s
6 X8 {% X9 F$ L1 X+ C; s8 h S; s
pLight->Diffuse.r *= 1.2f;
9 m* |2 L' m4 C* o/ D* P" U( j. T
pLight->Diffuse.g *= 1.2f;
" O+ A. ?1 \* N6 C
pLight->Diffuse.b *= 1.2f;
) { m3 v& u5 U' M
N) }6 Z6 m! E q/ F. R
pLight->Ambient.r *= 0.8f;
/ Y" g& c3 h2 Z2 ]! z8 |5 a8 ?
pLight->Ambient.g *= 0.8f;
1 ?6 ~' [5 |' h B: j
pLight->Ambient.b *= 0.8f;
4 [8 g+ n$ {) P1 E3 U: S
# q7 O* G$ Z. z8 p* x7 }+ H
memcpy( &m_light, pLight, sizeof( m_light ) );
0 A' q2 Q0 ]$ |6 U# s
6 C$ B5 t3 P) N, j9 R2 A
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
$ C0 r0 J+ T! B0 c* x, M
D3DXVec3Normalize(&(vecSun),&(vecSun));
; i1 E$ j& F3 j* n* ]$ ~7 t* L
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. X2 i/ X; c, S
pLight->Appear( m_pd3dDevice, TRUE );
" c' \2 a& m6 N' X8 B
/ O( _ X7 v1 K2 G$ s& q$ b
DWORD dwR, dwG, dwB;
" t' W- ~' _# {6 T
dwR = (DWORD)( pLight->Ambient.r * 255 );
# x% _0 p5 |: H
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 H8 E: V6 ^; @6 m% n
dwB = (DWORD)( pLight->Ambient.b * 255 );
" D% t; i( T; C% }, B
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
6 t. ?- a. \1 N/ g& d& N t
}
p- N/ S& L; P) U v
}
- Z4 a& x4 z8 w6 F
}
1 a% H& F2 h1 T* r, P) ]
else
B( X+ {! F$ i$ J) `& Y5 U
#endif
+ I' J. H7 ^# c3 `- |' n! Q# M
) e! l% r. c& q. x
if( m_bIsIndoor )
9 f7 H! k" k" O2 M7 \8 Z. X M
{
& w, _& o' z2 y7 D8 C0 P4 n
if( pLight )
3 G0 ?4 v+ r) Q* S( Y9 \, P, P9 X
{
% S* t- v( B' f' S5 G
// à??μ oˉè*
6 @) k4 Z, }1 j
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
, A6 `) W, `4 X- {2 q: L* l( A
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
% }& z( r; t- u- F: G( }
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
3 m k7 u) c* T! ]2 A
" W2 z8 L4 A) r- u
// oˉè* ??à?
- e8 E5 X- ~* @( E
pLight->Specular.r = 1.0f;
3 l" R) I2 `8 V% R! Q+ [. x2 \
pLight->Specular.g = 1.0f;
% s: H7 G4 L M2 ? E+ H s+ d
pLight->Specular.b = 1.0f;
; }' b- e6 l: E$ m& _0 _
// àü?? oˉè*
; ?2 K R3 D( |0 `8 r+ u: m
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
0 V/ R3 H3 g4 V9 A: {
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
2 p' d, x7 u2 o
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
: l$ Y0 U2 a! w0 w( b J) K2 M1 n
6 U; C1 u m5 R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 c9 E6 s+ e6 |5 d' J
{
1 ]" y- d; u0 y @8 z
pLight->Diffuse.r *= 0.6f;
8 y% N& o3 f5 B0 b4 S
pLight->Diffuse.g *= 0.6f;
8 V: Y+ P/ S( r" ?
pLight->Diffuse.b *= 0.6f;
3 d$ j! P$ d$ M t' y
pLight->Ambient.r *= 0.7f;
7 ^6 G, E; E4 C0 ]! Q& ?
pLight->Ambient.g *= 0.7f;
% |" ~* i+ @: F4 f0 ~ `
pLight->Ambient.b *= 0.7f;
4 @' u, O" }) [
}
5 U! ] v0 j6 `) e
/ O2 m5 b2 H' X) y& h# |4 A
#if __VER >= 15 // __BS_CHANGING_ENVIR
$ N+ f2 q5 }+ D* o( W
if( g_pPlayer )
) q7 j M1 M3 O
HookUpdateLight( pLight );
2 K9 }8 q& g2 t( e# Y
#endif
M5 o& U3 p4 K2 H6 c* r" ]+ g) B% H
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& _5 v$ } I5 _
' [: Y6 b0 g O) ^& o
pLight->Diffuse.r += 0.1f;
! d" G; M" I1 w; t, R. _
pLight->Diffuse.g += 0.1f;
- O, C: f# a5 d/ ?% Z
pLight->Diffuse.b += 0.1f;
/ R6 z W: }9 v" }
// oˉè* ??à?
6 J: O' L8 y/ p* N' Z6 ]
pLight->Specular.r = 2.0f;
7 ]6 _; s, O9 E7 k8 O( t! z7 \+ |
pLight->Specular.g = 2.0f;
" F8 @4 d6 s* e; l* ?2 `& y
pLight->Specular.b = 2.0f;
0 f$ O* [6 K8 Z& T6 ]! z
// á?oˉ
T: M3 R3 P+ W4 N* }! A) H9 j
pLight->Ambient.r *= 0.9f;
9 k+ T# E# g2 q; }# j# w$ z
pLight->Ambient.g *= 0.9f;
6 G: {! I( D& g+ B8 j
pLight->Ambient.b *= 0.9f;
) t- t) a% t7 M2 {3 Z3 q1 E
1 M, s: I, C/ c; r7 z
memcpy( &m_light, pLight, sizeof( m_light ) );
7 R6 F; S& p* ^, d* z2 _
9 F1 B2 X2 k2 I9 s8 V
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
( T, e9 U) o7 g/ p: i5 E7 w1 [# C9 M
pLight->Appear( m_pd3dDevice, TRUE );
, n* A5 k0 a; U! E7 B, C: C
) `0 Z2 z% c: K: i$ C
DWORD dwR, dwG, dwB;
9 W: t9 K& f& J2 c: c7 }
dwR = (DWORD)( pLight->Ambient.r * 255 );
. l! a, N) [3 T) x( p% d; ?" w
dwG = (DWORD)( pLight->Ambient.g * 255 );
: I! S6 e% T P6 X
dwB = (DWORD)( pLight->Ambient.b * 255 );
( x( }: d) O: H% F a. m6 u
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
9 r& a, x' l1 c3 |+ c5 N* t6 U) e
}
" H* {& V( Y1 \* g6 Z
}
" h# K0 ^: W8 x* n0 \$ Y
else
6 ~3 J. w! H4 r+ t* {
{
8 ?2 h0 `$ R* i! h! K E
if( pLight )
: F0 P3 w% c7 g% J+ \1 l
{
9 r; Z/ d% c/ |- S1 H9 B; c$ F
8 Y9 ~# ]- d' E9 `, m& N5 Y% v+ t
int nHour = 8, nMin = 0;
" ^. V! q1 a' W7 A5 Y) R
#ifdef __CLIENT
. j! {/ ]6 i4 _
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
( W. J8 D- F' b6 O" I
nHour = g_GameTimer.m_nHour;
1 {. M/ k) j8 t3 r; `9 `1 `
nMin = g_GameTimer.m_nMin ;
" f% l, w8 R3 ^" J \5 }9 `/ }. {% P7 s
#else
5 ~6 `" J5 ]+ K. `/ O( v
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
2 a9 f" k* i- e8 L6 M4 _2 G8 |1 X* ?7 R
if( m_nLightType == 1 )
3 D; F7 h. M C6 l% h, D/ C# y
nHour = m_nLightHour;
: R4 Z* h# {7 }4 M
#endif
; m, l4 l% a9 F6 s! R- @1 A
nHour--;
! g5 u5 G7 {5 t0 l" G8 y
if( nHour < 0 ) nHour = 0;
% {* y3 ~& Y# F
if( nHour > 23 ) nHour = 23;
( j- u$ i' t: C# d
7 C& P! R. U6 A9 Y1 }% T
//if( m_bFixedHour )
7 p) P4 _* ^3 ]% `0 w7 A
// nHour = m_nFixedHour, nMin = 0;
* ?# U3 E6 [$ f
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 o$ U5 g. y. s8 }3 b9 b6 `
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
, _; u$ R, n4 J* x
; T4 k/ n: H1 s6 [) q% s
//m_lightColor = lightColorPrv;
3 j9 n5 h( ?0 n: V& @
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
9 z7 p; ^, q: C2 E* A
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
$ \& w+ q* U$ A' l3 g
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
- \& J8 j5 c, g. p
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
* |9 I& P" X0 z& J, }1 E
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
4 Y7 V6 f, W; r
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
3 j; V+ m: i) J7 H: {
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
- M+ y4 U% `% A' k% R" k, c
; O9 g# z; f ]& z' c" Z2 M
// à??μ oˉè*
3 t" u- J0 k5 G: u
pLight->Diffuse.r = lightColorPrv.r1;
7 e# _* v" B8 `0 c% x) p- G
pLight->Diffuse.g = lightColorPrv.g1;
& w$ Y2 W+ p. D9 W' h
pLight->Diffuse.b = lightColorPrv.b1;
% V8 O1 F" J5 Y2 N, s
// oˉè* ??à?
& F$ c5 p, {$ w( F! I" K
pLight->Specular.r = 1.0f;
& g2 U. W. r- p$ V' y
pLight->Specular.g = 1.0f;
5 ]: j# M) p# l8 C* g
pLight->Specular.b = 1.0f;
5 ^& \6 W5 R+ k' @
// àü?? oˉè*
% E# b9 Q+ R8 i% U! n) _
pLight->Ambient.r = lightColorPrv.r2;
& S9 q4 r* L$ y4 g
pLight->Ambient.g = lightColorPrv.g2;
( ]4 _ \, W/ y# A$ g7 G
pLight->Ambient.b = lightColorPrv.b2;
2 z- Y6 ~4 C# _# s( D, V
! K. g6 |' L, K( v
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* Z) ^6 `8 |7 z
{
& x) H9 m, T, |' y: f
pLight->Diffuse.r *= 0.6f;
) d- P5 B! f6 J' m/ M( n$ A- R
pLight->Diffuse.g *= 0.6f;
3 d% f7 X7 h5 \2 P+ V! C% P
pLight->Diffuse.b *= 0.6f;
7 I# b9 u3 i7 s( k3 ]2 t' r/ G& y
pLight->Ambient.r *= 0.7f;
2 h$ n6 t; z9 q1 [0 @
pLight->Ambient.g *= 0.7f;
+ `8 C- L: @5 B% ]. w; |
pLight->Ambient.b *= 0.7f;
& E( U, E4 V+ ` w# S# k, u
}
b& X. ~4 x2 J" D0 d# Q
0 n2 x! l g9 j4 g. ^0 B9 L
#if __VER >= 15 // __BS_CHANGING_ENVIR
) D/ J9 V8 b: o$ n
if( g_pPlayer )
% N5 G9 m0 R- |; n9 v
HookUpdateLight( pLight );
: q3 ^1 t G. i w6 N1 ?3 ~
#endif
9 F5 k, W- E+ X u
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
& a, D& @8 y* ^, L' |! z5 x
3 q/ H: Z. N4 g) \( p" c
#ifdef __YENV
- e, C1 \5 M) V7 Q7 r$ {
pLight->Diffuse.r *= 1.1f;
& J( }; b! p) @' [( m
pLight->Diffuse.g *= 1.1f;
9 U6 J; K. x5 m9 t/ A3 N# w1 ]4 \ i
pLight->Diffuse.b *= 1.1f;
# n3 o# q9 T. f9 z
// oˉè* ??à?
; O1 A/ X) T0 E# G( x7 u& S
pLight->Specular.r = 2.0f;
9 Z1 Q% D2 Y, P; d4 q0 |! i
pLight->Specular.g = 2.0f;
1 P* a* e' C. Z4 x5 @; Y
pLight->Specular.b = 2.0f;
9 c B$ C5 d+ e. h; o: N$ @
// á?oˉ
5 U3 _# D' ^ k. W
pLight->Ambient.r *= 1.0f;
. n- A) W7 H# H$ h
pLight->Ambient.g *= 1.0f;
, ^) O5 V0 R6 E4 x6 ^( n
pLight->Ambient.b *= 1.0f;
' W' f9 X$ G$ `/ D( t
#else //__YENV
. x/ T1 O: p. ]+ Y4 {
pLight->Diffuse.r *= 1.1f;
+ t" t* @3 W1 K
pLight->Diffuse.g *= 1.1f;
7 Q' l3 {+ h6 K, j# u/ o
pLight->Diffuse.b *= 1.1f;
4 q b% o4 b0 K0 s; E6 v
// oˉè* ??à?
( v5 E( {$ A: x; @( g) C
pLight->Specular.r = 2.0f;
( l+ j: K$ j/ A l
pLight->Specular.g = 2.0f;
) M5 ]1 n8 X, k
pLight->Specular.b = 2.0f;
+ e- F2 u3 |- ]. a2 ] U
// á?oˉ
, f0 `; \2 @! Z1 F
pLight->Ambient.r *= 0.9f;
/ t$ }: A) z# L8 [) B+ D
pLight->Ambient.g *= 0.9f;
( }: ^7 A6 }3 m5 r! s8 q( S3 ?
pLight->Ambient.b *= 0.9f;
; X9 x0 k( \- n" d7 E! o
#endif //__YENV
1 r1 i0 D; L* F# [: e/ r& Q
/ B3 j3 C( ^) O6 {# ?' k
memcpy( &m_light, pLight, sizeof( m_light ) );
! o2 P( O# M- V, w
' F& d# {3 V& p1 c( X
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( ?1 w4 x) T( ~5 d( ?! ~
D3DXMATRIX matTemp;
& B& ]: n. V1 \! k6 J5 h
static const float CONS_VAL = 3.1415926f / 180.f;
% p7 f6 s( X. o. \3 }
/ I7 b. ~+ U8 w7 {
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
/ z$ A w( \( [# n8 \: d" ?5 y
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
' g4 v* f+ S8 k& ]7 |5 C) @
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
4 i# O0 T2 Q* g. S: I5 L
pLight->Appear( m_pd3dDevice, TRUE );
! v% [$ ?" `+ a
" B/ @& Y' h- Z8 ]( X' r
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
3 K6 q/ G% v& o1 {' ]4 B% q% Q
// D3DXVec3Normalize(&(vecSun),&(vecSun));
2 C, Y+ _3 u$ y H
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. s& @" E! @0 p1 r
4 V' Y" x4 O5 R/ C
DWORD dwR, dwG, dwB;
, \7 |4 O& V- I( S" t
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 `2 r" B. j1 ~5 L& {. I0 f( t
dwG = (DWORD)( pLight->Ambient.g * 255 );
1 q; i, L2 k8 r2 P# @
dwB = (DWORD)( pLight->Ambient.b * 255 );
( p' t( h, h1 R3 N
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
" x9 B! W3 T' k+ D# h
}
" h( N( u" |4 T; P$ C9 [# x2 n
}
& R( q/ J# C! S( h% o
* u5 C5 Q0 a9 M7 O. y R9 `
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
4 O# t: C7 {) i7 L& D
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) );
! C9 n, ]3 l B( z! `; q
::SetLight( bLight );
) b( J4 k7 y( z! ?
5 W! t5 z- y) Z* S+ Y# k1 v/ P6 ~
// ±ao? ?D?í???ó á¤à?
, ^/ Q: A# _3 s" j$ D9 o6 U6 M, j
m_pd3dDevice->SetMaterial( &m_baseMaterial );
1 d/ U( m9 U: B* K: Z! e- s
x/ f, @% ]$ Y1 ~: a l
#endif // not WORLDSERVER
. x1 H: X' y& b) Q
}
% V! G6 r$ m; n
并更换
! {: c9 P. R2 q* @- z' ?
Code:
: y f: v8 ]& g. M0 z7 W" {; I$ n
__FLYFF_INITPAGE_EXT
: H0 n$ [* }: d/ P
定义
7 A" I* W: r7 s; u" P
9 d L: ]2 D9 f& Q3 U8 e1 F, [! B! \
. Q- \4 a3 q1 a- @8 i. n: h- d
H* B) m" {* h4 @( |5 b0 l
; e; V# L- V) g
现在终于删除我的狗屁加速...
( c5 n; D- o) g7 g- I, a
3 v/ ~% M* e( B5 l3 S: E% T
3 N$ q; }! V1 H
9 x% `; X5 b9 c6 y O# K* d6 d
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2