Initial commit
This commit is contained in:
136
gamemodes/darkrp/gamemode/modules/fpp/pp/sh_settings.lua
Normal file
136
gamemodes/darkrp/gamemode/modules/fpp/pp/sh_settings.lua
Normal file
@@ -0,0 +1,136 @@
|
||||
-- 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
|
||||
Reference in New Issue
Block a user