1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-01-22 03:38:48 +02:00
ComfyFactorio/utils/commands/trust_system.lua
2024-06-04 23:27:12 +02:00

64 lines
2.2 KiB
Lua

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
)