Fixed 4 bugs

This commit is contained in:
Cooldude2606
2019-01-01 02:53:23 +00:00
parent 9a09649635
commit 1c771ab1b5
4 changed files with 19 additions and 11 deletions

View File

@@ -1,5 +1,6 @@
local Admin = self
local Role = require('ExpGamingCore.Role')
local Server = require('ExpGamingCore.Server')
--- Used to jail a player which stops them from moving
-- @command jail

View File

@@ -128,7 +128,7 @@ script.on_event(defines.events.on_tick,function(event)
local time_to_remove = remove_warnings_time[role.index]
if (game.tick % time_to_remove) == 0 then
global[name]=warnings-1
if global.warnings[name] > 5 then
if global[name] > 5 then
player_return({'ExpGamingAdmin-Warnings.remove-warn',global[name],tick_to_display_format(time_to_remove)},defines.textcolor.low,name)
end
end

View File

@@ -8,6 +8,7 @@
local Game = require('FactorioStdLib.Game')
local Role -- ExpGamingCore.Role@^4.0.0
local Sync -- ExpGamingCore.Sync@^4.0.0
local Server -- ExpGamingCore.Server@^4.0.0
-- Module Define
local module_verbose = false
@@ -15,7 +16,10 @@ local Admin = {
on_init=function()
if loaded_modules['ExpGamingCore.Role'] then Role = require('ExpGamingCore.Role') end
if loaded_modules['ExpGamingCore.Sync'] then Sync = require('ExpGamingCore.Sync') end
if loaded_modules['ExpGamingCore.Server'] then require('ExpGamingCore.Server').add_module_to_interface('Admin','ExpGamingAdmin') end
if loaded_modules['ExpGamingCore.Server'] then
Server = require('ExpGamingCore.Server')
Server.add_module_to_interface('Admin','ExpGamingAdmin')
end
end,
actions={},
action_functions={},
@@ -79,10 +83,10 @@ end
function Admin.clear_player(player,by_player)
local player, by_player = Admin.valid_players(player,by_player)
if not player then return end
if Admin.is_banned(player,true) == true then Server.interface(game.unban_player,true,player,by_player) end
if Server and Admin.is_banned(player,true) == true then Server.interface(game.unban_player,true,player,by_player) end
if Admin.clear_warings then Admin.clear_warings(player,by_player,true) end
if Admin.clear_reports then Admin.clear_reports(player,by_player,true) end
if Role.has_flag(player,'is_jail') then Server.interface(Role.revert,true,player,by_player,2) end
if Server and Role.has_flag(player,'is_jail') then Server.interface(Role.revert,true,player,by_player,2) end
if Sync then Sync.emit_embeded{
title='Player Clear',
color=Color.to_hex(defines.textcolor.low),

View File

@@ -103,10 +103,10 @@ end
-- @usage Role.get(player) -- returns group of player
-- @tparam ?LuaPlayer|pointerToPlayer|string mixed can either be the name of the role or a player indenifier
-- @treturn table the group which was found or nil
function Role.get(mixed)
function Role.get(mixed,forceIsRole)
local player = game and Game.get_player(mixed)
if player == SERVER then return {Role.meta.server} end
if player then
if not forceIsRole and player then
local rtn = {}
if not global.players[player.index] then return Role.meta.default and {Role.meta.default} or {} end
for _,role in pairs(global.players[player.index]) do table.insert(rtn,Role.get(role)) end
@@ -275,16 +275,19 @@ end
-- @tparam[opt=false] boolean inv true to print to roles below, false to print to roles above
-- @treturn number the number of players who recived the message
function Role.print(role,rtn,colour,inv)
local role = Role.get(role)
local role = Role.get(role,true)
if not type_error(role,'table','Invalid argument #1 to Role.print, role is invalid.') then return end
if colour and not type_error(colour,'table','Invalid argument #3 to Role.print, colour is not a table.') then return end
if inv and not type_error(inv,'boolean','Invalid argument #4 to Role.print, inv is not a boolean.') then return end
local message = inv and {'ExpGamingCore-Role.default-print',rtn} or {'ExpGamingCore-Role.print',role.name,rtn}
local print = inv or false
local change = inv and -1 or 1
local ctn = 0
for index,_role in pairs(Role.roles) do
if print or _role == role then ctn=ctn+_role:print(message,colour) end
if _role == role then if print then break else print = true end end
local i = role.index
while true do
local _role = Role.get(i,true)
if not role then break end
ctn=ctn+_role:print(message,colour)
i=i+change
end
return ctn
end