def banReasonList(): global badAccess # Get the userid of the person calling this menu playerid = es.getcmduserid() if es.exists('keygroup', 'playerlist'): es.server.queuecmd('es_xkeygroupdelete playerlist') es.server.queuecmd('es_xcreateplayerlist playerlist') # Member check only needs to be performed on this menu if isMember(es.getplayersteamid(playerid)): if es.exists('keygroup', 'GlobalBan_Reason'): # Open the keygroup that contains all reason codes es.keygroupdelete('GlobalBan_Reason') es.keygroupload('GlobalBan_Reason', '|GlobalBan') # Create keymenu called banReasonMenu for user to select from banReasonMenu = keymenulib.create("banReasonMenu", "selectedBanReason", banLengthList, "GlobalBan_Reason", "#keyvalue reasonText", "#key", "Ban Reason List") banReasonMenu.send(playerid) else: es.tell(playerid, '#green', 'You are not an admin!') # Increment the number of attempts badAccess[es.getplayersteamid(playerid)] = int(badAccess[es.getplayersteamid(playerid)]) + 1 if int(badAccess[es.getplayersteamid(playerid)]) > 4: # Remove the player from the badAccess dictionary if badAccess.has_key(event_var['es_steamid']): del badAccess[es.getplayersteamid(playerid)] # Kick the player es.server.queuecmd('kickid ' + str(playerid) + ' You were kicked for attempting to use an admin command');
def player_activate_f(userid): steamid = getplayerid(userid) if steamid != "BOT": first_join.append(userid) check = est.fileexists( "addons/eventscripts/the_killers/player_data/es_%s_db.txt" % (steamid)) if not check: make_player(steamid) else: if not es.exists("keygroup", steamid): es.keygroupload(steamid, "|the_killers/player_data") if int(sv('hostport')) != 27100: if repeat.find("music_loop"): repeat.delete("music_loop") music = "zeisenproject/the-killers/musics/RollerMobster.mp3" es.set("music", music) music_loop = repeat.create('music_loop', es.playsound, (userid, music, 1.0)) if "RollerMobster.mp3" in music: music_loop.start((180 + 34), 0) es.playsound(userid, music, 1.0) if eventscripts_currentmap == "cs_office": es.playsound(userid, "zeisenproject/the-killers/musics/beams.mp3", 1.0)
def isMember(steamId): if not es.exists('keygroup', 'clanMembers'): es.keygroupcreate('clanMembers') es.keygroupload('clanMembers', '|GlobalBan') memberCheck = es.keygetvalue('clanMembers', steamId, 'member') if memberCheck == '1': return True else: return False
def banLengthList(playerid, selectedBanReason, popupid): # Now set the ban reason selected to the correct admin in the admin keylist # Stored to the keylist so that it can be "passed" on # And to prevent other admins from stomping on each other es.keysetvalue('clanMembers', es.getplayersteamid(playerid), 'banReason', selectedBanReason) if es.exists('keygroup', 'GlobalBan_Length'): # Open the keygroup that contains all ban lengths es.keygroupdelete('GlobalBan_Length') es.keygroupload('GlobalBan_Length', '|GlobalBan') # Create keymenu called banLengthMenu for user to select from banLengthMenu = keymenulib.create("banLengthMenu", "selectedBanLength", banPlayerMenu, "GlobalBan_Length", "#keyvalue readable", "#key", "Ban Lengths") banLengthMenu.send(playerid)
def keyfilter_cmd(args): if len(args) > 3: keygroup = args[0] if es.exists('keygroup', keygroup): key = args[1] if es.exists('key', keygroup, key): action = args[2] if action in ['not', 'only']: kv = keyvalues.getKeyGroup(keygroup) keyfiltervar = args[3] keyfilterlist = [] if len(args) > 4: keyfiltervalue = args[4] else: keyfiltervalue = None if action == 'not': for keyvar in kv[key].keys(): if keyfiltervar in keyvar and (str(kv[key][keyvar]) == keyfiltervalue or not keyfiltervalue): keyfilterlist.append(keyvar) elif action == 'only': for keyvar in kv[key].keys(): if not keyfiltervar in keyvar or (str(kv[key][keyvar]) != keyfiltervalue and keyfiltervalue): keyfilterlist.append(keyvar) for keyvar in keyfilterlist: if keyvar in kv[key]: kv[key][keyvar] = keyvalues.KeyValues(name=' ') if keyfilterlist: # Let's remove our deleted keys by reloading the keygroup with classic ES commands es.keygroupsave(keygroup, '|corelib/keyfilter') es.keygroupdelete(keygroup) es.keygroupcreate(keygroup) es.keygroupload(keygroup, '|corelib/keyfilter') os.unlink(es.getAddonPath('corelib/keyfilter')+'/es_%s_db.txt'%keygroup) else: es.dbgmsg(0, 'keyfilter: Invalid action provided. Syntax: keyfilter <keygroup> <key> <not/only> <part-of-value-name> [value]') else: es.dbgmsg(0, 'keyfilter: Invalid key for keygroup "%s" provided: %s' % (keygroup, key)) else: es.dbgmsg(0, 'keyfilter: Invalid keygroup provided: %s' % keygroup) else: es.dbgmsg(0, 'keyfilter: Not enough arguments to keyfilter. Syntax: <keygroup> <key> <not/only> <part-of-value-name> [value]')
def player_activate_f(userid): steamid = getplayerid(userid) if steamid != "BOT": first_join.append(userid) check = est.fileexists("addons/eventscripts/the_killers/player_data/es_%s_db.txt" %(steamid)) if not check: make_player(steamid) else: if not es.exists("keygroup", steamid): es.keygroupload(steamid, "|the_killers/player_data") if int(sv('hostport')) != 27100: if repeat.find("music_loop"): repeat.delete("music_loop") music = "zeisenproject/the-killers/musics/RollerMobster.mp3" es.set("music", music) music_loop = repeat.create('music_loop', es.playsound, (userid, music, 1.0)) if "RollerMobster.mp3" in music: music_loop.start((180 + 34), 0) es.playsound(userid, music, 1.0) if eventscripts_currentmap == "cs_office": es.playsound(userid, "zeisenproject/the-killers/musics/beams.mp3", 1.0)
def reloadBanLengthList(): if es.exists('keygroup', 'GlobalBan_Length'): es.keygroupdelete('GlobalBan_Length') es.keygroupload('GlobalBan_Length', '|GlobalBan')
def reloadBanReasonList(): if es.exists('keygroup', 'GlobalBan_Reason'): es.keygroupdelete('GlobalBan_Reason') es.keygroupload('GlobalBan_Reason', '|GlobalBan')
def reloadAdminKeyGroup(): if es.exists('keygroup', 'clanMembers'): es.keygroupdelete('clanMembers') es.keygroupload('clanMembers', '|GlobalBan')
def keygroupload(argv): es.keygroupload(*argv)