def cp_menu(userid): steamid = es.getplayersteamid(userid) timer = es.import_addon("queue_timer/plugins/timer") QueueAPI.Validate(userid, 0) info = popuplib.create('checkpoint_menu') info.addline('Checkpoints') info.addline(' ') info.addline('->1. Save CP 1') info.addline('->2. Teleport to CP 1 ') info.addline(' ') info.addline('->3. Save CP 2') info.addline('->4. Teleport to CP 2') info.addline(' ') if client[steamid]["stop_speed"] == "On": info.addline('->5. Save speed: On') else: info.addline('->5. Save speed: Off') if client[steamid]["save_angles"] == "On": info.addline('->6. Save angles: On') else: info.addline('->6. Save angles: Off') info.addline(' ') if timer.CheckPartner(userid): info.addline('Disabled during timer!') info.addline(' ') info.addline('->8. Back') info.addline('0 Exit') info.enablekeys = "12345608" info.unsend(userid) info.send(userid) info.delete() info.menuselect = cp_menu_select
def player_spawn(ev): userid = ev["userid"] steamid = es.getplayersteamid(userid) if userid in specs: specs[userid]["n"] = [] else: specs[userid] = {} specs[userid]["last_spec"] = None specs[userid]["n"] = [] timer = es.import_addon('trikztimer/plugins/timer') if steamid in timer.player: timer.player[steamid]['spectators'] = []
def tp_accept(userid, text, steamid, name): if client[steamid]["tp_accept"] == 1: if timer_plugin: timer = es.import_addon('queue_timer/plugins/timer') timer.TimerSolo_Stop(userid) timer.TimerPartner_Stop(userid) tp_userid = client[steamid]["tp_userid"] location = es.getplayerlocation(userid) es.server.queuecmd('es_setpos %s %s %s %s' % (tp_userid, location[0], location[1], location[2] + 64)) esc.tell(tp_userid, '#124,252,0[ Trikz] #snowYou have #245,61,0teleported#snow to #yellow%s' % es.getplayername( userid)) client[steamid]["tp_accept"] = 0
def tp_menu_select(userid, choice, popupid): timer = es.import_addon("queue_timer/plugins/timer") steamid = es.getplayersteamid(choice) if not timer.CheckPartner(userid): # if es.getplayerprop(userid, "CCSPlayer.baseclass.localdata.m_hGroundEntity") != -1: client[steamid]["tp_location"] = es.getplayerlocation(choice) client[steamid]["tp_userid"] = userid client[steamid]["tp_accept"] = 1 esc.tell(userid, '#124,252,0[ Trikz] #snowYou have sent a teleport request to %s' % es.getplayername( choice)) esc.tell(choice, '#124,252,0[ Trikz]#tomato %s #snowwants to teleport to you! Type #tomato!yes #snowor #tomatoignore' % ( es.getplayername(userid))) else: esc.tell(userid, '#124,252,0[ Trikz] #snowPlease unpartner first!')
def loop(): timer = es.import_addon('trikztimer/plugins/timer') for userid in es.getUseridList(): if not userid in specs: specs[userid] = {} specs[userid]["last_spec"] = None specs[userid]["n"] = [] getPlayer(userid).update() for n in specs: a = specs[n]['n'] for spec in a: if not es.exists("userid", spec): a.remove(spec) if es.getplayersteamid(n) in timer.player: timer.player[es.getplayersteamid(n)]['spectators'] = a gamethread.delayedname(0.1, ('spectarget_loop'), loop)
def delspec(self, userid, target, case): timer = es.import_addon('trikztimer/plugins/timer') if not userid in specs: specs[userid] = {} specs[userid]["last_spec"] = None specs[userid]["n"] = [] last_spec = specs[userid]["last_spec"] if case == 1: if not last_spec == None: if userid in specs[last_spec]['n']: steamid = es.getplayersteamid(target) specs[last_spec]['n'].remove(userid) timer.player[steamid]['spectators'] = specs[target]['n'] #es.msg('Del spec1') else: if not last_spec == None and not last_spec == target: if userid in specs[last_spec]['n']: steamid = es.getplayersteamid(target) specs[last_spec]['n'].remove(userid) timer.player[steamid]['spectators'] = specs[target]['n']
def development_select(userid, choice, popupid): steamid = es.getplayersteamid(userid) player = playerlib.getPlayer(userid) timer = es.import_addon("queue_timer/plugins/timer") if int(choice) == 1: if client[steamid]["esp"] == "Off": esc.tell(userid, '#245,0,61[Development] #245,61,0ESP #snowis now #yellowOn') client[steamid]["esp"] = "On" gamethread.cancelDelayed("esp_%s" % userid) esp(userid) else: esc.tell(userid, '#245,0,61[Development] #245,61,0ESP #snowis now #yellowOff') client[steamid]["esp"] = "Off" gamethread.cancelDelayed("esp_%s" % userid) if int(choice) == 2: if client[steamid]['strafe_sync'] == "Off": if timer.CheckPartner(userid): timer_id = timer.player[steamid]["timer_id"] state = timer.timer[timer_id]["state"] if state == 2: return else: esc.tell(userid, '#124,252,0[ Trikz] #245,61,0Perfect Strafe synchronization #snowis now #yellowON') client[steamid]['strafe_sync'] = "On" else: esc.tell(userid, '#124,252,0[ Trikz] #245,61,0Perfect Strafe synchronization #snowis now #yellowON') client[steamid]['strafe_sync'] = "On" else: esc.tell(userid, '#124,252,0[ Trikz] #245,61,0Perfect Strafe synchronization #snowis now #yellowOFF') client[steamid]['strafe_sync'] = "Off" if int(choice) in (1, 2, 3, 4, 5, 6): development(userid)
def development(userid): steamid = es.getplayersteamid(userid) QueueAPI.Validate(userid, 0) timer = es.import_addon("queue_timer/plugins/timer") player = playerlib.getPlayer(userid) timer.player[steamid]["disabled"] = 1 info = popuplib.create('development') info.addline('Development features') info.addline('---------------------') if client[steamid]["esp"] == "Off": info.addline('->1. ESP [Off]') else: info.addline('->1. ESP [On]') if client[steamid]["strafe_sync"] == "Off": info.addline('->2. Strafe Re-Sync [Off]') else: info.addline('->2. Strafe Re-Sync [On]') info.addline('----------------------') info.addline('0. Exit') info.enablekeys = "123456780" info.unsend(userid) info.send(userid) info.delete() info.menuselect = development_select
def update(self): timer = es.import_addon('trikztimer/plugins/timer') """ Update the player's message showing his targets ranks. """ if not es.exists('userid', self.userid): return #if not es.exists('userid', self.target): # return if es.getplayerteam(self.userid) in (2, 3): if not playerlib.getPlayer(self.userid).isdead: Player(self.userid).delspec(self.userid, self.target, 1) return target = self.getspec() if target != -1: self.target = target steamid = es.getplayersteamid(self.target) name = es.getplayername(self.target) # PARTNER TIMER velocity = round( vector( float( es.getplayerprop( self.target, 'CBasePlayer.localdata.m_vecVelocity[0]')), float( es.getplayerprop( self.target, 'CBasePlayer.localdata.m_vecVelocity[1]'))).length( ), 2) Player(self.userid).addspec(self.userid, self.target) Player(self.userid).delspec(self.userid, self.target, 2) specs[self.userid]["last_spec"] = self.target if steamid in timer.player: string = timer.player[steamid]["text_display"] if timer.CheckPartner(self.target): string += "\n(Partnered)" else: string += "\n(Solo)" timer.player[steamid]['spectators'] = specs[self.target]['n'] if not es.isbot(target): hudhint(self.userid, "- %s -\nVel: %s\n%s" % (name, velocity, string)) name_list = "" if len(specs[self.target]['n']) > 0: for object in specs[self.target]['n']: s_name = str(es.getplayername(object)) if len(s_name) > 12: s_name = str(es.getplayername(object))[0:12] + "..." name_list += "\n" + s_name if timer.tournament["status"] == 0: keyhint( self.userid, "%s's Spectators: %s\n%s" % (name, len(specs[self.target]['n']), name_list)) else: string = "" string += "-- Tournament Mode --\n " if timer.tournament["turn"] in timer.tournament["queue"] > 0: turn = timer.tournament["turn"] string += "\n %s | %s is playing..\n \n Next couple in: %s \n \n \n" % ( timer.tournament["queue"][turn][0]["name"], timer.tournament["queue"][turn][1]["name"], timer.TimeFormat(timer.tournament["time"], None, True)) else: string += "\nNo teams available yet!\n \n" keyhint( self.userid, "Spectators: %s\n%s" % (string, name, len(specs[self.target]['n']), name_list)) else: Player(self.userid).delspec(self.userid, self.target, 2)
import es, esc import gamethread from Queue import Queue mysql = es.import_addon("queue_timer/mysql") q_sql = Queue() q_timer = Queue() class ThreadedSQL: def __init__(self): self.callback = None self.tick_delay = 0 self.active = False def execute(self, query, args=None, callback=None, data_pack=None, seconds=0.1): # If callback = None assuming insert into statement q_sql.put([query, args, callback, 0, data_pack]) q_timer.put(seconds) def fetchone(self, query, args=None, callback=None, data_pack=None,
""" class Dissambly(object): def __init__(self): self.add = eax def eax(self, eax="1610h"): self.eax = int(eax) self.offset = int(self.eax, 16) return self.offset clantag_offset = 5648 if spe.platform == 'nt' else 5600 chat = es.import_addon('trikztimer/plugins/chat') def load(): set_clan_tag() def setClanTag(userid, clan_tag): MAX_SIZE = 64 length = len(clan_tag) if length >= MAX_SIZE: raise ValueError('Clan tag is too long')
def cp_menu_select(userid, choice, popupid): steamid = es.getplayersteamid(userid) velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]')) velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]')) velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]')) timer = es.import_addon("queue_timer/plugins/timer") if timer.CheckPartner(userid): timer_id = timer.player[steamid]["timer_id"] state = timer.timer[timer_id]["state"] if int(choice) == 1: if timer.CheckPartner(userid): cp_menu(userid) else: player = playerlib.getPlayer(userid) client[steamid]["view_angles"] = player.getViewAngle() view_angles = client[steamid]["view_angles"] client[steamid]['snapshot_1'] = es.getplayerlocation(userid) client[steamid]['save_speed'] = (velocity_x, velocity_y, velocity_z) esc.tell(userid, '#124,252,0[ Trikz] #snowYou have saved your #yellow1st #245,61,0checkpoint') cp_menu(userid) if int(choice) == 2: if timer.CheckPartner(userid): cp_menu(userid) else: if client[steamid]['snapshot_1'] != (0, 0, 0): current_location = es.getplayerlocation(userid) location = client[steamid]['snapshot_1'] distance = vecmath.distance(current_location, location) player = playerlib.getPlayer(userid) view_angles = client[steamid]["view_angles"] timer.TimerSolo_Stop(userid) client[steamid]["time"] = time.time() player.setColor(255, 255, 255, 255) player.noblock(0) if client[steamid]["stop_speed"] == "On": es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2])) velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]')) velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]')) velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]')) myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) gamethread.delayed(0.025, set_boost, args=(userid, 0)) else: es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2])) velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]')) velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]')) velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]')) myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) if client[steamid]["save_angles"] == "On": es.server.queuecmd('es_xsetang %s %s %s %s' % ( userid, str(view_angles[0]), str(view_angles[1]), str(view_angles[2]))) else: esc.tell(userid, '#124,252,0[ Trikz] #245,0,61You have not set your 1st checkpoint.') cp_menu(userid) if int(choice) == 3: if timer.CheckPartner(userid): cp_menu(userid) else: player = playerlib.getPlayer(userid) client[steamid]["view_angles_2"] = player.getViewAngle() client[steamid]['snapshot_2'] = es.getplayerlocation(userid) client[steamid]['save_speed_2'] = (velocity_x, velocity_y, velocity_z) esc.tell(userid, '#124,252,0[ Trikz] #snowYou have saved your #yellow2nd #245,61,0checkpoint') cp_menu(userid) if int(choice) == 4: if timer.CheckPartner(userid): cp_menu(userid) else: if client[steamid]['snapshot_2'] != (0, 0, 0): current_location = es.getplayerlocation(userid) location = client[steamid]['snapshot_2'] distance = vecmath.distance(current_location, location) player = playerlib.getPlayer(userid) view_angles = client[steamid]["view_angles_2"] client[steamid]["time"] = time.time() timer.TimerSolo_Stop(userid) player.setColor(255, 255, 255, 255) player.noblock(0) if client[steamid]["stop_speed"] == "On": es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2])) velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]')) velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]')) velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]')) myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) gamethread.delayed(0.025, set_boost, args=(userid, 1)) else: es.server.queuecmd('es_setpos %s %s %s %s' % (userid, location[0], location[1], location[2])) velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]')) velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]')) velocity_z = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[2]')) myNewVector2 = es.createvectorstring(-velocity_x, -velocity_y, -velocity_z) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) if client[steamid]["save_angles"] == "On": es.server.insertcmd('es_xsetang %s %s %s %s' % ( userid, str(view_angles[0]), str(view_angles[1]), str(view_angles[2]))) else: esc.tell(userid, '#124,252,0[ Trikz] #245,0,61You have not set your 2nd checkpoint.') cp_menu(userid) if int(choice) == 5: if client[steamid]['stop_speed'] == "Off": esc.tell(userid, '#124,252,0[ Trikz] #snowYour speed will now be restored when teleporting!') client[steamid]['stop_speed'] = "On" cp_menu(userid) else: esc.tell(userid, '#124,252,0[ Trikz] #snowYou will not save speed anymore!') client[steamid]['stop_speed'] = "Off" cp_menu(userid) if int(choice) == 6: if client[steamid]['save_angles'] == "Off": esc.tell(userid, '#124,252,0[ Trikz] #snowYou will now save ur angles!') client[steamid]['save_angles'] = "On" cp_menu(userid) else: esc.tell(userid, '#124,252,0[ Trikz] #snowYou angles wont be saved!') client[steamid]['save_angles'] = "Off" cp_menu(userid) if int(choice) == 8: trikz_menu(userid)
def sm2es_keyPress(ev): userid = ev["userid"] timer = es.import_addon("queue_timer/plugins/timer") if es.exists("userid", userid): if ev['status'] == '0': return ply = playerlib.getPlayer(userid) if ply.isdead: return velocity_x = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[0]')) velocity_y = float(es.getplayerprop(userid, 'CBasePlayer.localdata.m_vecVelocity[1]')) steamid = es.getplayersteamid(userid) if ev["command"] == 'IN_MOVELEFT': if not ply.onGround() and client[steamid]["strafe_sync"] == "On": if not client[steamid]["view_angle"] == ply.viewVector(): if not client[steamid]["last_k"] == 0: if timer.CheckPartner(userid): timer_id = timer.player[steamid]["timer_id"] state = timer.timer[timer_id]["state"] if state == 2: return else: myNewVector = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) myNewVector2 = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) client[steamid]["view_angle"] = ply.viewVector() client[steamid]["last_k"] = 0 else: myNewVector = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) myNewVector2 = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) client[steamid]["view_angle"] = ply.viewVector() client[steamid]["last_k"] = 0 if ev['command'] == 'IN_MOVERIGHT': if not ply.onGround() and client[steamid]["strafe_sync"] == "On": if not client[steamid]["view_angle"] == ply.viewVector(): if not client[steamid]["last_k"] == 1: if timer.CheckPartner(userid): timer_id = timer.player[steamid]["timer_id"] state = timer.timer[timer_id]["state"] if state == 2: return else: myNewVector = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) myNewVector2 = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) client[steamid]["view_angle"] = ply.viewVector() client[steamid]["last_k"] = 0 else: myNewVector = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) myNewVector2 = es.createvectorstring((velocity_x ** 0.1) * 18, (velocity_y ** 0.1) * 18) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector) es.setplayerprop(userid, "CBasePlayer.localdata.m_vecBaseVelocity", myNewVector2) client[steamid]["view_angle"] = ply.viewVector() client[steamid]["last_k"] = 0
def trikz_menu_select(userid, choice, popupid): steamid = es.getplayersteamid(userid) player = playerlib.getPlayer(userid) timer = es.import_addon("queue_timer/plugins/timer") """ if int(choice) == 1: if player.getFB() in (0, 1): client[steamid]['auto_flash'] = "On" esc.tell(userid, '#124,252,0[ Trikz] #snowYou got a #yellowrefill #245,61,0flash') trikz_menu(userid) if int(choice) == 1: if not client[steamid]['auto_flash'] == "On": client[steamid]['auto_flash'] = "On" auto_switch(userid) esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoFlash#snow is now #yellowON') else: client[steamid]['auto_flash'] = "Off" auto_switch(userid) esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoFlash#snow is now #yellowOFF') trikz_menu(userid) """ if int(choice) == 1: if not client[steamid]['auto_switch'] == "On": client[steamid]['auto_switch'] = "On" esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoSwitch#snow is now #yellowON') else: client[steamid]['auto_switch'] = "Off" esc.tell(userid, '#124,252,0[ Trikz] #245,61,0AutoSwitch#snow is now #yellowOFF') trikz_menu(userid) if int(choice) == 2: if not client[steamid]['auto_jump'] == "On": client[steamid]['auto_jump'] = "On" es.cexec(userid, 'sm_%s' % "autojump") else: client[steamid]['auto_jump'] = "Off" es.cexec(userid, 'sm_%s' % "autojump") trikz_menu(userid) if int(choice) == 3: if client[steamid]['auto_stuck'] == "Off": esc.tell(userid, '#124,252,0[Trikz] #245,61,0Anti-Stuck #snowis now #yellowON') client[steamid]['auto_stuck'] = "On" gamethread.cancelDelayed("auto_stuck_%s" % userid) auto_stuck(userid) else: esc.tell(userid, '#124,252,0[ Trikz] #245,61,0Anti-Stuck #snowis now #yellowOFF #255,0,0(NOT Recommended)') client[steamid]['auto_stuck'] = "Off" gamethread.cancelDelayed("auto_stuck_%s" % userid) trikz_menu(userid) if int(choice) == 4: toggle(userid) trikz_menu(userid) if int(choice) == 5: cp_menu(userid) if int(choice) == 6: es.cexec(userid, 'sm_delay')
import langlib import operator import cPickle as pickle from configobj import ConfigObj from path import path import spe import playerlib import string from spe import HookType from spe import HookAction nospam = dict() trikztimer = es.import_addon("trikztimer") mysql = es.import_addon("trikztimer/mysql") tags = ConfigObj(es.getAddonPath("trikztimer") + "/plugins/chat/tags.ini") dogtags = {} sync_chat = {} version = '1.1' # ============================================================================= # >> Imports # ============================================================================= from configobj import ConfigObj import re class ChatHandler:
import es import playerlib import gamethread superhero = es.import_addon('superhero') import psyco psyco.full() def load(): es.dbgmsg(0, "[SH] Successfully loaded Superman") es.addons.registerClientCommandFilter(shfilter) def unload(): es.addons.unregisterClientCommandFilter(shfilter) def player_spawn(ev): userid = ev['userid'] if not superhero.hasHero(userid,'Superman'): return player = playerlib.getPlayer(userid) if not playerlib.getPlayer(userid).isdead: health = player.health player.health = health + 75 armor = player.armor player.set("armor", "120") def shfilter(userid, args): userid = str(userid) if args[0].lower() == 'buy': if args[1].lower() == 'vesthelm': if superhero.hasHero(userid,'Superman'): es.tell(userid,'#multi','#green You already have armor!')
import es import playerlib superhero = es.import_addon('superhero') def load(): es.dbgmsg(0, "[SH] Successfully loaded Chucky") def player_hurt(ev): userid = ev['userid'] attacker = ev['attacker'] weapon = ev['weapon'] if weapon == 'knife': if not superhero.hasHero(attacker, 'Chucky'): return if userid != attacker: es.server.queuecmd('damage %s 40 1024 %s' % (userid, attacker)) es.tell(attacker, '#multi', '#green[SH]#lightgreen Chucky did extra Damage to#green', ev['es_username']) def player_activeweapon(ev): userid = ev['userid'] if not superhero.hasHero(userid, 'Chucky'): return weapon = ev['weapon'] getspeed = playerlib.getPlayer(userid).speed if weapon == 'knife': player.set("speed", 1.5)
import es import esc import popuplib import gamethread import usermsg radio = {'song':"", 'title':"", 'duration':0, 'current_duration':0} TSQL = es.import_addon("trikztimer/threaded_mysql") mysql = es.import_addon('trikztimer/mysql') client = {} def load(): esc.msg('#255,0,0Radio load') for userid in es.getUseridList(): steamid = es.getplayersteamid(userid) if not steamid in client: client[steamid] = {'radio': 0} jukebox_loop() def player_activate(ev): userid = ev['userid'] steamid = es.getplayersteamid(userid) if not steamid in client: client[steamid] = {'radio':0} else: client[steamid]['radio'] = 0