Skip to content

Instantly share code, notes, and snippets.

@x0rnn
Created July 2, 2016 13:20
Show Gist options
  • Save x0rnn/1427c90494beffa0275875fa91d2a5f6 to your computer and use it in GitHub Desktop.
Save x0rnn/1427c90494beffa0275875fa91d2a5f6 to your computer and use it in GitHub Desktop.
#personal timer to test different routes in sections of large maps
import minqlx
class racetimer(minqlx.Plugin):
def __init__(self):
self.add_hook("frame", self.handle_frame, priority=minqlx.PRI_LOWEST)
self.add_hook("player_spawn", self.handle_player_spawn)
self.add_hook("player_disconnect", self.handle_player_disconnect)
self.add_command("starttimer", self.cmd_starttimer)
self.add_command("stoptimer", self.cmd_stoptimer)
self.racetimer = {}
self.frame = {}
def handle_player_disconnect(self, player, reason):
try:
del self.racetimer[str(player.steam_id)]
del self.frame[str(player.steam_id)]
except KeyError:
return
def handle_player_spawn(self, player):
try:
del self.racetimer[str(player.steam_id)]
del self.frame[str(player.steam_id)]
except KeyError:
return
def handle_frame(self):
if self.racetimer:
for p in self.racetimer.keys():
self.frame[p] += 1
self.player(int(p)).center_print(self.frame[p])
def cmd_starttimer(self, player, msg, channel):
if player.team == "spectator":
player.tell("You need to join the game to use this command.")
else:
self.frame[str(player.steam_id)] = 0
self.racetimer[str(player.steam_id)] = 1
return minqlx.RET_STOP_ALL
def cmd_stoptimer(self, player, msg, channel):
if player.team == "spectator":
player.tell("You need to join the game to use this command.")
else:
try:
del self.racetimer[str(player.steam_id)]
del self.frame[str(player.steam_id)]
except KeyError:
return
return minqlx.RET_STOP_ALL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment