飞飞世界论坛

标题: 自动饮血和登录视频 [打印本页]

作者: admin    时间: 2016-1-10 03:46
标题: 自动饮血和登录视频
食品车:
' T' P( h6 y7 L" H# {  m* v! X尾翼:# ]3 x, r0 D9 v; s/ ]0 M) ^6 M- _# p
( O4 R: x6 h1 I6 p* z! R5 m( l
代码:8 c7 W! x& p& @8 {% G0 {6 q8 K
CWndAutoFood::CWndAutoFood()/ l9 I8 |6 R. I/ }  |3 P
{% G, z2 L8 w( F9 v
        m_pItemElem = NULL;1 h8 a) H3 l! i1 y
        m_pTexture = NULL;1 i& |3 O2 }- j% H3 I+ i$ R
        bStart = FALSE;1 G& ~- S! x5 Y: D! e" b) i
}' q3 ?9 ~2 G5 }3 {: C

+ G8 F9 U/ W: ]; OCWndAutoFood::~CWndAutoFood()
0 z$ P- B+ R" ^1 s{9 D# i" c* O( E, [
        AfxMessageBox( "AutoFood ist gestorben " );
3 y( B2 F9 Y9 |6 P! l& e}9 n& ~3 k2 M# E& \" o* I- s
BOOL CWndAutoFood::Initialize( CWndBase* pWndParent, DWORD nType )2 f. W9 B' T+ C
{
8 _2 ~  L4 j" s6 y. i5 R        return InitDialog( g_Neuz.GetSafeHwnd(), APP_AUTOFEED, WBS_MODAL, CPoint( 0, 0 ), pWndParent );
1 x" J! w! @; R, U, e}
: h% d8 L) {2 J/ Y/ f9 S: z( ?1 j0 Y8 z8 l) f3 C0 |8 `2 M
BOOL CWndAutoFood::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
  _! }4 O& D8 U$ K# b{5 H9 J8 B  q  w
        LPWNDCTRL pWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );6 Y- m( g" o+ _% p, F/ e' l9 B
        CRect rect = pWndCtrl->rect;
% [# o# c) ?& s; p/ _  ?        if( rect && rect.PtInRect( point ) )  N! ^8 u# q4 ]
        {. g- w; i8 q& Y5 \
                CItemElem *pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );8 V# }7 n% _' R/ Q: O2 n! S7 N
                if( pItemElem && pItemElem->GetProp() && pItemElem->GetProp()->dwItemKind2 == IK2_FOOD )8 ^# |* V5 k( n+ q, \# j+ m2 E
                {
! u0 E  d  Q+ ^0 E+ C( B2 C                        if( m_pItemElem )/ m2 ^& K& T- r7 ^9 [. O% M
                        {" f) t) W9 c& q# b4 [3 h( C
                                m_pItemElem = NULL;
6 I% }# R5 {( `9 J                        }
6 c6 e0 \7 t0 p5 Q  p. O2 K                        m_pItemElem = pItemElem;
0 [# u0 D+ u( j" T; \. b  {                        m_pTexture = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem->GetProp()->szIcon ), 0xffff00ff );
8 {! b& Q& H$ b. S                }else{
& r! I; n' \: S9 v  K                        SetForbid( TRUE );4 Q! W; r7 M, v7 U/ \2 i! p4 j/ Z
                }
- [' H9 ^: }0 c9 E( H9 L        }else{
. w( A/ b! ^6 f                SetForbid( TRUE );
5 b( _% M1 M1 v        }
9 }9 P$ @, |" Q; X5 Z% i: F        return TRUE;
% r; R) U4 D3 k1 I}
9 z3 O9 E2 v8 B9 P4 `/ G. q9 O+ @- H& @5 n, q) W! ^- u4 A2 ^
BOOL CWndAutoFood::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )0 t4 ?4 W. J7 L. |( K  S: q$ d+ J
{
  B  e" {5 v% O8 j8 @        switch( nID )! E3 ]! @4 i9 t; e$ V  p3 M
        {9 \; V* t: c- T) l: x2 Y* d4 l7 ^* V
        case WIDC_BUTTON3:
) j  ]% M4 {. `2 j. C& d" G+ q                {+ u% p: E, C, Y6 n$ U$ T
                        bStart = TRUE;
/ j3 }$ }! ~! g( \, f+ e8 A                        break;
8 w5 X% U5 }5 y( p  _                }
/ h* v- {8 ]& R' [( ^* S- \7 h        case WIDC_BUTTON4:/ K; e) T+ U$ ?9 i' c
                {
& M9 V/ s5 I. |+ @                        bStart = FALSE;
8 i6 P$ w- X+ \! p+ N                        break;
0 p1 u9 n4 ?6 G4 q) e: t5 v                }+ O% ?- F+ G# q' V# u! W
        }% C6 A+ ^& l" G" x; k
        return CWndNeuz::OnChildNotify( message, nID, pLResult );9 P) A5 w  C1 K: o6 o3 @4 _; B8 o0 N
}        & f! m6 h9 Z( D
void CWndAutoFood::OnDraw( C2DRender* p2DRender )
2 W0 M# d$ V, y% s' X+ {{
! K$ s3 O9 ^- D* L        CWndButton* pBtn = (CWndButton*)GetDlgItem( WIDC_BUTTON3 );6 q$ m" h2 Q/ m9 a' ?
        if( bStart || !m_pItemElem )
/ V0 k7 u$ E: @) A/ F* D/ _. C: Z        {
& p, X" _  c$ j0 r' [5 p( T                pBtn->EnableWindow( FALSE );
/ r- Z$ q. c! P+ m: T9 g        }else
" E  f( Z, p# ?7 _: M$ U4 ~2 i                pBtn->EnableWindow( TRUE );
% r/ a' m9 w! Z) F. H7 Y$ `        if( m_pTexture )
, o4 ^# x- E/ q  O# q) K9 |- U; t        {
0 m% l6 Y- H8 j: N& F                LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
9 p: a" }7 m. K# V                if( wndCtrl && wndCtrl->rect ). Y; X: l# _5 }" I! B3 G! A
                {
  @4 E( I( ?1 `9 V9 e4 i  d9 b                        m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
/ R* }7 f6 |7 S: b$ I. r+ n6 D2 C& Z                }7 ~7 T% ~1 I0 L
        }
, I5 N. W5 Y9 _/ W0 `* m" W, M" a}: {9 D0 v. a( R  @, C

8 G' I1 k7 ?' h+ b0 X! s9 M7 e) aBOOL CWndAutoFood:rocess()  Y! S- Y: d; c& `0 J% _0 n$ D$ C
{1 }# E* n1 P) L# g/ X8 p9 [8 i
        if( bStart )2 l; @& V# s8 r" i( Z1 w4 w
        {
% n! \8 s# i. g                if( m_pItemElem && m_pItemElem->GetProp() && m_pItemElem->m_nItemNum > 0 )& N/ Q+ F1 m1 R# d# H
                {
- x5 }0 n3 t) j% X4 X! t3 e" w0 C                        if( g_pPlayer->m_cooltimeMgr.CanUse(g_pPlayer->m_cooltimeMgr.GetGroup( m_pItemElem->GetProp() ) ) && m_pItemElem->GetProp()->nAdjParamVal1 + g_pPlayer->GetHitPoint() <= g_pPlayer->GetMaxHitPoint() ): a3 i/ q( s! q1 Q+ ~+ l" k
                                g_DPlay.SendDoUseItem( MAKELONG( ITYPE_ITEM, m_pItemElem->m_dwObjId ), NULL_ID, m_pItemElem->GetProp()->dwParts );/ |3 c8 ~1 |" S, _. q5 I$ A4 L
                }else{
, B9 U7 x3 ^6 V) L                        bStart = FALSE;
2 \4 L& i& S) P* E; \- t" B" c                        m_pItemElem = NULL;0 Y$ |9 {  o0 J/ O
                }: ?/ _2 s2 s4 c) j+ J6 e2 L9 R
        }
) m9 @" |# I1 h4 G% |        return TRUE;" i! Q- h% E: |* ^9 `4 q! g7 D& M
}
7 M! \9 C6 [7 j* ?3 O* Q( ]+ w; j8 P: g+ ^; D
登录视频废话:
% B. L* z7 x9 G+ q3 i, J4 O+ b7 W尾翼:
% Y& e2 O( T; a9 q) \6 o4 G! M3 a0 E$ ^' O
代码:
/ c+ X2 N8 c7 Z
; k9 F+ ?. t% i5 Xvoid CWorld::SetLight( BOOL bLight )
* C8 Q6 ]* C/ ?( f; I( u! Vdurch
" ^/ A& b* C) J" b4 Y. k, G4 BCode:1 W$ I. K) Z: v5 o* G: Z
void CWorld::SetLight( BOOL bLight )1 J% C7 j  ?+ ~# j. J. q
{0 {$ f2 B# C4 Q# d' N1 m7 ^
        //ACE("SetLight %d \n", bLight);% f: o( m# N7 M
        , C% I2 c4 a5 M" u! S
#ifndef  __WORLDSERVER ( K" U9 Y( {) c/ \" u* E
        DWORD dwAmbient = D3DCOLOR_ARGB( 0,0,0,0);
/ ^" P$ x( G; F' v. ~        CLight* pLight = NULL;
, W, w7 b/ d) L5 ?) O9 Z
. x/ h/ T; h8 \) J# P        D3DXVECTOR3 vPos = ( CObj::GetActiveObj() != NULL ? CObj::GetActiveObj()->GetPos() : D3DXVECTOR3( 0, 0, 0 ) );
! O' m! W0 w! v8 N# \$ J* R. j$ [! h& D4 s5 z7 k6 ^
        pLight = GetLight( "direction" );: a! F5 E" `$ }7 A' z% _
3 c5 V; {3 }0 ]" _5 B# u
#if __VER >= 15 // __BS_CHANGING_ENVIR0 @3 E) o4 J# Q8 d
        if( g_pPlayer ){9 k  m; g6 ~8 N& Q$ }
                ENVIR_INFO* pInfo = GetInContinent( g_pPlayer->GetPos( ) );
" Z. k3 F' y5 G2 Y4 S2 p; p- C                if( pInfo && m_kCurContinent._bUseEnvir )                // ′??ú ?èàì°í ′??úá¤o??| àì???ò °??ì?? !!8 W9 z# C& d& T5 p" O1 Q4 M
                {0 x+ {3 g  Q4 y* @# @
                        if( pLight )3 d6 f. D; g: R
                        {9 v9 {5 j% s# |) \7 n
                                pLight->Ambient.r =  pInfo->_fAmbient[ 0 ];
$ H' j6 I, h: H$ U8 m                                pLight->Ambient.g =  pInfo->_fAmbient[ 1 ];% k4 ~! t6 u+ n& t
                                pLight->Ambient.b =  pInfo->_fAmbient[ 2 ];9 S" m; d+ d4 r$ ?

' o" o/ ^1 C( R% M2 y                                pLight->Specular.r = 2.0f;8 Z: y: T  r3 \
                                pLight->Specular.g = 2.0f;
! d5 [; {. e  }                                pLight->Specular.b = 2.0f;
" m7 }3 P1 I2 T3 A2 U4 |: l        + s4 X5 h4 _8 n
                                pLight->Diffuse.r = pInfo->_fDiffuse[ 0 ];5 T6 K9 z7 I0 z/ ?% z# h9 D2 M
                                pLight->Diffuse.g = pInfo->_fDiffuse[ 1 ];$ K! ?3 J& `2 [7 G% n
                                pLight->Diffuse.b = pInfo->_fDiffuse[ 2 ];
2 R! J4 u) h6 }+ f        7 [  _! Z. w/ o) [# K
                                HookUpdateLight( pLight );
5 [  d3 d/ i, j+ Z0 R8 F1 |
, i& `/ v; T# L3 X                                memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
% @$ j/ \! S* ?9 ?, w3 `; L/ S. S0 t               
1 G9 R' K# v8 j  l# U) ]5 I                                pLight->Diffuse.r *= 1.2f;4 d# N, b3 {5 H0 l: `
                                pLight->Diffuse.g *= 1.2f;
1 G; A, M3 I: Y- b, ]                                pLight->Diffuse.b *= 1.2f;
9 y! y' y4 x  p  N& v  T
! X' u- O# {) h5 R, n# _                                pLight->Ambient.r *= 0.8f;
/ f* t/ b1 L+ o8 \1 r3 h8 }                                pLight->Ambient.g *= 0.8f;' y0 N4 l( W7 n6 i+ \
                                pLight->Ambient.b *= 0.8f;
4 \( T) ~) W1 T7 u, c3 K9 T! z( U1 F       
/ S$ M$ i- y$ o8 W8 f                                memcpy( &m_light, pLight, sizeof( m_light ) );' u# I- h' N- O0 y3 d

/ L% ]7 b: u, A9 p. j' l: x( A                                D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);& ^- O4 k, K1 y2 ?& Q2 ]3 b2 v
                                D3DXVec3Normalize(&(vecSun),&(vecSun));* X2 _0 N9 S4 D( d8 r
                                pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z );
  ^- E. B! e9 p8 G& J: E                                 pLight->Appear( m_pd3dDevice, TRUE );! R/ l* \# v( p1 ]( D  W: n+ E
                ( J% j9 _3 M/ a9 J
                                DWORD dwR, dwG, dwB;
4 o" g) r+ E, |1 ^/ P' _. M                                dwR = (DWORD)( pLight->Ambient.r * 255 );: D- Y1 @8 Z" h- a
                                dwG = (DWORD)( pLight->Ambient.g * 255 );2 _, p+ ]/ ]. P8 o3 ~
                                dwB = (DWORD)( pLight->Ambient.b * 255 );$ y1 h7 K+ y0 L4 b. p
                                dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );' c) a8 q( l; ]; g  I/ H
                        }
