Модуль:Prototypes/Механика/Стоимость
Версия от 20:07, 15 апреля 2025; Pok (обсуждение | вклад)
Для документации этого модуля может быть создана страница Модуль:Prototypes/Механика/Стоимость/doc
-- Загрузка данных
local priceData = mw.loadData("Модуль:IanComradeBot/prototypes/StaticPrice.json/data")
local p = {}
function p.main(frame)
local id = frame.args[1] or frame.args.id
if not id then
return "Ошибка: не передан id"
end
for _, item in ipairs(priceData) do
if item.id == id then
return frame:preprocess("{{ColorPalette|Other|price|" .. item.StaticPrice.price .. "}}$")
end
end
-- Если не нашли совпадение, возвращаем стандартный текст
return frame:preprocess("нет")
end
function p.table(frame)
local output = {}
local seen = {}
for _, item in ipairs(priceData) do
local numericPrice = tonumber(item.StaticPrice.price)
if numericPrice and numericPrice ~= 0 then
local name = frame:preprocess('{{#invoke:Entity Lookup|getname|' .. item.id .. '}}')
local priceFormatted = frame:preprocess("{{ColorPalette|Other|price|" .. item.StaticPrice.price .. "}}$")
local key = name .. "-" .. priceFormatted
if not seen[key] then
seen[key] = true
table.insert(output, '|data-sort-value=' .. item.StaticPrice.price .. '|{{Cut-Layout|1=[[File:' .. item.id .. '.png|32px|link=]] ' .. name .. '|2=' .. priceFormatted .. '}}')
table.insert(output, '|-')
end
end
end
return frame:preprocess(table.concat(output, "\n"))
end
return p