Модуль:Песочница/Pok: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) м Содержимое страницы заменено на «local p = {} local frame = mw.getCurrentFrame() function p.listUncategorizedGIFs() local uncategorized = {} local allFiles = mw.site.allPages('', 'File') for title in allFiles do local filename = title.text if filename:match("%.gif$") then local file = mw.title.new('File:' .. filename) if file then local content = file:getContent() if content and not content:match('%[%[Category:') then table.insert(...» Метка: замена |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 1: | Строка 1: | ||
-- Загрузка данных | |||
local priceData = mw.loadData("Модуль:IanComradeBot/prototypes/StaticPrice.json/data") | |||
local p = {} | local p = {} | ||
function p. | function p.main(frame) | ||
-- Получаем первый параметр, который должен быть id | |||
local id = frame.args[1] or frame.args.id | |||
if not id then | |||
return "Ошибка: не передан id" | |||
end | |||
-- Проходим по всем записям в priceData | |||
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 = {} | |||
table.insert(output, '{| class="wikitable"') | |||
for _, item in ipairs(priceData) do | |||
local name = frame:preprocess('{{#invoke:Entity Lookup|getname|' .. item.id .. '}}') | |||
local price = frame:preprocess('{{ColorPalette|Other|price|' .. item.StaticPrice.price .. '}}') .. '$' | |||
table.insert(output, '|-') | |||
table.insert(output, '| {{Cut-Layout|' .. name .. '|' .. price .. '}}') | |||
end | |||
table.insert(output, '|}') | |||
return frame:preprocess(table.concat(output, "\n")) | |||
end | end | ||
return p | return p | ||
Версия от 19:27, 15 апреля 2025
Для документации этого модуля может быть создана страница Модуль:Песочница/Pok/doc
-- Загрузка данных
local priceData = mw.loadData("Модуль:IanComradeBot/prototypes/StaticPrice.json/data")
local p = {}
function p.main(frame)
-- Получаем первый параметр, который должен быть id
local id = frame.args[1] or frame.args.id
if not id then
return "Ошибка: не передан id"
end
-- Проходим по всем записям в priceData
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 = {}
table.insert(output, '{| class="wikitable"')
for _, item in ipairs(priceData) do
local name = frame:preprocess('{{#invoke:Entity Lookup|getname|' .. item.id .. '}}')
local price = frame:preprocess('{{ColorPalette|Other|price|' .. item.StaticPrice.price .. '}}') .. '$'
table.insert(output, '|-')
table.insert(output, '| {{Cut-Layout|' .. name .. '|' .. price .. '}}')
end
table.insert(output, '|}')
return frame:preprocess(table.concat(output, "\n"))
end
return p