: p7 S0 ^" R0 W6 A                }3 o5 |& e! Q9 C/ T" }6 w/ E
        }
; Z* G2 {+ w: r) |        else0 c: m5 B+ U5 E8 G/ c2 }
#endif
# M  K: _% T' i! |2 ^% }4 U. [! x3 ?1 p1 a) T$ U+ k
        if( m_bIsIndoor )
; [$ c. g& w% v2 B* o0 S        {# g4 `: T, \9 O' k6 _
                if( pLight )9 q% V8 B0 k; j) M6 H$ @; x+ d. c" n+ X
                {                9 V3 X7 a6 k6 |3 x
                        // à??μ oˉè* 0 U+ L5 x4 m5 P9 C: X
                        pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
* }; _1 `: s8 y* A* u9 M, [3 f                        pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
# g# l$ q' ]$ F- |: O- T                        pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)     / 255.f;
. x$ i- R% \. l+ z% @, _
9 G, r; l& m- K) K7 @' C                        // oˉè* ??à?
! m9 N& I, i; ^5 X' Z1 \                        pLight->Specular.r = 1.0f;
7 ~* C/ N3 ~  _2 x/ Q) B: K. h4 \                        pLight->Specular.g = 1.0f;! o8 f- E( o6 j% k1 I
                        pLight->Specular.b = 1.0f;
% P! z1 x' w# b2 k                        // àü?? oˉè*
* Z8 o3 P* H8 [9 Q                        pLight->Ambient.r  = ((m_dwAmbient>>16) & 0xff) / 255.f;
6 i6 m2 P* e  D3 d                        pLight->Ambient.g  = ((m_dwAmbient>>8) & 0xff)  / 255.f;" V4 \# ~* Z1 ^: n
                        pLight->Ambient.b  = ((m_dwAmbient) & 0xff)     / 255.f;
7 x9 h, j& t- P1 [7 b$ T9 x+ g* X( s6 D, p. Y
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.& ]$ O$ f4 O3 M; b1 r
                        {
2 |3 b* ?* Y: N% j, ]4 C$ ]8 k                                pLight->Diffuse.r *= 0.6f;6 D- j' L# c! c: u3 k
                                pLight->Diffuse.g *= 0.6f;2 I2 A' l$ a6 x3 x3 T3 t
                                pLight->Diffuse.b *= 0.6f;  o6 j" F, x3 G" W9 R9 g. e
                                pLight->Ambient.r *= 0.7f;
& h8 u; Y. M& B5 A$ `* w                                pLight->Ambient.g *= 0.7f;
5 h( P( _% X9 _7 q0 e                                pLight->Ambient.b *= 0.7f;4 N9 h. o+ M6 K
                        }- J! w$ K- X  l4 b+ Q
8 X( O. Y6 A# [  P) I  r- h& Z
#if __VER >= 15 // __BS_CHANGING_ENVIR
6 O+ L% [  A9 G* H% _                        if( g_pPlayer )
5 f4 G/ m. i; c# l0 a$ O                                HookUpdateLight( pLight );
; ^+ D) t, }8 @  A#endif  t& o( ?2 I$ w
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );; p9 \9 `' n$ d7 F: w9 b5 x4 M2 b
6 u: n  j' v5 Z. M5 R3 Z6 i& {
                        pLight->Diffuse.r  += 0.1f;- e4 V7 H+ [1 m  ~! a
                        pLight->Diffuse.g  += 0.1f;
6 X& G- o6 Y3 O$ h" s' L                        pLight->Diffuse.b  += 0.1f;; B( f  ^6 t5 i4 ]0 F( e# D, Y1 }
                        // oˉè* ??à? ! l$ ~/ E. I0 k
                        pLight->Specular.r = 2.0f;( b3 {# B. B+ D- P, K5 }
                        pLight->Specular.g = 2.0f;
6 ]: u# F9 |) f& R7 n0 t8 j                        pLight->Specular.b = 2.0f;
- Q; k# y: Q; @! d                        // á?oˉ
- r4 V" U  F  A  K* }$ q* v6 m                        pLight->Ambient.r  *= 0.9f;% Y  l3 z8 p3 f- a6 t% ^; {( Y
                        pLight->Ambient.g  *= 0.9f;
9 N" k7 I' P' y1 \, F4 R( }                        pLight->Ambient.b  *= 0.9f;! g7 }/ F2 k; v6 |2 H/ z# j' G
% y; p" G$ z6 Q2 f8 X4 b8 e2 V& u4 J
                        memcpy( &m_light, pLight, sizeof( m_light ) );
7 @- U* Q5 D  L% `  x4 B                       
  v& u. \! ]/ o2 n6 ^                        pLight->SetDir( m_v3LightDir.x, m_v3LightDir.y, m_v3LightDir.z );- W* X. i8 S0 r: [% B
                        pLight->Appear( m_pd3dDevice, TRUE );# l: s3 G6 M' o; _
        # Q) X6 q8 t9 K/ K! f
                        DWORD dwR, dwG, dwB;
( ^' [6 N% l* c4 ?. s5 L                        dwR = (DWORD)( pLight->Ambient.r * 255 );% K& ^( z# F- l1 X0 p; h1 K: d
                        dwG = (DWORD)( pLight->Ambient.g * 255 );, m) g' H0 i% j1 U" s
                        dwB = (DWORD)( pLight->Ambient.b * 255 );
  t/ ]& g0 u$ S4 o                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );* j( P' h! {( N- p6 \" K" G
                }
