Модуль:EventsTable: различия между версиями

Материал из Space Station 14 Вики
Нет описания правки
Нет описания правки
Строка 2: Строка 2:


local data = { -- Дата
local data = { -- Дата
    {
{
         name = "Аномалия",
         name = "Аномалия",
         id = "AnomalySpawn",
         id = "AnomalySpawn",
Строка 14: Строка 13:
         minimumPlayers = 40,
         minimumPlayers = 40,
     },
     },
}
}


Строка 20: Строка 18:
local out = '{| id="highlighted-header-CM" class="wikitable sortable mw-collapsible" style="width:auto; margin:0;"\n'
local out = '{| id="highlighted-header-CM" class="wikitable sortable mw-collapsible" style="width:auto; margin:0;"\n'
out = out .. '! Событие !! Оповещение !! Описание !! Характеристики\n'
out = out .. '! Событие !! Оповещение !! Описание !! Характеристики\n'
 
out = out .. '|}' -- Добавляем закрытие таблицы
    for _, event in ipairs(data) do
        -- Формируем ячейку с названием, ID и изображением
-- Формируем ячейку с названием, ID и изображением
         local IIevent = '<div style="text-align:center;">'
         local IIevent = '<div style="text-align:center;">'
IIevent = IIevent .. "'''" .. (event.name or "Неизвестно") .. "'''<br>"
        IIevent = IIevent .. "'''" .. (event.name or "Неизвестно") .. "'''<br>"
IIevent = IIevent .. "<span style='color:#adadad'>'''" .. (event.id or "Нет ID") .. "'''</span><br>"
        IIevent = IIevent .. "<span style='color:#adadad'>'''" .. (event.id or "Нет ID") .. "'''</span><br>"


         if event.image and event.image ~= "Нет изображения" then
         if event.image and event.image ~= "Нет изображения" then
Строка 33: Строка 30:


         IIevent = IIevent .. '</div>'
         IIevent = IIevent .. '</div>'
        -- Формируем характеристики
        local characteristicsList = string.format("Вес: %s кг, Длительность: %s сек, Начало: %s сек, Мин. игроков: %s",
            event.weight or "Неизвестно",
            event.duration or "Неизвестно",
            event.earliestStart or "Неизвестно",
            event.minimumPlayers or "Неизвестно"
        )


         -- Добавляем строки в таблицу
         -- Добавляем строки в таблицу
         out = out .. "|-\n"
         out = out .. "|-\n"
         out = out .. "| " .. IIevent .. "\n"
         out = out .. "| " .. IIevent .. "\n"
         out = out .. "| " .. event.description .. "\n"
         out = out .. "| " .. (event.advert or "Нет данных") .. "\n"
        out = out .. "| " .. (event.description or "Нет описания") .. "\n"
         out = out .. "| " .. characteristicsList .. "\n"
         out = out .. "| " .. characteristicsList .. "\n"
        out = out .. "| " .. giftList .. "\n"
    end
 
    out = out .. "|}" -- Добавляем закрытие таблицы
 
return out
return out
end
end


return p -- ЭТО ДОЛЖНО БЫТЬ В КОНЦЕ
return p -- ЭТО ДОЛЖНО БЫТЬ В КОНЦЕ

Версия от 15:01, 20 марта 2025

Для документации этого модуля может быть создана страница Модуль:EventsTable/doc

local p = {}

local data = { -- Дата
    {
        name = "Аномалия",
        id = "AnomalySpawn",
        image = "FoodBoxPizza.png",
        advert = "111",
        description = "222",
        weight = 5,
        duration = 120,
        earliestStart = 20,
        minimumPlayers = 40,
    },
}

function p.generateTable(frame) -- Генерация табличек
	local out = '{| id="highlighted-header-CM" class="wikitable sortable mw-collapsible" style="width:auto; margin:0;"\n'
	out = out .. '! Событие !! Оповещение !! Описание !! Характеристики\n'

    for _, event in ipairs(data) do
        -- Формируем ячейку с названием, ID и изображением
        local IIevent = '<div style="text-align:center;">'
        IIevent = IIevent .. "'''" .. (event.name or "Неизвестно") .. "'''<br>"
        IIevent = IIevent .. "<span style='color:#adadad'>'''" .. (event.id or "Нет ID") .. "'''</span><br>"

        if event.image and event.image ~= "Нет изображения" then
            IIevent = IIevent .. '[[File:' .. event.image .. '|50px]]'
        end

        IIevent = IIevent .. '</div>'

        -- Формируем характеристики
        local characteristicsList = string.format("Вес: %s кг, Длительность: %s сек, Начало: %s сек, Мин. игроков: %s",
            event.weight or "Неизвестно",
            event.duration or "Неизвестно",
            event.earliestStart or "Неизвестно",
            event.minimumPlayers or "Неизвестно"
        )

        -- Добавляем строки в таблицу
        out = out .. "|-\n"
        out = out .. "| " .. IIevent .. "\n"
        out = out .. "| " .. (event.advert or "Нет данных") .. "\n"
        out = out .. "| " .. (event.description or "Нет описания") .. "\n"
        out = out .. "| " .. characteristicsList .. "\n"
    end

    out = out .. "|}" -- Добавляем закрытие таблицы

	return out
end

return p -- ЭТО ДОЛЖНО БЫТЬ В КОНЦЕ