import es, gamethread, os.path, popuplib, playerlib, pickle, services # Admins here, if you have group auth set up, it'll let anyone with bmute_admin, you can also specify for everyone in mani's clients.txt to have access. admins = ('STEAM_0:0:11089864', 'STEAM_0:0:0000000', 'mani_admins') # Default times for mute menu in minutes default_times = (5, 10, 15, 30, 60, 360, 600, 1440) # Default menu mute reason menu_mute_reason = "I don't like you" mute_info = {} def load(): global mute_info es.msg('#multi', '#green[#lightgreenBMute#green]: Loaded') if not es.exists('saycommand', '!mute'): es.regsaycmd('!mute', 'bmute/mute', 'Mute a player') if not es.exists('saycommand', '!unmute'): es.regsaycmd('!unmute', 'bmute/unmute', 'Unmute a player') if not es.exists('clientcommand', 'mute_status'): es.regclientcmd('mute_status', 'bmute/status', 'Check your muted status') if not es.exists('saycommand', '!mutemenu'): es.regsaycmd('!mutemenu', 'bmute/mutemenu') mute_data = es.getAddonPath('bmute') + '/muted.db' if os.path.isfile(mute_data): mute_players_restore = open(mute_data) mute_info = pickle.load(mute_players_restore) mute_players_restore.close() def unload(): es.msg('#multi', '#green[#lightgreenBMute#green]: Unloaded') if es.exists('saycommand', '!mute'): es.unregsaycmd('!mute') if es.exists('saycommand', '!unmute'): es.unregsaycmd('!unmute') if es.exists('clientcommand', 'mute_status'): es.unregclientcmd('mute_status') mute_players_restore = open(es.getAddonPath('bmute') + '/muted.db', 'w') pickle.dump(mute_info, mute_players_restore) mute_players_restore.close() def player_activate(event_var): steamid = event_var['es_steamid'] if mute_info.has_key(steamid): es.server.queuecmd('ma_mute %s 1'%steamid) def round_end(event_var): mute_players_restore = open(es.getAddonPath('bmute') + '/muted.db', 'w') pickle.dump(mute_info, mute_players_restore) mute_players_restore.close() def mute(): global mute_info userid = es.getcmduserid() #if playerlib.getPlayer(userid).get('steamid') in admins: if is_authed(userid): if es.getuserid(es.getargs().split(' ')[0]): steamid = playerlib.getPlayer(es.getuserid(es.getargs().split(' ')[0])).get('steamid') try: muted_time = int(es.getargv(2)) except: es.tell(userid, '#multi', '#green[#lightgreenBMute#green]: Invalid time') return if es.getargc() >= 2: mute_info[steamid] = {} reason = es.getargs().replace(es.getargs().split(' ')[0], '').replace(str(muted_time), '') mute_info[steamid]['reason'] = reason mute_info[steamid]['time'] = muted_time es.server.queuecmd('ma_mute "%s" 1'%steamid) es.cexec(es.getuserid(es.getargs().split(' ')[0]), 'mute_status') else: es.tell(userid, '#multi', '#green[#lightgreenBMute#green]: Invalid syntax') es.tell(userid, '#multi', '#green[#lightgreenBMute#green]: Syntax = !mute