Added ExpGamingCommands.home

This commit is contained in:
Cooldude2606
2018-06-24 21:26:50 +01:00
parent 4becf6a414
commit 36be279748
3 changed files with 57 additions and 37 deletions

View File

@@ -0,0 +1,35 @@
--- A full ranking system for factorio.
-- @module ExpGamingCommands.kill
-- @author Cooldude2606
-- @license https://github.com/explosivegaming/scenario/blob/master/LICENSE
local Game = require('FactorioStdLib.Game')
local global = global{}
--- Sets the home for a player
-- @command set-home
commands.add_command('set-home', 'Set your home position', {}, function(event,args)
local player = Game.get_player(event)
if not global[player.index] then global[player.index] = {player.force.get_spawn_position(player.surface),player.force.get_spawn_position(player.surface)} end
global[player.index][1] = {math.floor(player.position.x),math.floor(player.position.y)}
player_return('Home set at: ('..math.floor(player.position.x)..','..math.floor(player.position.y)..')')
end)
--- Teleports a player back to their home
-- @command home
commands.add_command('home', 'Go to you home position', {}, function(event,args)
local player = Game.get_player(event)
if not global[player.index] then global[player.index] = {player.force.get_spawn_position(player.surface),player.force.get_spawn_position(player.surface)} end
global[player.index][2] = {math.floor(player.position.x),math.floor(player.position.y)}
player.teleport(player.surface.find_non_colliding_position('player',global[player.index][1],32,1),player.surface)
end)
--- Returns a player back to the place before using /home
-- @command return
commands.add_command('return', 'Return to your previous position after using /home', {}, function(event,args)
local player = Game.get_player(event)
if not global[player.index] then global[player.index] = {player.force.get_spawn_position(player.surface),player.force.get_spawn_position(player.surface)} end
local _temp = {math.floor(player.position.x),math.floor(player.position.y)}
player.teleport(player.surface.find_non_colliding_position('player',global[player.index][2],32,1),player.surface)
global[player.index][2] = _temp
end)

View File

@@ -0,0 +1,22 @@
{
"name": "home",
"version": "4.0.0",
"type": "Module",
"description": "Allows players to set homes and then return to them later.",
"location": "<blank>",
"keywords": [
"Teleport",
"ExpGaming",
"Home",
"Return",
"Set Home",
"Commands"
],
"author": "<blank>",
"contact": "<blank>",
"license": "<blank>",
"dependencies": {
"FactorioStdLib.Game": "^0.8.0",
"ExpGamingCore.Commands": "^4.0.0"
}
}

View File

@@ -1,37 +0,0 @@
--[[
Explosive Gaming
This file can be used with permission but this and the credit below must remain in the file.
Contact a member of management on our discord to seek permission to use our code.
Any changes that you may make to the code are yours but that does not make the script yours.
Discord: https://discord.gg/r6dC2uK
]]
--Please Only Edit Below This Line-----------------------------------------------------------
local function _homes(reset)
global.addons = not reset and global.addons or {}
global.addons.homes = not reset and global.addons.homes or {}
return global.addons.homes
end
commands.add_command('set-home', 'Set your home position', {}, function(event,args)
local player = Game.get_player(event)
if not _homes()[player.index] then _homes()[player.index] = {player.force.get_spawn_position(player.surface),player.force.get_spawn_position(player.surface)} end
_homes()[player.index][1] = {math.floor(player.position.x),math.floor(player.position.y)}
player_return('Home set at: ('..math.floor(player.position.x)..','..math.floor(player.position.y)..')')
end)
commands.add_command('home', 'Go to you home position', {}, function(event,args)
local player = Game.get_player(event)
if not _homes()[player.index] then _homes()[player.index] = {player.force.get_spawn_position(player.surface),player.force.get_spawn_position(player.surface)} end
_homes()[player.index][2] = {math.floor(player.position.x),math.floor(player.position.y)}
player.teleport(player.surface.find_non_colliding_position('player',_homes()[player.index][1],32,1),player.surface)
end)
commands.add_command('return', 'Return to your previous position after using /home', {}, function(event,args)
local player = Game.get_player(event)
if not _homes()[player.index] then _homes()[player.index] = {player.force.get_spawn_position(player.surface),player.force.get_spawn_position(player.surface)} end
local _temp = {math.floor(player.position.x),math.floor(player.position.y)}
player.teleport(player.surface.find_non_colliding_position('player',_homes()[player.index][2],32,1),player.surface)
_homes()[player.index][2] = _temp
end)