Added optional permission check for settings

This commit is contained in:
Cooldude2606
2020-06-03 00:36:56 +01:00
parent 3f2382d2ac
commit 1c6ea05f5b
6 changed files with 15 additions and 4 deletions

View File

@@ -14,6 +14,7 @@ local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local PlayerBonus = PlayerData.Settings:combine('Bonus')
PlayerBonus:set_default(0)
PlayerBonus:set_metadata{
permission = 'command/bonus',
stringify = function(value)
if not value or value == 0 then return 'None set' end
return (value*100)..'%'

View File

@@ -8,6 +8,9 @@ require 'config.expcore.command_general_parse'
--- Stores the join message that the player have
local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local CustomMessages = PlayerData.Settings:combine('JoinMessage')
CustomMessages:set_metadata{
permission = 'command/join-message'
}
--- When a players data loads show their message
CustomMessages:on_load(function(player_name, player_message)

View File

@@ -10,6 +10,7 @@ local config = require 'config.preset_player_quickbar' --- @dep config.preset_pl
local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local PlayerFilters = PlayerData.Settings:combine('QuickbarFilters')
PlayerFilters:set_metadata{
permission = 'command/save-quickbar',
stringify = function(value)
if not value then return 'No filters set' end
local count = 0

View File

@@ -11,6 +11,9 @@ require 'config.expcore.command_role_parse'
--- Stores the tag for a player
local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local PlayerTags = PlayerData.Settings:combine('Tag')
PlayerTags:set_metadata{
permission = 'command/tag'
}
--- When your tag is updated then apply the changes
PlayerTags:on_update(function(player_name, player_tag)

View File

@@ -302,10 +302,12 @@ Gui.element(function(_, parent)
for name, child in pairs(PlayerData.Settings.children) do
local metadata = child.metadata
local value = child:get(player_name)
if metadata.stringify then value = metadata.stringify(value) end
if value == nil then value = 'None set' end
Gui.centered_label(settings, 150, metadata.name or {'exp-settings.'..name}, metadata.tooltip or {'exp-settings.'..name..'-tooltip'})
Gui.centered_label(settings, 420, tostring(value), metadata.value_tooltip or {'exp-settings.'..name..'-value-tooltip'})
if not metadata.permission or Roles.player_allowed(player, metadata.permission) then
if metadata.stringify then value = metadata.stringify(value) end
if value == nil then value = 'None set' end
Gui.centered_label(settings, 150, metadata.name or {'exp-settings.'..name}, metadata.tooltip or {'exp-settings.'..name..'-tooltip'})
Gui.centered_label(settings, 420, tostring(value), metadata.value_tooltip or {'exp-settings.'..name..'-value-tooltip'})
end
end
end

View File

@@ -13,6 +13,7 @@ local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data
local UsesServerUps = PlayerData.Settings:combine('UsesServerUps')
UsesServerUps:set_default(false)
UsesServerUps:set_metadata{
permission = 'command/server-ups',
stringify = function(value) return value and 'Visible' or 'Hidden' end
}