Модуль:Prototypes/Механика/Частоты: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 12: | Строка 12: | ||
function p.main(frame) | function p.main(frame) | ||
local args = frame.args | local args = frame.args | ||
local | local itemId = args[1] | ||
if not itemId or itemId == "" then | if not itemId or itemId == "" then | ||
| Строка 20: | Строка 19: | ||
local keySlots = {} | local keySlots = {} | ||
local itemFound = nil | |||
for _, data in pairs(fillsData) do | |||
if data.id == itemId then | |||
itemFound = data | |||
break | |||
end | |||
end | |||
if | if itemFound then | ||
if itemFound.ContainerFill | |||
and itemFound.ContainerFill.containers | |||
and itemFound.ContainerFill.containers.key_slots then | |||
keySlots = itemFound.ContainerFill.containers.key_slots | |||
else | |||
keySlots = { itemId } | |||
end | end | ||
else | |||
keySlots = { itemId } | keySlots = { itemId } | ||
end | end | ||
| Строка 65: | Строка 58: | ||
local resultSpans = {} | local resultSpans = {} | ||
local seenKeycodes = {} | |||
for _, channelName in ipairs(channels) do | for _, channelName in ipairs(channels) do | ||
local radioRecord | local radioRecord | ||
| Строка 76: | Строка 70: | ||
local keycode = trimQuotes(radioRecord.keycode) or "" | local keycode = trimQuotes(radioRecord.keycode) or "" | ||
local color = trimQuotes(radioRecord.color) or "" | local color = trimQuotes(radioRecord.color) or "" | ||
local span = string.format('<span style="color: %s">%s</span>', color, keycode) | if not seenKeycodes[keycode] then | ||
seenKeycodes[keycode] = true | |||
local span = string.format('<span style="color: %s">%s</span>', color, keycode) | |||
table.insert(resultSpans, span) | |||
end | |||
else | else | ||
return "Предупреждение: для канала '" .. channelName .. "' не найдены данные в radioData." | return "Предупреждение: для канала '" .. channelName .. "' не найдены данные в radioData." | ||