| zombieplague |
07-21-2010 04:47 |
remove objectives..
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 }
|