mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
118 lines
3.6 KiB
Lua
118 lines
3.6 KiB
Lua
--[[
|
|
| 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/
|
|
--]]
|
|
|
|
local PLUGIN = PLUGIN
|
|
PLUGIN.name = "City Funds"
|
|
PLUGIN.author = "Naast"
|
|
PLUGIN.description = "Adds city funds. Yeah."
|
|
|
|
CAMI.RegisterPrivilege({
|
|
Name = "Helix - Manage City Fund",
|
|
MinAccess = "superadmin"
|
|
})
|
|
|
|
ix.util.IncludeDir(PLUGIN.folder .. "/meta", true)
|
|
ix.util.IncludeDir(PLUGIN.folder .. "/nets", true)
|
|
|
|
ix.util.Include("sv_plugin.lua")
|
|
ix.util.Include("sv_hooks.lua")
|
|
ix.util.Include("sv_stock_disallowments.lua")
|
|
ix.util.Include("sv_stock_restrictions.lua")
|
|
|
|
ix.config.Add("loanPercent", 2, "The amount of credits in percents that should be taken from city fund every day if it has a loan.", nil, {
|
|
data = {min = 0, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("transactionVatPercent", 2, "The amount of credits in percents that should from player's transactions.", nil, {
|
|
data = {min = 0, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("minusCityCap", 1000, "The maximum cap of negative balance of our city.", nil, {
|
|
data = {min = 0, max = 10000},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("mainCityNumber", 24, "Number of main (current playable) city.", nil, {
|
|
data = {min = 1, max = 99},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("averageItemProductionMaxRange", 15, "Max amount of average production items after rate time passes.", nil, {
|
|
data = {min = 10, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("averageItemProductionMinRange", 5, "Min amount of average production items after rate time passes.", nil, {
|
|
data = {min = 1, max = 9},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("lowItemProductionMinRange", 5, "Min amount of low production items after rate time passes.", nil, {
|
|
data = {min = 1, max = 9},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("lowItemProductionMaxRange", 15, "Max amount of low production items after rate time passes.", nil, {
|
|
data = {min = 10, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("highItemProductionMinRange", 5, "Min amount of high production items after rate time passes.", nil, {
|
|
data = {min = 1, max = 9},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("highItemProductionMaxRange", 15, "Max amount of high production items after rate time passes.", nil, {
|
|
data = {min = 10, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("randItemDeletions", 3, "How much random item types (this can be one item multiple times) should be taken from every non-main city every hour.", nil, {
|
|
data = {min = 1, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("randItemDeletionAmountRangeMin", 1, "Min range for taking one single item type from every non-main city every hour.", nil, {
|
|
data = {min = 1, max = 9},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.config.Add("randItemDeletionAmountRangeMax", 15, "Min range for taking one single item type from every non-main city every hour.", nil, {
|
|
data = {min = 10, max = 100},
|
|
category = "City Fund"
|
|
})
|
|
|
|
ix.command.Add("CityFundEditor", {
|
|
description = "Manage and create cities.",
|
|
privilege = "Manage City Fund",
|
|
OnRun = function(self, client)
|
|
net.Start("ix.city.CreateCFEditor")
|
|
net.Send(client)
|
|
end
|
|
})
|
|
|
|
ix.command.Add("SimulateGOItime", {
|
|
description = "Updates city funds by forcing cities to handle their production functions.",
|
|
privilege = "Manage City Fund",
|
|
arguments = ix.type.number,
|
|
OnRun = function(self, client, time)
|
|
if time > 20 then return client:NotifyLocalized("Time is too high!") end
|
|
|
|
for i = 1, time do
|
|
ix.city:UpdateCityFunds()
|
|
end
|
|
end
|
|
})
|
|
|
|
if CLIENT then
|
|
ix.factionBudget:InitializeFactionBudgets()
|
|
end |