Sometimes after the bomb (c4) was planted and round is end the bomb is still count and explode..
Here is the code I will try to fix this:
PHP Code:
#include < amxmodx >
#include < engine >
#include < fakemeta >
#define m_C4 96
#define IsC4(%1) get_pdata_int( %1, m_C4 ) & ( 1<<8 )
new g_iBombPlantedOrDefused
public plugin_init()
{
new entity = -1
new iMapBomb
while( ( entity = find_ent_by_class( entity, "func_bomb_target" ) ) > 0 )
{
iMapBomb = true
}
entity = -1
while( ( entity = find_ent_by_class( entity, "info_bomb_target" ) ) > 0 )
{
iMapBomb = true
}
if( iMapBomb )
{
register_event( "TextMsg", "Event_RoundEnd", "a", "2&#Game_C", "2&#Game_w" )
register_event( "HLTV", "Event_RoundEnd", "a", "1=0", "2=0" )
register_logevent( "Event_RoundEnd", 2, "1=Round_Start" )
register_event( "SendAudio", "Event_RoundEnd", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2=%!MRAD_rounddraw" )
register_logevent( "Event_RoundEnd", 2, "1=Round_End" )
register_logevent( "LogEvent_BombPlanted", 3, "2=Planted_The_Bomb" )
register_logevent( "LogEvent_BombPlanted", 3, "2=Defused_The_Bomb" )
register_logevent( "LogEvent_BombPlanted", 6, "3=Target_Saved" )
}
else
{
pause( "ad" )
g_iBombPlantedOrDefused = false
return
}
}
public Event_RoundEnd()
{
if( g_iBombPlantedOrDefused )
{
static iC4
iC4 = -1
while( ( iC4 = find_ent_by_class( iC4, "grenade" ) ) > 0 )
{
if( IsC4( iC4 ) > 0 )
{
remove_entity( iC4 )
g_iBombPlantedOrDefused = false
break
}
}
}
}
public LogEvent_BombPlanted()
{
g_iBombPlantedOrDefused = true
}
But sometimes server crash with this error:
FATAL ERROR (shutting down): NUM_FOR_EDICT: bad pointer