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"
|
local Thread = require "locale.utils.Thread"
|
||||||
|
require "locale/utils/event"
|
||||||
|
|
||||||
function cant_run(name)
|
function cant_run(name)
|
||||||
game.player.print("Can't run command (" .. name .. ") - insufficient permission.")
|
game.player.print("Can't run command (" .. name .. ") - insufficient permission.")
|
||||||
@ -328,6 +329,56 @@ local function well(cmd)
|
|||||||
end
|
end
|
||||||
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("kill", "Will kill you.", kill)
|
||||||
commands.add_command("detrain", "<player> - Kicks the player off a train. (Admins and moderators)", detrain)
|
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)
|
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("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("unfollow", 'stops following a player.', unfollow)
|
||||||
commands.add_command("well", '<item> <items per second> Spawns an item well. (Admins only)', well)
|
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