Этот модуль позволяет игрокам выбирать один из нескольких параметров при активации айтема, в следствие чего будут выполняться разные функции поверх стандартного :OnActivate()
.
Пример айтема
IGS('Телепорт', 'tp')
:SetPrice(10)
:SetStackable(true)
:SetChoices({
{
name = 'Спавн',
select = true,
callback = function(self,ply)
ply:SetPos(Vector(-1446, -1177, 128))
end,
},
{
name = 'Админ-зона',
icon = 'icon16/shield.png',
callback = function(self, ply)
ply:SetPos(Vector(-1521, 911, 128))
end,
},
})
Установка
Поместить файл по пути addons/igsmod-choices/lua/igs/extensions/choices.lua
choices.lua (5.0 КБ)
Побочные эффекты
- По какой-то непонятной мне причине функция
IGS.ShowNotify()
не перезаписывалась без использования хукаIGS.Initialized
. Если она будет снова переопределена кодом автодоната (без вмешательства разработчика такого не происходит), то при попытке активировать предмет будет появляться окошко с ошибкой активации, не влияющее на сам процесс активации - При активации предмета с возможностью выбора варианта, он визуально не удаляется из инвентаря до закрытия меню автодоната
- Модуль не работает с выключенным инвентарем (сомневаюсь что кто-то использует IGS без инвентаря)
Это мой первый опыт написания модулей для автодоната, так что если вы нашли у меня какой-то недочет или возможность пофиксить одну из проблем выше, то напишите об этом в теме