Added go-to-spawn and clear-inventory

This commit is contained in:
Cooldude2606
2019-04-18 22:44:17 +01:00
parent 89d52fc73b
commit 2e017dbb70
7 changed files with 54 additions and 2 deletions

2
.gitignore vendored
View File

@@ -84,4 +84,4 @@ $RECYCLE.BIN/
# Windows shortcuts # Windows shortcuts
*.lnk *.lnk
#*.vscode *.vscode

View File

@@ -34,3 +34,4 @@ warnings-player=__1__ has __2__ warnings and __3__/__4__ script warnings.
warnings-list-tilte=The following player have this many warnings (and this many script warnings): warnings-list-tilte=The following player have this many warnings (and this many script warnings):
warnings-list=__1__: __2__ (__3__/__4__) warnings-list=__1__: __2__ (__3__/__4__)
warnings-cleared=__1__ had all they warnings cleared by __2__. warnings-cleared=__1__ had all they warnings cleared by __2__.
spawn-unavailable=They was a problem getting you to spawn, please try again later.

View File

@@ -11,6 +11,7 @@ local Public = {
player_temp_banned=script.generate_event_name(), player_temp_banned=script.generate_event_name(),
player_clear_temp_ban=script.generate_event_name() player_clear_temp_ban=script.generate_event_name()
} }
Global.register({ Global.register({
Public.old_roles, Public.old_roles,
Public.temp_bans Public.temp_bans

View File

@@ -0,0 +1,12 @@
local Commands = 'expcore.commands'
local move_items = ext_require('expcore.common','move_items')
require 'config.command_parse_roles'
Commands.new_command('clear-inventory','Clears a players inventory')
:add_param('player',false,'player-role-alive')
:add_alias('clear-inv','move-inventory','move-inv')
:register(function(player,action_player)
local inv = action_player.get_main_inventory()
move_items(inv.get_contents())
inv.clear()
end)

View File

@@ -0,0 +1,38 @@
local Commands = require 'expcore.commands'
local Roles = require 'expcore.roles'
local function teleport(player)
local surface = player.surface
local spawn = player.force.get_spawn_position(surface)
local position = surface.find_non_colliding_position('player',spawn,32,1)
if not position then return false end
if player.driving then player.driving = false end -- kicks a player out a vehicle if in one
player.teleport(position,surface)
return true
end
Commands.new_command('go-to-spawn','Teleport to spawn')
:add_param('player',true,'player-role-alive')
:add_defaults{
player=function(player)
if player.connected and player.character and player.character.health > 0 then
return player
end
end
}
:add_alias('spawn','tp-spawn')
:register(function(player,action_player)
if not action_player then
return Commands.error{'exp-commands.spawn-unavailable'}
elseif action_player == player then
if not teleport(player) then
return Commands.error{'exp-commands.spawn-unavailable'}
end
elseif Roles.player_allowed(player,'command/go-to-spawn/always') then
if not teleport(action_player) then
return Commands.error{'exp-commands.spawn-unavailable'}
end
else
return Commands.error{'expcore-commands.unauthorized'}
end
end)