#include < amxmodx >
#include < fakemeta >
#pragma semicolon 1
//Plugin registration
new const
PLUGIN_NAME [ ] = "Fog and Dark",
PLUGIN_VERSION [ ] = "1.2.0",
PLUGIN_AUTHOR [ ] = "CryWolf"; // aka. AzaZeL
/************************************************************************************/
// Ceata Activa sau Inactiva 1 / 0
#define FOG_ENABLE 1
// Densitatea cetii creste numarul 12 daca vrei ceata mai multa adica mai deasa
// Un numar mai mic va fi ceata mai la departare exemplu: 0.0006
#define FOG_DENSITY "0.0012"
// Culoarea cetii in format R, G, B
// R,G,B = RED, GREEN, BLUE ( rosu, verde, albastru )
#define FOG_COLOR "30 144 255"
/************************************************************************************/
new cvar_lights;
public plugin_init ( )
{
register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR );
// Cvar lumina:
// a: intuneric total - z: lumina totala
// Folosire abecedar: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u s.a.m.d
cvar_lights = register_cvar ( "amx_light", "d" );
new light [ 2 ];
get_pcvar_string ( cvar_lights, light, 1 );
if ( strlen ( light ) > 0 )
{
set_task ( 1.0, "tsk_lights", _, _, _, "b", _ );
set_cvar_num ( "sv_skycolor_r", 0 );
set_cvar_num ( "sv_skycolor_g", 0 );
set_cvar_num ( "sv_skycolor_b", 0 );
}
}
public tsk_lights ( )
{
static light [ 2 ];
get_pcvar_string ( cvar_lights, light, 1 );
engfunc ( EngFunc_LightStyle, 0, light );
}
public client_connect ( id )
{
#if defined FOG_ENABLE
client_cmd ( id, "gl_fog 1" ); // Prevenire
#endif
}
public plugin_precache ( )
{
#if FOG_ENABLE
new fog = engfunc ( EngFunc_CreateNamedEntity, engfunc ( EngFunc_AllocString, "env_fog" ) );
if ( fog )
{
fm_set_kvd ( fog, "density", FOG_DENSITY, "env_fog" );
fm_set_kvd ( fog, "rendercolor", FOG_COLOR, "env_fog" );
}
#endif
}
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "")
{
set_kvd(0, KV_ClassName, classname), set_kvd(0, KV_KeyName, key);
set_kvd(0, KV_Value, value), set_kvd(0, KV_fHandled, 0);
return dllfunc(DLLFunc_KeyValue, entity, 0);
}