def telladmin(args): nameList = [] playerList = es.getUseridList() for player in playerList: if ut.authorize(player,identifyMethod,adminList): nameList.append(playerlib.getPlayer(player).name) if len(nameList) == 0: es.tell(es.getcmduserid(), "#multi", "#green[UltiTool] #defaultThere are no admins online!") elif len(nameList) == 1: es.tell(es.getcmduserid(), "#multi", "#green[UltiTool] #defaultThe admin that's currently on the server is: " + ", ".join(nameList)) else: es.tell(es.getcmduserid(), "#multi", "#green[UltiTool] #defaultThe admins that's currently on the server are: " + ", ".join(nameList))
def set_nextmap(): mapname = es.getargv(1) if map_check(mapname): nextmapvar.set(mapname) if str(xa_announce_setnextmap) == '1': for player in playerlib.getPlayerList(): es.tell(player.userid, xalanguage('new next map', {'mapname':mapname}, player.get('lang'))) xamapmanagement.logging.log("set next map set to %s" % mapname, es.getcmduserid(), True ) else: userid = int(es.getcmduserid()) if userid: es.tell(userid,'#multi','#green[XA] #default',xalanguage('invalid map',{'mapname':mapname},playerlib.getPlayer(userid).get('lang')))
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid,'Nightcrawler'): return gusers[userid] = {} gusers[userid]['crawl'] = 0 gusers[userid]['nc_cooldown'] = int(time.time())
def show_nextmap(): userid = es.getcmduserid() if str(nextmapvar) != '': nextmap = str(nextmapvar) else: nextmap = gMapCycle[gCurrentMap+1] es.tell(userid,'#multi','#green[XA] #default',xalanguage('show next map',{'mapname':nextmap},playerlib.getPlayer(userid).get('lang')))
def restart(): """ Teleports player to first level """ userid = es.getcmduserid() if (es.getplayerteam(userid) != 1): entities = es.createentitylist('info_teleport_destination') for i in entities: if (es.entitygetvalue(i, 'targetname') == "timer_stage1"): x = es.getplayerprop( userid, "CBasePlayer.localdata.m_vecVelocity[0]") * -1 / 2 y = es.getplayerprop( userid, "CBasePlayer.localdata.m_vecVelocity[1]") * -1 / 2 z = es.getplayerprop( userid, "CBasePlayer.localdata.m_vecVelocity[2]") * -1 / 2 es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", es.createvectorstring(x, y, z)) gamethread.delayed( 0.01, es.setplayerprop, (userid, "CBasePlayer.localdata.m_vecBaseVelocity", es.createvectorstring(x, y, z))) startPos = es.entitygetvalue(i, 'origin').split(' ') startAng = es.entitygetvalue(i, 'angles').split(' ') gamethread.delayed( 0.01, es.setpos, (userid, startPos[0], startPos[1], startPos[2])) es.setang(userid, startAng[0], startAng[1], startAng[2])
def _inputbox_handle(): es.dbgmsg(1,'*****_inputbox_handle') userid = es.getcmduserid() count = int(es.getargc()) if count == 3: groupname = es.getargv(1) level = es.getargv(2) level = level.lower() if level in ('root','admin','poweruser','known','all'): if level == 'root': level = 0 if level == 'admin': level = 1 if level == 'poweruser': level = 2 if level == 'known': level = 4 if level == 'all': level = 128 es.server.queuecmd('gauth group create %s %d' %(groupname,level)) es.esctextbox(10, userid, "New group added", "You have added group: %s with access level %s" %(groupname,level)) else: es.esctextbox(10, userid, "Invalid level", "Accepted levels:\n -admin\n -poweruser\n -known\n -all") else: es.esctextbox(10, userid, "Invalid Entry", "<groupname-no spaces> <level>")
def power(): global gusers userid = str(es.getcmduserid()) if not es.exists('userid', userid): return player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: if int(time.time()) >= int(gusers[userid]['dazzle']): nearPlayers = player.getNearPlayers(750) counter = 0 for dude in nearPlayers: if playerlib.getPlayer(dude).teamid != player.teamid: fade(dude, 1, 1, 2.5, 255, 255, 255, 255) es.tell( dude, '#multi', '#green[SH]#lightgreen You have been Dazzled by#green', es.getplayername(userid)) counter += 1 fade(userid, 1, 0.1, 0.1, 255, 255, 255, 255) es.tell(userid, '#multi', '#green[SH]#lightgreenYou dazzled #green', counter, '#lightgreenPlayers') gusers[userid]['dazzle'] = int(time.time()) + 30 else: es.tell( userid, '#multi', '#green[SH]#lightgreen Cannot activate #greenDazzler#lightgreen, you have to wait#green', int(gusers[userid]['dazzle']) - int(time.time()), '#lightgreenmore seconds')
def power(): userid = str(es.getcmduserid()) player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: if int(time.time()) >= int(gusers[userid]['nc_cooldown']): es.server.queuecmd('es_xsetplayerprop %s "CBaseEntity.movetype" 8' % userid) if not 'speed' in gusers[userid]: gusers[userid]['speed'] = 1.0 player.set("speed", 1.0) gusers[userid]['nc_cooldown'] = int(time.time()) + 10 es.centertell(userid,'Noclip activated, do not get Stuck!') es.tell(userid,'#multi','#green[SH]#lightgreen Nightcrawler is partially blinded. You now are aswell.') gusers[userid]['crawl'] = 1 fade(userid, 1, 0.5, 2.8, 0, 0, 0, 254) speed_set(userid) #es.server.cmd('ezrestrict %s #all' % userid) #es.server.cmd('ezrestrict_removeidle #all') #es.server.cmd('ezunrestrict %s knife' % userid) gamethread.delayed(0.1, es.server.queuecmd, 'es_xgive %s weapon_knife' % userid) es.delayed(1,'es_centertell %s 6 seconds left...' % userid) es.delayed(2,'es_centertell %s 5 seconds left...' % userid) es.delayed(3,'es_centertell %s 4 seconds left...' % userid) es.delayed(4,'es_centertell %s 3 seconds left...' % userid) es.delayed(5,'es_centertell %s 2 seconds left...' % userid) es.delayed(6,'es_centertell %s 1 seconds left...' % userid) gamethread.delayed(7,undo,(player)) else: es.tell(userid,'#multi','#green[SH]#lightgreen Cannot activate Nightcrawler #green',int(gusers[userid]['nc_cooldown'])-int(time.time()),'#lightgreenseconds left')
def execute(self, args): """ When told to execute the function we need to pass the userid of the player who used the command as well as the command's arguments. We also need to determine if the player is authorized to use the command. """ userid = es.getcmduserid() # No auth? No fuss. if not self.auth_capability is None: # Check whether the userid is authorized is_authed = services.use('auth').isUseridAuthorized(userid, self.auth_capability) if not is_authed: # If a callback has been specified for auth failure then execute that function if self.auth_fail_callback: if callable(self.auth_fail_callback): self.auth_fail_callback(userid, args) else: es.doblock(self.auth_fail_callback) # We have yet to inform the player they aren't authorized so we need to do it else: es.tell(userid, 'You are not authorized to use the ' + self.name + ' command.') return if callable(self.callback): self.callback(userid, args) else: es.server.queuecmd('es_xdoblock ' + self.callback)
def help(es_player=None): # Tell Player the help options if not es_player: es_player = es.getcmduserid() steamid = es.getplayersteamid(es_player) steam_64 = str(convertSteamIDToCommunityID(steamid)) es.tell(es_player, "Available commands are: /balance /rank")
def execute(self, args): """ When told to execute the function we need to pass the userid of the player who used the command as well as the command's arguments. We also need to determine if the player is authorized to use the command. """ userid = es.getcmduserid() # No auth? No fuss. if not self.auth_capability is None: # Check whether the userid is authorized is_authed = services.use('auth').isUseridAuthorized(userid, self.auth_capability) if not is_authed: # If a callback has been specified for auth failure then execute that function if self.auth_fail_callback: if isinstance(self.auth_fail_callback, collections.Callable): self.auth_fail_callback(userid, args) else: es.doblock(self.auth_fail_callback) # We have yet to inform the player they aren't authorized so we need to do it else: es.tell(userid, 'You are not authorized to use the ' + self.name + ' command.') return if isinstance(self.callback, collections.Callable): self.callback(userid, args) else: es.server.queuecmd('es_xdoblock ' + self.callback)
def _inputbox_handle(): es.dbgmsg(1, '*****_inputbox_handle') userid = es.getcmduserid() count = int(es.getargc()) if count == 3: groupname = es.getargv(1) level = es.getargv(2) level = level.lower() if level in ('root', 'admin', 'poweruser', 'known', 'all'): if level == 'root': level = 0 if level == 'admin': level = 1 if level == 'poweruser': level = 2 if level == 'known': level = 4 if level == 'all': level = 128 es.server.queuecmd('gauth group create %s %d' % (groupname, level)) es.esctextbox( 10, userid, "New group added", "You have added group: %s with access level %s" % (groupname, level)) else: es.esctextbox( 10, userid, "Invalid level", "Accepted levels:\n -admin\n -poweruser\n -known\n -all") else: es.esctextbox(10, userid, "Invalid Entry", "<groupname-no spaces> <level>")
def selected(): global gusers userid = es.getcmduserid() if not superhero.hasHero(userid, 'Invisible Man'): return gusers[userid] = {} check_moving(userid)
def customVoteTitle(): userid = es.getcmduserid() title = es.getargs() lang = playerlib.getPlayer(userid).get("lang") es.escinputbox(30, userid, xalanguage("vote options", lang=lang), xalanguage("select vote options", lang=lang), 'xa_set_options %s ^^^' % title)
def selected(): global gusers userid = es.getcmduserid() if not superhero.hasHero(userid,'Invisible Man'): return gusers[userid] = {} check_moving(userid)
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid,'HobGoblin'): return player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: check_nade(userid)
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid,'Wolverine'): return player = playerlib.getPlayer(userid) if not player.isdead: auto_heal(userid)
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid, 'HobGoblin'): return player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: check_nade(userid)
def selected(): global gusers userid = str(es.getcmduserid()) if not es.exists('userid', userid): return gusers[userid] = {} gusers[userid]['my_cooldown'] = int(time.time())
def redirect_cmd(): """ redirect <userid/player name/"Steam ID"> ["IP"] [kick] [delay] Ensures a correct number of arguments were provided Ensures the specified player exists Retrieves the optional arguments while converting them to the desired type Calls send_prompt with the specified arguments """ int_arg_count = es.getargc() int_cmd_userid = es.getcmduserid() if int_arg_count in (2, 3, 4, 5): str_player_arg = es.getargv(1) int_userid = es.getuserid(str_player_arg) if int_userid: list_args = [int_userid, str(var_ip), int(var_kick), float(var_delay)] dict_arg_types = {2:str, 3:int, 4:float} for int_x in range(2, int_arg_count): try: list_args[int_x - 1] = dict_arg_types[int_x](es.getargv(int_x)) except: display_feedback(int_cmd_userid, 'invalid argument', {'arg':es.getargv(int_x), 'type':dict_arg_types[int_x].__name__}) return send_prompt(*list_args) else: display_feedback(int_cmd_userid, 'no player', {'player':str_player_arg}) else: display_feedback(int_cmd_userid, 'syntax', {'syntax':'xaredirect <userid/player name/\"Steam ID\"> [\"IP\"] [kick] [delay]'})
def selected(): global gusers userid = str(es.getcmduserid()) if not es.exists('userid',userid): return gusers[userid] = {} gusers[userid]['my_cooldown'] = int(time.time())
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid,'Flash'): return else: player = playerlib.getPlayer(userid) player.set("speed", 1.5)
def power(): global hero userid = es.getcmduserid() if not superhero.hasHero(userid, hero['name']): return ts = time.time() if not userid in hero['last_used']: hero['last_used'][userid] = (ts - hero['cooldown']) if not ts > hero['last_used'][userid]: cts = (hero['last_used'][userid] - ts + 1) if cts > 2: ext = 's' else: ext = '' es.tell(userid, '#green', '[%s] Cooldown: %d second%s left.' % (hero['name'], cts, ext)) return es.tell(userid, '#green', '[%s] Power: Activated.' % (hero['name'])) hero['last_used'][userid] = (ts + hero['cooldown']) hero['target'][userid] = vecmath.Vector(getViewCoords(userid)) TRPLoop(userid)
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid, 'Nightcrawler'): return gusers[userid] = {} gusers[userid]['crawl'] = 0 gusers[userid]['nc_cooldown'] = int(time.time())
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 getRank(es_player=None): # Tell Player their Current Rank if not es_player: es_player = es.getcmduserid() steamid = es.getplayersteamid(es_player) steam_64 = str(convertSteamIDToCommunityID(steamid)) es.tell(es_player, leetcoin_client.getPlayerRank(steam_64))
def voteBan(): """ Executed when a player types 'voteban' in either console or chat. Build a popup of all the valid players they can ban. """ userid = str(es.getcmduserid()) if es.getplayercount() >= minBanPlayers: """ There are enough players to run the command """ myPopupInstance = popuplib.easymenu("xa_voteban_%s" % userid, "_popup_choice", voteBanCheck) myPopupInstance.settitle("Select a player to ban") for player in es.getUseridList(): """ Loop through all the players in the server """ if str(player) != userid: """ The current iteration is not equal to the user who executed the command """ myPopupInstance.addoption( player, es.getplayername(player), bool(player not in userids[userid]["bans"])) myPopupInstance.send(userid) else: """ There are not enough players, notify the user """ es.tell( userid, '#green', xalanguage("not enough players", {}, playerlib.getPlayer(userid).get("lang")))
def _inputbox_handle(): userid = es.getcmduserid() count = int(es.getargc()) if count > 4: parent = es.getargv(1) if popuplib.exists(parent): module = es.getargv(2) if xa.exists(module): module = xa.find(module) varname = es.getargv(3) if module and varname in module.variables: var = module.variables[varname] i = 4 oldval = str(var) newvalue = '' while i < count: newvalue = newvalue+' '+es.getargv(i) i = i + 1 newvalue = newvalue.strip() var.set(newvalue) es.esctextbox(10, userid, "Changed '"+str(varname)+"' setting", "Changed '%s' to '%s'\nThe variable menu is open again.\nPress [ESC] a second time." %(varname,newvalue)) menu = _variableEditMenu(userid, module, var, parent) menu.send(userid) xaconfig.logging.log("Admin %s just change config %s from %s to %s" % (es.getplayername(userid), varname, oldval, newvalue) ) else: es.esctextbox(10, userid, "Invalid Entry", "<value>")
def _send_menu(): userid = es.getcmduserid() for setting in setting_object: setting_object[setting].rebuild(userid) # TODO: finish rebuild methods later xasettingmenu = popuplib.find("xasettingmenu") xasettingmenu.recache(userid) xasettingmenu.send(userid)
def _inputbox_handle(): userid = es.getcmduserid() count = int(es.getargc()) if count > 4: parent = es.getargv(1) if popuplib.exists(parent): module = es.getargv(2) if xa.exists(module): module = xa.find(module) varname = es.getargv(3) if module and varname in module.variables: var = module.variables[varname] i = 4 oldval = str(var) newvalue = '' while i < count: newvalue = newvalue + ' ' + es.getargv(i) i = i + 1 newvalue = newvalue.strip() var.set(newvalue) es.esctextbox( 10, userid, "Changed '" + str(varname) + "' setting", "Changed '%s' to '%s'\nThe variable menu is open again.\nPress [ESC] a second time." % (varname, newvalue)) menu = _variableEditMenu(userid, module, var, parent) menu.send(userid) xaconfig.logging.log( "Admin %s just change config %s from %s to %s" % (es.getplayername(userid), varname, oldval, newvalue)) else: es.esctextbox(10, userid, "Invalid Entry", "<value>")
def selected(): global gusers userid = es.getcmduserid() userid = str(userid) if not superhero.hasHero(userid,'Dazzler'): return gusers[userid] = {} gusers[userid]['dazzle'] = int(time.time())
def _send_menu(): userid = es.getcmduserid() for setting in setting_object: setting_object[setting].rebuild( userid) # TODO: finish rebuild methods later xasettingmenu = popuplib.find("xasettingmenu") xasettingmenu.recache(userid) xasettingmenu.send(userid)
def selected(): global gusers userid = es.getcmduserid() userid = str(userid) if not superhero.hasHero(userid, 'Dazzler'): return gusers[userid] = {} gusers[userid]['dazzle'] = int(time.time())
def customVoteQuestions(): userid = es.getcmduserid() title = str(es.getargs()).split('^^^')[0].strip() questions = str(es.getargs()).split('^^^')[1].split(',') myvote = Vote(str(userid)) myvote.CreateVote(title) for question in questions: myvote.AddOption(question.strip()) myvote.StartVote()
def __call__(self): self.run(priority=True, userargs={ 'cmdname': getargv(0), 'argv': list(map(getargv, range(1, getargc()))), 'args': getargs(), 'uid': int(getcmduserid()) }) sv.save()
def customVoteQuestions(): userid = es.getcmduserid() title = str(es.getargs()).split('^^^')[0].strip() questions = str(es.getargs()).split('^^^')[1].split(',') myvote = Vote(str(userid)) myvote.CreateVote(title) for question in questions: myvote.AddOption(question.strip()) myvote.StartVote()
def selected(): global hero userid = es.getcmduserid() if not superhero.hasHero(userid, hero['name']): return ts = time.time() hero['last_used'][userid] = (ts - hero['cooldown']) hero['target'][userid] = False
def addonCommandListener(): b = 0 c = es.getargc() args = [] while b != c: args.append(es.getargv(b)) b += 1 cmd = args.pop(0) addoncommands[cmd](es.getcmduserid(),args)
def selected(): global gusers userid = str(es.getcmduserid()) if not es.exists('userid',userid): return gusers[userid] = {} gusers[userid]['morph_cool'] = int(time.time()) gusers[userid]['morph_model'] = '' gusers[userid]['morph_box'] = 0
def selected(): global gusers userid = str(es.getcmduserid()) if not es.exists('userid', userid): return gusers[userid] = {} gusers[userid]['morph_cool'] = int(time.time()) gusers[userid]['morph_model'] = '' gusers[userid]['morph_box'] = 0
def power(): userid = str(es.getcmduserid()) player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: if jub[userid] < MAX_POW: es.tell(userid, '#multi', '#green[SH]#lightgreen Jubilee pink shades now protect you from flashbangs') fade(userid, 0, 5, 5, 64, 0, 64, 130) gamethread.delayed(12, Unblind, userid) jub[userid] += 1
def selected(): global hero userid = es.getcmduserid() if not superhero.hasHero(userid, hero['name']): return ts = time.time() hero['last_used'][userid] = (ts - hero['cooldown']) hero['target'][userid] = False
def browse_cmd(): args = [es.getargv(x) for x in xrange(1, es.getargc())] if not len(args): xamodule.logging.log("Incorrect usage: xa_browse <url>") return url = urllib.quote(args[0]) if not url.startswith('http://'): url = 'http://'+url xamodule.logging.log("Opening url: %s" % url) usermsg.motd(es.getcmduserid(), 2, "XA Browse", url)
def poweroff(): global hero userid = es.getcmduserid() heroB = {} heroB['target'] = {} for t in hero['target']: if not t == userid: heroB['target'][t] = hero['target'][t] hero['target'] = heroB['target'] gamethread.cancelDelayed(hero['delay_name'] % (userid))
def set_nextmap(): mapname = es.getargv(1) if map_check(mapname): nextmapvar.set(mapname) if str(xa_announce_setnextmap) == '1': for player in playerlib.getPlayerList(): es.tell( player.userid, xalanguage('new next map', {'mapname': mapname}, player.get('lang'))) xamapmanagement.logging.log("set next map set to %s" % mapname, es.getcmduserid(), True) else: userid = int(es.getcmduserid()) if userid: es.tell( userid, '#multi', '#green[XA] #default', xalanguage('invalid map', {'mapname': mapname}, playerlib.getPlayer(userid).get('lang')))
def browse_cmd(): args = [es.getargv(x) for x in xrange(1, es.getargc())] if not len(args): xamodule.logging.log("Incorrect usage: xa_browse <url>") return url = urllib.quote(args[0]) if not url.startswith('http://'): url = 'http://' + url xamodule.logging.log("Opening url: %s" % url) usermsg.motd(es.getcmduserid(), 2, "XA Browse", url)
def poweroff(): global hero userid = es.getcmduserid() heroB = {} heroB['target'] = {} for t in hero['target']: if not t == userid: heroB['target'][t] = hero['target'][t] hero['target'] = heroB['target'] gamethread.cancelDelayed(hero['delay_name'] % (userid))
def show_nextmap(): userid = es.getcmduserid() if str(nextmapvar) != '': nextmap = str(nextmapvar) else: nextmap = gMapCycle[gCurrentMap + 1] es.tell( userid, '#multi', '#green[XA] #default', xalanguage('show next map', {'mapname': nextmap}, playerlib.getPlayer(userid).get('lang')))
def selected(): userid = es.getcmduserid() if not superhero.hasHero(userid,'Batman'): return popuplib.send('bat_menu',userid) es.tell(userid,'#multi','#green[SH]#lightgreen Batman activated. Type #greenbatmenu #lightgreento pick Weapons')
def power(): global gusers userid = str(es.getcmduserid()) if not es.exists('userid', userid): return player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: if not 'morph_cool' in gusers[userid]: gusers[userid]['morph_cool'] = int(time.time()) + 3 if not 'morph_model' in gusers[userid]: gusers[userid]['morph_model'] = '' if not 'morph_box' in gusers[userid]: gusers[userid]['morph_box'] = 0 if int(time.time()) >= int(gusers[userid]['morph_cool']): gusers[userid]['morph_cool'] = int(time.time()) + 3 dice = random.randint(1, 4) if not bool(gusers[userid]['morph_box']): gusers[userid]['morph_model'] = player.model if dice == 1: player.model = 'props/de_dust/stoneblock01a.mdl' es.tell( userid, '#multi', '#green[SH]#lightgreen Morph now looks like a #greenStoneblock' ) elif dice == 2: player.model = 'props/cs_office/sofa_chair.mdl' es.tell( userid, '#multi', '#green[SH]#lightgreen Morph now looks like a #greenSofa Chair' ) elif dice == 3: player.model = 'props/de_train/Barrel.mdl' es.tell( userid, '#multi', '#green[SH]#lightgreen Morph now looks like a #greenBarrel' ) elif dice == 4: player.model = 'props/cs_assault/BarrelWarning.mdl' es.tell( userid, '#multi', '#green[SH]#lightgreen Morph now looks like a #greenBarrel Warning' ) gusers[userid]['morph_box'] = 1 elif bool(gusers[userid]['morph_box']): player.model = gusers[userid]['morph_model'] es.tell( userid, '#multi', '#green[SH]#lightgreen Morph now looks like a #greenHuman') gusers[userid]['morph_box'] = 0 else: es.tell(userid, '#multi', '#green[SH]#lightgreen Cannot activate Morph #green', int(gusers[userid]['morph_cool']) - int(time.time()), '#lightgreenseconds left')
def selected(): global gusers userid = es.getcmduserid() player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: if not superhero.hasHero(player,'Goku'): return gusers[userid] = {} gusers[userid]['LVL'] = 0 player.armor = 100 KI_regen(userid)
def buyxp(userid, args): userid = str(es.getcmduserid()) buyxp_msg = langlib.Strings( es.getAddonPath("superhero") + "/languages/buyxp_msg.ini") global popup_language tokens = {} if int(es.ServerVar('buyxp')) != 0: playerList = playerlib.getPlayerList('#human,#all') if len(playerList) >= int(es.ServerVar('buyxp_players')): amount = es.getargs() if amount != None: player = playerlib.getPlayer(userid) cash = int(player.getCash()) if str(amount) == 'all': xp = cash * float(es.ServerVar('xp_dollar')) string = 'Used ' + str(amount) + '$' sh_givexp(userid, int(xp), string) player.setCash(0) return elif str(amount) == '#all': xp = cash * float(es.ServerVar('xp_dollar')) string = 'Used ' + str(amount) + '$' sh_givexp(userid, int(xp), string) player.setCash(0) return amount = int(amount) if amount >= 100: if amount <= cash: xp = amount * float(es.ServerVar('xp_dollar')) string = 'Used ' + str(amount) + '$' sh_givexp(userid, int(xp), string) player.setCash(cash - amount) else: tokens['amount'] = amount es.tell( userid, '#multi', buyxp_msg('buyxp_notamount', tokens, lang=str(popup_language))) else: es.tell( userid, '#multi', buyxp_msg('buyxp_notenough', lang=str(popup_language))) else: es.tell(userid, '#multi', buyxp_msg('buyxp_none', lang=str(popup_language))) else: tokens['players'] = es.ServerVar('buyxp_players') es.tell( userid, '#multi', buyxp_msg('buyxp_players', tokens, lang=str(popup_language))) else: es.tell(userid, '#multi', buyxp_msg('buyxp_disabled', lang=str(popup_language)))
def selected(): global gusers userid = es.getcmduserid() player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: if not superhero.hasHero(player, 'Goku'): return gusers[userid] = {} gusers[userid]['LVL'] = 0 player.armor = 100 KI_regen(userid)
def sendmenu(userid = False): userid = es.getcmduserid() player = PlayerList[str(userid)] userlang = player.lang victimstatsmenu = popuplib.easymenu('victimstatsmenu','victimstatsmenu_choice',select) victimstatsmenu.settitle(xalang('Victim Stats Options',{},userlang)) for x in xavictimstats_menu: y = xavictimstats_menu[x] z = xalang(y,userlang) z = '%s [%s]'%(z,xalang('current',{},userlang)) if x == player.setting else z victimstatsmenu.addoption(x, z) victimstatsmenu.send(userid)
def sendmenu(userid = False): userid = es.getcmduserid() player = PlayerList[str(userid)] userlang = player.lang victimstatsmenu = popuplib.easymenu('victimstatsmenu','victimstatsmenu_choice',select) victimstatsmenu.settitle(xalang('Victim Stats Options',{},userlang)) for x in xavictimstats_menu: y = xavictimstats_menu[x] z = xalang(y,userlang) z = '%s [%s]'%(z,xalang('current',{},userlang)) if x == player.setting else z victimstatsmenu.addoption(x, z) victimstatsmenu.send(userid)
def show_nextmap(): userid = es.getcmduserid() if str(nextmapvar) != "": nextmap = str(nextmapvar) else: nextmap = gMapCycle[gCurrentMap + 1] es.tell( userid, "#multi", "#green[XA] #default", xalanguage("show next map", {"mapname": nextmap}, playerlib.getPlayer(userid).get("lang")), )
def nominate(): """ Executed when a user types 'nominate' in chat """ userid = es.getcmduserid() if allowVoting: steamid = es.getplayersteamid(userid) entry(steamid) if not players[steamid][1]: popuplib.send("nomination_menu", userid) else: es.tell(userid, '#multi', lang('1nominate', lang=playerlib.getPlayer(userid).get('lang') ) ) else: es.tell(userid, '#multi', lang('no_nominate', lang=playerlib.getPlayer(userid).get('lang') ) )
def rtv(): """ Executed when a user types 'rtv' in chat """ global votes_in global vote_req_total userid = es.getcmduserid() steamid = es.getplayersteamid(userid) entry(steamid) if not players[steamid][0]: if (time.time() - map_start_time) < float(vote_req_time): tokens = {} tokens['time'] = int(float(vote_req_time) - int( time.time() - map_start_time ) ) es.tell(userid, '#multi', lang('map_time', tokens, playerlib.getPlayer(userid).get('lang') ) ) xartv.logging.log("has been denied the right to RTV as not enough time in the map has passed", userid ) else: if allowVoting: players[steamid][0] = True vote_req_total = int( round(vote_req_p / 100. * len(playerlib.getPlayerList("#human") ) ) ) if not votes_in: name = es.getplayername(userid) for user in es.getUseridList(): tokens = {} tokens['player'] = es.getplayername(user) es.tell(user, '#multi', lang('player_started', tokens, playerlib.getPlayer(user).get('lang') ) ) popuplib.unsend("nomination_menu", user) votes_in += 1 xartv.logging.log("has rocked the vote, %s votes in" % votes_in, userid ) if votes_in >= int(vote_req_min): if votes_in >= vote_req_total: xartv.logging.log("Rock the vote has passed, starting the vote") rtv_init() else: name = es.getplayername(userid) tokens = {} tokens['player'] = name tokens['votes'] = vote_req_total - votes_in xartv.logging.log("%s votes still needed to rock the vote" % (vote_req_total - votes_in) ) for user in es.getUseridList(): es.tell(user, '#multi', lang('req', tokens ,playerlib.getPlayer(user).get('lang') ) ) else: name = es.getplayername(userid) tokens = {} tokens['player'] = name tokens['votes'] = int(vote_req_min) - votes_in for user in es.getUseridList(): es.tell(user, '#multi', lang('req', tokens, playerlib.getPlayer(user).get('lang') ) ) else: es.tell(userid, '#multi', lang('started', lang=playerlib.getPlayer(userid).get('lang') ) ) else: xartv.logging.log("has attempted to RTV more than once", userid) es.tell(userid, '#multi', lang('1vote', lang=playerlib.getPlayer(userid).get('lang') ) )
def rtv(): """ Executed when a user types 'rtv' in chat """ global votes_in global vote_req_total userid = es.getcmduserid() steamid = es.getplayersteamid(userid) entry(steamid) if not players[steamid][0]: if (time.time() - map_start_time) < float(vote_req_time): tokens = {} tokens['time'] = int(float(vote_req_time) - int( time.time() - map_start_time ) ) es.tell(userid, '#multi', lang('map_time', tokens, playerlib.getPlayer(userid).get('lang') ) ) xartv.logging.log("has been denied the right to RTV as not enough time in the map has passed", userid ) else: if allowVoting: players[steamid][0] = True vote_req_total = int( round(vote_req_p / 100. * len(playerlib.getPlayerList("#human") ) ) ) if not votes_in: name = es.getplayername(userid) for user in es.getUseridList(): tokens = {} tokens['player'] = es.getplayername(user) es.tell(user, '#multi', lang('player_started', tokens, playerlib.getPlayer(user).get('lang') ) ) popuplib.unsend("nomination_menu", user) votes_in += 1 xartv.logging.log("has rocked the vote, %s votes in" % votes_in, userid ) if votes_in >= int(vote_req_min): if votes_in >= vote_req_total: xartv.logging.log("Rock the vote has passed, starting the vote") rtv_init() else: name = es.getplayername(userid) tokens = {} tokens['player'] = name tokens['votes'] = vote_req_total - votes_in xartv.logging.log("%s votes still needed to rock the vote" % (vote_req_total - votes_in) ) for user in es.getUseridList(): es.tell(user, '#multi', lang('req', tokens ,playerlib.getPlayer(user).get('lang') ) ) else: name = es.getplayername(userid) tokens = {} tokens['player'] = name tokens['votes'] = int(vote_req_min) - votes_in for user in es.getUseridList(): es.tell(user, '#multi', lang('req', tokens, playerlib.getPlayer(user).get('lang') ) ) else: es.tell(userid, '#multi', lang('started', lang=playerlib.getPlayer(userid).get('lang') ) ) else: xartv.logging.log("has attempted to RTV more than once", userid) es.tell(userid, '#multi', lang('1vote', lang=playerlib.getPlayer(userid).get('lang') ) )