137 lines
3.2 KiB
Lua
137 lines
3.2 KiB
Lua
-- These are the default settings. Don't mind changing these.
|
|
FPP = FPP or {}
|
|
|
|
-- Don't reset the settings when they're already there
|
|
if FPP.Settings then
|
|
return
|
|
end
|
|
|
|
FPP.Settings = {}
|
|
FPP.Settings.FPP_PHYSGUN1 = {
|
|
toggle = 1,
|
|
adminall = 1,
|
|
worldprops = 0,
|
|
adminworldprops = 1,
|
|
canblocked = 0,
|
|
admincanblocked = 0,
|
|
shownocross = 1,
|
|
checkconstrained = 1,
|
|
reloadprotection = 1,
|
|
iswhitelist = 0}
|
|
FPP.Settings.FPP_GRAVGUN1 = {
|
|
toggle = 1,
|
|
adminall = 1,
|
|
worldprops = 1,
|
|
adminworldprops = 1,
|
|
canblocked = 0,
|
|
admincanblocked = 0,
|
|
shownocross = 1,
|
|
checkconstrained = 1,
|
|
noshooting = 1,
|
|
iswhitelist = 0}
|
|
FPP.Settings.FPP_TOOLGUN1 = {
|
|
toggle = 1,
|
|
adminall = 1,
|
|
worldprops = 0,
|
|
adminworldprops = 0,
|
|
canblocked = 0,
|
|
admincanblocked = 0,
|
|
shownocross = 1,
|
|
checkconstrained = 1,
|
|
iswhitelist = 0,
|
|
|
|
duplicatorprotect = 1,
|
|
duplicatenoweapons = 1,
|
|
spawniswhitelist = 0,
|
|
spawnadmincanweapon = 0,
|
|
spawnadmincanblocked = 0}
|
|
FPP.Settings.FPP_PLAYERUSE1 = {
|
|
toggle = 0,
|
|
adminall = 1,
|
|
worldprops = 1,
|
|
adminworldprops = 1,
|
|
canblocked = 0,
|
|
admincanblocked = 1,
|
|
shownocross = 1,
|
|
checkconstrained = 0,
|
|
iswhitelist = 0}
|
|
FPP.Settings.FPP_ENTITYDAMAGE1 = {
|
|
toggle = 1,
|
|
protectpropdamage = 1,
|
|
adminall = 1,
|
|
worldprops = 1,
|
|
adminworldprops = 1,
|
|
canblocked = 0,
|
|
admincanblocked = 0,
|
|
shownocross = 1,
|
|
checkconstrained = 0,
|
|
iswhitelist = 0}
|
|
FPP.Settings.FPP_GLOBALSETTINGS1 = {
|
|
freezedisconnected = 0,
|
|
cleanupdisconnected = 1,
|
|
cleanupdisconnectedtime = 120,
|
|
cleanupadmin = 1,
|
|
antie2minge = 1}
|
|
FPP.Settings.FPP_ANTISPAM1 = {
|
|
toggle = 1,
|
|
antispawninprop = 0,
|
|
bigpropantispam = 1,
|
|
bigpropsize = 5.85,
|
|
bigpropwait = 1.5,
|
|
smallpropdowngradecount = 3,
|
|
smallpropghostlimit = 2,
|
|
smallpropdenylimit = 6,
|
|
duplicatorlimit = 3
|
|
}
|
|
FPP.Settings.FPP_BLOCKMODELSETTINGS1 = {
|
|
toggle = 1,
|
|
propsonly = 0,
|
|
iswhitelist = 0
|
|
}
|
|
|
|
FPP.InitialSettings = table.Copy(FPP.Settings)
|
|
|
|
function FPP.ForAllSettings(fn)
|
|
-- Loop in sorted pairs for deterministic order
|
|
for kind, sets in SortedPairs(FPP.Settings) do
|
|
for setting, val in SortedPairs(sets) do
|
|
if fn(kind, setting, val) then break end
|
|
end
|
|
end
|
|
end
|
|
|
|
--[[-------------------------------------------------------------------------
|
|
CAMI
|
|
Register the CAMI privilege
|
|
---------------------------------------------------------------------------]]
|
|
CAMI.RegisterPrivilege{
|
|
Name = "FPP_Settings",
|
|
MinAccess = "superadmin" -- By default only superadmins can change settings
|
|
}
|
|
|
|
CAMI.RegisterPrivilege{
|
|
Name = "FPP_Cleanup",
|
|
MinAccess = "admin"
|
|
}
|
|
|
|
CAMI.RegisterPrivilege{
|
|
Name = "FPP_TouchOtherPlayersProps",
|
|
MinAccess = "admin"
|
|
}
|
|
|
|
function FPP.calculatePlayerPrivilege(priv, callback)
|
|
local plys = player.GetAll()
|
|
local count = #plys
|
|
|
|
for _, ply in ipairs(plys) do
|
|
local function onRes(b)
|
|
count = count - 1
|
|
ply.FPP_Privileges = ply.FPPPrivileges or {}
|
|
ply.FPP_Privileges[priv] = b
|
|
|
|
if count == 0 then callback() end
|
|
end
|
|
CAMI.PlayerHasAccess(ply, priv, onRes)
|
|
end
|
|
end
|