飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
( e, S3 z) C9 a( K
尾翼:
% [4 C7 m7 ?5 y4 P, V$ M6 `
( e8 x) P' q2 F- S q6 q
代码:
5 c- Q# K/ n" A, c
CWndAutoFood::CWndAutoFood()
; {' j% n( ~2 J, \% o+ {0 }
{
" i/ y+ w6 o. `+ c% Q' d
m_pItemElem = NULL;
9 d$ h; c6 e. n( R* l( b! v* z
m_pTexture = NULL;
1 E0 L: D& y6 M; o7 S& [! l
bStart = FALSE;
1 t" _% C9 |$ j. ~. m
}
2 t: B8 e: o7 C, @
, _' J9 I8 H( C
CWndAutoFood::~CWndAutoFood()
' U! O. S: q7 i! {! ?7 E5 M, E7 ?) S
{
0 M( m' x U9 q/ L( U
AfxMessageBox( "AutoFood ist gestorben
" );
" j' p4 m4 Y# X9 r% a
}
/ L- l7 P1 J7 U& s2 f% c a
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
# @2 T. m3 L; p9 T# V
{
4 J5 l5 h& B, A2 f
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
" F: c3 q; ^7 f9 M& ~7 m. @$ S# O
}
4 y6 @+ v; ^. {# x, E2 V4 j
& ?; n+ j3 S* G& o. v; J4 W
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
( y1 Q6 c. f3 Y! \" {
{
g" g) y/ N. m, `2 U% s% Y
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
+ \" a; w7 W% g9 {
CRect rect = pWndCtrl->rect;
( J# Q: c9 x/ N u7 u! P0 O- h' |6 {
if( rect && rect.PtInRect( point ) )
: X/ ~$ K* D" S! P+ Q2 k/ @" R
{
/ w% L; E- F: C" f/ F8 I
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
- n( ^5 d' b, G; }; Q$ u, P
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
* `% c0 p: l3 N b( B [
{
$ z4 K+ J3 r' \: Q; U* t
if( m_pItemElem )
+ d3 v( q) |6 k+ o7 a; k. |
{
& X: u9 J! `, Z' n }
m_pItemElem = NULL;
! L9 k, y1 j. I
}
5 W1 h& ], |' R, d! V# P
m_pItemElem = pItemElem;
1 B; y* Y) ^4 l+ q1 N% j/ z; \
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
2 x' {2 W. \; t9 ?$ H' T5 e6 c, d2 O
}else{
; c- [4 _! l; O9 L5 S' _$ u
SetForbid( TRUE );
' q3 e% ~7 x; l% h
}
; ]" F* t" d2 W* q) y
}else{
: G J- G: q9 S* S5 s+ y1 p9 ~2 T! P5 y
SetForbid( TRUE );
5 C! k. a+ ?3 q# A. }5 V2 k
}
" U+ h; l3 Y, r* ~2 W9 n
return TRUE;
! j, t! ?0 R2 [) c; s
}
. u" @5 ~3 c9 @( q3 V3 a! ^1 o1 H
( z4 f- T7 ]/ S7 s8 b. r2 p
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
1 u) Y) ~" z$ R4 ^
{
$ ^$ _, D3 \! m% F) ~
switch( nID )
! Z' a: I' m$ O) v* F
{
. d6 p2 k3 r* n3 j% y3 J
case WIDC_BUTTON3:
! U( B! P* f+ t3 G! G' o
{
& \! z4 c! }5 S9 C
bStart = TRUE;
4 y. L; w1 Q. U; q/ U" R: o
break;
/ z& d, c; P* f# A# _) G) ^/ P
}
5 s1 E8 u+ ~4 L2 C) W$ @$ G5 g4 \& S
case WIDC_BUTTON4:
8 v9 G: N% _: m; y) Y! C0 P7 z* @
{
/ C# e; f7 F6 N
bStart = FALSE;
) v( X+ W$ [! k d
break;
6 L4 d* ^ N9 B! g
}
5 l; \; w( A9 t
}
6 l9 U/ q& c; G. q& ^
return CWndNeuz::OnChildNotify( message, nID, pLResult );
5 d0 \# M! b' _/ N
}
6 H' {8 ~ O, ~+ I2 e( U1 z) Z
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
* Z+ Z3 N1 O6 h2 G0 h
{
, @ J, k0 q! a( U( J! \
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
; E( M6 p3 h2 _
if( bStart || !m_pItemElem )
( n U! q- n8 ]7 U& c! N
{
- b, \* E8 r; [+ b. H, n2 h
pBtn->EnableWindow( FALSE );
6 x3 c9 h# P/ u, e- `6 l" z
}else
7 }/ E; d% d8 h: }3 U
pBtn->EnableWindow( TRUE );
. z' u& D6 P; H: P/ z
if( m_pTexture )
0 v3 n; y+ p7 s) x% R1 }: l
{
# H) B& y# p& p
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 I- v6 m0 R( N6 g& w; [5 c# ]( f
if( wndCtrl && wndCtrl->rect )
1 d8 M" {2 L. m( p: R
{
r; K( M. [- P' H( y$ ]4 W
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
" \; d' a% k( A2 ^+ y, T+ N
}
( y9 D. w9 _, V+ i
}
9 b& R# C- X8 T% R9 P
}
! y- e+ v q' X% b
/ _9 H" `3 N( O1 P; _( F
BOOL CWndAutoFood:
rocess()
" x( \) B( R+ g; h
{
0 l" m6 K( K; s* x. D4 F; l/ s
if( bStart )
6 k' W; V. p0 g2 ]. A
{
& d$ j% c ^1 M- ^- M! ]! ]
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
- ]. a/ ^3 u$ O3 C7 O- ^
{
) @' _0 V' U1 V1 E8 y p6 l
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
( M6 w2 g' y/ Y- x- E, o; N; N7 Z
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
% Y' B3 U( u' ?0 G+ g3 Z$ ~
}else{
: G8 l) v! r4 u! O- M3 {1 u
bStart = FALSE;
5 q k( j' O" X* G5 x6 Y
m_pItemElem = NULL;
0 ^6 a2 P, X/ {+ A
}
3 B" o; R) _4 p' e
}
6 X. c$ p" @6 r; c+ u! J& ]" y0 R
return TRUE;
, ?: t2 x/ E- {0 u0 F3 v
}
4 y4 ?; `; m9 a% D: d% R
0 n) M2 H( C# V/ a9 T8 |. O
登录视频废话:
4 v$ D0 d, Y. n9 R0 W
尾翼:
' {* H# _# Y; ^5 l
9 Q: p+ V' J% N# r
代码:
) V) \" O* r7 {8 s0 q5 D
( A: m( X" H/ R: u# H
void CWorld::SetLight( BOOL bLight )
; u/ g" ~: v/ |: |
durch
. K# R: ]* v( d2 l
Code:
8 O8 G. R+ t: u$ t, |" q
void CWorld::SetLight( BOOL bLight )
* @' m; S6 ~$ Q8 C" S2 [
{
# e/ r* B& d4 {6 z: _8 N1 H# ]
//ACE("SetLight %d \n", bLight);
; G w6 J! g- g, r+ t; \# B7 c4 M
: c) H; j: @4 u0 Q: Z7 N1 ?+ Y
#ifndef __WORLDSERVER
# f- _" x- P6 {* p
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
: v+ Q- r/ S5 V" q* }
CLight* pLight = NULL;
# q5 A( p6 D, x8 G+ `- M
! ?+ W6 R( {# u }5 @2 X
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
8 o9 p8 V! B/ T" Q- }5 k
$ r f; G/ R) f5 h2 A2 e. u
pLight = GetLight( "direction" );
8 S9 A* w5 [' W7 G8 d
{! ?5 Z( K$ z9 O7 T$ T* \
#if __VER >= 15 // __BS_CHANGING_ENVIR
) |2 ~6 Z; l. O
if( g_pPlayer ){
0 @% |4 T4 j: `* I: U4 R$ u
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
$ Y$ ]) t* A- w+ _2 B
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
( `1 p% Z6 Y7 v$ P
{
, l: v* O( X! O7 Y0 t' Y" U6 ~+ K
if( pLight )
! y1 D. M- X/ K& d+ q
{
8 ?. M4 w5 C( j& x+ V
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
7 s9 S0 r- p" c7 D6 K5 m" l
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
" y6 q4 L" h: ?9 J y1 j
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
E. V1 g8 Z# z
0 ?& V, ^* C/ M
pLight->Specular.r = 2.0f;
% f2 e$ ]4 N" R' `$ d
pLight->Specular.g = 2.0f;
1 R1 C4 N, U4 A& B, r M
pLight->Specular.b = 2.0f;
2 E1 ?8 }, a) m
0 _ w8 A4 B4 A$ J
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 h' N' e3 n( q; G5 J* y5 A
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
8 U$ _! c& ]0 ~/ o% w
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
I! y: c6 N( d4 c
0 j5 d2 `9 V3 E! h2 b/ Y
HookUpdateLight( pLight );
- ?& M6 _6 i# r7 R/ {" A1 \
( ^1 l9 R& [" V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
4 B2 q6 ~4 |; c$ L3 D3 R6 ]. M
! X% E6 l% ?6 ?5 H, A+ E4 a
pLight->Diffuse.r *= 1.2f;
0 m7 e4 h0 h* o
pLight->Diffuse.g *= 1.2f;
, h$ h. C4 S3 D m8 \- e/ O
pLight->Diffuse.b *= 1.2f;
! N1 l1 K' I$ y9 i$ W9 A
# Y+ E. K: A! r$ W
pLight->Ambient.r *= 0.8f;
* v6 C; {3 g0 }4 Q& k5 U# @! H" u
pLight->Ambient.g *= 0.8f;
0 P" M, }. P2 S1 w
pLight->Ambient.b *= 0.8f;
( J5 d- l5 v) ^- i$ M
) A0 [6 Y* h( W1 @6 ~3 n s3 i& N
memcpy( &m_light, pLight, sizeof( m_light ) );
* y* [8 N/ S' a( k) P
: V. Q; w3 m5 c6 Y+ \( D2 y
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
E# r, o9 B& ]' I& w1 |" @
D3DXVec3Normalize(&(vecSun),&(vecSun));
1 m9 h- |* v3 A; f* a& a1 M
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
; ]% u% i5 o/ ~& C, T' U
pLight->Appear( m_pd3dDevice, TRUE );
& w1 }% b8 r p' @# Y' G
& B# A9 Z1 [/ ]! J# o7 b- d8 [1 v) v
DWORD dwR, dwG, dwB;
" o' @4 t' v) y7 h9 n! c+ M6 y# \7 g
dwR = (DWORD)( pLight->Ambient.r * 255 );
$ q R# E t" j" ~/ C4 s* e
dwG = (DWORD)( pLight->Ambient.g * 255 );
, R/ Z: G& w; v* B% @9 @
dwB = (DWORD)( pLight->Ambient.b * 255 );
! J( C/ p" g7 d/ {# |
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
/ v1 a1 } ^0 A; ~
}
0 H! F. [* V3 b+ O/ V- Z
}
/ i& z9 G( i/ g0 {' `
}
3 f; D" `+ f. o; G. W
else
+ s, v4 U Z' z. ^ q% f4 B; T
#endif
# ^9 @; ?% F- ^9 U
" ~. {* H/ c8 i2 D D/ t
if( m_bIsIndoor )
& G& ?: ^0 h2 L' l% q
{
]5 ^; w+ I9 D/ z3 @
if( pLight )
+ U$ m- G, t4 F6 m
{
! l' m, _* v/ b/ `1 ~- R
// à??μ oˉè*
7 J. ]% A% P; n8 r/ z
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
+ h l( A5 U- \5 E
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
7 t4 H8 y& L/ I2 \
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
: H" j8 a& E% K& D
. i& w/ B4 a; U2 H
// oˉè* ??à?
. \$ Z% C7 G3 w+ u
pLight->Specular.r = 1.0f;
) B- R3 G3 R2 x3 \: n, d$ [
pLight->Specular.g = 1.0f;
& {! u, J% D/ o; Q: v- z! o
pLight->Specular.b = 1.0f;
" N4 t0 M+ j. S2 x
// àü?? oˉè*
. K4 d& |" f, t! K3 e0 ? |1 h
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
. O3 U! l" F% _7 e+ u
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
& @3 ^; W |2 e& M5 u
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
/ y h2 t3 Z. x& Q6 a! w- o! ` G
+ H$ C# w% v V. K
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
+ P8 u9 g1 @& ^0 M- W. Y
{
+ N; W& K5 k" C2 L; ?* i
pLight->Diffuse.r *= 0.6f;
8 B5 z& F0 H3 {) `. ^& n7 @
pLight->Diffuse.g *= 0.6f;
4 s; R& l8 v& F/ x: k- E
pLight->Diffuse.b *= 0.6f;
0 H& `4 a" A }7 T
pLight->Ambient.r *= 0.7f;
8 I8 O% y+ F' d7 z
pLight->Ambient.g *= 0.7f;
8 L' b7 B: _/ B: [$ |
pLight->Ambient.b *= 0.7f;
% _9 ]3 C A0 a
}
/ ]; W- _8 d& M; b$ \* v
5 n0 p* q9 b. u
#if __VER >= 15 // __BS_CHANGING_ENVIR
' p/ c# }" S+ d1 [+ i+ v1 ]
if( g_pPlayer )
& Y0 l2 R, O# O8 z7 B4 F
HookUpdateLight( pLight );
6 ?2 c7 p; r4 {% b+ d
#endif
! \ s' R; ]( V3 q& N
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
, N$ F9 g4 E0 p
" K& j- ]# J) A8 e! |
pLight->Diffuse.r += 0.1f;
; z% ^/ u q: G" q3 x
pLight->Diffuse.g += 0.1f;
6 ^4 {7 s l* H8 K
pLight->Diffuse.b += 0.1f;
0 e" s. Y" N) q9 m" Y. e J9 K
// oˉè* ??à?
o+ s" A) o. `8 Q
pLight->Specular.r = 2.0f;
, j& X9 V/ z# n4 q" t7 K4 y. @/ e
pLight->Specular.g = 2.0f;
, r, g5 n( A% A+ G9 H
pLight->Specular.b = 2.0f;
. Z. R. D0 h' @' n" ~1 D- [9 _( `
// á?oˉ
( u. x4 X8 l; Y( F2 O
pLight->Ambient.r *= 0.9f;
$ m* m" B0 V8 Y
pLight->Ambient.g *= 0.9f;
" e; `( a# S7 x- w
pLight->Ambient.b *= 0.9f;
0 Y' J) w9 N* b5 J3 d8 K" j
& j4 P1 y7 W7 k: H9 y
memcpy( &m_light, pLight, sizeof( m_light ) );
1 ]- ?* A3 e& O& E+ f7 F2 ~
& D0 a% s+ N$ \3 A2 a% L4 a" U
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
1 {9 r: U. [4 `+ C
pLight->Appear( m_pd3dDevice, TRUE );
; k8 C+ B9 w/ x
0 P3 B7 n; {9 Z& J# I
DWORD dwR, dwG, dwB;
2 K5 d2 r3 D0 y% R. F
dwR = (DWORD)( pLight->Ambient.r * 255 );
2 e1 t- E" @# Q8 R) U
dwG = (DWORD)( pLight->Ambient.g * 255 );
& W8 K3 E# O* R
dwB = (DWORD)( pLight->Ambient.b * 255 );
; T+ q6 p' O# I% R4 e0 {: I
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- ~1 D) @9 H/ m$ ~5 Z" k1 G1 i' Y
}
. S- m1 C: d6 k
}
, Y- ]% }2 ^3 d: v/ I
else
3 z$ ~8 F) O ~
{
/ j! E6 z/ C+ }+ @, @( X' {7 X( S/ s
if( pLight )
) W; O1 P6 Y; }; D& L5 z
{
" Y/ ~6 t! a$ P' R6 Z
( I2 h" F8 V$ b7 Q$ b1 ]
int nHour = 8, nMin = 0;
9 S; a* \8 }- m
#ifdef __CLIENT
! m6 t+ ^' C# r- A
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
" t6 b/ g U) r& }
nHour = g_GameTimer.m_nHour;
6 E* \# B8 c0 J+ O6 p6 I
nMin = g_GameTimer.m_nMin ;
) H( N+ {$ Q( n' ^
#else
1 Q. E1 Q3 {5 C2 v) j
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
' c- W* _7 G% Z! Y0 t% X' Z- j
if( m_nLightType == 1 )
. o' A) k9 n/ X4 z. i
nHour = m_nLightHour;
. d4 o7 w3 o9 j0 B
#endif
* {& X0 ~; }! I" N Y0 `
nHour--;
+ {/ x2 z# z* G8 d# K" P! t& Z
if( nHour < 0 ) nHour = 0;
9 C, U8 W, M2 _4 H# {) X
if( nHour > 23 ) nHour = 23;
7 T, R( u1 U8 ^8 B+ n' n
% ~" V; y- N/ n9 T2 g
//if( m_bFixedHour )
; k | D# Z& H% ]4 Z
// nHour = m_nFixedHour, nMin = 0;
# \- i2 X( E2 y3 ^# V7 P
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
6 c4 `6 n* ]2 q
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
% ]) t5 @( w5 ?6 I _/ F
6 Y: _( a8 H$ F3 `* M) H
//m_lightColor = lightColorPrv;
6 H( w4 z+ V& X$ s$ Y
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
. J8 }, G9 p3 T6 O2 H6 i
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
7 ~5 j% |" j) ]8 n0 u5 E7 \1 n* [
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
. T. |, p9 f1 _$ ^; H; o
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
1 J6 }- y7 a# ^, k5 k4 Q
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
7 }8 h b1 i0 c: j+ h8 C
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
: r7 L4 z& Z: s+ V3 F
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
# j9 r; H7 x$ R. k# I% @- j% ?
, D* Q6 d2 j, I) @" T1 ]' `* m0 S
// à??μ oˉè*
; G x4 Y% L0 K7 O% L5 w0 z
pLight->Diffuse.r = lightColorPrv.r1;
8 k; v2 |7 @ w Q
pLight->Diffuse.g = lightColorPrv.g1;
. C, h" x4 F' m" w" ]5 [
pLight->Diffuse.b = lightColorPrv.b1;
5 u8 T7 z0 h- }
// oˉè* ??à?
+ O) h% y9 o9 n* b8 T. ?
pLight->Specular.r = 1.0f;
5 C" H6 D1 e# E6 ~0 }$ S
pLight->Specular.g = 1.0f;
4 i6 [2 x; `$ R- Y M! L
pLight->Specular.b = 1.0f;
Q0 F; C4 M6 a/ a* i! I
// àü?? oˉè*
; o( R# s3 s% p# ^
pLight->Ambient.r = lightColorPrv.r2;
& y: ]7 K4 m1 O j% `- b& K1 j7 M
pLight->Ambient.g = lightColorPrv.g2;
( P1 j" `+ @, K2 ?8 K: A
pLight->Ambient.b = lightColorPrv.b2;
6 @! e/ k- b# ? \ y7 F9 ~- e
/ T* o1 U# D# ]! R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* f/ T6 @( l1 U* u4 v5 P3 M. u
{
6 _* V1 N- r# x, t! q( F1 ~
pLight->Diffuse.r *= 0.6f;
; W8 F. [# b) j
pLight->Diffuse.g *= 0.6f;
* p2 x: E4 X& G( Y7 E u) Y
pLight->Diffuse.b *= 0.6f;
: M1 K; h( E0 P$ V
pLight->Ambient.r *= 0.7f;
6 n' x0 n; r# E" p- |$ g$ _5 L5 w
pLight->Ambient.g *= 0.7f;
! [# J6 x t/ W0 L' b
pLight->Ambient.b *= 0.7f;
" n) x# S4 f/ I1 b$ t
}
: E) U9 s: v; u( I6 K$ ^- {4 \
e2 R$ o; a4 W
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 `( y0 d5 z3 \* W/ X5 B. Q; z: D7 L
if( g_pPlayer )
7 A# Q1 B* ?* y C2 P2 [" r
HookUpdateLight( pLight );
+ R2 d, b- p7 I6 R9 j9 J$ j$ ?
#endif
( z5 V! G4 `. J
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
) S9 F- h' }3 H1 T* B. j1 n
3 Q0 L8 o) y( c. Y2 M4 C- x. K( d
#ifdef __YENV
1 h3 S. A! P2 n& B1 @& |1 v
pLight->Diffuse.r *= 1.1f;
% L1 N4 F7 X6 j0 V" I; l
pLight->Diffuse.g *= 1.1f;
& y5 G5 k: I7 T
pLight->Diffuse.b *= 1.1f;
8 q! o; b9 o( R/ ~0 \3 f0 F
// oˉè* ??à?
! L# |6 Z/ h! x3 a
pLight->Specular.r = 2.0f;
~& y$ Y/ n6 R0 H
pLight->Specular.g = 2.0f;
( W1 i+ M2 k0 a/ z- v+ J7 |
pLight->Specular.b = 2.0f;
4 }/ _: X. S1 T1 O
// á?oˉ
" H5 \# N7 O- |/ Z- L
pLight->Ambient.r *= 1.0f;
1 ~/ J' f% @1 K0 m
pLight->Ambient.g *= 1.0f;
$ L2 s3 F/ ^# {
pLight->Ambient.b *= 1.0f;
* e' _, H- A& |8 ^& I0 x% H
#else //__YENV
* t, G+ N; e# b5 n9 M
pLight->Diffuse.r *= 1.1f;
* h/ w( f& [' c* u
pLight->Diffuse.g *= 1.1f;
/ |6 ]2 Q; M6 M; ?( ^0 l/ l
pLight->Diffuse.b *= 1.1f;
2 e9 c+ X: x$ S2 B
// oˉè* ??à?
+ R( K4 q3 Z8 b4 Y l
pLight->Specular.r = 2.0f;
2 l: V+ `1 E- P+ ^: A, E
pLight->Specular.g = 2.0f;
. j) X$ Z; N0 {6 }2 O7 l
pLight->Specular.b = 2.0f;
6 [4 n( i5 n3 u) N
// á?oˉ
[0 T; n& O% ~, C; T. ~
pLight->Ambient.r *= 0.9f;
: r# K' u( U Y8 \" ~! y; V4 c
pLight->Ambient.g *= 0.9f;
( L% p: l5 P& @
pLight->Ambient.b *= 0.9f;
9 V+ z, f" w6 n j9 [8 @
#endif //__YENV
1 a6 C: ]1 x1 ?3 I
4 g2 J4 ]9 Y8 S
memcpy( &m_light, pLight, sizeof( m_light ) );
4 Y$ Z6 M8 I" e: a6 q2 A, t
: `4 ^( H; E9 q' Z
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
( b9 ^ ?! }3 g4 l% J
D3DXMATRIX matTemp;
- q, _4 O. k- o2 w# i5 g' x
static const float CONS_VAL = 3.1415926f / 180.f;
6 w" j+ c2 A) B, l$ `
' E& e; }. l+ J$ f# g
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* R2 s, }4 c, ~; y, d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
# v# v1 v# d& A1 a( i4 l
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
# u- F2 A( S5 R" |5 M# J
pLight->Appear( m_pd3dDevice, TRUE );
8 q9 m/ M, M, M+ V' l
7 R- C7 G) P" D/ ^
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
7 J6 C* @% u* l7 r( [ B" P/ Y
// D3DXVec3Normalize(&(vecSun),&(vecSun));
; w. z Z5 n4 o) t/ }# { ]
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
! K9 F% ], U- k5 t
* `" ]" ~4 N9 I6 o- @# ^
DWORD dwR, dwG, dwB;
: N" N) H9 K; I! A+ C6 e
dwR = (DWORD)( pLight->Ambient.r * 255 );
+ n8 E( D' M; _% q
dwG = (DWORD)( pLight->Ambient.g * 255 );
7 O6 M0 W3 }* W. Y" K8 N( z
dwB = (DWORD)( pLight->Ambient.b * 255 );
% Z" a7 d; ]( B w& B/ x0 x# a5 V
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
- E# W8 E+ R4 N7 L
}
5 X! G- u0 R7 n- [; r
}
2 X$ T5 o- c2 _" @; S) W
7 A9 J0 ~6 @7 b# f& A$ C9 K
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
! h! n+ X( @# o p) b; N3 p
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) );
5 C: ~! o7 @3 r0 _' G. N
::SetLight( bLight );
" } Q9 n# J9 M5 t9 U# s
* C1 u$ R: U* h, b# t( D8 ~
// ±ao? ?D?í???ó á¤à?
T( @3 A4 L6 s. X: b4 R
m_pd3dDevice->SetMaterial( &m_baseMaterial );
" x2 l, M. s/ [/ d+ E5 u
8 K) z0 O. ~* f: Y3 {
#endif // not WORLDSERVER
) d* C4 P+ T0 p( r: Y- k1 U
}
0 e' ~- y0 |. X& f0 X
并更换
1 O0 [/ T1 v- {, U8 g6 \/ S T
Code:
& |0 {, K; u, o) O+ m5 p! \- M
__FLYFF_INITPAGE_EXT
5 s$ l( K- m) V+ p
定义
' L0 O, w: A4 q0 D5 M( ^! c p
8 X1 W8 x# i3 @. ^ j8 V4 i q
+ H& l8 o4 v5 v
6 w1 A/ e! F7 H' Q; v& m
# b; r( m1 m) R7 e' v
现在终于删除我的狗屁加速...
! l+ f/ _0 Q& f( t, r% B* ?! g# D
( H" [# O% W* F& [: Y+ x1 \
- n& M1 W3 |/ n. a9 K" a$ T
2 Y/ V. n( y/ T6 K) B' Q
欢迎光临 飞飞世界论坛 (http://www.ffwold.com/)
Powered by Discuz! X3.2