飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
% V3 l$ z ]1 |; U- V: z
尾翼:
3 \9 e# {- E; m4 g
5 o3 h3 a' ^9 R7 Z a4 T
代码:
; f/ x% y o3 Y6 s" S
CWndAutoFood::CWndAutoFood()
" h- U4 p3 ]9 z2 z# d% W6 j1 u
{
/ _2 O4 @% f6 t7 E
m_pItemElem = NULL;
6 M3 E$ k/ y3 i, G
m_pTexture = NULL;
7 ]4 r3 G: X# W8 P9 o
bStart = FALSE;
. o6 a5 _& a, l- G, _
}
& F) M% [1 i& G f1 Y
& r7 W5 c' @1 V5 s
CWndAutoFood::~CWndAutoFood()
; C) n6 O: K7 h s/ m
{
$ p6 ?1 X1 t. c4 D
AfxMessageBox( "AutoFood ist gestorben
" );
% q. ^& ~0 R! n4 R) d$ Y7 v* l% ?
}
* W) Y- N c0 I% u
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
|* a" `8 h8 g {$ y% a/ ^
{
. J8 U% N6 z& L+ ?& w8 t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
; h4 H2 Q2 a* c. V+ w3 N! g
}
, d9 i9 h- y/ B' N( Q& M5 q' L
3 Z: t& m- z- X3 b1 I8 U4 N
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
R/ @% i( M# C+ _* L
{
0 B- o9 ?1 O5 U) L
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 }6 ]- S; a$ c! u7 Q
CRect rect = pWndCtrl->rect;
2 n' o% e; A3 i
if( rect && rect.PtInRect( point ) )
3 N; T1 x/ {# e4 L) {/ K4 p
{
- C" E1 n/ i. r' c6 @: C
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
- ]* U5 c+ U" [1 s! h
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
: S u5 d; n" m8 Y
{
+ L) g: O+ `% w
if( m_pItemElem )
' {- i6 R. h% y& i- z" d( X
{
0 n- C/ p- w# F1 v) o2 T0 G
m_pItemElem = NULL;
, }6 ^5 q4 ^* Y- N
}
4 ~* P. h7 c7 o% g8 `0 N; u
m_pItemElem = pItemElem;
' p% e) t9 p! @, g y3 w6 y$ v
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
+ d- T" b6 L# a2 D" Z/ h, f; E
}else{
$ X: L: U! N7 N) y
SetForbid( TRUE );
( N0 x8 ^, X4 H7 ^4 E" g% @3 I
}
0 w( _+ y y7 L* B9 e
}else{
0 I0 {5 P; r4 j2 i% n
SetForbid( TRUE );
" `% _8 w7 K5 o+ I$ J) P0 A' b% Z
}
# X7 e1 @! m5 `) V
return TRUE;
8 I* U. }4 D8 J
}
# y2 D7 N5 z, c5 A
; E4 A; g5 p7 F& V
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
$ n8 F6 j" e9 ?# t
{
! | b x* r- E. K- U& m3 k
switch( nID )
1 m0 p( |$ d* ?$ J$ m7 j1 I# i# X
{
7 Q& I1 |6 g" e! ?% n R6 B0 b2 z
case WIDC_BUTTON3:
4 M, S% s; N1 k
{
1 Y* ~ w8 n! @! M
bStart = TRUE;
0 X4 a. R3 P) U) r; O
break;
$ e' V( U8 ^6 T M: K/ g( T
}
2 H* c2 d. f0 x0 v- r+ q5 |
case WIDC_BUTTON4:
; W" {# Z. z/ h
{
& r" l$ ?- J% S& E
bStart = FALSE;
1 h6 Y. F# s# [8 q( f+ z
break;
$ a% ~! | Z/ r+ u
}
) P, w; G4 K+ O5 t: ]
}
8 k4 X/ U3 j" q" X
return CWndNeuz::OnChildNotify( message, nID, pLResult );
& t1 M% @ F" x ^
}
' X1 _* C9 S# H( L7 q
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
6 n7 G* x6 `( X# b8 m3 i
{
5 s* Q; N, @4 i" z+ D. q9 i- l+ j( j
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
. y9 W" _. w' X; [% A
if( bStart || !m_pItemElem )
' h% E& |( F, E0 |7 @
{
; g- | @$ r" W2 f
pBtn->EnableWindow( FALSE );
$ K, A* J: ?- R G3 }8 E+ p
}else
' o, t/ y1 V- N: D% m5 m/ ]
pBtn->EnableWindow( TRUE );
3 _; `. [7 s4 R9 A# a5 |
if( m_pTexture )
( j5 O" Q \( |% c! A# X' g
{
7 H1 x6 ]' V- R N9 m3 A& I& [
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
( u4 c0 X8 T* X0 j
if( wndCtrl && wndCtrl->rect )
3 d. ?8 c1 L0 H4 H
{
2 i, q8 _+ i9 d
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ f+ t7 u1 P1 r$ f) p& v
}
8 e( v4 B# p! U% b
}
* T9 f' E; j, b( w) g
}
# J( [+ r' h# T2 @ M2 p
6 i L# C! l, M2 l& j
BOOL CWndAutoFood:
rocess()
1 y7 F6 H, X" \$ z m( r
{
: u: O4 a( v" |% r$ [- t, D" W. a
if( bStart )
) O9 D% s8 H4 w
{
% k8 E4 k& q/ T3 J: q! t+ }, [' y3 I
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
* {$ l1 q, i h; [/ @) J
{
% k7 r' W" S& K C1 U
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
& I6 d) l; B/ [
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
9 h+ A- W" G* M
}else{
( ]4 Z! p) J* l! \; ?$ }- Q- P
bStart = FALSE;
( F, s% d0 l6 I9 M
m_pItemElem = NULL;
6 }" w3 ^8 r, W9 M1 D2 @
}
- J+ _" A( {1 s3 Q! N/ o5 J
}
' @0 r' P+ D0 D' c& V
return TRUE;
) L/ @7 `0 ]0 N- D1 ^ r V* r. _* j# d/ T
}
* O' u% I" r5 L( M
9 T! F9 C+ [* z7 \9 h1 h% Q- x' \; y
登录视频废话:
8 F2 J( @* l6 w; a
尾翼:
: ?. v1 F3 f/ L5 x, I% u
/ u! x0 u! ^% h! m& t; y6 ^
代码:
. ^) {# ]' \7 U o/ q) k1 M* J
0 ]6 R& D8 M& Q) E8 }$ _
void CWorld::SetLight( BOOL bLight )
; E: D$ A8 P0 E9 r/ e0 \
durch
% Y1 i- U9 ^7 o4 z, L
Code:
/ Y* ]; g, j7 y2 [6 g9 J
void CWorld::SetLight( BOOL bLight )
& W2 l6 [* F$ E6 g
{
, G: i& R0 O5 W8 t K6 E }! @9 l% o
//ACE("SetLight %d \n", bLight);
9 N; ]; a5 s1 O7 c. |# Q
* O6 | g( o4 I9 O9 N$ L
#ifndef __WORLDSERVER
3 r8 W0 g) ?5 k( a- X9 L( ]
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
4 T# f" R/ _5 z2 W! A/ h
CLight* pLight = NULL;
- b: K4 d+ Y" l* `* n: D/ v5 [7 T1 Q+ T
4 Z- |. }' ~* j( L
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
' l$ t% g( V5 z! k
$ l5 ^' M' O$ t n
pLight = GetLight( "direction" );
( Z) p: I: J1 Y# e5 ~: j
( U9 z4 \, m! j
#if __VER >= 15 // __BS_CHANGING_ENVIR
% z+ E( m) Z1 A' K
if( g_pPlayer ){
8 Y' d9 u+ A" A$ z0 V7 V5 t$ M# l' l! z
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
! V- p y) z2 d/ ]6 K
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
. O/ P' e6 ?6 q4 d3 D# k* L4 v6 L6 B
{
, A$ n! _. N! p1 R8 `- b/ z
if( pLight )
' r" r+ f- D* `6 X6 c, I8 ]# m
{
. u, Z- n3 z- S, g0 Z8 @
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
+ r0 G, [$ j' U8 f* [* X, n7 }
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
6 t6 H# O+ W& o# W+ x
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
4 w1 ~) H! R) T3 H: Z5 W6 m9 V
* ~0 {. I5 `6 b0 B% m
pLight->Specular.r = 2.0f;
4 t2 L: L) E6 R/ `
pLight->Specular.g = 2.0f;
7 C# n" b( C1 k/ z4 A
pLight->Specular.b = 2.0f;
, ^* `4 x. }- V
7 v# T8 t: Z, _: [
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
3 y3 F- ]4 S2 N
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
% L0 {9 e* p/ h' d( R, S
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
+ y$ G1 ^ s* j5 [: Q4 _9 D7 F
7 G. v4 q' x, }# m9 m) ~
HookUpdateLight( pLight );
4 ^! n1 d [% V# F D. ?2 g ^
0 E2 p9 ^- H8 w1 m7 I1 j) t$ H
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
- ^4 |/ m5 E' {0 I: c- v
$ Y a" X, ]: n/ A
pLight->Diffuse.r *= 1.2f;
. g: a* G2 @7 P7 M3 O" o
pLight->Diffuse.g *= 1.2f;
# W4 D6 F' a% x. e8 Q
pLight->Diffuse.b *= 1.2f;
5 ]5 S6 n. ~( n0 p
7 M* B V) I' b' N5 U( p
pLight->Ambient.r *= 0.8f;
, w# ?3 V9 D( \" K! B+ S- {
pLight->Ambient.g *= 0.8f;
* Z, }' J+ z6 W) V% @0 _, Q$ P
pLight->Ambient.b *= 0.8f;
F" x: Y6 V$ `8 O U
8 `) B* }2 s$ K6 O
memcpy( &m_light, pLight, sizeof( m_light ) );
! Y1 N2 @/ L9 s8 B0 a
& p- T8 ^4 G# V: J2 D `
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
* [9 C+ | n2 W. J5 R; f
D3DXVec3Normalize(&(vecSun),&(vecSun));
* m2 q# p/ f* E
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
. y3 V! b! ~9 D5 O+ A4 T/ g7 ~
pLight->Appear( m_pd3dDevice, TRUE );
. `; I8 ?9 W+ F2 q. J a1 F. N
1 t( |5 W3 L2 t( w5 r4 v
DWORD dwR, dwG, dwB;
) e4 ]$ O1 I9 I6 x* S3 v+ i
dwR = (DWORD)( pLight->Ambient.r * 255 );
, S: M% u% w6 ?# q/ W) `
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ Y+ T4 u ^, [9 p3 u4 g
dwB = (DWORD)( pLight->Ambient.b * 255 );
: q2 k! Z# p* L. Y7 `
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
; t( M4 F3 V: L9 f
}
+ R; y X! f n, {" S
}
h3 q Y7 U5 \* ^
}
8 l+ g. z0 j5 }
else
; w9 _/ A7 e7 U- x6 ?& \ N+ P
#endif
% U6 z- B9 y: m7 e
+ c4 \3 i# T7 O6 p# W! ~1 `
if( m_bIsIndoor )
+ j5 m, N1 b$ j/ C
{
3 k3 Y9 S" a y5 o$ N6 o
if( pLight )
$ g! c, W5 `% N. D% R8 ]9 D' s' M1 M
{
" R' v4 H+ }! c6 W4 W) S3 n3 g j) G
// à??μ oˉè*
2 `; \" E1 A X t! {: M- R2 @
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
& O# q0 Y9 [$ O* u4 A* H! H
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
& ~- }6 T7 X# {& ~9 x
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
1 `( C( D: N' r
) C' P1 z- Y9 g. A7 v
// oˉè* ??à?
8 ~7 f( ?6 g0 O. V [* c
pLight->Specular.r = 1.0f;
. E0 d' u0 F5 T2 T! a/ V' H) [! d
pLight->Specular.g = 1.0f;
9 s! E; Y' f3 |1 O
pLight->Specular.b = 1.0f;
* E* n8 R$ _3 _8 z( U8 y. h
// àü?? oˉè*
8 S/ y$ b, {$ ~4 [
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
8 l" g/ w- R* v R, F3 T* \) o
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
1 p. }. V; D9 E" E+ ~1 U- k
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
; g& u# w" [! g# X/ ]8 H
5 r. P4 H. Q7 r" R
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
0 _% t/ g- M, H8 l
{
. l' D8 G d( y
pLight->Diffuse.r *= 0.6f;
' @: p1 J3 o8 Z5 |( Y7 A6 X7 `
pLight->Diffuse.g *= 0.6f;
. K6 h8 f' r: w2 z( P2 B) z
pLight->Diffuse.b *= 0.6f;
% S0 ^' w9 \4 T p+ d3 z) q
pLight->Ambient.r *= 0.7f;
7 N0 S; w6 Q& `, ?. R9 X
pLight->Ambient.g *= 0.7f;
7 {7 p5 C* }; C" @
pLight->Ambient.b *= 0.7f;
5 I5 F& r; O4 O9 B4 p
}
b5 s) ]& Z$ c J: O3 O% g
2 S' R- b: M2 [6 D" D/ I
#if __VER >= 15 // __BS_CHANGING_ENVIR
& X& ]" k, q8 t) a* x
if( g_pPlayer )
6 e+ h4 d* K3 N& }& N
HookUpdateLight( pLight );
. b" u8 ~) m2 A% n* P0 p5 ^6 c
#endif
4 l! @$ U* C1 Q% Q5 g7 ?3 U
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
7 q" e `3 z) z% @0 j
/ V7 a1 t2 x5 l* z& x
pLight->Diffuse.r += 0.1f;
9 l0 {- n @5 K# B, a+ S
pLight->Diffuse.g += 0.1f;
+ j' }0 k+ R$ j
pLight->Diffuse.b += 0.1f;
2 i+ l/ ?) C) f
// oˉè* ??à?
$ J- X) T; |. R' g& H1 A
pLight->Specular.r = 2.0f;
2 b0 {. e9 i0 m
pLight->Specular.g = 2.0f;
& [: p- V9 K" E! x* f1 e
pLight->Specular.b = 2.0f;
$ b0 W+ S1 `, k2 m b# a
// á?oˉ
: z- y# h" I& ]7 k# v- E6 [
pLight->Ambient.r *= 0.9f;
0 {" ?8 a" q( ]" d# F$ E) L
pLight->Ambient.g *= 0.9f;
, D1 Q( y: N2 P$ x* |& n
pLight->Ambient.b *= 0.9f;
* }0 l z! X0 e* a0 @
1 M9 Z: w/ C) K, O
memcpy( &m_light, pLight, sizeof( m_light ) );
V; e1 ] K6 A v2 R& O7 w( a3 |
! o7 g4 X5 y) Q2 W H! _3 F3 A
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
+ O4 v# k7 i* W* c4 {, q
pLight->Appear( m_pd3dDevice, TRUE );
( Y$ |$ o" I3 m9 ^8 u- N M! D! s
5 {/ c0 d9 z! `- V' x
DWORD dwR, dwG, dwB;
/ j D. T8 @$ N% n1 C6 ^
dwR = (DWORD)( pLight->Ambient.r * 255 );
9 i; \ V- r3 m" f! {' d
dwG = (DWORD)( pLight->Ambient.g * 255 );
/ m6 K# ~) f' h0 \( ]- G
dwB = (DWORD)( pLight->Ambient.b * 255 );
5 S& P+ `+ S8 W" @4 J* w! B( q
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
* m" l. m* u n1 p
}
- P" j/ ? b/ B
}
8 O( ~/ i2 j- [/ C* @
else
1 X& n) I: y+ E- D2 _
{
' H v! L- e% K, ^
if( pLight )
4 \( W) i" j8 B/ v$ q+ x2 I ~
{
1 C& `5 d2 G4 G* h3 r6 s: O5 w( h" P
! l" T# G% r1 |( V
int nHour = 8, nMin = 0;
3 A# i! W N5 o$ W1 f
#ifdef __CLIENT
6 w0 S) S9 D! ~$ W
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
1 _# G, |/ p$ W1 R% B4 R% h
nHour = g_GameTimer.m_nHour;
5 V* w1 N8 ?. Q" g, T
nMin = g_GameTimer.m_nMin ;
: @+ }" S- P- ^9 Z1 Z. l3 \
#else
) k' p/ Y7 p+ F6 F4 v! `4 A
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
+ G% \+ Z! ~$ }. S! C& T1 i" c
if( m_nLightType == 1 )
# m% E. f3 r* t0 ]
nHour = m_nLightHour;
# u) P3 L6 U2 U
#endif
# Y: }. b: x0 B7 e( f
nHour--;
! m: M Z5 G) B2 b3 d, N
if( nHour < 0 ) nHour = 0;
7 A/ m2 L7 Q/ j4 p a
if( nHour > 23 ) nHour = 23;
: q, r5 b! _2 ^- l7 d: i
& F" m/ T6 H3 o
//if( m_bFixedHour )
" t- V2 H2 O+ j% R4 Z8 p' R
// nHour = m_nFixedHour, nMin = 0;
# d3 ]. ?) @; n) y, H
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
3 M u% i5 F% q# Y* ?
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
- o( ?1 A. K2 ?. c C
* i( ~: Z4 R a b
//m_lightColor = lightColorPrv;
2 e: ]- c. c# M
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
, J9 w8 e( E1 K8 j. b) F4 h
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
0 ]9 U9 }8 S) |
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
) ?8 Y. ~7 q! F: M6 `0 w
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
0 v- T' E" n0 G+ |6 h" z* p. S
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
$ h# ?+ I' h7 K0 |+ O/ c
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
1 Q+ i- h. o. z/ X3 S9 H7 g
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
& b! |: v$ E, @4 ^
, s9 d% \- w }" J
// à??μ oˉè*
/ y4 A/ |# i) M% [
pLight->Diffuse.r = lightColorPrv.r1;
; L* K4 S! S* N7 G
pLight->Diffuse.g = lightColorPrv.g1;
) [9 i5 t$ `" ], ^: K
pLight->Diffuse.b = lightColorPrv.b1;
* }6 l2 h/ k1 j( M) [ c9 U
// oˉè* ??à?
* O/ b+ r3 _' ]$ \+ y7 Z
pLight->Specular.r = 1.0f;
8 Z" d0 T y' E4 R) b
pLight->Specular.g = 1.0f;
: z8 h0 v- F+ ^" A% o- M
pLight->Specular.b = 1.0f;
3 }1 O% ^' U! z, F
// àü?? oˉè*
2 h0 T7 `4 d9 m4 L
pLight->Ambient.r = lightColorPrv.r2;
7 C4 `4 V: |7 T0 y) g' Z
pLight->Ambient.g = lightColorPrv.g2;
+ ?+ v; _0 {7 ]1 S) U; t% }/ h+ Q
pLight->Ambient.b = lightColorPrv.b2;
( T+ ]; T+ S0 e& X
# U, Z6 X2 Q$ g
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
2 [5 {+ i6 J# h
{
0 k0 b1 | |# q" {
pLight->Diffuse.r *= 0.6f;
) Z& e5 X) _8 F4 \
pLight->Diffuse.g *= 0.6f;
7 M5 N1 f2 l# C- S. G" X8 |
pLight->Diffuse.b *= 0.6f;
+ a) a7 i$ T- x# |% G6 Z+ f
pLight->Ambient.r *= 0.7f;
% v! v: h8 S: W# Y0 w+ d2 W) w
pLight->Ambient.g *= 0.7f;
0 B' m4 K K1 Y0 C& f4 R- `6 I
pLight->Ambient.b *= 0.7f;
# t0 r3 f9 r7 D7 O# K5 P
}
7 l, n: G4 c: C2 }: u
) ^) z6 l8 b. V% ~% V v. k
#if __VER >= 15 // __BS_CHANGING_ENVIR
% ]% I+ r& e" K( m/ a
if( g_pPlayer )
0 J5 Z1 _$ w/ _/ S. S
HookUpdateLight( pLight );
7 ^1 p% g1 ~ e6 } c7 E
#endif
% J! C2 P9 }! M5 S0 a: c" ]
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 V i4 {, O3 B) l# R
; R8 }& j2 @; O. P0 P
#ifdef __YENV
" _+ N5 u3 Y+ o. l. k6 W
pLight->Diffuse.r *= 1.1f;
# n `# Z9 I' K/ Y6 M
pLight->Diffuse.g *= 1.1f;
3 A3 I5 o( H% u+ n2 n5 V
pLight->Diffuse.b *= 1.1f;
: v; ~+ {' M8 w5 n
// oˉè* ??à?
! @) o, u+ h0 I0 l1 e
pLight->Specular.r = 2.0f;
) _+ U6 T( A" o0 ?" K; i. R9 _/ L
pLight->Specular.g = 2.0f;
0 r+ `$ I3 C- A, m; v9 A. o+ I
pLight->Specular.b = 2.0f;
% b/ U: p" Q3 C0 M% m$ _
// á?oˉ
6 K5 s f; }3 K2 l) i' t
pLight->Ambient.r *= 1.0f;
8 W2 C0 d Y% q* ~+ E$ o5 |; E; @
pLight->Ambient.g *= 1.0f;
6 T$ N+ y/ |( n0 p1 N' F* `
pLight->Ambient.b *= 1.0f;
2 c: b7 W1 t$ {: X9 V+ t3 l
#else //__YENV
, M' J! ]9 V! G. Y7 }& K7 g
pLight->Diffuse.r *= 1.1f;
; Y+ d- i4 M9 j' b
pLight->Diffuse.g *= 1.1f;
2 E; ?$ @2 X: `1 C% }1 W$ a
pLight->Diffuse.b *= 1.1f;
& f' ?4 y8 I/ Q* l# v
// oˉè* ??à?
/ j" m$ @$ \* c
pLight->Specular.r = 2.0f;
* F& E4 Y8 V) W& q
pLight->Specular.g = 2.0f;
& b. p/ k5 s; B" }8 ~
pLight->Specular.b = 2.0f;
9 E- \, D& q+ ?5 V! {
// á?oˉ
/ h" F5 b6 y) R# R6 @) u& m
pLight->Ambient.r *= 0.9f;
9 ?' R6 G- F! l' z6 s- Z
pLight->Ambient.g *= 0.9f;
+ R( w4 P6 V: C6 ^, t: {
pLight->Ambient.b *= 0.9f;
" \; j4 C. S+ K- J+ |8 J
#endif //__YENV
6 {" J* N3 g- ~9 D
9 ]) ? C8 H" z% K4 _% |/ y L
memcpy( &m_light, pLight, sizeof( m_light ) );
# t4 R! G: N3 B. F$ N6 O9 K! O' d
7 l) S3 P3 D1 R: O! ?4 `/ J) I
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
9 [! F. {! E. o) y& [2 @) k; h! F
D3DXMATRIX matTemp;
) ^( m; Z% W; N3 Q1 _' w& p, }, A6 n
static const float CONS_VAL = 3.1415926f / 180.f;
/ m) P7 s# c z D: M* r; x) }
8 T8 Z+ w# U' y% A/ A
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
- H! d* D" y( w. f5 o ?# ~
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
7 B u; L! f5 y
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
5 ]' z; A' R# }
pLight->Appear( m_pd3dDevice, TRUE );
) e9 E) w% |; T9 X _- j6 d
3 V+ T/ C9 p3 Q. d3 F4 n6 R- A. g V, M
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( B8 A9 x$ R$ i; T
// D3DXVec3Normalize(&(vecSun),&(vecSun));
+ K" l* M& }, n" D& `1 V0 T( T
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
8 J0 u5 W% m9 Q3 m5 Z9 d
# v) v3 W' {7 k i+ p# d- D
DWORD dwR, dwG, dwB;
$ Q5 H$ ~. L1 y+ ]* A6 k# b, _
dwR = (DWORD)( pLight->Ambient.r * 255 );
. G/ o9 Z/ |& u) P/ o
dwG = (DWORD)( pLight->Ambient.g * 255 );
# a- [+ R1 o. A
dwB = (DWORD)( pLight->Ambient.b * 255 );
0 h1 o5 u$ [) @, @: P0 O
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
& C/ m; q8 q) ?4 A6 C! D: |
}
8 d( I9 _& d6 g3 e7 W8 G0 T
}
3 p$ X; A( q2 n+ Z
! l" F1 s, S; z7 Z7 z
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
5 _, W" Y- L m" q6 {
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) );
0 V; u" [" x5 O, Y6 t/ r
::SetLight( bLight );
! g* `% w! |2 \8 K3 ^, M# q* H$ w
8 Q/ i2 p$ Y- u: f
// ±ao? ?D?í???ó á¤à?
' m+ i8 s# g& m4 v1 X4 s
m_pd3dDevice->SetMaterial( &m_baseMaterial );
3 V6 i/ k) v5 B5 h5 Y- t* f3 [
/ @2 f! O6 O' N' j1 s) o
#endif // not WORLDSERVER
' B- g# {( Z9 ~- j8 g3 ?
}
% L9 ^7 {& \5 R5 v
并更换
`3 v1 L- d# a- E
Code:
/ m4 [* p* i( J9 F' Y9 D; a; e
__FLYFF_INITPAGE_EXT
9 O& U3 q+ z7 [) c* E" G- K
定义
/ n2 b9 S; L) v4 s1 S: F
. L1 T' b% Q- a/ R' ?3 c9 X
- z; H. k- b) p" T' q4 @
) N7 d2 O8 z* k+ E1 ?' e" ^
& W. {; A: P t+ ^- h! L
现在终于删除我的狗屁加速...
( ~5 F% r* X/ q) A6 ~' B* K8 K
1 w1 I% i6 }( H! r7 q" K5 M
+ E0 n% c8 J! s& A
, G& M5 a N4 ~1 Q4 R5 [, v
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2