1 H# d# [  b7 X- @1 Q        }
3 C* d9 z/ `6 K* f        else
$ t) q% T  n* V  Y2 x3 |% w        {. I5 n2 q3 n' @" b1 x% H: e
                if( pLight ), E5 E8 ?4 K& ?' [$ ^$ X# {+ n9 G
                {
  D- L8 y+ M8 ?2 |+ W                8 ?% d' K8 o6 e
                        int nHour = 8, nMin = 0;) J5 ^4 R$ `6 _) y2 X
        #ifdef __CLIENT
  z7 G% V( u  \) }' H; L1 r                        // ???óàì?e??′? ??°£à? g_GameTimer???* °?á???′ù. ) g; y: l4 B- \
                        nHour = g_GameTimer.m_nHour;0 y# ^) v' l2 ~/ F5 o( S3 j
                        nMin  = g_GameTimer.m_nMin ;1 H& Y, x' |3 Q( X' \6 z- C" @+ u
        #else3 @" P/ q) U  }  V
                        // o??o??′? ??°£à? m_nLightHour???* °?á???′ù.
- \" m- C% C3 X  @                        if( m_nLightType == 1 )4 A( A1 T' S9 ^  y
                                nHour = m_nLightHour;
7 G6 y* r  c4 k. C$ q9 h* W! c/ T* P        #endif1 u! J# s% C( X/ p  {) ?! v
                        nHour--;! c4 g3 m7 M" P$ c( s. z; d) K
                        if( nHour < 0 ) nHour = 0;
! w/ D! m- S8 z# T- @. D+ c0 s                        if( nHour > 23 ) nHour = 23;
' q+ c( Y0 o7 w/ |' Y4 X: M0 Z) T# u8 A# t+ j
                        //if( m_bFixedHour )6 _' @2 i+ l0 V% M3 C
                        //        nHour = m_nFixedHour, nMin = 0;
