mirror of
https://github.com/Refactorio/RedMew.git
synced 2024-12-12 10:04:40 +02:00
Added tpmode command
This commit is contained in:
parent
9e8acd31b6
commit
73830b124b
@ -1,4 +1,5 @@
|
||||
local Thread = require "locale.utils.Thread"
|
||||
require "locale/utils/event"
|
||||
|
||||
function cant_run(name)
|
||||
game.player.print("Can't run command (" .. name .. ") - insufficient permission.")
|
||||
@ -328,6 +329,56 @@ local function well(cmd)
|
||||
end
|
||||
end
|
||||
|
||||
tp_players = {}
|
||||
tp_players_count = 0
|
||||
|
||||
local function built_entity(event)
|
||||
local index = event.player_index
|
||||
|
||||
if tp_players[index] then
|
||||
local entity = event.created_entity
|
||||
|
||||
if entity.type ~= "entity-ghost" then return end
|
||||
|
||||
game.players[index].teleport(entity.position)
|
||||
entity.destroy()
|
||||
end
|
||||
end
|
||||
|
||||
local function toggle_tp_mode()
|
||||
if not (game.player.admin or is_mod(game.player.name)) then
|
||||
cant_run(cmd.name)
|
||||
return
|
||||
end
|
||||
|
||||
local index = game.player.index
|
||||
local toggled = tp_players[index]
|
||||
|
||||
if toggled then
|
||||
tp_players[index] = nil
|
||||
tp_players_count = tp_players_count - 1
|
||||
|
||||
-- remove event handler if no players are using it.
|
||||
if tp_players_count == 0 then
|
||||
Event.remove(defines.events.on_built_entity, built_entity )
|
||||
end
|
||||
|
||||
game.player.print("tp mode is now off")
|
||||
|
||||
else
|
||||
tp_players[index] = true
|
||||
tp_players_count = tp_players_count + 1
|
||||
|
||||
-- add event handler now that a player is using it.
|
||||
if tp_players_count == 1 then
|
||||
Event.register(defines.events.on_built_entity, built_entity )
|
||||
end
|
||||
|
||||
game.player.print("tp mode is now on - place a ghost entity to teleport there.")
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
commands.add_command("kill", "Will kill you.", kill)
|
||||
commands.add_command("detrain", "<player> - Kicks the player off a train. (Admins and moderators)", detrain)
|
||||
commands.add_command("tpplayer", "<player> - Teleports you to the player. (Admins and moderators)", teleport_player)
|
||||
@ -346,4 +397,5 @@ commands.add_command("tag", '<player> <tag> Sets a players tag. (Admins only)',
|
||||
commands.add_command("follow", '<player> makes you follow the player. Use /unfollow to stop following a player.', follow)
|
||||
commands.add_command("unfollow", 'stops following a player.', unfollow)
|
||||
commands.add_command("well", '<item> <items per second> Spawns an item well. (Admins only)', well)
|
||||
commands.add_command("tpmode", "Toggles tp mode. When on place a ghost entity to teleport there (Admins and moderators)", toggle_tp_mode)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user