This commit is contained in:
lifestorm
2024-08-04 22:55:00 +03:00
parent 8064ba84d8
commit 73479cff9e
7338 changed files with 1718883 additions and 14 deletions

View File

@@ -0,0 +1,69 @@
--[[
| This file was obtained through the combined efforts
| of Madbluntz & Plymouth Antiquarian Society.
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
| Maloy, DrPepper10 @ RIP, Atle!
|
| Visit for more: https://plymouth.thetwilightzone.ru/
--]]
function PLUGIN:InitializedPlugins()
local panelPlugin = ix.plugin.Get("3dpanel")
if (panelPlugin) then
ix.command.list["paneladd"].adminOnly = nil
ix.command.list["paneladd"].OnCheckAccess = function() return true end -- eh
ix.command.list["paneladd"].OnRun = function(self, client, url, scale, brightness)
local character = client:GetCharacter()
local panelItem = character:GetInventory():HasItem("paintcan") or character:GetInventory():HasItem("rolledposter")
local group = character.GetGroup and character:GetGroup() or {}
local groupname = group.name
scale = scale or 1
if ((panelItem and (client:Team() == FACTION_WORKERS or (groupname and groupname == "Department of Business"))) or CAMI.PlayerHasAccess(client, "Helix - Manage Panels")) then
-- Get the position and angles of the panel.
local trace = client:GetEyeTrace()
local position = trace.HitPos
local angles = trace.HitNormal:Angle()
angles:RotateAroundAxis(angles:Up(), 90)
angles:RotateAroundAxis(angles:Forward(), 90)
if (panelItem) then
panelItem:Remove()
if (panelItem.uniqueID == "paintcan") then
character:GetInventory():Add("junk_paintcan")
end
end
-- Add the panel.
panelPlugin:AddPanel(position + angles:Up() * 1, angles, url, math.min(scale, 5), brightness)
return "@panelAdded"
else
return "Vous devez être CWU/DOB et avoir un pot de peinture ou une affiche roulée pour ajouter un panneau !"
end
end
ix.command.list["panelremove"].adminOnly = nil
ix.command.list["panelremove"].OnCheckAccess = function() return true end -- eh
ix.command.list["panelremove"].OnRun = function(self, client, radius)
local character = client:GetCharacter()
local group = character.GetGroup and character:GetGroup() or {}
local groupname = group.name
if (client:IsAdmin() or client:IsCombine() or client:Team() == FACTION_WORKERS or (groupname and groupname == "Department of Business")) then
-- Get the origin to remove panel.
local trace = client:GetEyeTrace()
local position = trace.HitPos
-- Remove the panel(s) and get the amount removed.
local amount = panelPlugin:RemovePanel(position, math.min(radius or 100, 500))
return "@panelRemoved", amount
else
return "@notAllowed"
end
end
end
end