diff --git a/to convert/Addons/Admin/inventory-search.lua b/modules/ExpGamingPlayer/inventorySearch/control.lua similarity index 64% rename from to convert/Addons/Admin/inventory-search.lua rename to modules/ExpGamingPlayer/inventorySearch/control.lua index be21ba94..2cf6a104 100644 --- a/to convert/Addons/Admin/inventory-search.lua +++ b/modules/ExpGamingPlayer/inventorySearch/control.lua @@ -1,13 +1,14 @@ ---[[ -Explosive Gaming +--- Desction +-- @module ThisModule@X.Y.Z +-- @author +-- @license +-- @alais ThisModule -This file can be used with permission but this and the credit below must remain in the file. -Contact a member of management on our discord to seek permission to use our code. -Any changes that you may make to the code are yours but that does not make the script yours. -Discord: https://discord.gg/r6dC2uK -]] ---Please Only Edit Below This Line----------------------------------------------------------- +-- Module Require +local Admin = require('ExpGamingAdmin.AdminLib@^4.0.0') +local Game = require('FactorioStdLib.Game@^0.8.0') +-- Local Varibles -- removed from none admin ranks, no further action local low_items = { 'loader', @@ -16,7 +17,8 @@ local low_items = { 'small-plane', 'player-port', 'coin', - 'programmable-speaker' + 'programmable-speaker', + 'logistic-chest-active-provider' } -- removed for admin and non-admin ranks, gives warnings to non-admins @@ -32,6 +34,7 @@ local high_items = { 'infinity-chest' } +-- inventories which are searched local inventorys = { defines.inventory.player_main, defines.inventory.player_quickbar, @@ -40,6 +43,15 @@ local inventorys = { local _root_tree = {low_items=low_items,med_items=med_items,high_items=high_items} +-- Module Define +local module_verbose = false +local ThisModule = { + on_init=function() + if loaded_modules['ExpGamingCore.Ranking@^4.0.0'] then Ranking = require('ExpGamingCore.Ranking@^4.0.0') end + end +} + +-- Function Define local function take_action(player,item_name,category) if category == 'low_items' then player_return({'inventory-search.low',item_name},defines.textcolor.med,player) elseif category == 'med_items' then player_return({'inventory-search.med',item_name},defines.textcolor.high,player) Admin.give_warning(player,'','Found A Banned Item',5) @@ -47,9 +59,9 @@ local function take_action(player,item_name,category) else return end end -function search_player(player) +function ThisModule.search_player(player) for category,items in pairs(_root_tree) do - if category ~= 'low_items' or not Ranking.get_rank(player):allowed('admin-items') then + if not Ranking or category ~= 'low_items' and not Ranking.get_rank(player):allowed('admin-items') then for _,_inventory in pairs(inventorys) do local inventory = player.get_inventory(_inventory) if inventory then @@ -63,17 +75,18 @@ function search_player(player) end end -Event.register({defines.events.on_player_main_inventory_changed,defines.events.on_player_quickbar_inventory_changed},function(event) - local player = Game.get_player(event) - if player and player.name == 'freek18' then search_player(player) end -end) - -Event.register(defines.events.on_tick,function(event) +-- Event Handlers Define +script.on_event(defines.events.on_tick,function(event) if (game.tick%900) == 0 then local players = game.connected_players if #players == 0 then return end local player = players[math.random(#players)] - if Ranking.get_rank(player):allowed('all-items') then return end - search_player(player) + if Ranking and Ranking.get_rank(player):allowed('all-items') then return end + ThisModule.search_player(player) end -end) \ No newline at end of file +end) + +-- Module Return +return setmetatable(ThisModule,{ + __call=function(self,...) self.search_player(...) end +}) \ No newline at end of file diff --git a/modules/ExpGamingPlayer/inventorySearch/softmod.json b/modules/ExpGamingPlayer/inventorySearch/softmod.json new file mode 100644 index 00000000..76d921e5 --- /dev/null +++ b/modules/ExpGamingPlayer/inventorySearch/softmod.json @@ -0,0 +1,21 @@ +{ + "name": "inventorySearch", + "version": "4.0.0", + "type": "Submodule", + "description": "Adds an inventory search that is proformed on a random player every 15 seconds.", + "location": "", + "keywords": [ + "Search", + "ExpGaming", + "Player", + "Inventory" + ], + "dependencies": { + "ExpGamingLib": "^4.0.0", + "ExpGamingAdmin.TempBan": "^4.0.0", + "ExpGamingAdmin.Warnings": "^4.0.0", + "ExpGamingCore.Ranking": "?^4.0.0", + "FactorioStdLib.Game": "^0.8.0" + }, + "collection": "ExpGamingPlayer_4.0.0" +} \ No newline at end of file diff --git a/modules/ExpGamingPlayer/softmod.json b/modules/ExpGamingPlayer/softmod.json index 6ef17f23..83586097 100644 --- a/modules/ExpGamingPlayer/softmod.json +++ b/modules/ExpGamingPlayer/softmod.json @@ -72,11 +72,33 @@ "FactorioStdLib.Game": "^0.8.0", "ExpGamingCore.Gui": "^4.0.0", "ExpGamingCore.Ranking": "?^4.0.0", + "ExpGamingAdmin.AdminLib": "?^4.0.0", "ExpGamingAdmin.buttonFlow": "?^4.0.0", "ExpGamingAdmin.reports": "?^4.0.0", "ExpGamingPlayer.playerInfo": "?^4.0.0" }, "collection": "ExpGamingPlayer_4.0.0" + }, + "inventorySearch": { + "name": "inventorySearch", + "version": "4.0.0", + "type": "Submodule", + "description": "Adds an inventory search that is proformed on a random player every 15 seconds.", + "location": "", + "keywords": [ + "Search", + "ExpGaming", + "Player", + "Inventory" + ], + "dependencies": { + "ExpGamingLib": "^4.0.0", + "ExpGamingAdmin.TempBan": "^4.0.0", + "ExpGamingAdmin.Warnings": "^4.0.0", + "ExpGamingCore.Ranking": "?^4.0.0", + "FactorioStdLib.Game": "^0.8.0" + }, + "collection": "ExpGamingPlayer_4.0.0" } }, "dependencies": {}