Модуль:Prototypes/Роль/Экипировка: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 17: | Строка 17: | ||
end | end | ||
-- Функция для преобразования | -- Функция для преобразования первой буквы строки в заглавную | ||
local function capitalizeFirst(str) | local function capitalizeFirst(str) | ||
if not str or str == "" then return "" end | if not str or str == "" then return "" end | ||
| Строка 58: | Строка 58: | ||
local itemId = gearEquipment[slot] or "" | local itemId = gearEquipment[slot] or "" | ||
local sourceGear = gear | local sourceGear = gear | ||
-- 2. Если для данного слота в gearData ничего не найдено – ищем через loadoutGroup / loadout | |||
if itemId == "" then | |||
-- Используем вашу логику для поиска | |||
local function capitalize(s) | |||
return (s:gsub("^%l", string.upper)) | |||
end | |||
-- Здесь используем jobId в качестве "role" | |||
local groupID = jobId .. capitalize(slot) | |||
-- Ищем нужную группу в gearloadoutGroup | |||
local groupFound = nil | |||
for _, group in ipairs(gearloadoutGroup) do | |||
if group.id == groupID then | |||
if | groupFound = group | ||
break | |||
end | |||
end | |||
if not groupFound then | |||
return "Группа не найдена: " .. groupID | |||
end | |||
-- Перебираем варианты loadouts из найденной группы | |||
for _, loadoutID in ipairs(groupFound.loadouts) do | |||
for _, loadout in ipairs(gearloadout) do | |||
if loadout.id == loadoutID then | |||
if loadout.equipment and loadout.equipment[slot] then | |||
itemId = loadout.equipment[slot] | |||
sourceGear = loadout | |||
break | |||
end | |||
end | |||
end | end | ||
if itemId ~= "" then break end | |||
end | end | ||
end | end | ||