new const grenade_snds[][] =
"radio/grenades/ct_flashbang01.wav",
"radio/grenades/ct_flashbang02.wav",
"radio/grenades/ct_flashbang03.wav",
"radio/grenades/ct_grenade01.wav",
"radio/grenades/ct_grenade02.wav",
"radio/grenades/ct_grenade03.wav",
"radio/grenades/ct_smoke01.wav",
"radio/grenades/ct_smoke02.wav",
"radio/grenades/ct_smoke03.wav",
"radio/grenades/t_flashbang01.wav",
"radio/grenades/t_flashbang02.wav",
"radio/grenades/t_flashbang03.wav",
"radio/grenades/t_grenade01.wav",
"radio/grenades/t_grenade02.wav",
"radio/grenades/t_grenade03.wav",
"radio/grenades/t_smoke01.wav",
"radio/grenades/t_smoke02.wav",
"radio/grenades/t_smoke03.wav"
new grenade_txts[sizeof grenade_snds][65], g_txt_enabled = 1;
register_plugin("CS:GO Grenade Callouts", "1.0", "hellmonja");
register_message(get_user_msgid("SendAudio"), "Block_Msg_Audio");
register_message(get_user_msgid("TextMsg"), "Block_Msg_Text");
get_configsdir(szFilepath, charsmax(szFilepath));
add(szFilepath, charsmax(szFilepath), "/grenade_callouts.ini");
if(!file_exists(szFilepath))
new f = fopen(szFilepath, "rt");
while( !feof(f) && i < sizeof(grenade_snds))
fgets(f, szData, charsmax(szData));
if(!szData[0] || szData[0] == ';' || szData[0] == '/' && szData[1] == '/')
copy(grenade_txts[i], charsmax(szData), szData);
for(new i = 0; i < sizeof grenade_snds - 1; i++)
precache_sound(grenade_snds[i]);
public Block_Msg_Audio(msg_id, msg_dest, msg_entity)
if(get_msg_args() != 3 || get_msg_argtype(2) != ARG_STRING)
get_msg_arg_string(2, arg2, 19);
if(equal(arg2[1], "!MRAD_FIREINHOLE"))
if(get_msg_args() != 5 || get_msg_argtype(3) != ARG_STRING || get_msg_argtype(5) != ARG_STRING)
get_msg_arg_string(3, arg3, 15);
if(!equal(arg3, "#Game_radio"))
get_msg_arg_string(5, arg5, 19);
if(equal(arg5, "#Fire_in_the_hole"))
public grenade_throw(id, grenid, wpnid)
new players[32], pnum, playername[32];
new team = get_user_team(id), flag, temp;
get_players(players, pnum, "a");
get_user_name(id, playername, charsmax(playername));
if(team == 2) flag = 0; else flag = 9;
for(new i = 1; i < pnum + 1; i++)
if(get_user_team(i) == team)
temp = random_num(0, 2) + flag;
temp = random_num(3, 5) + flag;
temp = random_num(6, 8) + flag;
client_cmd(i,"spk ^"%s^"", grenade_snds[temp]);
client_print(i, print_chat, "%s (RADIO): %s", playername, grenade_txts[temp]);