# @param name The name of the extension to load. def loadExt(acl, player, name): Armagetronad.PrintPlayerMessage(player, "Loading "+name+ " ...") try: if extensions.loadExtension(name): raise Exception() else: Armagetronad.PrintPlayerMessage(player, "0x00ff00Succeeded ---------- 0xaaaaaa"+name+" [+]") except: Armagetronad.PrintPlayerMessage(player, "0xff0000Failed ----------- 0xaaaaaa"+name+" [+]") ## @brief Unload an extension # @param name The name of the extension to unload. def unloadExt(acl, player, name): Armagetronad.PrintPlayerMessage(player, "Unloading "+name+" ...") try: if extensions.unloadExtension(name): raise Exception() else: Armagetronad.PrintPlayerMessage(player, "0x00ff00Succeeded --------- 0xaaaaaa"+name+" [-]") except: Armagetronad.PrintPlayerMessage(player, "0xff0000Failed ---------- 0xaaaaaa"+name+" [-]") ## @brief List all available extensions. def listExt(acl, player): Armagetronad.PrintPlayerMessage("Available extensions: ") Armagetronad.PrintPlayerMessage(", ".join(extensions.getExtensions())) Commands.add_help_group("extensions", "Extension management tools") Commands.register_commands(loadExt, unloadExt, listExt, group="extensions")
for n in sorted(SimpleMode.modes.keys()): m=SimpleMode.modes[n] Armagetronad.PrintPlayerMessage(player, " 0x88ff44"+m.name+": 0x888800"+m.desc) ## @brief Lock the current mode. def lockMode(acl, player): global locked locked=True Armagetronad.PrintPlayerMessage(player, "0xff0000Mode locked.") ## @brief Unlock the current mode. def unlockMode(acl, player): global locked locked=False Armagetronad.PrintPlayerMessage(player, "0x00ff88Mode unlocked.") ## @brief Change lives. # @param lives New lives. (Number of respawns) def setLives(acl, player, lives): try: SimpleMode.current_lives=int(lives) except ValueError: Armagetronad.PrintPlayerMessage(player, "0xff4400Invalid format!") else: Armagetronad.PrintMessage(Messages.LivesChanged.format(new_lives=lives, player=Player.players[player].name)) Commands.add_help_group("modes", "Commands about modes (edit, add, ...)") Commands.register_commands(addMode,editMode, deleteMode, lockMode, unlockMode, group="modes") Commands.register_commands(mode, modes, group="voting") Commands.register_commands(setLives, group="misc")
# @param y The y coordinate to which to teleport # @param xdir The x direction # @param ydir The y direction # @param player_name The player which you like to teleport. If set to None, you teleport yourself. def tele(acl, player, x, y, xdir=0, ydir=1, player_name=None): if player_name!=None: if player_name not in Player.players: Armagetronad.PrintPlayerMessage(player, "0xff0000Invalid player!") return Armagetronad.SendCommand("RESPAWN_PLAYER "+player_name+" 0 "+" ".join((x,y,xdir,ydir))) Armagetronad.SendCommand("TELEPORT_PLAYER "+player_name+" "+" ".join((x,y,xdir,ydir))) Armagetronad.PrintMessage(Messages.PlayerTeleported.format(player=Player.players[player_name].name, by=player, x=x,y=x) ) else: Armagetronad.SendCommand("RESPAWN_PLAYER "+player+" 0 "+" ".join([str(i) for i in (x,y,xdir,ydir)])) Armagetronad.SendCommand("TELEPORT_PLAYER "+player+" "+" ".join([str(i) for i in (x,y,xdir,ydir)])) Armagetronad.PrintMessage(Messages.PlayerSelfTeleport.format(player=player,x=x,y=y) ) ## @brief Changes your lives. # @param lives new lives def lives(acl, player, lives): try: lives=int(lives)+1 except ValueError: Armagetronad.PrintPlayerMessage(player, "0xff0000Wrong value for argument lives!") return Player.players[player].setLives(lives) Armagetronad.PrintPlayerMessage(player, "0xff0000Your lives left: "+str(lives-1) ) Commands.add_help_group("Hacks", "Some commands that allow cheating") Commands.register_commands(lives, tele, group="Hacks")