Продажа вечной лицензии на оружие

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

Добрый день, код можно оптимизировать и изменить, так как он выдаёт лицензию ТОЛЬКО после спавна (если у вас при смене работы игрок не умирает или не спавнется, нужно переписать)

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)

1 симпатия

Подскажи если после покупки лицензии у меня перестали выдаваться стандартное оружие то проблема в каком-то аддоне?

В общем и целом, да.

У меня тоже самое.

На чистом 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)
1 симпатия

это было из-за return true после строки с pl:setDarkRPVar("HasGunlicense", true) в хуке PlayerSpawn. Я отредактировал сообщение и убрал return. Тем не менее, предпочтительное решение все равно опубликовал @BazZziliuS