local Event = require 'utils.event' local Session = require 'utils.datastore.session_data' local Commands = require 'utils.commands' Commands.new('trust', 'Promotes a player to trusted!') :require_admin() :add_parameter('player', false, 'player') :callback(function (player, target_player) local trusted = Session.get_trusted_table() if target_player then if trusted[target_player.name] then game.print(target_player.name .. ' is already trusted!') return false end trusted[target_player.name] = true game.print(target_player.name .. ' is now a trusted player.', { r = 0.22, g = 0.99, b = 0.99 }) for _, a in pairs(game.connected_players) do if a.admin and a.name ~= player.name then a.print('[ADMIN]: ' .. player.name .. ' trusted ' .. target_player.name, { r = 1, g = 0.5, b = 0.1 }) end end end end) Commands.new('untrust', 'Demotes a player from trusted!') :require_admin() :add_parameter('player', false, 'player') :callback(function (player, target_player) local trusted = Session.get_trusted_table() if target_player then if trusted[target_player.name] == false then game.print(target_player.name .. ' is already untrusted!') return false end trusted[target_player.name] = false game.print(target_player.name .. ' is now untrusted.', { r = 0.22, g = 0.99, b = 0.99 }) for _, a in pairs(game.connected_players) do if a.admin and a.name ~= player.name then a.print('[ADMIN]: ' .. player.name .. ' untrusted ' .. target_player.name, { r = 1, g = 0.5, b = 0.1 }) end end end end) Event.add( defines.events.on_player_created, function (event) local player = game.get_player(event.player_index) if not (player and player.valid) then return end local is_single_player = not game.is_multiplayer() if is_single_player then Session.set_trusted_player(player) end end )