Description
Ever found the mute command in mani a bit lacking in that once you change maps, you have to mute the noisy, whining so and so's all over again?
Well I do, so I made this, once you mute a player it stores their steam id in a database and on map changes mutes them again indefinitely
Evil huh?
To use add your steamid to
[syntax="es"]
es_xset mute_admins "STEAM_0:0:12345"[/syntax]
then in game you can say
[quote]
mute
[/quote]
to add a muted player
or
[quote]
unmute
[/quote]
to remove a player from the database.
[syntax="es"]block set_admins
{
es_xset mute_admins "STEAM_0:0:12345" // Add steam Id's of admins separated with a space to allow them to add/delete muted players
}
block load
{
es_xdoblock SAS_Mute/set_admins
es_xset mute_dir "|SAS_Mute"
es_xkeygroupdelete SAS_MuteList
es_keygroupload SAS_MuteList server_var(mute_dir)
es_xset SAS_Mute 1
es_xmakepublic SAS_Mute
es_xset a_plyr 0
es_xset mute 0
es_xset plyr 0
es_xset plyr_id 0
es_xset m_steam 0
es_xset m_name 0
}
event player_activate
{
es_xforeachkey a_plyr in SAS_MuteList "es_doblock SAS_Mute/check_player"
}
block check_player
{
if(event_var(es_steamid) == server_var(a_plyr)) then es ma_mute event_var(userid)
}
event player_say
{
if(event_var(es_steamid) in server_var(mute_admins)) do
{
es_token mute event_var(text) 1
if(server_var(mute) == "mute") do
{
es_token plyr event_var(text) 2
es_xdoblock SAS_Mute/add_player
es_tell event_var(userid) server_var(m_name) has been permanently muted
}
es_token mute event_var(text) 1
if(server_var(mute) == "unmute") do
{
es_token plyr event_var(text) 2
es_xdoblock SAS_Mute/delete_player
es_tell event_var(userid) server_var(m_name) has been removed from Mute List
}
}
}
event dod_game_over
{
es_keygroupsave SAS_MuteList server_var(mute_dir)
}
block add_player
{
es_getuserid plyr_id server_var(plyr)
es_getplayersteamid m_steam server_var(plyr_id)
es_getplayername m_name server_var(plyr_id)
es_keycreate SAS_MuteList server_var(m_steam)
es_keysetvalue SAS_MuteList server_var(m_steam) name server_var(m_name)
es ma_mute server_var(plyr_id)
}
block delete_player
{
es_getuserid plyr_id server_var(plyr)
es_getplayersteamid m_steam server_var(plyr_id)
es_getplayername m_name server_var(plyr_id)
es_keydelete SAS_MuteList server_var(m_steam)
es ma_mute server_var(plyr_id)
}[/syntax]
Needs Mani and ES 1.5, extract the zip into your dod/addons/eventscripts folder and add
[syntax="es"]es_load SAS_Mute[/syntax]
to your autoexec.cfg, then restart server (or just type es_load SAS_Mute in rcon)