flyff Day & Night system
2 participantes
Página 1 de 1
flyff Day & Night system
Funciona como voce esta andando e derrepente escurece do nada é ótimo deves enquando
ta ai
em world.h
procure por
em baixo coloque isso
em World3D.cpp
procure por
em baixo add nisso aqui
procure por
add nisso
procure por
e subistitua por
em VersionCammon.h de neuz e worldserver Defina isso
créditos Pumbaaa.
ta ai
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- Combat Arms Zone
- Mensagens : 109
Agradecido : 4
Data de inscrição : 06/04/2012
Idade : 27
Localização : Por Ai :)
Re: flyff Day & Night system
De que jogo é isso...?
oO>Kssio<Oo™- Membro
- Mensagens : 163
Agradecido : 2
Data de inscrição : 25/04/2012
Idade : 33
Localização : MT.ROO
Re: flyff Day & Night system
oO>Kssio<Oo™ escreveu:De que jogo é isso...?
olha a foto o nome ja diz
FLYFF
ademir- Combat Arms Zone
- Mensagens : 109
Agradecido : 4
Data de inscrição : 06/04/2012
Idade : 27
Localização : Por Ai :)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos