mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-27 11:35:22 +09:00
Updated to new roles
This commit is contained in:
111
config/roles.lua
111
config/roles.lua
@@ -100,7 +100,7 @@ Roles.new_role('Trainee','TrMod')
|
||||
:set_flag('is_admin')
|
||||
:set_flag('is_spectator')
|
||||
:set_flag('report-immune')
|
||||
:set_parent('Donator')
|
||||
:set_parent('Veteran')
|
||||
:allow{
|
||||
'command/admin-chat',
|
||||
'command/teleport',
|
||||
@@ -110,28 +110,42 @@ Roles.new_role('Trainee','TrMod')
|
||||
'command/give-warning',
|
||||
'command/get-warnings',
|
||||
'command/get-reports',
|
||||
'command/jail',
|
||||
'command/unjail',
|
||||
'command/kick',
|
||||
'command/ban',
|
||||
}
|
||||
|
||||
--- Trusted Roles
|
||||
Roles.new_role('Sponsor','Spon')
|
||||
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('instance-respawn')
|
||||
:set_parent('Pay to Win')
|
||||
:set_parent('Sponsor')
|
||||
:allow{
|
||||
'command/goto',
|
||||
'command/repair',
|
||||
}
|
||||
|
||||
Roles.new_role('Pay to Win','P2W')
|
||||
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('instance-respawn')
|
||||
:set_parent('Donator')
|
||||
: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('instance-respawn')
|
||||
:set_parent('Supporter')
|
||||
:allow{
|
||||
'gui/rocket-info/toggle-active',
|
||||
'gui/rocket-info/remote_launch',
|
||||
@@ -143,7 +157,7 @@ Roles.new_role('Pay to Win','P2W')
|
||||
'fast-tree-decon',
|
||||
}
|
||||
|
||||
Roles.new_role('Donator','Don')
|
||||
Roles.new_role('Supporter','Sup')
|
||||
:set_permission_group('Trusted')
|
||||
:set_custom_color{r=230,g=99,b=34}
|
||||
:set_flag('is_spectator')
|
||||
@@ -242,9 +256,10 @@ Roles.define_role_order{
|
||||
'Administrator',
|
||||
'Moderator',
|
||||
'Trainee',
|
||||
'Board Member',
|
||||
'Senior Backer',
|
||||
'Sponsor',
|
||||
'Pay to Win',
|
||||
'Donator',
|
||||
'Supporter',
|
||||
'Partner',
|
||||
'Veteran',
|
||||
'Member',
|
||||
@@ -254,44 +269,44 @@ Roles.define_role_order{
|
||||
}
|
||||
|
||||
Roles.override_player_roles{
|
||||
Cooldude2606={'Senior Administrator','Administrator','Moderator','Member'},
|
||||
arty714={'Senior Administrator','Administrator','Moderator','Member'},
|
||||
mark9064={'Administrator','Moderator','Member'},
|
||||
Drahc_pro={'Administrator','Moderator','Member'},
|
||||
aldldl={'Sponsor','Administrator','Moderator','Member'},
|
||||
LoicB={'Sponsor','Trainee','Member'},
|
||||
ookl={'Sponsor','Moderator','Member'},
|
||||
cydes={'Pay to Win','Moderator','Member'},
|
||||
darklich14={'Pay to Win','Moderator','Member'},
|
||||
porelos={'Pay to Win','Moderator','Member'},
|
||||
SilentLog={'Pay to Win','Moderator','Member'},
|
||||
UUBlueFire={'Pay to Win','Moderator','Member'},
|
||||
XenoCyber={'Pay to Win','Moderator','Member'},
|
||||
Chromaddict={'Donator','Moderator','Member'},
|
||||
eissturm={'Donator','Moderator','Member'},
|
||||
freek18={'Donator','Moderator','Member'},
|
||||
M74132={'Donator','Moderator','Member'},
|
||||
thadius856={'Donator','Moderator','Member'},
|
||||
['7h3w1z4rd']={'Moderator','Member'},
|
||||
AssemblyStorm={'Moderator','Member'},
|
||||
bombershark={'Moderator','Member'},
|
||||
CmonMate497={'Moderator','Member'},
|
||||
facere={'Moderator','Member'},
|
||||
FlipHalfling90={'Moderator','Member'},
|
||||
Gizan={'Pay to Win','Moderator','Member'},
|
||||
Hobbitkicker={'Moderator','Member'},
|
||||
jessi_gaming={'Trainee','Member'},
|
||||
Koroto={'Moderator','Member'},
|
||||
mafisch3={'Moderator','Member'},
|
||||
maplesyrup01={'Moderator','Member'},
|
||||
NextIdea={'Moderator','Member'},
|
||||
Phoenix27833={'Moderator','Member'},
|
||||
Rezz={'Moderator','Member'},
|
||||
Ruuyji={'Moderator','Member'},
|
||||
samy115={'Moderator','Member'},
|
||||
scarbvis={'Moderator','Member'},
|
||||
Tcheko={'Moderator','Member'},
|
||||
WhomstThouAmMe={'Moderator','Member'},
|
||||
Windbomb={'Moderator','Member'},
|
||||
tovernaar123={'Member'},
|
||||
["Cooldude2606"]={"Senior Administrator","Moderator","Senior Backer","Supporter"},
|
||||
["arty714"]={"Senior Administrator","Senior Backer","Supporter"},
|
||||
["Drahc_pro"]={"Administrator","Moderator","Veteran","Member"},
|
||||
["mark9064"]={"Administrator","Moderator","Member"},
|
||||
["aldldl"]={"Administrator","Moderator","Senior Backer","Sponsor","Supporter","Member"},
|
||||
|
||||
["ookl"]={"Moderator","Senior Backer","Sponsor","Supporter","Partner","Member"},
|
||||
["hamsterbryan"]={"Moderator","Senior Backer","Supporter","Member"},
|
||||
["M74132"]={"Moderator","Senior Backer","Sponsor","Supporter","Member"},
|
||||
["LoicB"]={"Moderator","Senior Backer","Supporter","Veteran","Member"},
|
||||
["UUBlueFire"]={"Moderator","Senior Backer","Supporter","Member"},
|
||||
|
||||
["thadius856"]={"Moderator","Supporter","Member"},
|
||||
["XenoCyber"]={"Moderator","Supporter","Partner","Member"},
|
||||
["cydes"]={"Moderator","Supporter","Member"},
|
||||
["darklich14"]={"Moderator","Supporter","Member"},
|
||||
["SilentLog"]={"Moderator","Supporter","Member"},
|
||||
["freek18"]={"Moderator","Supporter","Member"},
|
||||
["porelos"]={"Moderator","Supporter","Member"},
|
||||
|
||||
["7h3w1z4rd"]={"Moderator","Member"},
|
||||
["Windbomb"]={"Moderator","Member"},
|
||||
["Phoenix27833"]={"Moderator","Member"},
|
||||
["banakeg"]={"Moderator","Member"},
|
||||
["maplesyrup01"]={"Moderator","Member"},
|
||||
["FlipHalfling90"]={"Moderator","Member"},
|
||||
["Ruuyji"]={"Moderator","Member"},
|
||||
["Gizan"]={"Moderator"},
|
||||
["samy115"]={"Moderator","Member"},
|
||||
["Hobbitkicker"]={"Moderator","Member"},
|
||||
["facere"]={"Moderator","Member"},
|
||||
["whoami32"]={"Moderator","Member"},
|
||||
["NextIdea"]={"Moderator","Member"},
|
||||
["mafisch3"]={"Moderator","Member"},
|
||||
["Tcheko"]={"Moderator","Member"},
|
||||
["AssemblyStorm"]={"Moderator","Veteran","Member"},
|
||||
["connormkii"]={"Moderator","Veteran","Member"},
|
||||
["Koroto"]={"Moderator","Veteran","Member"},
|
||||
["scarbvis"]={"Moderator","Member"},
|
||||
["CmonMate497"]={"Moderator","Member"}
|
||||
}
|
||||
|
||||
@@ -318,29 +318,34 @@ end
|
||||
-- @tparam LuaPlayer player the player that will be assigned the roles
|
||||
-- @tparam table roles table a of roles that the player will be given, can be one role and can be role names
|
||||
-- @tparam[opt=<server>] string by_player_name the name of the player that will be shown in the log
|
||||
-- @tparam[opt=false] boolean skip_checks when true there will be no checks are done for if the player is valid
|
||||
-- @tparam[opt=false] boolean silent when true there will be no game message printed
|
||||
function Roles.assign_player(player,roles,by_player_name,silent)
|
||||
player = Game.get_player_from_any(player)
|
||||
if not player then return end
|
||||
function Roles.assign_player(player,roles,by_player_name,skip_checks,silent)
|
||||
local valid_player = Game.get_player_from_any(player)
|
||||
if not skip_checks and not valid_player then return end
|
||||
if type(roles) ~= 'table' or roles.name then
|
||||
roles = {roles}
|
||||
end
|
||||
for _,role in pairs(roles) do
|
||||
role = Roles.get_role_from_any(role)
|
||||
if role then
|
||||
role:add_player(player,false,true)
|
||||
role:add_player(valid_player or player, valid_player == nil, true)
|
||||
end
|
||||
end
|
||||
emit_player_roles_updated(player,'assign',roles,by_player_name,silent)
|
||||
if valid_player then
|
||||
emit_player_roles_updated(valid_player, 'assign', roles, by_player_name, silent)
|
||||
end
|
||||
end
|
||||
|
||||
--- Removes a player from the given role(s) with an option to pass a by player name used in the log
|
||||
-- @tparam LuaPlayer player the player that will have the roles removed
|
||||
-- @tparam table roles table a of roles to be removed from the player, can be one role and can be role names
|
||||
-- @tparam[opt=<server>] string by_player_name the name of the player that will be shown in the logs
|
||||
-- @tparam[opt=false] boolean skip_checks when true there will be no checks are done for if the player is valid
|
||||
-- @tparam[opt=false] boolean silent when true there will be no game message printed
|
||||
function Roles.unassign_player(player,roles,by_player_name,silent)
|
||||
player = Game.get_player_from_any(player)
|
||||
function Roles.unassign_player(player,roles,by_player_name,skip_checks,silent)
|
||||
local valid_player = Game.get_player_from_any(player)
|
||||
if not skip_checks and not valid_player then return end
|
||||
if not player then return end
|
||||
if type(roles) ~= 'table' or roles.name then
|
||||
roles = {roles}
|
||||
@@ -348,10 +353,12 @@ function Roles.unassign_player(player,roles,by_player_name,silent)
|
||||
for _,role in pairs(roles) do
|
||||
role = Roles.get_role_from_any(role)
|
||||
if role then
|
||||
role:remove_player(player,false,true)
|
||||
role:remove_player(valid_player or player, valid_player == nil, true)
|
||||
end
|
||||
end
|
||||
emit_player_roles_updated(player,'unassign',roles,by_player_name,silent)
|
||||
if valid_player then
|
||||
emit_player_roles_updated(valid_player, 'unassign', roles, by_player_name, silent)
|
||||
end
|
||||
end
|
||||
|
||||
--- Overrides all player roles with the given table of roles, useful to mass set roles on game start
|
||||
@@ -419,16 +426,28 @@ end
|
||||
function Roles.define_role_order(order)
|
||||
-- Clears and then rebuilds the order table
|
||||
Roles.config.order = {}
|
||||
local done = {}
|
||||
for _,role in ipairs(order) do
|
||||
if type(role) == 'table' and role.name then
|
||||
done[role.name] = true
|
||||
table.insert(Roles.config.order,role.name)
|
||||
else
|
||||
done[role] = true
|
||||
table.insert(Roles.config.order,role)
|
||||
end
|
||||
end
|
||||
-- Check no roles were missed
|
||||
for role_name,_ in pairs(Role.config.roles) do
|
||||
if not done[role_name] then
|
||||
error('Role missing '..role_name..' from role order, all defined roles must be included.',2)
|
||||
end
|
||||
end
|
||||
-- Re-links roles to they parents as this is called at the end of the config
|
||||
for index,role in pairs(Roles.config.order) do
|
||||
role = Roles.config.roles[role]
|
||||
for index,role_name in pairs(Roles.config.order) do
|
||||
local role = Roles.config.roles[role_name]
|
||||
if not role then
|
||||
error('Role with name '..role_name..' has not beed defined, either define it or remove it from the order list.',2)
|
||||
end
|
||||
role.index = index
|
||||
local parent = Roles.config.roles[role.parent]
|
||||
if parent then
|
||||
|
||||
@@ -205,20 +205,22 @@ Gui.element(function(_,parent)
|
||||
-- Find which players will go where
|
||||
local done = {}
|
||||
local groups = {
|
||||
Administrator = { _title={'readme.backers-management'}, _width=230 },
|
||||
Sponsor = { _title={'readme.backers-board'}, _width=145 }, -- change role to board
|
||||
Donator = { _title={'readme.backers-backers'}, _width=196 }, -- change to backer
|
||||
Moderator = { _title={'readme.backers-staff'}, _width=235 },
|
||||
Active = { _title={'readme.backers-active'}, _width=235 },
|
||||
{ _roles={'Senior Administrator','Administrator'}, _title={'readme.backers-management'}, _width=230 },
|
||||
{ _roles={'Board Member','Senior Backer'}, _title={'readme.backers-board'}, _width=145 }, -- change role to board
|
||||
{ _roles={'Sponsor','Supporter'}, _title={'readme.backers-backers'}, _width=196 }, -- change to backer
|
||||
{ _roles={'Moderator','Trainee'}, _title={'readme.backers-staff'}, _width=235 },
|
||||
{ _roles={}, _title={'readme.backers-active'}, _width=235 },
|
||||
}
|
||||
|
||||
-- Fill by player roles
|
||||
for player_name, player_roles in pairs(Roles.config.players) do
|
||||
for role_name, players in pairs(groups) do
|
||||
if table.contains(player_roles, role_name) then
|
||||
done[player_name] = true
|
||||
table.insert(players,player_name)
|
||||
break
|
||||
for _, players in ipairs(groups) do
|
||||
for _, role_name in pairs(players._roles) do
|
||||
if table.contains(player_roles, role_name) then
|
||||
done[player_name] = true
|
||||
table.insert(players,player_name)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -235,7 +237,7 @@ Gui.element(function(_,parent)
|
||||
|
||||
-- Add the different tables
|
||||
local scroll_pane = title_table_scroll(container)
|
||||
for _, players in pairs(groups) do
|
||||
for _, players in ipairs(groups) do
|
||||
local table = title_table(scroll_pane, players._width, players._title, 4)
|
||||
for _,player_name in ipairs(players) do
|
||||
Gui.centered_label(table, 140, player_name)
|
||||
|
||||
Reference in New Issue
Block a user