mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 04:51:40 +09:00
3rd attempt at fixing upvalues
This commit is contained in:
@@ -33,8 +33,8 @@ Event.register(-1,function(event)
|
|||||||
if tree and tree.valid then tree.destroy() end
|
if tree and tree.valid then tree.destroy() end
|
||||||
end
|
end
|
||||||
end):on_event(defines.events.on_marked_for_deconstruction,function(self,event)
|
end):on_event(defines.events.on_marked_for_deconstruction,function(self,event)
|
||||||
-- the _env should be auto loaded but it does not for some reason
|
-- the _env should be auto loaded but it does not for some reasonm this is an attempt to repair the upvalues
|
||||||
local _ENV = self._env.setmetatable({self=self,event=event},{__index=self._env})
|
for index,name in pairs(self._env._order) do self._env.debug.setupvalue(1,index,self._env[name]) end
|
||||||
local chache = self.data.chache[event.player_index]
|
local chache = self.data.chache[event.player_index]
|
||||||
if not chache then
|
if not chache then
|
||||||
local player = Game.get_player(event)
|
local player = Game.get_player(event)
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ script.on_init(function(event)
|
|||||||
player_return({'ExpGamingBot-autoMessage.message',message},nil,player)
|
player_return({'ExpGamingBot-autoMessage.message',message},nil,player)
|
||||||
end
|
end
|
||||||
end):on_event('error',function(self,err)
|
end):on_event('error',function(self,err)
|
||||||
-- the _env should be auto loaded but it does not for some reason
|
-- the _env should be auto loaded but it does not for some reasonm this is an attempt to repair the upvalues
|
||||||
local _ENV = self._env.setmetatable({self=self,event=event},{__index=self._env})
|
for index,name in pairs(self._env._order) do self._env.debug.setupvalue(1,index,self._env[name]) end
|
||||||
if Sync then Sync.emit_embeded{
|
if Sync then Sync.emit_embeded{
|
||||||
title='Auto Message Error',
|
title='Auto Message Error',
|
||||||
color=Color.to_hex(defines.textcolor.bg),
|
color=Color.to_hex(defines.textcolor.bg),
|
||||||
|
|||||||
@@ -88,8 +88,8 @@ function popup.open(style,data,players)
|
|||||||
Server.new_thread{
|
Server.new_thread{
|
||||||
data={players=players,popup=_popup,data=data}
|
data={players=players,popup=_popup,data=data}
|
||||||
}:on_event('tick',function(thread)
|
}:on_event('tick',function(thread)
|
||||||
-- the _env should be auto loaded but it does not for some reason
|
-- the _env should be auto loaded but it does not for some reasonm this is an attempt to repair the upvalues
|
||||||
local _ENV = self._env.setmetatable({self=self,event=event},{__index=self._env})
|
for index,name in pairs(self._env._order) do self._env.debug.setupvalue(1,index,self._env[name]) end
|
||||||
if #thread.data.players == 0 then thread:close() return end
|
if #thread.data.players == 0 then thread:close() return end
|
||||||
local player = table.remove(thread.data.players,1)
|
local player = table.remove(thread.data.players,1)
|
||||||
if thread.data.popup.left then thread.data.popup.left:close(player) end
|
if thread.data.popup.left then thread.data.popup.left:close(player) end
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ return function(event)
|
|||||||
-- posible error handling if needed
|
-- posible error handling if needed
|
||||||
error(err)
|
error(err)
|
||||||
end):on_event(defines.events.on_player_respawned,function(self,event)
|
end):on_event(defines.events.on_player_respawned,function(self,event)
|
||||||
-- the _env should be auto loaded but it does not for some reason
|
-- the _env should be auto loaded but it does not for some reasonm this is an attempt to repair the upvalues
|
||||||
local _ENV = self._env.setmetatable({self=self,event=event},{__index=self._env})
|
for index,name in pairs(self._env._order) do self._env.debug.setupvalue(1,index,self._env[name]) end
|
||||||
if self.data.players[event.player_index] then
|
if self.data.players[event.player_index] then
|
||||||
local remove = {}
|
local remove = {}
|
||||||
local player = Game.get_player(event)
|
local player = Game.get_player(event)
|
||||||
|
|||||||
@@ -280,7 +280,6 @@ function Server._thread:create(obj)
|
|||||||
obj._env._env = true
|
obj._env._env = true
|
||||||
obj._env._ENV = nil -- provents infinte recusion
|
obj._env._ENV = nil -- provents infinte recusion
|
||||||
-- removes any modules from the _env to save space in global (less time to serizle)
|
-- removes any modules from the _env to save space in global (less time to serizle)
|
||||||
obj._env.setmetatable = setmetatable
|
|
||||||
obj._env._modules = {}
|
obj._env._modules = {}
|
||||||
for name,value in pairs(obj._env) do if is_type(value,'table') and value._module_name and loaded_modules[value._module_name] == value then obj._env._modules[name] = value._module_name obj._env[name] = nil end end
|
for name,value in pairs(obj._env) do if is_type(value,'table') and value._module_name and loaded_modules[value._module_name] == value then obj._env._modules[name] = value._module_name obj._env[name] = nil end end
|
||||||
setmetatable(obj._env,_env_metatable)
|
setmetatable(obj._env,_env_metatable)
|
||||||
|
|||||||
@@ -48,11 +48,11 @@ function ExpLib.get_upvalues(level)
|
|||||||
local func = level and ExpLib.is_type(level,'function') and level or nil
|
local func = level and ExpLib.is_type(level,'function') and level or nil
|
||||||
local level = level and ExpLib.is_type(level,'number') and level+1 or 2
|
local level = level and ExpLib.is_type(level,'number') and level+1 or 2
|
||||||
func = func or debug.getinfo(level).func
|
func = func or debug.getinfo(level).func
|
||||||
local upvalues = setmetatable({},{__index=_G})
|
local upvalues = setmetatable({_order={}},{__index=_G})
|
||||||
local i = 1
|
local i = 1
|
||||||
while true do
|
while true do
|
||||||
local name, value = debug.getupvalue(func,i)
|
local name, value = debug.getupvalue(func,i)
|
||||||
if not name then break else upvalues[name] = value end
|
if not name then break else upvalues[name] = value; table.insert(upvalues._order,name) end
|
||||||
i=i+1
|
i=i+1
|
||||||
end
|
end
|
||||||
return upvalues
|
return upvalues
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ script.on_init(function(event)
|
|||||||
Server.new_thread{
|
Server.new_thread{
|
||||||
name='afk-kick',
|
name='afk-kick',
|
||||||
}:on_event('tick',function(self)
|
}:on_event('tick',function(self)
|
||||||
-- the _env should be auto loaded but it does not for some reason
|
-- the _env should be auto loaded but it does not for some reasonm this is an attempt to repair the upvalues
|
||||||
local _ENV = self._env.setmetatable({self=self,event=event},{__index=self._env})
|
for index,name in pairs(self._env._order) do self._env.debug.setupvalue(1,index,self._env[name]) end
|
||||||
if (game.tick%3600) ~= 0 then return end
|
if (game.tick%3600) ~= 0 then return end
|
||||||
for _,player in pairs(game.connected_players) do
|
for _,player in pairs(game.connected_players) do
|
||||||
local afk = #game.connected_players < 3 and 10 or get_allowed_afk_time(player)
|
local afk = #game.connected_players < 3 and 10 or get_allowed_afk_time(player)
|
||||||
@@ -16,9 +16,8 @@ script.on_init(function(event)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end):on_event('error',function(self,err)
|
end):on_event('error',function(self,err)
|
||||||
-- the _env should be auto loaded but it does not for some reason
|
-- the _env should be auto loaded but it does not for some reasonm this is an attempt to repair the upvalues
|
||||||
local _ENV = _ENV or setmetatable({},{__index=_G})
|
for index,name in pairs(self._env._order) do self._env.debug.setupvalue(1,index,self._env[name]) end
|
||||||
_ENV.Sync = self._env.Sync
|
|
||||||
if Sync then
|
if Sync then
|
||||||
Sync.emit_embeded{
|
Sync.emit_embeded{
|
||||||
title='Auto Kick Error',
|
title='Auto Kick Error',
|
||||||
|
|||||||
Reference in New Issue
Block a user