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