mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 03:25:23 +09:00
Added go-to-spawn and clear-inventory
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -84,4 +84,4 @@ $RECYCLE.BIN/
|
|||||||
# Windows shortcuts
|
# Windows shortcuts
|
||||||
*.lnk
|
*.lnk
|
||||||
|
|
||||||
#*.vscode
|
*.vscode
|
||||||
@@ -33,4 +33,5 @@ warnings-received=__1__ recived a warning from __2__ for __3__.
|
|||||||
warnings-player=__1__ has __2__ warnings and __3__/__4__ script warnings.
|
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.
|
||||||
@@ -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
|
||||||
|
|||||||
12
modules/commands/clear-inventory.lua
Normal file
12
modules/commands/clear-inventory.lua
Normal 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)
|
||||||
38
modules/commands/spawn.lua
Normal file
38
modules/commands/spawn.lua
Normal 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)
|
||||||
Reference in New Issue
Block a user