飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
0 | i( I2 `* k" g& {* |+ b
尾翼:
2 p4 ?1 M! q! \3 ~+ [* b2 Q9 A
. ?0 y$ W5 X2 A; i) \* J# }
代码:
: a. Y; r: P+ `6 N( ~9 E8 ^" R& d2 X
CWndAutoFood::CWndAutoFood()
9 Q H6 D( K& X" k: |3 z
{
% R1 J2 E& s" `( Z# G- N4 o4 z4 ?; t
m_pItemElem = NULL;
1 ?: I( d6 T8 X0 T8 J# [% z& D
m_pTexture = NULL;
+ a/ u( @$ |/ N2 w/ A
bStart = FALSE;
% @% g$ ~9 O; L7 B
}
6 ]' L/ {8 S. h, ~& q u
& t0 q. ]+ [; d6 K. E n
CWndAutoFood::~CWndAutoFood()
7 x, V( v% u! m, d8 `0 Y$ _
{
. g/ \. J, j5 m
AfxMessageBox( "AutoFood ist gestorben
" );
# z/ e0 r3 O- Z' B' q
}
- b4 u6 F% h' [; Y- g ]
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
. j/ h0 v. J, O1 ?! T
{
. [- u I' u" }7 b
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
, C X" ? K" s5 u# _/ E# d
}
- }/ o4 x: s. Q9 s7 a
/ z7 s) R, e0 m+ B
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
3 ~* W% y3 ~2 V) |
{
$ e3 Z; q/ \6 l
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
* u, q: f0 h+ \' R
CRect rect = pWndCtrl->rect;
0 |6 D+ I! t3 }/ F
if( rect && rect.PtInRect( point ) )
4 r2 V: K+ p. a% F+ M0 d L
{
1 E0 A; ] H. u8 I% B) b
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
1 U# F% B. |: J
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
) o8 ?+ U0 n+ X4 f' _) F6 f
{
; w3 e/ _; N8 Y
if( m_pItemElem )
, A+ @0 I. a! V
{
6 h+ ^* ^6 R, ?2 o9 K" P9 ^! m, _
m_pItemElem = NULL;
/ ]3 Y2 g" R- u* m, A( u% e& \- I7 x
}
% R7 P O+ L: F- H& A" D; w
m_pItemElem = pItemElem;
* \. i G4 K" H6 I N
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
r& {# E9 f6 U. m4 h" m9 |
}else{
5 a" k& |, |" s( u7 E
SetForbid( TRUE );
) U) G* m; g0 m- ^ B* o
}
, G6 f' j. l( J E9 q1 j; r
}else{
8 @# z6 s! Q6 v/ h( }
SetForbid( TRUE );
1 _2 _& d6 @6 x# w9 e
}
& o U! s* F0 f
return TRUE;
% o0 \/ L% ^, M5 ?7 z" }
}
- }+ p5 Y: S3 ~) U. A& t
. \3 T2 C N+ A8 |2 m6 ^2 L
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
: ?* Y9 o0 V* w* Y; q" d7 p4 q5 _
{
2 T( ?# a9 ^& _# `9 l# a
switch( nID )
0 m& P' H+ D: t$ X$ Q* v
{
, A; v- Q5 B* q; a
case WIDC_BUTTON3:
3 w: e# C/ |; h% G' E% ^
{
]/ M. \8 e) A/ p
bStart = TRUE;
+ {0 h! E2 M3 @3 t3 P! u
break;
5 F! I- L# w9 ]; {8 S, |
}
6 q- Y5 _% u. D; p
case WIDC_BUTTON4:
: L4 A6 \4 @! @" t7 g, ?* A
{
2 N& l9 f! D4 _8 b3 L u; z1 G4 s
bStart = FALSE;
- k/ n& D" q9 r
break;
1 {; V3 H5 T# P% f5 J$ }
}
( f- R+ `) ?- G6 g. S) \. r2 r
}
. q$ }1 U$ C% q; V
return CWndNeuz::OnChildNotify( message, nID, pLResult );
0 _, y$ A6 n6 j& K
}
) m1 w d' v( j0 L6 x
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
/ k; h/ I+ m9 r7 w/ J
{
$ G. d$ w8 B6 _1 Q2 d# }* l
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
) I) d" a* f: U
if( bStart || !m_pItemElem )
8 l6 _( X! R p% j$ H
{
" Y, u# P% h( N6 P
pBtn->EnableWindow( FALSE );
2 y1 H2 g/ e7 _
}else
; B. y0 F& @ s! _" y
pBtn->EnableWindow( TRUE );
0 Q, _2 ?9 @6 g# ]; a
if( m_pTexture )
/ H; q( b& R6 j: B8 q; c
{
! G) F [0 C$ `7 E7 ?7 a: i
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
& [) P& O) V7 g3 r) F0 }
if( wndCtrl && wndCtrl->rect )
, U& @2 r+ d2 d5 Z" [
{
; P$ N% Y6 D/ K% \& r
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
% ?4 c# ?9 w* `( [7 k* }
}
& ]# g7 U9 Q4 y, q- m
}
& m, r5 U9 N3 }: o8 z
}
+ o2 c5 L4 Y' V/ g
" Z; a' j/ k, j- q. M0 p' S$ t2 ^
BOOL CWndAutoFood:
rocess()
( h) t$ u6 N/ t* H. P C4 H1 `
{
$ c- d% j- ^' D& }% h! z. ~7 p: b
if( bStart )
9 N X2 j) X5 S$ {# A- u5 X
{
( @" O. U# j$ U2 k6 o% T" U
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
2 M. z/ d! l& I8 ]! C
{
$ [ l6 E; T, k% y" k* ?( ], r/ B
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
7 h. s" w1 {5 F* M8 C% h2 g. T
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
' L& p4 P( [% O
}else{
1 }! v7 k1 t4 P- g- X( ]
bStart = FALSE;
! L2 S$ `7 t8 v* J0 R. }2 `
m_pItemElem = NULL;
/ W$ H: p! T/ v$ b
}
- c$ ]7 P: L8 z: d2 E
}
% [6 J$ A% N0 H6 y; T1 [: B5 l0 m
return TRUE;
% Y6 G4 e+ b( l: \
}
" j- c1 b5 r# w( x$ {% h
) }% U- a9 i' ]# K# `1 Y
登录视频废话:
: `% {* h" [; F9 E$ Z
尾翼:
- {+ X# C+ j/ r6 h5 }- h
! p1 M2 N: `: ]' W- Z
代码:
( u" X( _9 R4 t# s+ ]0 m) a. Z; E: i
6 u U0 r: y4 z- U! g5 l% x( Y
void CWorld::SetLight( BOOL bLight )
~" d9 R. s' P: E
durch
. m4 }9 ^% W& N6 D3 z8 L
Code:
( F2 {7 h( O$ m- A+ T7 i% R) b3 J
void CWorld::SetLight( BOOL bLight )
3 [3 y2 y* `, Z5 e8 `
{
/ {9 i8 ]0 ?) T. g. E3 L/ T
//ACE("SetLight %d \n", bLight);
. J; m3 D5 v6 Z6 w. E* N; M
# {9 S! ]% `' f* E6 U/ d6 p
#ifndef __WORLDSERVER
' t6 V- u, X2 W j! P* n
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
' G1 w. }! n6 o8 i3 V
CLight* pLight = NULL;
3 K. X2 M& _& W6 z+ G* ]5 ~, q6 G
1 L" s/ n. e! q/ f: W6 D z
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
H7 j, @% O' M- j: J M3 |+ m# W- \
& e4 f$ x3 f& l9 F7 ?
pLight = GetLight( "direction" );
. \/ ^% B* L6 J b# T o# L. [" E
+ Z+ N2 C! |+ P% i8 P
#if __VER >= 15 // __BS_CHANGING_ENVIR
" Z! f5 X7 p; q/ _/ m7 R
if( g_pPlayer ){
) E/ ~9 ^2 I* G) `; g
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
2 O3 A, g( s- `. U
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
. [- V( u9 {+ {/ o* ?: u
{
# }( `0 C+ p5 G/ \
if( pLight )
- X7 m1 t, D- i5 U
{
, ^- Y7 T; ^! d7 ~- `6 {
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
k! H; @- a8 Q, w8 X+ T
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 D) w4 t% L6 U, R: Y
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
3 M2 D- |% `" n$ k7 _
' j: y4 x& G( B: I; M% V
pLight->Specular.r = 2.0f;
: L4 w+ ~ Q3 [, Y" b$ V
pLight->Specular.g = 2.0f;
+ {- I$ v. O* r9 c; e
pLight->Specular.b = 2.0f;
: F8 X6 F! w8 ~" d% d/ i' T) Q
& k. A3 G2 V/ g
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
0 U2 x2 E7 G6 n3 x5 ]
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
- g( L3 W- g+ X
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
# e) r2 D" v6 H6 W
7 k. |4 H( {& \8 p. g4 q
HookUpdateLight( pLight );
+ o# E6 o5 N( p% q
" P/ Z& }- n( V3 Z
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
P2 h# m/ H( A8 ~
/ Y4 N. E. i: ]4 f% K1 r
pLight->Diffuse.r *= 1.2f;
- U# Q; u& p. V3 c- L# C/ T
pLight->Diffuse.g *= 1.2f;
+ y. K/ P. W4 F; S
pLight->Diffuse.b *= 1.2f;
: Y6 Q1 R; i; t6 X" B
5 x5 F" X0 n4 ?5 l( B
pLight->Ambient.r *= 0.8f;
$ X) f' @' O# K' L7 A
pLight->Ambient.g *= 0.8f;
3 \" ^/ j$ @% n" `* `
pLight->Ambient.b *= 0.8f;
% E0 {4 S/ D8 N4 f3 O# ^, y& p
5 c( R/ q% Q1 E& U; j1 q# I
memcpy( &m_light, pLight, sizeof( m_light ) );
) c; Q$ F) L3 n9 Y
$ H5 M$ U: V4 z, J3 _9 r' ?! e
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
A) {* Q$ Z) {" }- D2 [
D3DXVec3Normalize(&(vecSun),&(vecSun));
, b6 t. D" g3 S( a2 v" x# f/ x* `
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
, S% k4 S5 w t
pLight->Appear( m_pd3dDevice, TRUE );
' y l2 t9 a* Y" r
) ~! x' R* Z% \" d* F
DWORD dwR, dwG, dwB;
, G" U7 ]8 w' b& y
dwR = (DWORD)( pLight->Ambient.r * 255 );
5 ?9 R# c# x& Y& z, s
dwG = (DWORD)( pLight->Ambient.g * 255 );
2 n/ v4 h7 n# }/ @
dwB = (DWORD)( pLight->Ambient.b * 255 );
7 t2 k& ~' o) l1 m8 { s. v8 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 z/ C" ^+ C: p L5 e. T" Q5 S
}
" a k, O% m+ E, l$ @1 R
}
4 N e, y; Z; b. k+ G0 r, R
}
" T7 S5 K7 G8 l+ i& a* h
else
% [( o3 X1 ]- o
#endif
4 |( U+ i6 X6 V, G
# r8 X5 d- p& h, O. C; D4 K" T
if( m_bIsIndoor )
. ^: N* f# U5 O/ ]9 b# M. g
{
+ T o! c) h& W' s) c
if( pLight )
0 ?( v1 q+ J ^5 n& e
{
# p7 F- ~$ ^1 b F6 D6 |
// à??μ oˉè*
" D* U0 [8 S R
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
$ i1 h" k9 m9 r
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
! @3 `8 f3 T& r! G+ w' o
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
# ^$ g5 a4 h/ K1 r/ x
/ I2 H* a& o) a) `% i% l
// oˉè* ??à?
8 p' D: |, c- S1 ]8 k4 E+ `& S
pLight->Specular.r = 1.0f;
2 O5 d8 l5 G q; H# Y# o& T
pLight->Specular.g = 1.0f;
9 u( [, \" x. ^" h3 ~
pLight->Specular.b = 1.0f;
9 h6 h+ G5 \% O: {
// àü?? oˉè*
7 k5 @" n) g& P
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
- H0 t8 M9 a+ ?" ? X( W( ]
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
, I. D: ?: M2 {& k& i% R
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
7 U7 ` O: d; @
$ \' c) ?3 S, n8 y* q
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* w' Z0 _ J2 v* H5 r* V
{
+ ?7 M$ g. ~- u! ^
pLight->Diffuse.r *= 0.6f;
7 A Z0 _8 O0 r7 [ [
pLight->Diffuse.g *= 0.6f;
4 l9 y# i5 n+ m# w5 n, ?# v
pLight->Diffuse.b *= 0.6f;
3 G0 _) B- G; w4 O: A
pLight->Ambient.r *= 0.7f;
# b) _& d% ^; O; L
pLight->Ambient.g *= 0.7f;
3 d$ J2 r" @& z7 O7 q) n- C
pLight->Ambient.b *= 0.7f;
) _8 i" A, ?3 v) P3 J; a* ?2 U4 f6 M
}
$ @; e% Z" ^6 b8 @9 p
4 ^6 Y& Q3 H% ^
#if __VER >= 15 // __BS_CHANGING_ENVIR
1 [' m1 C( a; ], u4 G2 Z$ s! x
if( g_pPlayer )
' h( l. i3 }9 g+ e1 O1 R
HookUpdateLight( pLight );
" q+ p( ]* \$ a6 O6 K/ j
#endif
' j8 P% `( x; s, t- y
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
_" J) s! J" j9 I: ?6 g
4 r: w$ v& J% T8 Q( R6 ]
pLight->Diffuse.r += 0.1f;
8 V' G( v* L/ W* a
pLight->Diffuse.g += 0.1f;
% H+ g2 e' f' a
pLight->Diffuse.b += 0.1f;
8 f9 v0 R8 s5 G n4 w* l" T0 |
// oˉè* ??à?
; `$ i& H( G# j$ o
pLight->Specular.r = 2.0f;
) e9 g: V1 V5 M# O- z5 R4 c C
pLight->Specular.g = 2.0f;
; ]& D1 _# C8 U. ~ C$ _
pLight->Specular.b = 2.0f;
1 L, u* F+ o* a, ^
// á?oˉ
# T, D6 Y, c, @' ]1 }1 F: X! @
pLight->Ambient.r *= 0.9f;
2 u7 [4 U! F9 B. |/ b% `& W
pLight->Ambient.g *= 0.9f;
+ V0 j8 r0 p S/ n" X4 q
pLight->Ambient.b *= 0.9f;
' e% T- \* |3 |4 D2 r
! o' ^8 ^9 F$ A5 |
memcpy( &m_light, pLight, sizeof( m_light ) );
" P/ \4 f" l/ d9 j3 Z+ I+ b$ o) y6 ]
; q5 @( t5 c$ P1 W; l# o/ ^
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
2 \1 u+ r8 Q! X
pLight->Appear( m_pd3dDevice, TRUE );
& `0 f- |) @3 C$ g, T- v
9 R$ h7 v Q5 a- u4 T
DWORD dwR, dwG, dwB;
9 Y+ N1 L" \8 b" ]- ?" g
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 m8 c; K1 v6 S: O3 C$ `# y
dwG = (DWORD)( pLight->Ambient.g * 255 );
9 F( a5 Y Y k' f9 ]7 M } t
dwB = (DWORD)( pLight->Ambient.b * 255 );
9 `. |7 R q+ g `! A! t7 d
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
3 a! ]4 d; u2 P$ e
}
( B4 P* b p% p w* Q
}
3 `9 N1 I- X( r8 D1 ]! m& l
else
8 L0 D: ] Y1 |0 T' d9 X8 `" m
{
9 p; P) E. z3 D& L4 a3 w
if( pLight )
/ Q8 H( M( ~$ [9 {% p2 u
{
' v; M' p+ s q0 |* v. E
+ B& |: f6 R: M; l1 i! I
int nHour = 8, nMin = 0;
+ y8 S d4 m) x ]
#ifdef __CLIENT
$ M7 w% }+ E* u5 W$ F# C
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
! I" e. m/ k+ _9 e8 y, I( w
nHour = g_GameTimer.m_nHour;
5 ^. m& T6 F3 W* i% l: @; n
nMin = g_GameTimer.m_nMin ;
: I3 q6 x- d- s3 m7 ^0 K% _& h* [ |7 g
#else
9 w+ B+ Y! V8 \: e, T$ ^6 j
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
1 h3 W2 Z# `$ W3 H
if( m_nLightType == 1 )
9 U& O5 |- E6 M- A
nHour = m_nLightHour;
5 G2 o! f3 f) ^- R
#endif
8 I% v( U W6 C, r y3 b7 i
nHour--;
* E. h6 A& k) L+ {" e! o
if( nHour < 0 ) nHour = 0;
* M; V. v9 p0 {
if( nHour > 23 ) nHour = 23;
& v# ^- O9 i2 F+ ~8 {/ o6 t
4 q# X+ Z6 _- \; @8 {; C5 S
//if( m_bFixedHour )
+ v5 W4 X P/ j q* T
// nHour = m_nFixedHour, nMin = 0;
) n* h+ P: K3 k: ]# Y
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
5 ~, ], B( |, s' a
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
2 i7 T; S: Q2 ?/ g W
# M( A0 p+ o5 ]% d' W; x
//m_lightColor = lightColorPrv;
M* V& I9 j+ A
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, l3 E- E7 j- b# a' ^/ s
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
- P0 K# Y: G9 a$ i
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 k0 Y5 \/ [, T) v# ^( b' ]
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ k3 ~, {/ w1 w$ E8 V1 B! o
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
: j2 K8 N" |: f. J2 N+ h w
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
" g4 I# q. f; p! Y! L! }9 Y
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
( y0 X, O# F+ A9 L. M
9 B7 R, |# j, q+ H, F/ o1 |' P* A! y
// à??μ oˉè*
3 M5 K/ E6 m" k0 v2 a
pLight->Diffuse.r = lightColorPrv.r1;
- Z! I' F0 D$ w6 A0 N4 I+ U+ |" t
pLight->Diffuse.g = lightColorPrv.g1;
( z1 w1 k$ L, S% E) e! p- {
pLight->Diffuse.b = lightColorPrv.b1;
6 w5 c) p' Q* X; X) l
// oˉè* ??à?
4 k/ f# s1 O: \' C8 |
pLight->Specular.r = 1.0f;
9 w, y3 J" b1 K
pLight->Specular.g = 1.0f;
. D% h/ L0 c5 ], D# {/ d
pLight->Specular.b = 1.0f;
5 e4 X/ j$ Y% ]
// àü?? oˉè*
) o6 r* U# g+ @$ {
pLight->Ambient.r = lightColorPrv.r2;
4 p5 ^/ `, K! r: G$ w( O
pLight->Ambient.g = lightColorPrv.g2;
7 C' ^, i8 v; i" v- i) o& L. `
pLight->Ambient.b = lightColorPrv.b2;
9 C2 M' k6 p9 W' F
8 C) r9 ~1 k" `/ i# W& ], M
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
* ^# v' b" Y$ ]! |: b9 p
{
' R* p5 @' H# A- ?9 _* w# R/ w
pLight->Diffuse.r *= 0.6f;
; B) c5 E$ u& j4 f q o
pLight->Diffuse.g *= 0.6f;
# X* s' z" s' G; w3 X, ^
pLight->Diffuse.b *= 0.6f;
- f+ C! I6 x; q D) t
pLight->Ambient.r *= 0.7f;
+ p- ~4 j1 ^4 W F) t
pLight->Ambient.g *= 0.7f;
7 _% k, c! z/ b: F1 U0 K0 q
pLight->Ambient.b *= 0.7f;
) F% U/ t2 B- T- L; g1 J
}
: q O& E, k% G; I) i& D! h
, }- ]* a0 m3 ?* s
#if __VER >= 15 // __BS_CHANGING_ENVIR
" \1 o% I4 S- ?2 F
if( g_pPlayer )
$ [1 o7 Y, @1 |
HookUpdateLight( pLight );
/ t9 a6 J. J/ x
#endif
3 [5 ] M2 ]3 ~8 Q
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
/ H. J9 K2 ^4 G4 X, K: K/ v* n) Y
! [2 k j7 w: C% t* @
#ifdef __YENV
/ t* I5 x- n* ~0 {
pLight->Diffuse.r *= 1.1f;
3 U9 D# U# u' E2 L. H5 h" W9 p# @
pLight->Diffuse.g *= 1.1f;
4 b/ O! s0 T9 q9 G; |) U& e: ?
pLight->Diffuse.b *= 1.1f;
0 @- d) b! b9 V; A/ n l+ w. G, K
// oˉè* ??à?
. i3 R/ \6 f! o9 ?" s
pLight->Specular.r = 2.0f;
- i+ x1 t8 z( F! g: B" P
pLight->Specular.g = 2.0f;
! d, C* ^3 O0 n0 a% U/ l7 R
pLight->Specular.b = 2.0f;
( Z& r" o- J4 s- h6 \; [5 U8 i
// á?oˉ
: W* x( J4 N* H( F. P( ^
pLight->Ambient.r *= 1.0f;
9 A$ {' p: ~) ?& f; R
pLight->Ambient.g *= 1.0f;
# H% |- Y9 M! X: I
pLight->Ambient.b *= 1.0f;
, X* y( h- @5 m: D8 c: `9 j
#else //__YENV
6 v( H6 n A9 h$ y) h+ b
pLight->Diffuse.r *= 1.1f;
) x; f' z- J& b/ V
pLight->Diffuse.g *= 1.1f;
4 z' F- v, f% ~3 q% H8 e
pLight->Diffuse.b *= 1.1f;
: J: h4 `. x4 c
// oˉè* ??à?
) }& {0 \, g2 N9 J
pLight->Specular.r = 2.0f;
' _8 Y) y9 ^" l- U P, {9 u
pLight->Specular.g = 2.0f;
2 D& n$ ^4 @( F! W3 c! s, c B* z
pLight->Specular.b = 2.0f;
; J0 J4 C+ O$ J3 e+ f. s% \+ }
// á?oˉ
4 }" T2 G' d9 j. c5 G% L# g( i
pLight->Ambient.r *= 0.9f;
& A" _+ q3 B. [% A4 k/ T; V* d
pLight->Ambient.g *= 0.9f;
2 ~& p) O) n d C+ K& o2 G( }
pLight->Ambient.b *= 0.9f;
4 E) a* t, }0 P( _
#endif //__YENV
) T$ e1 J4 r# Q" d& Z. b
& }7 K, f: `2 `& {5 a6 }/ J7 e
memcpy( &m_light, pLight, sizeof( m_light ) );
, w: w% f( @+ h( r( A, R
% ?& g4 x9 k8 A
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
1 c9 u. M7 H5 r s! b
D3DXMATRIX matTemp;
% s% J) D6 W+ F- ~/ }
static const float CONS_VAL = 3.1415926f / 180.f;
- H* \' K* P9 L6 R
6 F% U% u5 U5 V& O& E, H
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
4 ]0 ^& C9 y6 O7 Z. b* H# W" f+ {
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
9 V$ k. p- h4 i8 M: Q* E
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
# f9 U' j/ B" B
pLight->Appear( m_pd3dDevice, TRUE );
% o6 r6 n, L5 A: v3 H5 E
6 n4 A, Y# p9 X& _7 Q% E
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; Z/ w) k# ^" J: z6 c
// D3DXVec3Normalize(&(vecSun),&(vecSun));
% r. G: V; l3 p- s
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
) [1 C5 h- Q2 _0 p$ ^
' M1 \6 |6 e3 d; y& F6 U
DWORD dwR, dwG, dwB;
; ?# s4 M% x% ?, V |! k
dwR = (DWORD)( pLight->Ambient.r * 255 );
) W# [# w. X! l0 Q
dwG = (DWORD)( pLight->Ambient.g * 255 );
' s- x0 T6 Z. q+ X2 ^
dwB = (DWORD)( pLight->Ambient.b * 255 );
( P* L8 T1 s8 h6 K; p X* ]( n
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
5 o7 H; l" [8 H t1 \
}
! ^( z4 Y: G3 x( Z( N0 D
}
! K4 K0 `; _0 j* n0 _9 j
8 M/ i% j/ z1 L4 @' Q: f
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
) k5 E0 O) q5 p5 f
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) );
& M" M2 ?7 b* ~$ x; |" K
::SetLight( bLight );
5 Z9 J* B/ _" w
" M: e. E- [; a, l7 H3 Y1 N$ s
// ±ao? ?D?í???ó á¤à?
- x) m* G* D, Q6 i N6 {/ q, G
m_pd3dDevice->SetMaterial( &m_baseMaterial );
4 c# V# v9 q1 ^4 r; d% s6 x
1 v) A$ R+ C; V5 O7 x6 ]' O. K
#endif // not WORLDSERVER
3 y% r; v5 M- w' T; k: J
}
% [/ c) s$ S y2 ^7 I* }. R
并更换
/ p: N u: m0 S8 S% @
Code:
. _& M9 w4 I. I- B9 q
__FLYFF_INITPAGE_EXT
5 Y. C3 N. A; j6 ?
定义
) A& S& e# }6 \
; J8 o: X$ i1 c4 W1 c( _) Y) R
' i7 v1 ]! ~0 C3 ~; L
( I5 ^0 N8 N) T$ d
* R9 k! u2 m! v f' W2 E% _
现在终于删除我的狗屁加速...
5 n# _1 u. `% q, ]( z
% ~* J% e0 i3 w, H
6 u; ?: N+ e- `$ e2 C/ e$ V
, E7 m+ j6 A8 L# G6 l, c7 B
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2