& m( U* V& V" @% V                        LIGHTCOLOR lightColorPrv = m_k24Light[ ( nHour - 1 == -1 ) ? 23 : nHour - 1 ];
7 [, r# _0 ^2 v& r" n                        LIGHTCOLOR lightColor = m_k24Light[ nHour ];  p+ t% S5 s/ L) W5 s" u6 {

8 Z* e, c7 |, {2 x) W                        //m_lightColor = lightColorPrv;! b+ Z  V5 }8 n/ O
                        lightColorPrv.r1 += ( lightColor.r1 - lightColorPrv.r1) * nMin / 60;9 r, r9 \, Y7 Y5 |& b0 y
                        lightColorPrv.g1 += ( lightColor.g1 - lightColorPrv.g1) * nMin / 60;5 f5 F/ v! K2 V* H( o, x4 O4 F( e
                        lightColorPrv.b1 += ( lightColor.b1 - lightColorPrv.b1) * nMin / 60;
7 X+ [7 p) @. B; j+ _" P  s" n                        lightColorPrv.r2 += ( lightColor.r2 - lightColorPrv.r2) * nMin / 60;6 n) ~, U0 l4 D0 |/ r% g( _
                        lightColorPrv.g2 += ( lightColor.g2 - lightColorPrv.g2) * nMin / 60;
1 }: W2 b1 e5 z+ J0 L# t- K0 m- M                        lightColorPrv.b2 += ( lightColor.b2 - lightColorPrv.b2) * nMin / 60;" P2 m6 s3 ^# ^6 M
                        // 60(minMax) : 15(curMin) = 0.5(colorDistant) : x(curCol)
$ G# ?' x; |: S* N7 Q4 _; R
; O; l, G0 }5 ?2 b                        // à??μ oˉè*
" j& P3 W4 N' P! t                        pLight->Diffuse.r  = lightColorPrv.r1;6 V; v( W& R  d% Z
                        pLight->Diffuse.g  = lightColorPrv.g1;
0 j# k: A8 j/ H) x                        pLight->Diffuse.b  = lightColorPrv.b1;6 S) t1 K4 H/ M. W+ i
                        // oˉè* ??à?
% X2 \5 o* @0 e: \% G7 J4 {                        pLight->Specular.r = 1.0f;
' H* U+ L/ v& h9 R9 O# w. \                        pLight->Specular.g = 1.0f;; I5 z/ z* a8 G& U" n
                        pLight->Specular.b = 1.0f;
' k( ]( C7 H: Z* A9 _6 Q) R0 k. Q                        // àü?? oˉè*
' Q4 ^* N5 z& E: v8 |: q                        pLight->Ambient.r  = lightColorPrv.r2;2 p5 G2 C. ^" n1 |' b& e
                        pLight->Ambient.g  = lightColorPrv.g2;
" n. e. F) h  w! }                        pLight->Ambient.b  = lightColorPrv.b2;
3 H$ c1 y. U% p0 n- B* L$ O( I  v% m# y, D* }
                        if( g_Option.m_nBloom )                // ???t?? ?é??àì ??á?à?à??? á??íà? á? 3???áà?? ??′ù. ?è±×?ˉ?é 3ê1? 1à??.
# l3 G+ [$ D+ y( z                        {( `! t" U2 u7 ~7 q! B. \) x
                                pLight->Diffuse.r *= 0.6f;- V0 G3 v1 z  q. B9 F) C  }
                                pLight->Diffuse.g *= 0.6f;
4 s: W9 ]3 {2 o5 e- V" U2 V6 Y                                pLight->Diffuse.b *= 0.6f;4 w1 _2 `" l. @( f, s
                                pLight->Ambient.r *= 0.7f;
% h1 R! b) I; S8 }4 X  ?8 r' W# f                                pLight->Ambient.g *= 0.7f;
" a9 q0 f5 T7 Y. @: h/ z( W                                pLight->Ambient.b *= 0.7f;7 G( b0 ^9 T# L& d% b2 S
                        }5 L3 A4 k, V0 H. A( s  s
                       
6 _4 U- m& J) P9 ]  Q#if __VER >= 15 // __BS_CHANGING_ENVIR
# O+ s. U# O/ }) N                        if( g_pPlayer )7 h: L7 @: t5 V& _7 N8 ^4 ^
                                HookUpdateLight( pLight ); : \4 C  z- Q( i
#endif; m( U$ U3 N" d3 k$ {* C' I
                        memcpy( &m_lightFogSky, pLight, sizeof( m_lightFogSky ) );
1 @' U( F! ?7 u! Q1 c& N% w3 B; l& g/ ]/ `1 f7 v5 d
#ifdef __YENV7 u+ P; B0 J  @; p
                        pLight->Diffuse.r  *= 1.1f;0 z4 K" l; D& @2 a1 }" o
                        pLight->Diffuse.g  *= 1.1f;  B1 d% i/ l9 o: h
                        pLight->Diffuse.b  *= 1.1f;) s* p$ `: m; Y0 O2 w) q3 [8 N) `# R% g
                        // oˉè* ??à? 6 \7 F/ s! G& H8 y( ]. ?9 g# k4 x
                        pLight->Specular.r = 2.0f;
