i have 1 problem with this plugin. it does not end the round if the time has ended.. how to make it end round if the time is finish ?
PHP Code:
#define CVAR_DEFAULT OBJTYPE_ALL
#define OBJTYPE_AS ( 1<<0 )
#define OBJTYPE_CS ( 1<<2 )
#define OBJTYPE_DE ( 1<<3 )
#define OBJTYPE_ES ( 1<<4 )
#define OBJTYPE_ALL ( OBJTYPE_AS | OBJTYPE_CS | OBJTYPE_DE | OBJTYPE_ES )
#define CVAR_NAME "No_Objectives"
new const g_Objective_Ents[ ][ ] =
{
"func_bomb_target",
"info_bomb_target",
"hostage_entity",
"monster_scientist",
"func_hostage_rescue",
"info_hostage_rescue",
"info_vip_start",
"func_vip_safetyzone",
"func_escapezone"
}
new const g_Objective_Type[ ] =
{
OBJTYPE_DE,
OBJTYPE_DE,
OBJTYPE_CS,
OBJTYPE_CS,
OBJTYPE_CS,
OBJTYPE_CS,
OBJTYPE_AS,
OBJTYPE_AS,
OBJTYPE_ES
}
new const bool:g_Objective_Prim[ ] =
{
true,
true,
true,
false,
false,
false,
false,
true,
true
}
new g_Pcvar_No_Objectives
new g_No_Objectives = CVAR_DEFAULT & OBJTYPE_ALL
public plugin_init( )
{
if ( !g_Pcvar_No_Objectives )
{
new cvar_defval[ 8 ]
get_flags( CVAR_DEFAULT, cvar_defval, sizeof cvar_defval - 1 )
register_cvar( CVAR_NAME, cvar_defval )
}
if ( Is_Objective_Map( ) )
return
}
public plugin_precache( )
{
if ( ( g_Pcvar_No_Objectives = get_cvar_pointer( CVAR_NAME ) ) )
{
new cvar_val[ 8 ]
get_pcvar_string( g_Pcvar_No_Objectives, cvar_val, sizeof cvar_val - 1 )
g_No_Objectives = read_flags( cvar_val ) & OBJTYPE_ALL
}
if ( g_No_Objectives )
{
register_forward( FM_Spawn, "forward_spawn" )
}
}
public forward_spawn( ent )
{
if ( !pev_valid( ent ) )
return FMRES_IGNORED
static classname[ 32 ], i
pev( ent, pev_classname, classname, sizeof classname - 1 )
for ( i = 0; i < sizeof g_Objective_Ents; ++i )
{
if ( equal( classname, g_Objective_Ents[ i ] ) )
{
if ( !( g_No_Objectives & g_Objective_Type[ i ] ) )
return FMRES_IGNORED
engfunc( EngFunc_RemoveEntity, ent )
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
bool:Is_Objective_Map( )
{
new const classname[ ] = "classname"
for ( new i = 0; i < sizeof g_Objective_Ents; ++i )
{
if ( g_Objective_Prim[ i ] && engfunc( EngFunc_FindEntityByString, FM_NULLENT, classname, g_Objective_Ents[ i ] ) )
return true
}
return false
}