add sborka
This commit is contained in:
64
garrysmod/gamemodes/militaryrp/plugins/arsenal/sh_plugin.lua
Normal file
64
garrysmod/gamemodes/militaryrp/plugins/arsenal/sh_plugin.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
local PLUGIN = PLUGIN
|
||||
PLUGIN.name = "Arsenal"
|
||||
PLUGIN.author = "Refosel"
|
||||
PLUGIN.description = "Arsenal plugin (skeleton) — выдача оружия, патронов и управление очками снабжения."
|
||||
|
||||
ix.util.Include("sh_config.lua")
|
||||
ix.util.Include("cl_plugin.lua")
|
||||
ix.util.Include("sv_plugin.lua")
|
||||
|
||||
|
||||
ix.command.Add("test_arsenal", {
|
||||
description = "Test arsenal weapon availability.",
|
||||
OnRun = function(self, client)
|
||||
local plugin = ix.plugin.list and ix.plugin.list["arsenal"]
|
||||
if not plugin then return "Plugin not found" end
|
||||
|
||||
local char = client:GetCharacter()
|
||||
if not char then return "No character" end
|
||||
|
||||
client:ChatPrint("--- Arsenal Test for " .. client:Nick() .. " ---")
|
||||
local avail = plugin:GetAvailableWeapons(char)
|
||||
client:ChatPrint("Available weapons total: " .. table.Count(avail))
|
||||
for class, data in pairs(avail) do
|
||||
client:ChatPrint(string.format(" [%s] %s (Donate: %s)", class, data.name or "N/A", tostring(data.isDonateVersion or false)))
|
||||
end
|
||||
client:ChatPrint("--- End Test ---")
|
||||
end
|
||||
})
|
||||
|
||||
ix.command.Add("arsenal_supply_set", {
|
||||
description = "Set faction supply. Usage: arsenal_supply_set <amount> [faction id]",
|
||||
adminOnly = true,
|
||||
arguments = {
|
||||
ix.type.number,
|
||||
ix.type.number
|
||||
},
|
||||
OnRun = function(self, client, amount, faction)
|
||||
if CLIENT then return end
|
||||
local plugin = ix.plugin.list and ix.plugin.list["arsenal"]
|
||||
if not plugin then return client:Notify("Arsenal plugin not loaded") end
|
||||
|
||||
local fid = faction or client:GetCharacter():GetFaction()
|
||||
plugin:SetFactionSupply(fid, math.max(tonumber(amount) or 0, 0))
|
||||
client:Notify("Set supply for faction " .. tostring(fid) .. " to " .. tostring(plugin:GetFactionSupply(fid)))
|
||||
end
|
||||
})
|
||||
|
||||
ix.command.Add("arsenal_supply_add", {
|
||||
description = "Add (or subtract) supply for a faction. Usage: arsenal_supply_add <delta> [faction id]",
|
||||
adminOnly = true,
|
||||
arguments = {
|
||||
ix.type.number,
|
||||
ix.type.number
|
||||
},
|
||||
OnRun = function(self, client, delta, faction)
|
||||
if CLIENT then return end
|
||||
local plugin = ix.plugin.list and ix.plugin.list["arsenal"]
|
||||
if not plugin then return client:Notify("Arsenal plugin not loaded") end
|
||||
|
||||
local fid = faction or client:GetCharacter():GetFaction()
|
||||
plugin:AddFactionSupply(fid, tonumber(delta) or 0)
|
||||
client:Notify("Faction " .. tostring(fid) .. " supply now: " .. tostring(plugin:GetFactionSupply(fid)))
|
||||
end
|
||||
})
|
||||
Reference in New Issue
Block a user