Umbrella System
Olá Convidado, registre-se no fórum, não é preciso confirmar o registro é totalmente grátis e rápido.

Logue-se e faça parte do melhor fórum sobre Programação & Hacking de Jogos!

Equipe Umbrella System - Sempre Inovando!

Participe do fórum, é rápido e fácil

Umbrella System
Olá Convidado, registre-se no fórum, não é preciso confirmar o registro é totalmente grátis e rápido.

Logue-se e faça parte do melhor fórum sobre Programação & Hacking de Jogos!

Equipe Umbrella System - Sempre Inovando!
Umbrella System
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

flyff Day & Night system

2 participantes

Ir para baixo

flyff Day & Night system Empty flyff Day & Night system

Mensagem por ademir Dom Jun 17, 2012 3:16 pm

Funciona como voce esta andando e derrepente escurece do nada é ótimo deves enquando

ta ai

flyff Day & Night system Flyff00000kr

em world.h

procure por

Código:

public:
   BOOL         InitWorldEnvir( );      // 24½Ã°£ Light ¼³Á¤ ¹× ±âŸ ȯ°æ ÃʱâÈ*

#if __VER >= 15 // __GUILD_HOUSE
   void         InProcessing( );      // gmpbigsun : ÇöÀç ¿ùµå·Î ÁøÀԽà Çѹø È£ÃâµÊ
   void         OutProcessing( );      // gmpibgsun : ÇöÀç ¿ùµå¿¡¼* ÅðÀå½Ã Çѹø È£ÃâµÊ
#endif

   // Render
   void         Projection( LPDIRECT3DDEVICE9 pd3dDevice, int nWidth, int nHeight );
   void         Render( LPDIRECT3DDEVICE9 pd3dDevice, CD3DFont* pFont = NULL );
   void         RenderBase( LPDIRECT3DDEVICE9 pd3dDevice, CD3DFont* pFont );
      
   // Light, Camera and etc...

em baixo coloque isso
Código:

   bool         IsNight();
   FLOAT         GetRealTime();

em World3D.cpp

procure por
Código:

// Ä«¸Þ¶ó Ã浹üũ️ ½Ã¿¡¸¸ ¾²´Âµí..
BOOL CWorld::CheckBound(D3DXVECTOR3* vPos,D3DXVECTOR3* vDest,D3DXVECTOR3* vOut, FLOAT* fLength )
{
   D3DXVECTOR3 tempVec=(*(vPos)-*(vDest));// /10.0f;
   float length=D3DXVec3Length(&tempVec);
   D3DXVec3Normalize(&tempVec,&tempVec);
   tempVec/=10;
   D3DXVECTOR3 tempVec2=*(vDest);
   D3DXVECTOR3 vDist1, vDist2;
   float tempheight;
   BOOL   b1, b2;
   b1 = FALSE;   b2 = FALSE;
   tempVec2 += (tempVec * 10);      // Ä«¸Þ¶ó°¡ ÀÚ²Ù ÁöÇü¿¡ ²¸µé¾î°¡¼* Á» »°´Ù.
   
   BOOL  bWaterChkDn = FALSE;
   BOOL  bWaterChkUp = FALSE;
   FLOAT fWaterHeight = 0.0f;
   LPWATERHEIGHT pWaterHeight = GetWaterHeight( *vDest );
   if( pWaterHeight &&
      ( pWaterHeight->byWaterTexture & (byte)(~MASK_WATERFRAME)) == WTYPE_WATER )
   {
      fWaterHeight = (FLOAT)pWaterHeight->byWaterHeight;
      //vDest->y += 0.5f;
      
      if( fWaterHeight < vDest->y )
      {
         bWaterChkDn = TRUE;
      }
      else
      {
         bWaterChkUp = TRUE;
      }
   }               

   for( int i = 0; i < int( length * 10 ); i++ )
   {
      tempVec2+=tempVec;
      tempheight=GetLandHeight( tempVec2.x, tempVec2.z );
      #if __VER >= 11 // __FIX_PICKING
      // Ä«¸Þ¶ó¸¦ ¾à°£ ´õ µé¾îÁÖ±â À§Çؼ* ¼öÁ¤ - 07.10.24 - micky
      if(tempVec2.y<tempheight+0.6f)
      #else
      if(tempVec2.y<tempheight+0.3f)
      #endif
      {
         b1 = TRUE;
         vDist1 = tempVec2 - *vDest;      // »ç¶÷¿¡¼* ±³Â÷Á¡±îÁöÀÇ ¹æÇ⺤ÅÍ
//         *(vOut)=tempVec2;
//         vOut->y+=1.1f;
//         return TRUE;
         break;
      }

      // Äɸ¯ÅÍ°¡ ¹°À§¿¡ ÀÖ°í, Àá±âÁö ¾Ê¾Ò´Ù¸é ¼ö¸é Ã浹üũ️ÇÏ¿©️ Ä«¸Þ¶ó°¡ ¹°¼ÓÀ¸·Î ¾Èµé¾î°¡°Ô ó¸®️ÇÔ.
      D3DXVECTOR3 vWaterVec = tempVec2;
      //vWaterVec.y+=0.5f;
      if( bWaterChkDn )
      {
         if(vWaterVec.y<fWaterHeight+0.3f)
         {
            b1 = TRUE;
            vDist1 = vWaterVec - *vDest;   
            break;
         }
      }
#if __VER < 10
      else
      // Äɸ¯ÅÍ°¡ ¹°À§¿¡ ÀÖ°í, Àá°å´Ù¸é ¼ö¸é Ã浹üũ️ÇÏ¿©️ Ä«¸Þ¶ó°¡ ¹°¹ÛÀ¸·Î ¸ø³ª°¡°Ô ó¸®️ÇÔ
      if( bWaterChkUp )
      {
         if(vWaterVec.y>fWaterHeight-0.3f)
         {
            b1 = TRUE;
            vDist1 = vWaterVec - *vDest;   
            break;
         }
      }
#endif
   }
   D3DXVECTOR3 vIntersect;
   BOOL bRet = IntersectObjLine2( &vIntersect, *vDest, *vPos, TRUE );
   if( bRet )
   {
      b2 = TRUE;
      vDist2 = vIntersect - *vDest;      // »ç¶÷¿¡¼* ±³Â÷Á¡±îÁöÀÇ ¹æÇ⺤ÅÍ
//      *vOut = vIntersect;
   }
   FLOAT   fDist1, fDist2;
   if( b1 == TRUE && b2 == TRUE )   // ÁöÇüÀ̶û ¿ÀºêÁ§Æ®️ ¸ðµÎ ±³Â÷Çß´Ù
   {
      fDist1 = D3DXVec3LengthSq( &vDist1 );
      fDist2 = D3DXVec3LengthSq( &vDist2 );
      if( fDist1 < fDist2 )      // ±×Áß °¡±î¿î³ðÀ¸·Î ¾¸
      {
         *fLength = D3DXVec3Length( &vDist1 );
         *vOut = tempVec2;
      }
      else
      {
         *fLength = D3DXVec3Length( &vDist2 );
         *vOut = vIntersect;
      }
      return TRUE;
   } else
   if( b1 )   // ÁöÇü¿¡¸¸ ºÎµúÇû´Ù.
   {
      *fLength = D3DXVec3Length( &vDist1 );      
      *vOut = tempVec2;
      return TRUE;
   } else
   if( b2 )   // ¿ÀºêÁ§Æ®️¿¡¸¸ ºÎµúÇû´Ù
   {
      *fLength = D3DXVec3Length( &vDist2 );      
      *vOut = vIntersect;
      return TRUE;
   }

   // ¾Æ¹«µ¥µµ ºÎµúÈ÷Áö ¾Ê¾Ò´Ù.
   *fLength = length;
   return FALSE;
}

