mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 11:35:22 +09:00
Update all code styles
This commit is contained in:
@@ -11,9 +11,9 @@ Commands.add_authenticator(function(player, command, tags, reject)
|
||||
if player.admin then
|
||||
return true
|
||||
else
|
||||
return reject{'command-auth.admin-only'}
|
||||
return reject{ "command-auth.admin-only" }
|
||||
end
|
||||
else
|
||||
return true
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -6,9 +6,9 @@ local Roles = require("modules.exp_legacy.expcore.roles") --- @dep expcore.roles
|
||||
|
||||
-- luacheck:ignore 212/tags
|
||||
Commands.add_authenticator(function(player, command, tags, reject)
|
||||
if Roles.player_allowed(player,'command/'..command) then
|
||||
if Roles.player_allowed(player, "command/" .. command) then
|
||||
return true
|
||||
else
|
||||
return reject()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
local Commands = require("modules.exp_legacy.expcore.commands") --- @dep expcore.commands
|
||||
local Colours = require("modules/exp_util/include/color")
|
||||
|
||||
Commands.add_parse('color',function(input, _, reject)
|
||||
Commands.add_parse("color", function(input, _, reject)
|
||||
if not input then return end
|
||||
local color = Colours[input]
|
||||
if not color then
|
||||
return reject{'expcore-commands.reject-color'}
|
||||
return reject{ "expcore-commands.reject-color" }
|
||||
else
|
||||
return input
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -22,121 +22,121 @@ see ./expcore/commands.lua for more details
|
||||
local Commands = require("modules.exp_legacy.expcore.commands") --- @dep expcore.commands
|
||||
|
||||
-- luacheck:ignore 212/player
|
||||
Commands.add_parse('boolean',function(input, player)
|
||||
Commands.add_parse("boolean", function(input, player)
|
||||
if not input then return end -- nil check
|
||||
input = input:lower()
|
||||
if input == 'yes'
|
||||
or input == 'y'
|
||||
or input == 'true'
|
||||
or input == '1' then
|
||||
if input == "yes"
|
||||
or input == "y"
|
||||
or input == "true"
|
||||
or input == "1" then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('string-options',function(input, player, reject, options)
|
||||
Commands.add_parse("string-options", function(input, player, reject, options)
|
||||
if not input then return end -- nil check
|
||||
local option = _C.auto_complete(options, input)
|
||||
return option or reject{'expcore-commands.reject-string-options', table.concat(options, ', ')}
|
||||
return option or reject{ "expcore-commands.reject-string-options", table.concat(options, ", ") }
|
||||
end)
|
||||
|
||||
Commands.add_parse('string-max-length',function(input, player, reject, max_length)
|
||||
Commands.add_parse("string-max-length", function(input, player, reject, max_length)
|
||||
if not input then return end -- nil check
|
||||
local length = input:len()
|
||||
if length > max_length then
|
||||
return reject{'expcore-commands.reject-string-max-length',max_length}
|
||||
return reject{ "expcore-commands.reject-string-max-length", max_length }
|
||||
else
|
||||
return input
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('number',function(input, player, reject)
|
||||
Commands.add_parse("number", function(input, player, reject)
|
||||
if not input then return end -- nil check
|
||||
local number = tonumber(input)
|
||||
if not number then
|
||||
return reject{'expcore-commands.reject-number'}
|
||||
return reject{ "expcore-commands.reject-number" }
|
||||
else
|
||||
return number
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('integer',function(input, player, reject)
|
||||
Commands.add_parse("integer", function(input, player, reject)
|
||||
if not input then return end -- nil check
|
||||
local number = tonumber(input)
|
||||
if not number then
|
||||
return reject{'expcore-commands.reject-number'}
|
||||
return reject{ "expcore-commands.reject-number" }
|
||||
else
|
||||
return math.floor(number)
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('number-range',function(input, player, reject, range_min, range_max)
|
||||
local number = Commands.parse('number',input, player, reject)
|
||||
Commands.add_parse("number-range", function(input, player, reject, range_min, range_max)
|
||||
local number = Commands.parse("number", input, player, reject)
|
||||
if not number then return end -- nil check
|
||||
if number < range_min or number > range_max then
|
||||
return reject{'expcore-commands.reject-number-range',range_min, range_max}
|
||||
return reject{ "expcore-commands.reject-number-range", range_min, range_max }
|
||||
else
|
||||
return number
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('integer-range',function(input, player, reject, range_min, range_max)
|
||||
local number = Commands.parse('integer',input, player, reject)
|
||||
Commands.add_parse("integer-range", function(input, player, reject, range_min, range_max)
|
||||
local number = Commands.parse("integer", input, player, reject)
|
||||
if not number then return end -- nil check
|
||||
if number < range_min or number > range_max then
|
||||
return reject{'expcore-commands.reject-number-range',range_min, range_max}
|
||||
return reject{ "expcore-commands.reject-number-range", range_min, range_max }
|
||||
else
|
||||
return number
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('player',function(input, player, reject)
|
||||
Commands.add_parse("player", function(input, player, reject)
|
||||
if not input then return end -- nil check
|
||||
local input_player = game.players[input]
|
||||
if not input_player then
|
||||
return reject{'expcore-commands.reject-player',input}
|
||||
return reject{ "expcore-commands.reject-player", input }
|
||||
else
|
||||
return input_player
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('player-online',function(input, player, reject)
|
||||
local input_player = Commands.parse('player',input, player, reject)
|
||||
Commands.add_parse("player-online", function(input, player, reject)
|
||||
local input_player = Commands.parse("player", input, player, reject)
|
||||
if not input_player then return end -- nil check
|
||||
if not input_player.connected then
|
||||
return reject{'expcore-commands.reject-player-online'}
|
||||
return reject{ "expcore-commands.reject-player-online" }
|
||||
else
|
||||
return input_player
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('player-alive',function(input, player, reject)
|
||||
local input_player = Commands.parse('player-online',input, player, reject)
|
||||
Commands.add_parse("player-alive", function(input, player, reject)
|
||||
local input_player = Commands.parse("player-online", input, player, reject)
|
||||
if not input_player then return end -- nil check
|
||||
if not input_player.character or not input_player.character.health or input_player.character.health <= 0 then
|
||||
return reject{'expcore-commands.reject-player-alive'}
|
||||
return reject{ "expcore-commands.reject-player-alive" }
|
||||
else
|
||||
return input_player
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('force',function(input, player, reject)
|
||||
Commands.add_parse("force", function(input, player, reject)
|
||||
if not input then return end -- nil check
|
||||
local force = game.forces[input]
|
||||
if not force then
|
||||
return reject{'expcore-commands.reject-force'}
|
||||
return reject{ "expcore-commands.reject-force" }
|
||||
else
|
||||
return force
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('surface',function(input, player, reject)
|
||||
Commands.add_parse("surface", function(input, player, reject)
|
||||
if not input then return end
|
||||
local surface = game.surfaces[input]
|
||||
if not surface then
|
||||
return reject{'expcore-commands.reject-surface'}
|
||||
return reject{ "expcore-commands.reject-surface" }
|
||||
else
|
||||
return surface
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -13,42 +13,43 @@ local auto_complete = _C.auto_complete --- @dep expcore.common
|
||||
require("modules.exp_legacy.config.expcore.command_general_parse")
|
||||
|
||||
-- luacheck:ignore 212/player
|
||||
Commands.add_parse('role',function(input, player, reject)
|
||||
Commands.add_parse("role", function(input, player, reject)
|
||||
if not input then return end
|
||||
local roles = Roles.config.order
|
||||
local rev_roles = {}
|
||||
for i=#roles, 1,-1 do
|
||||
for i = #roles, 1, -1 do
|
||||
table.insert(rev_roles, roles[i])
|
||||
end
|
||||
|
||||
local role = auto_complete(rev_roles, input)
|
||||
role = Roles.get_role_by_name(role)
|
||||
if not role then
|
||||
return reject{'expcore-role.reject-role'}
|
||||
return reject{ "expcore-role.reject-role" }
|
||||
else
|
||||
return role
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('player-role',function(input, player, reject)
|
||||
local input_player = Commands.parse('player',input, player, reject)
|
||||
Commands.add_parse("player-role", function(input, player, reject)
|
||||
local input_player = Commands.parse("player", input, player, reject)
|
||||
if not input_player then return end -- nil check
|
||||
local player_highest = Roles.get_player_highest_role(player)
|
||||
local input_player_highest = Roles.get_player_highest_role(input_player)
|
||||
if player_highest.index < input_player_highest.index then
|
||||
return input_player
|
||||
else
|
||||
return reject{'expcore-roles.reject-player-role'}
|
||||
return reject{ "expcore-roles.reject-player-role" }
|
||||
end
|
||||
end)
|
||||
|
||||
Commands.add_parse('player-role-online',function(input, player, reject)
|
||||
local input_player = Commands.parse('player-role',input, player, reject)
|
||||
Commands.add_parse("player-role-online", function(input, player, reject)
|
||||
local input_player = Commands.parse("player-role", input, player, reject)
|
||||
if not input_player then return end -- nil check
|
||||
return Commands.parse('player-online',input_player.name, player, reject)
|
||||
return Commands.parse("player-online", input_player.name, player, reject)
|
||||
end)
|
||||
|
||||
Commands.add_parse('player-role-alive',function(input, player, reject)
|
||||
local input_player = Commands.parse('player-role',input, player, reject)
|
||||
Commands.add_parse("player-role-alive", function(input, player, reject)
|
||||
local input_player = Commands.parse("player-role", input, player, reject)
|
||||
if not input_player then return end -- nil check
|
||||
return Commands.parse('player-alive',input_player.name, player, reject)
|
||||
end)
|
||||
return Commands.parse("player-alive", input_player.name, player, reject)
|
||||
end)
|
||||
|
||||
@@ -25,8 +25,8 @@ end
|
||||
-- luacheck:ignore 212/player 212/tags
|
||||
Commands.add_authenticator(function(player, command, tags, reject)
|
||||
if disabled_commands[command] then
|
||||
return reject{'command-auth.command-disabled'}
|
||||
return reject{ "command-auth.command-disabled" }
|
||||
else
|
||||
return true
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -4,102 +4,102 @@
|
||||
-- then use :allow{} and :disallow{} to specify certain actions to allow/disallow
|
||||
-- @config Permission-Groups
|
||||
|
||||
--local Event = require("modules/exp_legacy/utils/event") -- @dep utils.event
|
||||
-- local Event = require("modules/exp_legacy/utils/event") -- @dep utils.event
|
||||
local Permission_Groups = require("modules.exp_legacy.expcore.permission_groups") --- @dep expcore.permission_groups
|
||||
|
||||
Permission_Groups.new_group('Admin')
|
||||
:allow_all()
|
||||
:disallow{
|
||||
'add_permission_group', -- admin
|
||||
'delete_permission_group',
|
||||
'edit_permission_group',
|
||||
'import_permissions_string',
|
||||
'map_editor_action',
|
||||
'toggle_map_editor',
|
||||
'change_multiplayer_config',
|
||||
'set_heat_interface_mode',
|
||||
'set_heat_interface_temperature',
|
||||
'set_infinity_container_filter_item',
|
||||
'set_infinity_container_remove_unfiltered_items',
|
||||
'set_infinity_pipe_filter'
|
||||
}
|
||||
Permission_Groups.new_group("Admin")
|
||||
:allow_all()
|
||||
:disallow{
|
||||
"add_permission_group", -- admin
|
||||
"delete_permission_group",
|
||||
"edit_permission_group",
|
||||
"import_permissions_string",
|
||||
"map_editor_action",
|
||||
"toggle_map_editor",
|
||||
"change_multiplayer_config",
|
||||
"set_heat_interface_mode",
|
||||
"set_heat_interface_temperature",
|
||||
"set_infinity_container_filter_item",
|
||||
"set_infinity_container_remove_unfiltered_items",
|
||||
"set_infinity_pipe_filter",
|
||||
}
|
||||
|
||||
Permission_Groups.new_group('Trusted')
|
||||
:allow_all()
|
||||
:disallow{
|
||||
'add_permission_group', -- admin
|
||||
'delete_permission_group',
|
||||
'edit_permission_group',
|
||||
'import_permissions_string',
|
||||
'map_editor_action',
|
||||
'toggle_map_editor',
|
||||
'change_multiplayer_config',
|
||||
'set_heat_interface_mode',
|
||||
'set_heat_interface_temperature',
|
||||
'set_infinity_container_filter_item',
|
||||
'set_infinity_container_remove_unfiltered_items',
|
||||
'set_infinity_pipe_filter',
|
||||
'admin_action' -- trusted
|
||||
}
|
||||
Permission_Groups.new_group("Trusted")
|
||||
:allow_all()
|
||||
:disallow{
|
||||
"add_permission_group", -- admin
|
||||
"delete_permission_group",
|
||||
"edit_permission_group",
|
||||
"import_permissions_string",
|
||||
"map_editor_action",
|
||||
"toggle_map_editor",
|
||||
"change_multiplayer_config",
|
||||
"set_heat_interface_mode",
|
||||
"set_heat_interface_temperature",
|
||||
"set_infinity_container_filter_item",
|
||||
"set_infinity_container_remove_unfiltered_items",
|
||||
"set_infinity_pipe_filter",
|
||||
"admin_action", -- trusted
|
||||
}
|
||||
|
||||
Permission_Groups.new_group('Standard')
|
||||
:allow_all()
|
||||
:disallow{
|
||||
'add_permission_group', -- admin
|
||||
'delete_permission_group',
|
||||
'edit_permission_group',
|
||||
'import_permissions_string',
|
||||
'map_editor_action',
|
||||
'toggle_map_editor',
|
||||
'change_multiplayer_config',
|
||||
'set_heat_interface_mode',
|
||||
'set_heat_interface_temperature',
|
||||
'set_infinity_container_filter_item',
|
||||
'set_infinity_container_remove_unfiltered_items',
|
||||
'set_infinity_pipe_filter',
|
||||
'admin_action', -- trusted
|
||||
'change_programmable_speaker_alert_parameters', -- standard
|
||||
'drop_item',
|
||||
'change_rocket_silo_mode'
|
||||
}
|
||||
Permission_Groups.new_group("Standard")
|
||||
:allow_all()
|
||||
:disallow{
|
||||
"add_permission_group", -- admin
|
||||
"delete_permission_group",
|
||||
"edit_permission_group",
|
||||
"import_permissions_string",
|
||||
"map_editor_action",
|
||||
"toggle_map_editor",
|
||||
"change_multiplayer_config",
|
||||
"set_heat_interface_mode",
|
||||
"set_heat_interface_temperature",
|
||||
"set_infinity_container_filter_item",
|
||||
"set_infinity_container_remove_unfiltered_items",
|
||||
"set_infinity_pipe_filter",
|
||||
"admin_action", -- trusted
|
||||
"change_programmable_speaker_alert_parameters", -- standard
|
||||
"drop_item",
|
||||
"change_rocket_silo_mode",
|
||||
}
|
||||
|
||||
Permission_Groups.new_group('Guest')
|
||||
:allow_all()
|
||||
:disallow{
|
||||
'add_permission_group', -- admin
|
||||
'delete_permission_group',
|
||||
'edit_permission_group',
|
||||
'import_permissions_string',
|
||||
'map_editor_action',
|
||||
'toggle_map_editor',
|
||||
'change_multiplayer_config',
|
||||
'set_heat_interface_mode',
|
||||
'set_heat_interface_temperature',
|
||||
'set_infinity_container_filter_item',
|
||||
'set_infinity_container_remove_unfiltered_items',
|
||||
'set_infinity_pipe_filter',
|
||||
'admin_action', -- trusted
|
||||
'change_programmable_speaker_alert_parameters', -- standard
|
||||
'drop_item',
|
||||
'change_rocket_silo_mode',
|
||||
'change_programmable_speaker_parameters', -- guest
|
||||
'change_train_stop_station',
|
||||
--'deconstruct',
|
||||
'remove_cables',
|
||||
'remove_train_station',
|
||||
'reset_assembling_machine',
|
||||
'rotate_entity',
|
||||
--'use_artillery_remote', -- not in 2.0
|
||||
'launch_rocket',
|
||||
'cancel_research',
|
||||
--'activate_cut', -- not in 2.0
|
||||
'flush_opened_entity_fluid',
|
||||
'flush_opened_entity_specific_fluid'
|
||||
}
|
||||
Permission_Groups.new_group("Guest")
|
||||
:allow_all()
|
||||
:disallow{
|
||||
"add_permission_group", -- admin
|
||||
"delete_permission_group",
|
||||
"edit_permission_group",
|
||||
"import_permissions_string",
|
||||
"map_editor_action",
|
||||
"toggle_map_editor",
|
||||
"change_multiplayer_config",
|
||||
"set_heat_interface_mode",
|
||||
"set_heat_interface_temperature",
|
||||
"set_infinity_container_filter_item",
|
||||
"set_infinity_container_remove_unfiltered_items",
|
||||
"set_infinity_pipe_filter",
|
||||
"admin_action", -- trusted
|
||||
"change_programmable_speaker_alert_parameters", -- standard
|
||||
"drop_item",
|
||||
"change_rocket_silo_mode",
|
||||
"change_programmable_speaker_parameters", -- guest
|
||||
"change_train_stop_station",
|
||||
-- 'deconstruct',
|
||||
"remove_cables",
|
||||
"remove_train_station",
|
||||
"reset_assembling_machine",
|
||||
"rotate_entity",
|
||||
-- 'use_artillery_remote', -- not in 2.0
|
||||
"launch_rocket",
|
||||
"cancel_research",
|
||||
-- 'activate_cut', -- not in 2.0
|
||||
"flush_opened_entity_fluid",
|
||||
"flush_opened_entity_specific_fluid",
|
||||
}
|
||||
|
||||
Permission_Groups.new_group('Restricted')
|
||||
:disallow_all()
|
||||
:allow('write_to_console')
|
||||
Permission_Groups.new_group("Restricted")
|
||||
:disallow_all()
|
||||
:allow("write_to_console")
|
||||
|
||||
--[[ These events are used until a role system is added to make it easier for our admins
|
||||
|
||||
|
||||
@@ -6,362 +6,362 @@ local PlayerData = require("modules.exp_legacy.expcore.player_data") --- @dep ex
|
||||
local Statistics = PlayerData.Statistics
|
||||
|
||||
--- Role flags that will run when a player changes roles
|
||||
Roles.define_flag_trigger('is_admin',function(player,state)
|
||||
Roles.define_flag_trigger("is_admin", function(player, state)
|
||||
player.admin = state
|
||||
end)
|
||||
Roles.define_flag_trigger('is_spectator',function(player,state)
|
||||
Roles.define_flag_trigger("is_spectator", function(player, state)
|
||||
player.spectator = state
|
||||
end)
|
||||
Roles.define_flag_trigger('is_jail',function(player,state)
|
||||
Roles.define_flag_trigger("is_jail", function(player, state)
|
||||
if player.character then
|
||||
player.character.active = not state
|
||||
end
|
||||
end)
|
||||
|
||||
--- Admin Roles
|
||||
Roles.new_role('System','SYS')
|
||||
:set_permission_group('Default', true)
|
||||
:set_flag('is_admin')
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_allow_all()
|
||||
Roles.new_role("System", "SYS")
|
||||
:set_permission_group("Default", true)
|
||||
:set_flag("is_admin")
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_allow_all()
|
||||
|
||||
Roles.new_role('Senior Administrator','SAdmin')
|
||||
:set_permission_group('Admin')
|
||||
:set_custom_color{r=233,g=63,b=233}
|
||||
:set_flag('is_admin')
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_parent('Administrator')
|
||||
:allow{
|
||||
'command/interface',
|
||||
'command/debug',
|
||||
'command/toggle-cheat-mode',
|
||||
'command/research-all'
|
||||
}
|
||||
Roles.new_role("Senior Administrator", "SAdmin")
|
||||
:set_permission_group("Admin")
|
||||
:set_custom_color{ r = 233, g = 63, b = 233 }
|
||||
:set_flag("is_admin")
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_parent("Administrator")
|
||||
:allow{
|
||||
"command/interface",
|
||||
"command/debug",
|
||||
"command/toggle-cheat-mode",
|
||||
"command/research-all",
|
||||
}
|
||||
|
||||
Roles.new_role('Administrator','Admin')
|
||||
:set_permission_group('Admin')
|
||||
:set_custom_color{r=233,g=63,b=233}
|
||||
:set_flag('is_admin')
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_parent('Moderator')
|
||||
:allow{
|
||||
'gui/warp-list/bypass-proximity',
|
||||
'gui/warp-list/bypass-cooldown',
|
||||
'command/connect-all',
|
||||
'command/collectdata'
|
||||
}
|
||||
Roles.new_role("Administrator", "Admin")
|
||||
:set_permission_group("Admin")
|
||||
:set_custom_color{ r = 233, g = 63, b = 233 }
|
||||
:set_flag("is_admin")
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_parent("Moderator")
|
||||
:allow{
|
||||
"gui/warp-list/bypass-proximity",
|
||||
"gui/warp-list/bypass-cooldown",
|
||||
"command/connect-all",
|
||||
"command/collectdata",
|
||||
}
|
||||
|
||||
Roles.new_role('Moderator','Mod')
|
||||
:set_permission_group('Admin')
|
||||
:set_custom_color{r=0,g=170,b=0}
|
||||
:set_flag('is_admin')
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_parent('Trainee')
|
||||
:allow{
|
||||
'command/assign-role',
|
||||
'command/unassign-role',
|
||||
'command/repair',
|
||||
'command/kill/always',
|
||||
'command/clear-tag/always',
|
||||
'command/go-to-spawn/always',
|
||||
'command/clear-reports',
|
||||
'command/clear-warnings',
|
||||
'command/clear-inventory',
|
||||
-- 'command/bonus',
|
||||
'gui/bonus',
|
||||
'command/home',
|
||||
'command/home-set',
|
||||
'command/home-get',
|
||||
'command/return',
|
||||
'command/connect-player',
|
||||
'gui/rocket-info/toggle-active',
|
||||
'gui/rocket-info/remote_launch',
|
||||
'command/toggle-friendly-fire',
|
||||
'command/toggle-always-day',
|
||||
'fast-tree-decon'
|
||||
}
|
||||
Roles.new_role("Moderator", "Mod")
|
||||
:set_permission_group("Admin")
|
||||
:set_custom_color{ r = 0, g = 170, b = 0 }
|
||||
:set_flag("is_admin")
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_parent("Trainee")
|
||||
:allow{
|
||||
"command/assign-role",
|
||||
"command/unassign-role",
|
||||
"command/repair",
|
||||
"command/kill/always",
|
||||
"command/clear-tag/always",
|
||||
"command/go-to-spawn/always",
|
||||
"command/clear-reports",
|
||||
"command/clear-warnings",
|
||||
"command/clear-inventory",
|
||||
-- 'command/bonus',
|
||||
"gui/bonus",
|
||||
"command/home",
|
||||
"command/home-set",
|
||||
"command/home-get",
|
||||
"command/return",
|
||||
"command/connect-player",
|
||||
"gui/rocket-info/toggle-active",
|
||||
"gui/rocket-info/remote_launch",
|
||||
"command/toggle-friendly-fire",
|
||||
"command/toggle-always-day",
|
||||
"fast-tree-decon",
|
||||
}
|
||||
|
||||
Roles.new_role('Trainee','TrMod')
|
||||
:set_permission_group('Admin')
|
||||
:set_custom_color{r=0,g=170,b=0}
|
||||
:set_flag('is_admin')
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_parent('Veteran')
|
||||
:allow{
|
||||
'command/admin-chat',
|
||||
'command/admin-marker',
|
||||
'command/goto',
|
||||
'command/teleport',
|
||||
'command/bring',
|
||||
'command/give-warning',
|
||||
'command/get-warnings',
|
||||
'command/get-reports',
|
||||
'command/protect-entity',
|
||||
'command/protect-area',
|
||||
'command/jail',
|
||||
'command/unjail',
|
||||
'command/kick',
|
||||
'command/ban',
|
||||
'command/spectate',
|
||||
'command/follow',
|
||||
'command/search',
|
||||
'command/search-amount',
|
||||
'command/search-recent',
|
||||
'command/search-online',
|
||||
'command/personal-battery-recharge',
|
||||
'command/pollution-off',
|
||||
'command/pollution-clear',
|
||||
'command/bot-queue-get',
|
||||
'command/bot-queue-set',
|
||||
'command/game-speed',
|
||||
'command/kill-biters',
|
||||
'command/remove-biters',
|
||||
'gui/playerdata'
|
||||
}
|
||||
Roles.new_role("Trainee", "TrMod")
|
||||
:set_permission_group("Admin")
|
||||
:set_custom_color{ r = 0, g = 170, b = 0 }
|
||||
:set_flag("is_admin")
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_parent("Veteran")
|
||||
:allow{
|
||||
"command/admin-chat",
|
||||
"command/admin-marker",
|
||||
"command/goto",
|
||||
"command/teleport",
|
||||
"command/bring",
|
||||
"command/give-warning",
|
||||
"command/get-warnings",
|
||||
"command/get-reports",
|
||||
"command/protect-entity",
|
||||
"command/protect-area",
|
||||
"command/jail",
|
||||
"command/unjail",
|
||||
"command/kick",
|
||||
"command/ban",
|
||||
"command/spectate",
|
||||
"command/follow",
|
||||
"command/search",
|
||||
"command/search-amount",
|
||||
"command/search-recent",
|
||||
"command/search-online",
|
||||
"command/personal-battery-recharge",
|
||||
"command/pollution-off",
|
||||
"command/pollution-clear",
|
||||
"command/bot-queue-get",
|
||||
"command/bot-queue-set",
|
||||
"command/game-speed",
|
||||
"command/kill-biters",
|
||||
"command/remove-biters",
|
||||
"gui/playerdata",
|
||||
}
|
||||
|
||||
--- Trusted Roles
|
||||
Roles.new_role('Board Member','Board')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=247,g=246,b=54}
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_parent('Sponsor')
|
||||
:allow{
|
||||
'command/goto',
|
||||
'command/repair',
|
||||
'command/spectate',
|
||||
'command/follow',
|
||||
'gui/playerdata'
|
||||
}
|
||||
Roles.new_role("Board Member", "Board")
|
||||
:set_permission_group("Trusted")
|
||||
:set_custom_color{ r = 247, g = 246, b = 54 }
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_parent("Sponsor")
|
||||
:allow{
|
||||
"command/goto",
|
||||
"command/repair",
|
||||
"command/spectate",
|
||||
"command/follow",
|
||||
"gui/playerdata",
|
||||
}
|
||||
|
||||
Roles.new_role('Senior Backer','Backer')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=238,g=172,b=44}
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_parent('Sponsor')
|
||||
:allow{
|
||||
}
|
||||
Roles.new_role("Senior Backer", "Backer")
|
||||
:set_permission_group("Trusted")
|
||||
:set_custom_color{ r = 238, g = 172, b = 44 }
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_parent("Sponsor")
|
||||
:allow{
|
||||
}
|
||||
|
||||
Roles.new_role('Sponsor','Spon')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=238,g=172,b=44}
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_flag('instant-respawn')
|
||||
:set_parent('Supporter')
|
||||
:allow{
|
||||
'gui/rocket-info/toggle-active',
|
||||
'gui/rocket-info/remote_launch',
|
||||
-- 'command/bonus',
|
||||
'gui/bonus',
|
||||
'command/home',
|
||||
'command/home-set',
|
||||
'command/home-get',
|
||||
'command/return',
|
||||
'fast-tree-decon'
|
||||
}
|
||||
Roles.new_role("Sponsor", "Spon")
|
||||
:set_permission_group("Trusted")
|
||||
:set_custom_color{ r = 238, g = 172, b = 44 }
|
||||
:set_flag("is_spectator")
|
||||
:set_flag("report-immune")
|
||||
:set_flag("instant-respawn")
|
||||
:set_parent("Supporter")
|
||||
:allow{
|
||||
"gui/rocket-info/toggle-active",
|
||||
"gui/rocket-info/remote_launch",
|
||||
-- 'command/bonus',
|
||||
"gui/bonus",
|
||||
"command/home",
|
||||
"command/home-set",
|
||||
"command/home-get",
|
||||
"command/return",
|
||||
"fast-tree-decon",
|
||||
}
|
||||
|
||||
Roles.new_role('Supporter','Sup')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=230,g=99,b=34}
|
||||
:set_flag('is_spectator')
|
||||
:set_parent('Veteran')
|
||||
:allow{
|
||||
'command/tag-color',
|
||||
'command/jail',
|
||||
'command/unjail',
|
||||
'command/join-message',
|
||||
'command/join-message-clear'
|
||||
}
|
||||
Roles.new_role("Supporter", "Sup")
|
||||
:set_permission_group("Trusted")
|
||||
:set_custom_color{ r = 230, g = 99, b = 34 }
|
||||
:set_flag("is_spectator")
|
||||
:set_parent("Veteran")
|
||||
:allow{
|
||||
"command/tag-color",
|
||||
"command/jail",
|
||||
"command/unjail",
|
||||
"command/join-message",
|
||||
"command/join-message-clear",
|
||||
}
|
||||
|
||||
Roles.new_role('Partner','Part')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=140,g=120,b=200}
|
||||
:set_flag('is_spectator')
|
||||
:set_parent('Veteran')
|
||||
:allow{
|
||||
'command/jail',
|
||||
'command/unjail'
|
||||
}
|
||||
Roles.new_role("Partner", "Part")
|
||||
:set_permission_group("Trusted")
|
||||
:set_custom_color{ r = 140, g = 120, b = 200 }
|
||||
:set_flag("is_spectator")
|
||||
:set_parent("Veteran")
|
||||
:allow{
|
||||
"command/jail",
|
||||
"command/unjail",
|
||||
}
|
||||
|
||||
local hours10, hours250 = 10*216000, 250*60
|
||||
Roles.new_role('Veteran','Vet')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=140,g=120,b=200}
|
||||
:set_parent('Member')
|
||||
:allow{
|
||||
'command/chat-bot',
|
||||
'command/last-location'
|
||||
}
|
||||
:set_auto_assign_condition(function(player)
|
||||
if player.online_time >= hours10 then
|
||||
return true
|
||||
else
|
||||
local stats = Statistics:get(player, {})
|
||||
local playTime, afkTime, mapCount = stats.Playtime or 0, stats.AfkTime or 0, stats.MapsPlayed or 0
|
||||
return playTime - afkTime >= hours250 and mapCount >= 25
|
||||
end
|
||||
end)
|
||||
local hours10, hours250 = 10 * 216000, 250 * 60
|
||||
Roles.new_role("Veteran", "Vet")
|
||||
:set_permission_group("Trusted")
|
||||
:set_custom_color{ r = 140, g = 120, b = 200 }
|
||||
:set_parent("Member")
|
||||
:allow{
|
||||
"command/chat-bot",
|
||||
"command/last-location",
|
||||
}
|
||||
:set_auto_assign_condition(function(player)
|
||||
if player.online_time >= hours10 then
|
||||
return true
|
||||
else
|
||||
local stats = Statistics:get(player, {})
|
||||
local playTime, afkTime, mapCount = stats.Playtime or 0, stats.AfkTime or 0, stats.MapsPlayed or 0
|
||||
return playTime - afkTime >= hours250 and mapCount >= 25
|
||||
end
|
||||
end)
|
||||
|
||||
--- Standard User Roles
|
||||
Roles.new_role('Member','Mem')
|
||||
:set_permission_group('Standard')
|
||||
:set_custom_color{r=24,g=172,b=188}
|
||||
:set_flag('deconlog-bypass')
|
||||
:set_parent('Regular')
|
||||
:allow{
|
||||
'gui/task-list/add',
|
||||
'gui/task-list/edit',
|
||||
'gui/warp-list/add',
|
||||
'gui/warp-list/edit',
|
||||
'command/save-quickbar',
|
||||
'gui/vlayer-edit',
|
||||
'command/vlayer-info',
|
||||
'command/personal-logistic',
|
||||
'command/auto-research',
|
||||
'command/set-trains-to-automatic',
|
||||
'command/lawnmower',
|
||||
'command/waterfill',
|
||||
'command/artillery-target-remote',
|
||||
'command/clear-item-on-ground',
|
||||
'command/clear-blueprint',
|
||||
'gui/surveillance'
|
||||
}
|
||||
Roles.new_role("Member", "Mem")
|
||||
:set_permission_group("Standard")
|
||||
:set_custom_color{ r = 24, g = 172, b = 188 }
|
||||
:set_flag("deconlog-bypass")
|
||||
:set_parent("Regular")
|
||||
:allow{
|
||||
"gui/task-list/add",
|
||||
"gui/task-list/edit",
|
||||
"gui/warp-list/add",
|
||||
"gui/warp-list/edit",
|
||||
"command/save-quickbar",
|
||||
"gui/vlayer-edit",
|
||||
"command/vlayer-info",
|
||||
"command/personal-logistic",
|
||||
"command/auto-research",
|
||||
"command/set-trains-to-automatic",
|
||||
"command/lawnmower",
|
||||
"command/waterfill",
|
||||
"command/artillery-target-remote",
|
||||
"command/clear-item-on-ground",
|
||||
"command/clear-blueprint",
|
||||
"gui/surveillance",
|
||||
}
|
||||
|
||||
local hours3, hours15 = 3*216000, 15*60
|
||||
Roles.new_role('Regular','Reg')
|
||||
:set_permission_group('Standard')
|
||||
:set_custom_color{r=79,g=155,b=163}
|
||||
:set_parent('Guest')
|
||||
:allow{
|
||||
'command/kill',
|
||||
'command/rainbow',
|
||||
'command/go-to-spawn',
|
||||
'command/me',
|
||||
'standard-decon',
|
||||
'bypass-entity-protection',
|
||||
'bypass-nukeprotect'
|
||||
}
|
||||
:set_auto_assign_condition(function(player)
|
||||
if player.online_time >= hours3 then
|
||||
return true
|
||||
else
|
||||
local stats = Statistics:get(player, {})
|
||||
local playTime, afkTime, mapCount = stats.Playtime or 0, stats.AfkTime or 0, stats.MapsPlayed or 0
|
||||
return playTime - afkTime >= hours15 and mapCount >= 5
|
||||
end
|
||||
end)
|
||||
local hours3, hours15 = 3 * 216000, 15 * 60
|
||||
Roles.new_role("Regular", "Reg")
|
||||
:set_permission_group("Standard")
|
||||
:set_custom_color{ r = 79, g = 155, b = 163 }
|
||||
:set_parent("Guest")
|
||||
:allow{
|
||||
"command/kill",
|
||||
"command/rainbow",
|
||||
"command/go-to-spawn",
|
||||
"command/me",
|
||||
"standard-decon",
|
||||
"bypass-entity-protection",
|
||||
"bypass-nukeprotect",
|
||||
}
|
||||
:set_auto_assign_condition(function(player)
|
||||
if player.online_time >= hours3 then
|
||||
return true
|
||||
else
|
||||
local stats = Statistics:get(player, {})
|
||||
local playTime, afkTime, mapCount = stats.Playtime or 0, stats.AfkTime or 0, stats.MapsPlayed or 0
|
||||
return playTime - afkTime >= hours15 and mapCount >= 5
|
||||
end
|
||||
end)
|
||||
|
||||
--- Guest/Default role
|
||||
local default = Roles.new_role('Guest','')
|
||||
:set_permission_group('Guest')
|
||||
:set_custom_color{r=185,g=187,b=160}
|
||||
:allow{
|
||||
'command/tag',
|
||||
'command/tag-clear',
|
||||
'command/search-help',
|
||||
'command/list-roles',
|
||||
'command/find-on-map',
|
||||
'command/report',
|
||||
'command/ratio',
|
||||
'command/server-ups',
|
||||
'command/save-data',
|
||||
'command/preference',
|
||||
'command/set-preference',
|
||||
'command/connect',
|
||||
'gui/player-list',
|
||||
'gui/rocket-info',
|
||||
'gui/science-info',
|
||||
'gui/task-list',
|
||||
'gui/warp-list',
|
||||
'gui/readme',
|
||||
'gui/vlayer',
|
||||
'gui/research',
|
||||
'gui/autofill',
|
||||
'gui/module',
|
||||
'gui/landfill',
|
||||
'gui/production'
|
||||
}
|
||||
local default = Roles.new_role("Guest", "")
|
||||
:set_permission_group("Guest")
|
||||
:set_custom_color{ r = 185, g = 187, b = 160 }
|
||||
:allow{
|
||||
"command/tag",
|
||||
"command/tag-clear",
|
||||
"command/search-help",
|
||||
"command/list-roles",
|
||||
"command/find-on-map",
|
||||
"command/report",
|
||||
"command/ratio",
|
||||
"command/server-ups",
|
||||
"command/save-data",
|
||||
"command/preference",
|
||||
"command/set-preference",
|
||||
"command/connect",
|
||||
"gui/player-list",
|
||||
"gui/rocket-info",
|
||||
"gui/science-info",
|
||||
"gui/task-list",
|
||||
"gui/warp-list",
|
||||
"gui/readme",
|
||||
"gui/vlayer",
|
||||
"gui/research",
|
||||
"gui/autofill",
|
||||
"gui/module",
|
||||
"gui/landfill",
|
||||
"gui/production",
|
||||
}
|
||||
|
||||
--- Jail role
|
||||
Roles.new_role('Jail')
|
||||
:set_permission_group('Restricted')
|
||||
:set_custom_color{r=50,g=50,b=50}
|
||||
:set_block_auto_assign(true)
|
||||
:set_flag('defer_role_changes')
|
||||
:disallow(default.allowed)
|
||||
Roles.new_role("Jail")
|
||||
:set_permission_group("Restricted")
|
||||
:set_custom_color{ r = 50, g = 50, b = 50 }
|
||||
:set_block_auto_assign(true)
|
||||
:set_flag("defer_role_changes")
|
||||
:disallow(default.allowed)
|
||||
|
||||
--- System defaults which are required to be set
|
||||
Roles.set_root('System')
|
||||
Roles.set_default('Guest')
|
||||
Roles.set_root("System")
|
||||
Roles.set_default("Guest")
|
||||
|
||||
Roles.define_role_order{
|
||||
'System', -- Best to keep root at top
|
||||
'Senior Administrator',
|
||||
'Administrator',
|
||||
'Moderator',
|
||||
'Trainee',
|
||||
'Board Member',
|
||||
'Senior Backer',
|
||||
'Sponsor',
|
||||
'Supporter',
|
||||
'Partner',
|
||||
'Veteran',
|
||||
'Member',
|
||||
'Regular',
|
||||
'Jail',
|
||||
'Guest' -- Default must be last if you want to apply restrictions to other roles
|
||||
"System", -- Best to keep root at top
|
||||
"Senior Administrator",
|
||||
"Administrator",
|
||||
"Moderator",
|
||||
"Trainee",
|
||||
"Board Member",
|
||||
"Senior Backer",
|
||||
"Sponsor",
|
||||
"Supporter",
|
||||
"Partner",
|
||||
"Veteran",
|
||||
"Member",
|
||||
"Regular",
|
||||
"Jail",
|
||||
"Guest", -- Default must be last if you want to apply restrictions to other roles
|
||||
}
|
||||
|
||||
Roles.override_player_roles{
|
||||
['PHIDIAS0303']={'Moderator', 'Board Member', 'Member'},
|
||||
['aldldl']={'Administrator', 'Moderator','Member'},
|
||||
['arty714']={'Senior Administrator', 'Moderator', 'Member'},
|
||||
['Cooldude2606']={'Senior Administrator', 'Moderator', 'Member'},
|
||||
['Drahc_pro']={'Administrator', 'Moderator', 'Member'},
|
||||
['mark9064']={'Administrator', 'Moderator','Member'},
|
||||
['7h3w1z4rd']={'Moderator','Member'},
|
||||
['FlipHalfling90']={'Moderator','Member'},
|
||||
['hamsterbryan']={'Moderator','Member'},
|
||||
['HunterOfGames']={'Moderator','Member'},
|
||||
['NextIdea']={'Moderator','Member'},
|
||||
['TheKernel32']={'Moderator','Member'},
|
||||
['TheKernel64']={'Moderator','Member'},
|
||||
['tovernaar123']={'Moderator','Member'},
|
||||
['UUBlueFire']={'Moderator','Member'},
|
||||
['AssemblyStorm']={'Moderator', 'Member'},
|
||||
['banakeg']={'Moderator','Member'},
|
||||
['connormkii']={'Moderator', 'Member'},
|
||||
['cydes']={'Moderator','Member'},
|
||||
['darklich14']={'Moderator','Member'},
|
||||
['facere']={'Moderator','Member'},
|
||||
['freek18']={'Moderator','Member'},
|
||||
['Gizan']={'Moderator','Member'},
|
||||
['LoicB']={'Moderator','Member'},
|
||||
['M74132']={'Moderator','Member'},
|
||||
['mafisch3']={'Moderator','Member'},
|
||||
['maplesyrup01']={'Moderator','Member'},
|
||||
['ookl']={'Moderator','Member'},
|
||||
['Phoenix27833']={'Moderator','Member'},
|
||||
['porelos']={'Moderator','Member'},
|
||||
['Ruuyji']={'Moderator','Member'},
|
||||
['samy115']={'Moderator','Member'},
|
||||
['SilentLog']={'Moderator','Member'},
|
||||
['Tcheko']={'Moderator','Member'},
|
||||
['thadius856']={'Moderator','Member'},
|
||||
['whoami32']={'Moderator','Member'},
|
||||
['Windbomb']={'Moderator','Member'},
|
||||
['XenoCyber']={'Moderator','Member'}
|
||||
["PHIDIAS0303"] = { "Moderator", "Board Member", "Member" },
|
||||
["aldldl"] = { "Administrator", "Moderator", "Member" },
|
||||
["arty714"] = { "Senior Administrator", "Moderator", "Member" },
|
||||
["Cooldude2606"] = { "Senior Administrator", "Moderator", "Member" },
|
||||
["Drahc_pro"] = { "Administrator", "Moderator", "Member" },
|
||||
["mark9064"] = { "Administrator", "Moderator", "Member" },
|
||||
["7h3w1z4rd"] = { "Moderator", "Member" },
|
||||
["FlipHalfling90"] = { "Moderator", "Member" },
|
||||
["hamsterbryan"] = { "Moderator", "Member" },
|
||||
["HunterOfGames"] = { "Moderator", "Member" },
|
||||
["NextIdea"] = { "Moderator", "Member" },
|
||||
["TheKernel32"] = { "Moderator", "Member" },
|
||||
["TheKernel64"] = { "Moderator", "Member" },
|
||||
["tovernaar123"] = { "Moderator", "Member" },
|
||||
["UUBlueFire"] = { "Moderator", "Member" },
|
||||
["AssemblyStorm"] = { "Moderator", "Member" },
|
||||
["banakeg"] = { "Moderator", "Member" },
|
||||
["connormkii"] = { "Moderator", "Member" },
|
||||
["cydes"] = { "Moderator", "Member" },
|
||||
["darklich14"] = { "Moderator", "Member" },
|
||||
["facere"] = { "Moderator", "Member" },
|
||||
["freek18"] = { "Moderator", "Member" },
|
||||
["Gizan"] = { "Moderator", "Member" },
|
||||
["LoicB"] = { "Moderator", "Member" },
|
||||
["M74132"] = { "Moderator", "Member" },
|
||||
["mafisch3"] = { "Moderator", "Member" },
|
||||
["maplesyrup01"] = { "Moderator", "Member" },
|
||||
["ookl"] = { "Moderator", "Member" },
|
||||
["Phoenix27833"] = { "Moderator", "Member" },
|
||||
["porelos"] = { "Moderator", "Member" },
|
||||
["Ruuyji"] = { "Moderator", "Member" },
|
||||
["samy115"] = { "Moderator", "Member" },
|
||||
["SilentLog"] = { "Moderator", "Member" },
|
||||
["Tcheko"] = { "Moderator", "Member" },
|
||||
["thadius856"] = { "Moderator", "Member" },
|
||||
["whoami32"] = { "Moderator", "Member" },
|
||||
["Windbomb"] = { "Moderator", "Member" },
|
||||
["XenoCyber"] = { "Moderator", "Member" },
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user