4 [) m# T0 p( [* s, {  j7 [$ s* I                        pLight->Specular.g = 2.0f;
* O7 X2 E7 i! B* ]3 d+ M" m                        pLight->Specular.b = 2.0f;
( S1 H; f2 t8 B: R* y. Y. a! ]  i                        // á?oˉ
+ r% o; l( g8 p, W& I" u/ R! e" l8 d                        pLight->Ambient.r  *= 1.0f;
( J4 h: K8 p  K% j1 t; b                        pLight->Ambient.g  *= 1.0f;
3 ?  t( \7 d9 ]3 }                        pLight->Ambient.b  *= 1.0f;3 a/ @( L$ o6 z+ _8 m0 Z4 b4 ?
#else //__YENV
( v2 T" y2 X% h# j                        pLight->Diffuse.r  *= 1.1f;
. w7 j* W! _; A) X0 W                        pLight->Diffuse.g  *= 1.1f;
4 V8 P/ A- Q% w) |0 D" @1 ?/ t                        pLight->Diffuse.b  *= 1.1f;2 [4 P9 E! @& S  ~7 B/ P$ G5 G! g
                        // oˉè* ??à?
  m5 B3 Z  d% w+ n6 J. F( ]                        pLight->Specular.r = 2.0f;( m8 o! e/ E: d, _; D
                        pLight->Specular.g = 2.0f;2 q  w2 _/ S' X# K. z. j0 R! [  u
                        pLight->Specular.b = 2.0f;# M; K1 {$ n1 W  u% p/ K: A
                        // á?oˉ - b9 V) j9 J4 S  C
                        pLight->Ambient.r  *= 0.9f;
6 f& g- R+ B/ `0 U9 P5 ]# B6 t0 d7 x                        pLight->Ambient.g  *= 0.9f;8 S1 O8 {6 G# n2 B" l2 ]  d9 ~) b
                        pLight->Ambient.b  *= 0.9f;
; n& S5 \, G0 K1 d( M; O( X#endif //__YENV
  m9 k3 j& @/ _5 v                        5 ^; Y* F; K4 I) j3 h
                        memcpy( &m_light, pLight, sizeof( m_light ) );3 n& @7 a" Z9 s/ ]! R
                        ( {4 R( ]9 G! Q. q
                        D3DXVECTOR3 vecSun=D3DXVECTOR3( 0.0f, 0.0f,1.0f);
& k0 r  B' S! z# y- K' J                        D3DXMATRIX  matTemp;
+ y% V& N9 {: q7 s, q                        static const float CONS_VAL = 3.1415926f / 180.f;6 X2 J4 e# a0 Z/ X
9 M( X+ M( x5 J+ W
                        D3DXMatrixRotationX( &matTemp,(m_skyBox.m_fSunAngle +180)*CONS_VAL);
* [0 K2 z0 G4 W. C5 Q                        D3DXVec3TransformCoord(&vecSun,&vecSun,&matTemp);" }% f' F; b7 `+ ^' p! J  g
                        pLight->SetDir( vecSun.x, vecSun.y, vecSun.z ); % o; i6 R% T8 r* ?' v# D
                        pLight->Appear( m_pd3dDevice, TRUE );, W9 V9 B) O/ \) p, _. \% Z% O" `5 J
