OOO, actually...take a look @ xeroblood's AIO menu

.
Poison..
Code:
public poison_loop( p_aCmdArgs[] )
{
new vID = p_aCmdArgs[0]
if( is_user_alive(vID) && (g_nHasEffect[vID-1] & AIO_POISON) )
{
new userHealth = get_user_health( vID )
new nDmgAmount = get_cvar_num( "sv_aio_poison_damage" )
new nNewHP = (userHealth - nDmgAmount)
set_user_health( vID, nNewHP )
if( nNewHP < 1 )
{
message_begin( MSG_BROADCAST, g_nMsgDeath, {0,0,0}, 0 )
write_byte( vID )
write_byte( vID )
write_byte( 0 )
write_string( "infection" )
message_end()
}
new korigin[3]
get_user_origin( vID, korigin )
message_begin( MSG_ONE, g_nMsgDamage, {0,0,0}, vID )
write_byte( 30 ) // dmg_save
write_byte( 30 ) // dmg_take
write_long( 1 << 16 ) // visibleDamageBits
write_coord( korigin[0] ) // damageOrigin.x
write_coord( korigin[1] ) // damageOrigin.y
write_coord( korigin[2] ) // damageOrigin.z
message_end()
emit_sound( vID, CHAN_AUTO, g_szSndPoison, 0.6, ATTN_NORM, 0, PITCH_HIGH )
set_task( 1.0, "poison_loop", 0, p_aCmdArgs, 2 )
}
__________________