mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 04:51:40 +09:00
Merge branch 'hotfix/servertThreads'
This commit is contained in:
@@ -81,7 +81,7 @@ Server.threads = setmetatable({},{
|
|||||||
-- @usage Server.new_thread{name='foo',data={}}
|
-- @usage Server.new_thread{name='foo',data={}}
|
||||||
-- @tparam table obj the attributes to give to the thread
|
-- @tparam table obj the attributes to give to the thread
|
||||||
-- @treturn Server._thread the new thread created
|
-- @treturn Server._thread the new thread created
|
||||||
function Server.new_thread(obj) return Server._thread:create(obj) end
|
function Server.new_thread(obj) return Server._thread.create(obj) end
|
||||||
|
|
||||||
--- Used to get a thread via uuid or name (if one is assigned)
|
--- Used to get a thread via uuid or name (if one is assigned)
|
||||||
-- @usage Server.get_thread('decon') -- return thread
|
-- @usage Server.get_thread('decon') -- return thread
|
||||||
@@ -281,7 +281,11 @@ function Server._thread.create(obj)
|
|||||||
obj._env._ENV = nil -- prevents infinite recursion
|
obj._env._ENV = nil -- prevents infinite recursion
|
||||||
-- removes any modules from the _env to save space in global (less time to serialize)
|
-- removes any modules from the _env to save space in global (less time to serialize)
|
||||||
obj._env._modules = {}
|
obj._env._modules = {}
|
||||||
for name,value in pairs(obj._env) do if is_type(value,'table') and value._moduleName and loaded_modules[value._moduleName] == value then obj._env._modules[name] = value._moduleName obj._env[name] = nil end end
|
for name,value in pairs(obj._env) do
|
||||||
|
if is_type(value,'table') and value._moduleName and loaded_modules[value._moduleName] == value then
|
||||||
|
obj._env._modules[name] = value._moduleName obj._env[name] = nil
|
||||||
|
end
|
||||||
|
end
|
||||||
setmetatable(obj._env,_env_metatable)
|
setmetatable(obj._env,_env_metatable)
|
||||||
local name = obj.name or 'Anon'
|
local name = obj.name or 'Anon'
|
||||||
verbose('Created new thread: '..name..' ('..obj.uuid..')')
|
verbose('Created new thread: '..name..' ('..obj.uuid..')')
|
||||||
|
|||||||
@@ -129,11 +129,13 @@ local go_to_warp = Gui.inputs{
|
|||||||
local player = Game.get_player(event)
|
local player = Game.get_player(event)
|
||||||
local cooldown = global.cooldowns[event.player_index] or 0
|
local cooldown = global.cooldowns[event.player_index] or 0
|
||||||
local warp = global.warps[event.element.parent.name]
|
local warp = global.warps[event.element.parent.name]
|
||||||
|
if not warp then return end
|
||||||
if cooldown > 0 then player_return({'WarpPoints.cooldown',cooldown},nil,event) return end
|
if cooldown > 0 then player_return({'WarpPoints.cooldown',cooldown},nil,event) return end
|
||||||
if player.vehicle then player.vehicle.set_driver(nil) end
|
if player.vehicle then player.vehicle.set_driver(nil) end
|
||||||
if player.vehicle then player.vehicle.set_passenger(nil) end
|
if player.vehicle then player.vehicle.set_passenger(nil) end
|
||||||
if player.vehicle then return end
|
if player.vehicle then return end
|
||||||
player.teleport(game.surfaces[warp.surface].find_non_colliding_position('player',warp.position,32,1),game.surfaces[warp.surface])
|
local surface = game.surfaces[warp.surface]
|
||||||
|
player.teleport(surface.find_non_colliding_position('player',warp.position,32,1),surface)
|
||||||
if not Role and not player.admin or Role and not Role.allowed(player,'always-warp') then
|
if not Role and not player.admin or Role and not Role.allowed(player,'always-warp') then
|
||||||
event.element.parent.parent.parent.parent.style.visible = false
|
event.element.parent.parent.parent.parent.style.visible = false
|
||||||
global.cooldowns[event.player_index] = warp_limit
|
global.cooldowns[event.player_index] = warp_limit
|
||||||
|
|||||||
Reference in New Issue
Block a user