em baixo add nisso aqui

Código:


#ifdef __CLIENT
bool CWorld::IsNight(){
return ( g_GameTimer.m_nHour-1 <= 6 || g_GameTimer.m_nHour-1 >= 18 );
}
FLOAT CWorld::GetRealTime()
{
FLOAT nRlTime = 0;
nRlTime = (FLOAT)(g_GameTimer.m_nHour-1)*2;
if( g_GameTimer.m_nMin < 30 )
--nRlTime;
if( g_GameTimer.m_nHour-1 == 23 && g_GameTimer.m_nMin > 45 )
nRlTime+=0.5F;
if( nRlTime > 24 )
{
return ((-1)*(nRlTime - 48 ));
}
return nRlTime;
}
#endif


procure por

Código:

void CWorld::SetLight( BOOL bLight )

add nisso
Código:

#ifdef __DAY_NIGHT
if( !m_bIsIndoor ){
m_fFogStartValue = 10.0F;
m_fFogEndValue = 70.0F + GetRealTime() * 30.0F;
m_fFogDensity = 0.0F;
m_v3LightDir.x = 0.0F;
m_v3LightDir.y = -1.0F;
m_v3LightDir.z = 0.0F;
}
#endif // __DAY_NIGHT

procure por
Código:

f( m_bIsIndoor )
   {
      if( pLight )
      {      
         // À½¿µ º¯È*
         pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
         pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
         pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)    / 255.f;

e subistitua por
Código:

   if( m_bIsIndoor
#ifdef __DAY_NIGHT
|| IsNight()
#endif // __DAY_NIGHT
)


   {
      if( pLight )
      {      
         // À½¿µ º¯È*
         pLight->Diffuse.r = ((m_dwDiffuse>>16) & 0xff) / 255.f;
         pLight->Diffuse.g = ((m_dwDiffuse>>8) & 0xff)  / 255.f;
         pLight->Diffuse.b = ((m_dwDiffuse) & 0xff)    / 255.f;

em VersionCammon.h de neuz e worldserver Defina isso

Código:

#define __DAY_NIGHT

créditos Pumbaaa.
ademir
ademir
Combat Arms Zone
Combat Arms Zone

Mensagens : 109
Agradecido : 4
Data de inscrição : 06/04/2012
Idade : 27
Localização : Por Ai :)

Ir para o topo Ir para baixo

flyff Day & Night system Empty Re: flyff Day & Night system

Mensagem por oO>Kssio<Oo™ Sex Set 28, 2012 4:39 pm

De que jogo é isso...?
oO>Kssio<Oo™
oO>Kssio<Oo™
Membro
Membro

Mensagens : 163
Agradecido : 2
Data de inscrição : 25/04/2012
Idade : 33
Localização : MT.ROO

Ir para o topo Ir para baixo

flyff Day & Night system Empty Re: flyff Day & Night system

Mensagem por ademir Sex Set 28, 2012 6:58 pm

oO>Kssio<Oo™ escreveu:De que jogo é isso...?

olha a foto o nome ja diz

FLYFF
ademir
ademir
Combat Arms Zone
Combat Arms Zone

Mensagens : 109
Agradecido : 4
Data de inscrição : 06/04/2012
Idade : 27
Localização : Por Ai :)

Ir para o topo Ir para baixo

flyff Day & Night system Empty Re: flyff Day & Night system

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos