飞飞世界论坛
标题:
自动饮血和登录视频
[打印本页]
作者:
admin
时间:
2016-1-10 03:46
标题:
自动饮血和登录视频
食品车:
0 ]- @2 Y1 u8 F7 K: G
尾翼:
$ _3 R ~1 K8 `" C& k% J X
, B% E% y" ^, y/ s
代码:
, w. }: r3 `; F# I1 y
CWndAutoFood::CWndAutoFood()
|; S. n9 `: I7 {
{
6 `( N" Y5 X6 o. v$ F
m_pItemElem = NULL;
1 _5 C5 o$ }2 O( D7 E1 @
m_pTexture = NULL;
! j% {9 F/ [5 A2 r P
bStart = FALSE;
* n% N" _: I! ]9 u! ]" w8 N7 ?
}
: D+ x$ \, y" O/ A8 R' ^/ x
. {3 m" i% Z8 m, M5 Q5 j# v
CWndAutoFood::~CWndAutoFood()
5 b/ M- r# c7 d/ D! _/ {
{
# j5 d8 K% F* n6 o3 A
AfxMessageBox( "AutoFood ist gestorben
" );
3 u8 k% b2 d. S5 e/ p
}
/ ^; W5 e+ R7 m0 \6 C
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )
+ j2 h) `$ k3 C& ?
{
$ U8 q# c p1 K+ r B/ t
return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
0 [ o6 @; t ]
}
; V& P. \7 x5 j: S, H2 u
. B: T- @& T+ Z9 X6 @, e2 D4 Q' D
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
+ z9 m6 s. j* W, u0 E( `
{
* a) _8 |+ L7 t4 X6 @( n+ \' T
LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
: r( b) P5 b# a" T6 h1 D u
CRect rect = pWndCtrl->rect;
( q! R% l; k$ V; U; ]7 b) _
if( rect && rect.PtInRect( point ) )
( P- H' Z- V$ n+ F9 p
{
8 i" }) J" U5 S
CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
6 O4 k2 r! d# x8 h8 e; ?6 f
if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )
& k1 ~/ i4 k) j2 H# C% j S
{
6 S( V" S2 S: L1 _6 W
if( m_pItemElem )
. c* n! i9 J4 t: v, p7 k) D
{
4 A! ~5 b s7 N0 }& m/ w) @
m_pItemElem = NULL;
! e+ ^1 ^! R5 s, X
}
5 A# p/ e( P. ` J# F7 {6 Z
m_pItemElem = pItemElem;
9 H/ a9 t, A4 W t
m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
' }/ o$ B0 l8 A6 `$ P4 @
}else{
* U0 i/ `- }; \6 J' C* |: J
SetForbid( TRUE );
( M5 s5 j" ], q6 n' i0 l5 V- d
}
7 b$ @* d4 {. b' n, v; M
}else{
" b0 k$ v4 ^" y7 }! g
SetForbid( TRUE );
+ }, ?/ Z3 ^( [* g) {
}
' h e5 B& T! a9 a
return TRUE;
& {, j3 E- l( H. w, N
}
$ i( c2 U0 e6 C3 \
1 g. U2 A; L& t) c3 w+ I1 I; r
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
! s* b3 J' a+ D+ Q- z8 H4 R/ z- Z
{
' M8 K0 h+ h4 O. b* D) i5 v
switch( nID )
4 m0 ^4 W+ n- l% I( v+ G
{
5 x: K" p' I5 S$ {* t
case WIDC_BUTTON3:
4 B+ G/ k: E; g
{
. N; {, H2 o" f, C, s, U
bStart = TRUE;
. `: N- O* |- k
break;
) E! Y% }+ ]) E& f3 \
}
( l# U- D# v6 K
case WIDC_BUTTON4:
+ U4 h+ D, f( p: ^. X
{
# F- _' X% P3 s! F6 T' v9 N
bStart = FALSE;
& J0 k3 m) t7 y* P, r
break;
" i$ J2 m( l' z$ p" [ g: q$ [
}
% r) I8 S, z/ R: h( J9 ^
}
1 J4 R T- F5 e; u- L+ ]* ] b
return CWndNeuz::OnChildNotify( message, nID, pLResult );
' }6 e; j1 \- {3 O
}
" A4 k9 J0 M% D6 ~1 `! M# M
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 U5 j% N# p, T9 ?1 p: _
{
7 U% V, _% V3 j$ w8 R2 D
CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );
+ s/ j) v5 R! V, `( N
if( bStart || !m_pItemElem )
# E( C; f( ]% O9 i
{
! o4 i8 I* G1 y& c% s( e
pBtn->EnableWindow( FALSE );
" s! d1 U; K" L3 k, ]! D$ l- J
}else
' J- r. }5 G3 d( [8 t
pBtn->EnableWindow( TRUE );
$ C5 G. [. B% n5 G% c
if( m_pTexture )
2 c8 B. l2 B' }% z( t" w- ~
{
, Q4 X, p Z5 ~+ u2 ?8 J
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
. b8 s8 d- P. [7 k D. n
if( wndCtrl && wndCtrl->rect )
$ U& G P" I, }3 [4 K
{
$ V# Y1 n# s* E6 T$ V2 y
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
; X4 Z. c% o" B: X
}
7 n# L% I4 T+ J$ ~% \4 k* {; Z1 b
}
7 B+ k/ x, b2 ~5 Y% ]
}
7 @; u* ?, m4 b% H/ L( {
% ?! n& D: o- s& k, P4 k* B
BOOL CWndAutoFood:
rocess()
6 H9 o7 X' K, a2 n9 k$ t: O* ~( R
{
# y5 B% N A8 t; }8 [; g/ O# @
if( bStart )
) s1 m3 u. o+ q/ O# c+ [% G
{
; ?5 y1 v9 Z/ T7 g' {
if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )
4 D: ]" Q% w+ W( F- D$ j
{
2 Y+ K9 j p: f- Y+ N- i
if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() )
" |6 |- p4 V4 L7 C: B/ e: q! E! T
g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );
4 k, H! o; a9 E' ~2 N6 y! p- \
}else{
0 `8 Q: ^* S2 m# B
bStart = FALSE;
$ }% V; R2 ?) O$ n4 ]0 h
m_pItemElem = NULL;
2 [- m" D1 J- |1 ]4 i
}
x& Y) x) t- K, Q) f; M
}
! _6 R4 l$ m0 u
return TRUE;
* M: C3 G2 g6 r4 d( a; }
}
, M* [4 C; W4 n$ {6 d
" v, k% [4 }8 o" G i
登录视频废话:
, l; [' R* H8 N. @9 A* a
尾翼:
% B6 g3 @2 p! |) p0 |
5 f6 r7 v9 y6 l' e
代码:
% k0 }: c1 q& p- y
2 D2 ^/ M$ A: W, {) F2 U& x
void CWorld::SetLight( BOOL bLight )
0 m$ ~9 }* o& W- i7 y
durch
$ g" D/ Y" `" T6 n" T
Code:
5 `/ @! Z; e x; w; s1 }
void CWorld::SetLight( BOOL bLight )
8 b4 X7 \4 r' }, ]7 M0 h4 _2 m
{
* V2 Y. U9 N1 @* b5 m6 d
//ACE("SetLight %d \n", bLight);
) M' @3 r! `5 [4 x: p+ c( m) B
0 w9 ]# R1 W6 P6 R& ~ b x; ?
#ifndef __WORLDSERVER
/ x& `+ ^- p+ d2 F- d7 h
DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
_ r# s3 q: C- m- ^
CLight* pLight = NULL;
& H- ~& b2 ?9 N- J- ]
2 O) C) T, s0 Z# c1 P, W) o4 s. E
D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
: B* d7 l- p0 n1 @
. e" U1 X* a- A5 K8 U9 M e2 ]
pLight = GetLight( "direction" );
* p& W+ C1 n( p; u, T. p+ G
4 }0 v6 B4 R# ]9 G4 x, n/ ?5 C
#if __VER >= 15 // __BS_CHANGING_ENVIR
* R6 F6 L! B: \ y
if( g_pPlayer ){
6 n+ r w5 M/ s+ m4 J- ~- _6 s
ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
* h7 Q" E8 k; k/ b' r* M
if( pInfo && m_kCurContinent._bUseEnvir ) // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!
/ Y6 I' B8 B# i% G# A
{
) z. L, K6 c1 g
if( pLight )
/ O0 [0 a2 {0 c3 c6 j* y
{
6 }( M% j, M" a4 N# w
pLight->Ambient.r = pInfo->_fAmbient[ 0 ];
. \! f. L$ }# z* s% r
pLight->Ambient.g = pInfo->_fAmbient[ 1 ];
4 s7 v1 d5 a! s" j3 o
pLight->Ambient.b = pInfo->_fAmbient[ 2 ];
6 S0 P! M! G8 W, r3 g2 G2 z
6 [7 |! C& z# F' L
pLight->Specular.r = 2.0f;
3 n3 E8 C$ E$ w& C. d
pLight->Specular.g = 2.0f;
0 ~" w7 G4 |- V. g; v1 e
pLight->Specular.b = 2.0f;
& y6 |6 o% R6 m5 J4 m$ f: T
1 Y& p: q$ u% k. I( `
pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];
' u; _. }4 |8 x2 D# T7 j2 e/ W% n
pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];
0 W+ w" |' Z' T0 s4 e
pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
0 O* x. k, Z# ^, U0 S0 d$ J
, Z: I, N. E1 `5 z+ r
HookUpdateLight( pLight );
; c8 Y" ^: @0 H6 Z# E
# q% n: p/ a5 k, G
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 H) [* G# ~8 _9 |0 y/ @" U# E
, J$ y: p$ I0 d- A0 ^4 M6 \ `( d3 G
pLight->Diffuse.r *= 1.2f;
' c# _6 G- g' B; S
pLight->Diffuse.g *= 1.2f;
0 ~' e$ C: d/ {) ~1 S4 n/ s8 {7 v6 v2 g
pLight->Diffuse.b *= 1.2f;
5 A. K8 @9 D7 D
9 x$ [+ k7 S: S9 Z7 p! \. `8 m# s
pLight->Ambient.r *= 0.8f;
8 P1 B t' S1 f+ E$ N* v
pLight->Ambient.g *= 0.8f;
: ^& E8 V" @4 L; i* i
pLight->Ambient.b *= 0.8f;
4 F: L- o8 C# d6 x% Q% _1 N. q) @9 p
, l3 j5 _6 w( s8 E2 t& @3 ?3 M0 R
memcpy( &m_light, pLight, sizeof( m_light ) );
6 V% g0 P8 \' I+ l6 Q) s
9 B' o- p( }" R, b" V
D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
( c. S4 V! c$ o% X B4 R
D3DXVec3Normalize(&(vecSun),&(vecSun));
; M! {2 h* ~5 C( U1 W) ~1 e; G5 m; E+ n
pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
a5 p) g7 F1 k" C( P
pLight->Appear( m_pd3dDevice, TRUE );
& a2 R3 s6 ~+ ?( B% r1 W( A) ?) u" ]
; E8 Q3 ?) b* d9 l2 ^8 y& V {) L: k) u
DWORD dwR, dwG, dwB;
! U6 M* ?* D) D6 W
dwR = (DWORD)( pLight->Ambient.r * 255 );
( c8 J0 A: q2 r0 Z- ], P& `
dwG = (DWORD)( pLight->Ambient.g * 255 );
% p8 ~0 A7 p, P8 J
dwB = (DWORD)( pLight->Ambient.b * 255 );
$ m- J! c+ e# Y6 W; R
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
: i3 C! ]" h% U# j. k% C2 }2 V9 H: O
}
. x4 D" S4 V6 d" q
}
& b0 c: H0 L% k
}
% Q- n4 Z) R2 k" s8 B
else
0 [0 _7 t( `3 L! v& s
#endif
8 E' A2 x7 u: w9 X& j
, r1 C/ A: Y% r6 r) U+ P; i
if( m_bIsIndoor )
$ u! S9 C# I6 m* b+ D
{
1 x3 W% O2 X' o8 k3 F6 d
if( pLight )
4 u8 A5 v$ [- L4 e2 P
{
9 x2 i c& {3 r3 r" b
// à??μ oˉè*
4 u8 o, p' f7 t _2 }, d( A& Q
pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
7 {/ ?8 k7 a$ i% F( E
pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff) / 255.f;
' t/ H9 @) u, i, x: ~! L
pLight->Diffuse.b = ((m_dwDiffuse) & 0xff) / 255.f;
& g8 ^# ^8 ~; C* e
I: z/ E! r* U; s+ E4 _% a
// oˉè* ??à?
2 u$ f) I0 N1 S0 Z, H9 L
pLight->Specular.r = 1.0f;
- c- I. v' G( ~) E+ }0 _, n. ^
pLight->Specular.g = 1.0f;
% x4 ?* a) Y& Z3 t8 s9 I7 s$ y
pLight->Specular.b = 1.0f;
* _8 W4 }: T: `
// àü?? oˉè*
; ]# R e2 a& H" S. }
pLight->Ambient.r = ((m_dwAmbient>>16) & 0xff) / 255.f;
/ x+ t2 R$ l6 b. P/ B: y
pLight->Ambient.g = ((m_dwAmbient>>8) & 0xff) / 255.f;
+ J7 [+ p/ |5 s" g
pLight->Ambient.b = ((m_dwAmbient) & 0xff) / 255.f;
7 h: h% l/ C% V2 _6 j R
( S& z9 X# i0 s1 j5 H$ T! b
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
& Y1 b0 _7 L2 h2 t- D
{
. {" [8 Z5 S& @) w5 }$ Y q
pLight->Diffuse.r *= 0.6f;
# N, m( R! b9 B
pLight->Diffuse.g *= 0.6f;
6 d, m5 B. [0 f7 ?& j7 D
pLight->Diffuse.b *= 0.6f;
7 F) Z5 Q/ T0 A f7 q
pLight->Ambient.r *= 0.7f;
0 {6 d. r8 O. K, y& Q/ q" |
pLight->Ambient.g *= 0.7f;
3 ? h, p- O d1 i& V! h
pLight->Ambient.b *= 0.7f;
$ |& B# T. `4 Z7 ]7 G: C( ~
}
, j! y X. c" q: O" o+ ?
/ m Y6 V% G. ~: B
#if __VER >= 15 // __BS_CHANGING_ENVIR
0 N$ o* A5 h$ ~" x7 c6 E; u
if( g_pPlayer )
' x$ |8 {0 U2 ^
HookUpdateLight( pLight );
" Z0 x5 U8 j4 |+ s5 @3 u; C! c! v# \
#endif
( a# D) t" r9 |1 J! }( w' V
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
# A4 e3 N3 W, t+ C( w3 |
7 U# \2 r0 @% G. q" o ~- |
pLight->Diffuse.r += 0.1f;
y( |3 j! @2 v* Y. I# P, }6 g
pLight->Diffuse.g += 0.1f;
4 [, E" W) o7 u$ |" `1 C! p
pLight->Diffuse.b += 0.1f;
. D$ i& c/ J7 j$ d( N
// oˉè* ??à?
. `9 H1 h8 {% b4 E: [, i! H6 b
pLight->Specular.r = 2.0f;
' ]5 ~7 o: p) U% _, ~) h
pLight->Specular.g = 2.0f;
2 }, Q1 U/ c5 T) P8 U
pLight->Specular.b = 2.0f;
# }1 p& }. s3 I' Y) y. y
// á?oˉ
: [$ {) ^4 ^; J
pLight->Ambient.r *= 0.9f;
# g7 y v2 d: ~. u
pLight->Ambient.g *= 0.9f;
) T, l& R% `) ~! H- t
pLight->Ambient.b *= 0.9f;
2 F5 U6 L7 ~, d+ j5 e
8 D( \5 e% v0 l H. u0 F6 Y) B
memcpy( &m_light, pLight, sizeof( m_light ) );
3 D3 q' `& a( ?1 s: u3 p
4 o8 U' p' {* F$ p# D
pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );
0 J1 s4 ^: F0 Q
pLight->Appear( m_pd3dDevice, TRUE );
3 n) C5 ~) V6 Y9 o! a- I
4 @% Z$ a8 G3 v% S; R; u2 Y* S6 S
DWORD dwR, dwG, dwB;
. L( k( L/ r2 X) F, k& r( E
dwR = (DWORD)( pLight->Ambient.r * 255 );
6 g% n4 a$ {( Y4 c
dwG = (DWORD)( pLight->Ambient.g * 255 );
- \% {4 z4 a. [9 ^
dwB = (DWORD)( pLight->Ambient.b * 255 );
/ q- |; s% O0 ^4 c; ]
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
w% z# W5 `+ R8 ]0 n1 H
}
# I) m S3 j) s
}
6 O% P+ b+ v9 z# \
else
7 X. q3 O- `2 A5 {3 x. v0 y
{
* W. k( R$ ]# ~- p3 b2 ]9 c6 n; _
if( pLight )
' I6 n0 R% b: H1 ?3 H8 |: B+ S7 Y
{
' M/ }6 ^0 ]0 K. E7 b. g
; s' Y. M9 q2 C
int nHour = 8, nMin = 0;
* ], F4 O) r, k6 T0 [% g% B
#ifdef __CLIENT
8 L0 T3 }+ @) g( d1 K& B o( o
// ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù.
* u" \ Y T; B" l. S: m
nHour = g_GameTimer.m_nHour;
- {( N' ^- }5 M2 r2 K% y# h2 I
nMin = g_GameTimer.m_nMin ;
$ @% j3 B% E# {; e+ l0 @' F$ a
#else
+ i+ H3 d+ o& H2 x- t- q$ O
// o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
$ g5 I) v% P0 [& a" |. Q: t2 c% a
if( m_nLightType == 1 )
4 T" V/ K7 [" t- u! ]% U( o3 h; o% |
nHour = m_nLightHour;
" k/ c/ t: J, @/ E7 F9 I. w" U
#endif
( t+ c6 n4 p; k+ H7 |+ ^% c
nHour--;
( h' u# n* w0 L0 H
if( nHour < 0 ) nHour = 0;
6 X' }+ P/ y8 ^8 q3 m+ z
if( nHour > 23 ) nHour = 23;
8 h: [& i8 b' ~) I( m8 W
) {) ^+ Z u1 s
//if( m_bFixedHour )
* L9 t9 t8 q. v
// nHour = m_nFixedHour, nMin = 0;
" F# v) y: v' N! ]! q5 K
LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
2 n1 H: u. |5 J% `/ A2 Z* t
LIGHTCOLOR lightColor = m_k24Light[ nHour ];
6 [, m0 N, K: Z" z6 ?/ c- T
6 ]) M8 K# G+ i! F2 u- C. ^2 o
//m_lightColor = lightColorPrv;
1 B7 a; b6 b9 d. W+ |
lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;
+ o \3 m) X0 E& i' S
lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;
& `5 X; R! \# I. s' j
lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
3 N4 ^ r1 V" ~1 e9 F" A) d
lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;
/ e' e8 X; a' I; [: d6 H, j
lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
( b3 A: W$ ^ B5 a. A
lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;
, }5 X# Z, d/ w. N
// 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
/ F7 \5 h V% G; T- c5 P
1 d$ J3 R1 V) z4 j8 {
// à??μ oˉè*
% e5 s }0 g% m7 A6 f
pLight->Diffuse.r = lightColorPrv.r1;
( O& C* ^- c5 ^ |# V/ w& F
pLight->Diffuse.g = lightColorPrv.g1;
* R2 }$ Z- g7 @
pLight->Diffuse.b = lightColorPrv.b1;
# r( M1 u3 F+ N [ S M* W
// oˉè* ??à?
0 ` O" R& Y3 ?
pLight->Specular.r = 1.0f;
& B7 |8 U( n. w K( ^3 o) K
pLight->Specular.g = 1.0f;
) D: Y' f% M* l& t2 ]/ H
pLight->Specular.b = 1.0f;
% I. K4 P' y' ?/ b* G) U$ S, x
// àü?? oˉè*
' j3 o. x( B5 U! t B: c+ O% G
pLight->Ambient.r = lightColorPrv.r2;
0 _* ?/ e J6 Y( b5 R+ |. ~
pLight->Ambient.g = lightColorPrv.g2;
0 I' w5 X* Z! D2 y* L. J5 s
pLight->Ambient.b = lightColorPrv.b2;
; S7 R7 }+ H' ~) A) V! T/ j
' ^' S. B$ c( g/ k1 v" X
if( g_Option.m_nBloom ) // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
- V Z7 w9 ?' f' u, F
{
) f9 P/ J/ @* }6 a
pLight->Diffuse.r *= 0.6f;
" Y3 p4 P6 f& `' a( J
pLight->Diffuse.g *= 0.6f;
+ P6 g ], y, ^( b+ |+ }
pLight->Diffuse.b *= 0.6f;
6 H* M$ b/ e! W* ]. Q; @+ f# B# |
pLight->Ambient.r *= 0.7f;
8 q$ J4 d8 P+ W
pLight->Ambient.g *= 0.7f;
+ X8 j( L5 R# h; ~$ C
pLight->Ambient.b *= 0.7f;
6 j, o: p0 r; A
}
3 H, r/ ?2 o8 V* n& S9 z |
' G# S- u. a. X W( q2 ]3 z% t
#if __VER >= 15 // __BS_CHANGING_ENVIR
( h/ A: l$ H+ ]: V8 d7 ?
if( g_pPlayer )
9 e& a+ i5 W* p; ?1 y; t
HookUpdateLight( pLight );
/ n& M' V$ ]8 H7 Q) h1 V m
#endif
2 y( J# ^3 Z& Y& d) s' A+ w: t' T
memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
8 h8 n, q- w2 j* ^
2 V$ ?* s) t1 l! f; B4 r" l
#ifdef __YENV
8 f# }. b+ m9 w6 P1 m
pLight->Diffuse.r *= 1.1f;
% q6 H+ F4 g3 T
pLight->Diffuse.g *= 1.1f;
, r) n7 O" \, R0 ^
pLight->Diffuse.b *= 1.1f;
7 ~2 b- X6 N5 \$ S6 j5 k5 [
// oˉè* ??à?
' I' s6 A# p* E9 h7 l( m
pLight->Specular.r = 2.0f;
6 v' Y' m% ?- y+ y3 t
pLight->Specular.g = 2.0f;
$ p, c/ B( i4 v9 s
pLight->Specular.b = 2.0f;
$ ?9 D: l) M+ R- ?6 N. s7 T1 I# _
// á?oˉ
6 l6 u' Z7 N' }" h8 v5 X6 K: l
pLight->Ambient.r *= 1.0f;
; \. ]- _& p G. D2 A
pLight->Ambient.g *= 1.0f;
5 K6 y8 V$ G, b- M: i: @
pLight->Ambient.b *= 1.0f;
* T( K) m) D8 _7 `0 }
#else //__YENV
1 B [. t: [" P* H9 B2 a
pLight->Diffuse.r *= 1.1f;
6 e( ?1 \ U8 g: m
pLight->Diffuse.g *= 1.1f;
. E5 C" ?/ k, B; a Y3 d
pLight->Diffuse.b *= 1.1f;
8 n& g: D( Q- W5 s' |
// oˉè* ??à?
5 x5 z* b7 t* m7 D6 t
pLight->Specular.r = 2.0f;
& U4 K2 g3 J7 B- k5 r% e0 K! b
pLight->Specular.g = 2.0f;
4 T# w$ C, r/ A5 k) @& K+ l4 Z
pLight->Specular.b = 2.0f;
3 Q& L7 G8 c* v( H8 B7 n: G
// á?oˉ
) B- v+ s' {; x
pLight->Ambient.r *= 0.9f;
; u3 N: l$ w4 v0 T* b) ]9 ~
pLight->Ambient.g *= 0.9f;
/ [1 U0 t, ~0 h0 S& o
pLight->Ambient.b *= 0.9f;
8 z( z% R2 w. h& Y* N( `
#endif //__YENV
3 |1 `% r* S+ t( o* [ U, y
% @6 y! R3 e# k/ X# y
memcpy( &m_light, pLight, sizeof( m_light ) );
8 S: j% N9 B9 [" u v7 n
/ m& G% i. g8 U* K
D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
+ D8 B6 h% N* F1 q
D3DXMATRIX matTemp;
Q* `( r: H% u- Z, Q
static const float CONS_VAL = 3.1415926f / 180.f;
/ z/ f% }5 T2 D) o. H& k5 i, ^: T
9 b# V9 _, e7 D) n' x
D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
. d. h) `' [7 `, N9 d
D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);
1 @9 x& ~% _! F4 t* A/ f
pLight->SetDir( vecSun.x, vecSun.y, vecSun.z );
8 W$ M5 j9 }0 W7 h
pLight->Appear( m_pd3dDevice, TRUE );
# r% h- d; C3 F- y3 t3 M7 X
: t( K6 E# n6 h4 {2 @, k8 V3 W c( P- m
// D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
; \0 d( T9 l8 S
// D3DXVec3Normalize(&(vecSun),&(vecSun));
" Y7 X2 |* q) H$ u3 }
// pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
: a( n9 E( V! [- i/ i
9 O F1 |: h1 T9 s
DWORD dwR, dwG, dwB;
5 o8 ?$ I3 f3 E7 G
dwR = (DWORD)( pLight->Ambient.r * 255 );
, N& v) x( u7 G# w! k
dwG = (DWORD)( pLight->Ambient.g * 255 );
% y5 v9 x3 f# u& y
dwB = (DWORD)( pLight->Ambient.b * 255 );
4 r( u* {% c% i. X
dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );
% B) b8 `! a' Z. _1 {- T. m, n# F2 d
}
4 H: h5 ~0 G9 m k( [: Q, c
}
/ d s0 L& f6 d3 J( |4 @( w, T1 f
: @6 z# F- ^+ ?" D; x& P* |
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );
" w# u: ?9 B% {( K
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) );
3 N" d3 L. M) ~6 w
::SetLight( bLight );
0 }. i1 o! c1 w
. S9 _$ r0 {# R; n7 a
// ±ao? ?D?í???ó á¤à?
6 t3 `9 g8 S+ k
m_pd3dDevice->SetMaterial( &m_baseMaterial );
_( d6 H( U+ H4 }' p* a
8 r4 e: F. ?9 R, a# ]! p
#endif // not WORLDSERVER
; K+ W0 H6 ^9 r) Q" W' ~) G0 Q2 a ?
}
$ B9 z1 k7 g8 Q. a8 N( i( m
并更换
, ^) x4 e7 n: s
Code:
5 S% t4 s- `7 P8 h5 N; y
__FLYFF_INITPAGE_EXT
3 r% K [" N# p9 o" c+ K* d# ~4 ?
定义
) f6 f. u& z( }5 Y5 q ?
% h5 D1 U( C" p* z( ^3 z
, ]0 `3 q# r+ z7 f) @! C- T
' Q2 q; F8 g. \# I" I5 O
1 M* M. G* W z9 l, S0 k
现在终于删除我的狗屁加速...
" p+ @7 w7 K: e+ C
i v T- }5 e2 \
" h( S3 U2 g8 C- y
9 F3 O+ N" }4 {7 c* ~
欢迎光临 飞飞世界论坛 (http://ffwold.com/)
Powered by Discuz! X3.2