Нужно сделать, чтобы игрок мог задонатить на постоянную лицензию на оружие.
Добрый день, код можно оптимизировать и изменить, так как он выдаёт лицензию ТОЛЬКО после спавна (если у вас при смене работы игрок не умирает или не спавнется, нужно переписать)
igs-modification\lua\igs\settings\sh_additems.lua
IGS("Вечная лицензия", "LicenseGuns")
:SetPrice(100)
:SetPerma()
:SetInstaller(function(pl)
pl.igs_has_gun_license = true
pl:setDarkRPVar("HasGunlicense", true)
end)
:SetStackable(false)
:SetValidator(function() return false end)
:SetCategory("Плюшки")
:SetDescription("Кажется, у мэрии больше нету к вам вопросов по поводу оружия.")
igs-modification\lua\autorun\server\igs_has_gun_license.lua
hook.Add("PlayerSpawn", "IGS_has_gun_license", function(pl)
if pl.igs_has_gun_license then
pl:setDarkRPVar("HasGunlicense", true)
end
end)
Подскажи если после покупки лицензии у меня перестали выдаваться стандартное оружие то проблема в каком-то аддоне?
В общем и целом, да.
У меня тоже самое.
На чистом IGS и сервере с дрп, всё работает как надо.
Закидывай в sh_additems.lua и будет по кайфу)
IGS("Лицензия", "licenses")
:SetPrice(299)
:SetDescription("При каждом спавне выдает вам лицензию!")
:SetTerm(30)
:SetCategory("Прочее")
:SetIcon("https://i.imgur.com/YSKnsOp.png")
hook.Add("PlayerLoadout", "IGS.Licenses", function(pl)
if pl:HasPurchase("licenses") then
pl:setDarkRPVar("HasGunlicense", true)
end
end)
это было из-за return true
после строки с pl:setDarkRPVar("HasGunlicense", true)
в хуке PlayerSpawn. Я отредактировал сообщение и убрал return. Тем не менее, предпочтительное решение все равно опубликовал @BazZziliuS