Функция IGS.GetGroups ничего не возвращает

Приветствую народ. При попытке вызвать функцию IGS.GetGroups() возвращает пустой результат.

В помощи никто не заинтересован, попробую помочь. Можешь показать код?

Я даже описание проблемы не понял.

Кстати, группы в IGS использовать не желательно.

Я давно планирую редизайн, просто руки никак не дойдут, то дело в том, что в нем не будет групп

Я собираюсь через цикл прогнать все группы/категории, чтобы создавать vgui DButton’ы. Так я собираюсь сделать выбор категорий товаров.

for k, v in ipairs(IGS.GetGroups()) do
local group = vgui.Create('DButton', parent)
end

По такому коду я пытаюсь получить группы, которые используются в донате.
Функция IGS.GetGropus() взята из файла “lua/igs/objects/shop_group.lua”
Вот сама функция:

function IGS.GetGroups()
	return IGS.GROUPS
end

Расписал более подробнее.

Конечно, есть один вариант это использовать свою таблицу группы и какие в них входят. Но, куда лучше когда я буду напрямую брать группы, которые создаются при создании услуг.

Попробуй использовать pairs

for k, v in pairs(IGS.GetGroups()) do
local group = vgui.Create('DButton', parent)
end

Пробовал, если даже попробовать за принтить эту функцию то ничего не будет.

Хорошо, сейчас не имею доступа к пк. Могу позже проверить

Просто копаясь в коде IGS, чтобы сделать данное чудо. Я заметил вот этот код, который и создает лист групп (или категорий как вам удобно). https://i.imgur.com/QcADSBM.png

Еще раз. Не лезьте, пожалуйста, к группам. Как минимум, пока не будет v4 версии IGS. Воспринимайте категории, как группы.

Группы в текущей реализации слишком усложнены и перегружены. Они должны были быть проще все это время. Или отсутствовать.

А случаи, когда они применялись, всегда можно было заменить чем-то вроде “тегов” и фильтров, как и должно было быть сделано.


Например, на сервере есть 3 вида ножей: Huntsman, Butterfly, Karambit.

С группами сейчас мы делаем категорию “Ножи”, в ней размещаем 3 группы с каждым видом ножа, в каждой группе – итемы с вариантами раскраски конкретного типа ножа.

Без групп реализация выглядела бы так:

  • Категория “Ножи Huntsman”
    Тут варианты ножей Huntsman
  • Категория “Ножи Butterfly”
  • Категория “Ножи Karambit”
  • Юзергруппы
  • Игровая валюта
  • И так далее

Если у нас много типов и расцветок ножей (а их могут быть сотни), то в текущем варианте интерфейса без групп вся эта куча вывалится в глаза и будет их мозолить. Поэтому сейчас группы я и не удаляю.

Но в новом интерфейсе другая реализация отображения предметов в целом. Там все иначе. Другой принцип вообще. На форуме я когда-то публиковал несколько скринов. Кто захочет – тот найдет)


Если ты расскажешь, что именно ты хочешь сделать, то я смогу подсказать альтернативную реализацию.

И посмотри в сторону ITEM:SetMeta("key", value), ITEM:GetMeta("key"). Мне кажется, это то, что тебе нужно, если ты просто делаешь альтернативный интерфейс.

Итемам присваиваешь условно ITEM:SetMeta("tag", "value"), затем в for _,ITEM in pairs(IGS.GetItems()) do делаешь if ITEM:GetMeta("tag") then

2 лайка

Вас понял, спасибо за вариант реализации идеи.

1 лайк