import es, os, playerlib, popuplib, gamethread admins = ['STEAM_0:0:11089864'] def load2(): if not es.exists('saycommand', '!maps'): es.regsaycmd('!maps', 'maps/show_maps') if not es.exists('saycommand', '!changemap'): es.regsaycmd('!changemap', 'maps/changemap') maps().make_menus() def unload(): if es.exists('saycommand', '!maps'): es.unregsaycmd('!maps') if es.exists('saycommand', '!changemap'): es.unregsaycmd('!changemap') popuplib.delete('Map list') popuplib.delete('Change Map') def show_maps(): userid = es.getcmduserid() popuplib.send('Map List', userid) def changemap(): userid = es.getcmduserid() if playerlib.getPlayer(userid).get('steamid') in admins: popuplib.send('Change Map', userid) else: es.tell(userid, '#green', 'Sorry, you are not authorized to run this command') class maps: def return_maps(self): map_list = [] for map in os.listdir(es.getAddonPath('maps').replace('addons/eventscripts/', '')): if map.endswith('.bsp'): map_list.append(map.replace('.bsp', '')) return map_list def make_menus(self): show_maps = popuplib.easymenu('Map List', '_popup_choice', show_all_maps) change_map = popuplib.easymenu('Change Map', '_popup_choice', change_map2) maps = self.return_maps() maps.sort() for map in maps: show_maps.addoption(map, map) change_map.addoption(map, map) def show_all_maps(userid, choice, popupid): popuplib.send('Map List', userid) def change_map2(userid, choice, popupid): es.server.queuecmd('changelevel %s'%choice) gamethread.delayed(0, load2)