That worked, but the sound won't stop playing after the bomb explodes.
PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#define PLUGIN_VERSION "2.0"
#define TASK_AURA 665789
#define RANDOM_COLOR random_num(50, 255)
#define BOMB_MODEL "models/iplay/apple.mdl"
#define BOMB_SOUND "iplay/ppap.wav"
#define AURA_FREQ 0.6
#define AURA_RADIUS 30
#define AURA_LIFE 8
#define AURA_DECAY 25
#if AMXX_VERSION_NUM < 183
const INT_BYTES = 4
const BYTE_BITS = 8
bool:get_pdata_bool(ent, charbased_offset, intbase_linuxdiff = 5)
return !!(get_pdata_int(ent, charbased_offset / INT_BYTES, intbase_linuxdiff) & (0xFF<<((charbased_offset % INT_BYTES) * BYTE_BITS)))
#endif
const m_bIsC4 = 385
public plugin_init()
{
register_plugin("Crazy C4", PLUGIN_VERSION, "OciXCrom")
register_cvar("@CrazyC4", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
register_logevent("OnBombPlanted", 3, "2=Planted_The_Bomb")
}
public plugin_precache()
{
precache_model(BOMB_MODEL)
precache_sound(BOMB_SOUND)
}
public OnBombPlanted()
{
new iC4 = FM_NULLENT
while((iC4 = engfunc(EngFunc_FindEntityByString, iC4, "classname", "grenade")))
{
if(pev_valid(iC4) && get_pdata_bool(iC4, m_bIsC4))
{
engfunc(EngFunc_SetModel, iC4, BOMB_MODEL)
emit_sound(iC4, CHAN_STATIC, BOMB_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
set_task(AURA_FREQ, "MakeAura", iC4 + TASK_AURA, .flags = "b")
break
}
}
}
public MakeAura(iC4)
{
iC4 -= TASK_AURA
if(!pev_valid(iC4) || !get_pdata_bool(iC4, m_bIsC4))
{
emit_sound(iC4, CHAN_STATIC, BOMB_SOUND, 1.0, ATTN_NORM, SND_STOP, PITCH_NORM)
remove_task(iC4 + TASK_AURA)
return
}
new Float:fOrigin[3], iOrigin[3]
pev(iC4, pev_origin, fOrigin)
iOrigin[0] = floatround(fOrigin[0])
iOrigin[1] = floatround(fOrigin[1])
iOrigin[2] = floatround(fOrigin[2])
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_DLIGHT)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
write_byte(AURA_RADIUS)
write_byte(RANDOM_COLOR)
write_byte(RANDOM_COLOR)
write_byte(RANDOM_COLOR)
write_byte(AURA_LIFE)
write_byte(AURA_DECAY)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SPARKS)
write_coord(iOrigin[0])
write_coord(iOrigin[1])
write_coord(iOrigin[2])
message_end()
}
How do I actually detect if the bomb is no longer planted?
__________________