4 v4 V/ I% r' R# E% _% U6 n
                        //        D3DXVECTOR3 vecSun = D3DXVECTOR3( 0.0f, 0.5f,0.5f);
8 v& Y( e! {1 E8 b& Y; g- O                        //        D3DXVec3Normalize(&(vecSun),&(vecSun));
- G' {1 N2 v* Y, ?4 ~* v5 L                        //        pLight->SetDir( -vecSun.x, -vecSun.y, -vecSun.z ); + Y) U& M  j3 ^- D: j

! e/ l* M! H! a( r                        DWORD dwR, dwG, dwB;
) Y# |7 y2 S* g$ `                        dwR = (DWORD)( pLight->Ambient.r * 255 );
. J$ Z! t" g1 n9 L% i9 b2 e1 K6 ]                        dwG = (DWORD)( pLight->Ambient.g * 255 );% n7 v) Y) R' |# D' s! E! L
                        dwB = (DWORD)( pLight->Ambient.b * 255 );0 m" Y8 k% c" ~0 h/ [# C1 j  g
                        dwAmbient = D3DCOLOR_ARGB( 255, dwR, dwG, dwB );                       
! p; Q5 |0 ]+ H' l* |2 X                }- }2 ^! z9 Q' W7 a* J- [
        }" `$ G  ~% X5 k6 ]7 q( ?
+ K. M2 {# y* o4 }
        m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, bLight );//m_bViewLight );4 ?& a: n) {) C8 y7 T- q
        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) );) _9 g+ A7 p0 y' G
        ::SetLight( bLight );& s. M2 \/ \+ P1 o* K7 {' J' T
( }6 @* ^9 ^+ V- E- K/ T
        // ±ao? ?D?í???ó á¤à? 3 N) R4 z& K2 u: |2 b9 H0 ]4 o
        m_pd3dDevice->SetMaterial( &m_baseMaterial );
2 L5 ]# w9 `$ J, J       
7 x8 [2 O$ y1 O4 ]  x#endif // not WORLDSERVER# z; V6 e7 P2 b, O8 C
}* w) U6 D( F$ V) k  W& \
并更换* c% I/ K1 t. b8 ]/ A8 K
Code:" U" t& ]! G4 r0 d
__FLYFF_INITPAGE_EXT
4 F: h( O4 ?/ _6 Q! k$ i- p6 \定义1 @8 @# i4 w# }* P' o9 V6 e
( {. _) z( Q) P: D, K* z6 u6 S! `- Q

5 }- n6 y# p8 d' L& L& u, B% @; l$ i1 }' @  P

* D7 Q$ g- F2 O现在终于删除我的狗屁加速...
1 k4 L% r5 j; n+ a+ D* |% f3 S0 G' ~. Z1 m0 s4 F; k$ C9 Y

& g. v  _& Q9 j  j
" P3 G/ q7 r/ N3 f0 Y' r/ r




欢迎光临 飞飞世界论坛 (http://www.ffwold.com/) Powered by Discuz! X3.2