#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "Random C4 Timer"
#define AUTHOR "Magic_Carpet"
#define VERSION "v0.2"
new gIdSpawn;
new gbBombMap = false;
new MaxC4TIMER , MinC4TIMER;
new pCvarEnabled;
new OriginalTIMER;
new AnnounceTIME;
public plugin_precache( )
{
gIdSpawn = register_forward( FM_Spawn , "fw_Spawn" );
}
public fw_Spawn( ent )
{
if( !pev_valid( ent ) )
return;
new szClassName[ 32 ] , i;
pev( ent , pev_classname , szClassName , charsmax( szClassName ) );
new const szC4EntClassName[ ][ ] = {
"info_bomb_target" ,
"func_bomb_target"
};
for ( i = 0 ; i < sizeof ( szC4EntClassName ); i++ )
{
if( equal( szClassName , szC4EntClassName[i] ) )
{
gbBombMap = true;
break;
}
}
}
public plugin_init( )
{
register_plugin( PLUGIN , VERSION , AUTHOR )
unregister_forward( FM_Spawn , gIdSpawn );
pCvarEnabled = register_cvar( "amx_random_c4_timer" , "1" );
MaxC4TIMER = register_cvar( "amx_max_c4_timer" , "45" );
MinC4TIMER = register_cvar( "amx_min_c4_timer" , "20" );
OriginalTIMER = get_cvar_num( "mp_c4timer" );
AnnounceTIME = register_cvar( "amx_random_c4_announce" , "1" );
if(gbBombMap)
{
register_event( "HLTV" , "Start_Random_C4_TIMER" , "a" , "1=0" , "2=0" );
}
}
public Start_Random_C4_TIMER( )
{
new MaxTIME = get_pcvar_num( MaxC4TIMER );
new MinTIME = get_pcvar_num( MinC4TIMER );
new Announce = get_pcvar_num( AnnounceTIME );
if( get_pcvar_num( pCvarEnabled ) )
{
new C4_TIMER = random_num( MinTIME , MaxTIME );
if( get_pcvar_num( Announce ) )
{
client_print( 0 , print_chat , "[AMXX] A veletlen C4 idozito: %d masodperc" , C4_TIMER );
}
server_cmd( "mp_c4timer %d" , C4_TIMER );
}
}
public plugin_end( )
{
new OriginalTIME = get_pcvar_num( OriginalTIMER );
set_cvar_num( "mp_c4timer" , OriginalTIME );
}