Как выдавать оружие при спавне игрока

приветствую, я сижу пытаюсь сделать премиум где при спавне у игрока выдаётся определённое оружие

вот код

IGS("PREMIUM навсегда", "premium_navsegda"):SetULXGroup("premium")
    :SetWeapon("weapon_vape_american")
	:SetPrice(400)
	:SetPerma() -- навсегда
	:SetCategory("Группы")
	:SetDescription("На данный момент ты можешь просто поддержать проект, ты красавчика. А в будущим вы получите плюшки за эту роль")

помогите заранее благодарствую

держи

local IGS = IGS or {}

local playerPackages = {}

function IGS.GetPlayerPackages(ply)
    local steamID = ply:SteamID()
    return playerPackages[steamID] or {}
end

function IGS:SetWeapon(weapon)
    self.weapon = weapon
    return self
end

hook.Add("PlayerSpawn", "IGS_GiveWeaponOnSpawn", function(ply)
    for _, package in pairs(IGS.GetPlayerPackages(ply)) do
        if package.weapon then
            ply:Give(package.weapon)
        end
    end
end)

IGS("VIP на месяц", "vip_na_mesyac"):SetULXGroup("vip")
    :SetPrice(150)
    :SetTerm(30) -- 30 дней
    :SetWeapon("ak47") -- выдать игроку при спавне
    :SetCategory("Группы")
    :SetDescription("С этой покупкой вы станете офигенными, потому что в ней воооот такая куча крутых возможностей")

Это не может работать. Я с телефона и не могу расписать, но это вообще невозможный для работы код.

Не проверял

hook.Add('PlayerLoadout', 'premiumweps', function(ply)
    if ply:HasPurchase('premium_navsegda') then
        ply:Give('...')
        ply:Give('...')
    end
end)

все работает проверь

Мне не нужно проверять, чтобы понять, что оно не может работать

1 лайк

оно как бы работает НО после нескольких смертей он перестаёт выдавать оружие

Оно может работать только если ты его установил неправильно. Т.е не нарушил работу стандартного метода SetWeapon кодом, который дали в теме выше