Ограничение патрон

Нужно сделать ограничитель патрон, условно у меня стоит аддон на ящики с патронами, и нужно чтобы игроки могли взять например максимум 120 патрон для АР2, и 60 патрон для СМГ.

local patron = ply:GetNW2Int("MaxAR2")
if (patron > 120) then return end
ply:SetNW2Int("MaxAR2",patron+30)

Вот тебе пример

Привет. Вот рабочий пример.

local AMMO_LIMITS = {
    ["AR2"] = 3000,
    ["Grenade"] = 25,
    ["RPG_Round"] = 10
}

hook.Add("PlayerAmmoChanged", "ammo_limiter", function(ply, ammoId, _old, new)
    local ammoName = game.GetAmmoName(ammoId)
    local ammoLimit = AMMO_LIMITS[ammoName]
       
    if (ammoLimit and new > ammoLimit) then
        ply:SetAmmo(ammoLimit, ammoId)
    end
end)

Подробнее о хуке тут. Что :SetAmmo(), что PlayerAmmoChanged находяться в шареде, но на моей памяти - достаточно что бы хук был только на серверной стороне.

Список дефолтных патронов:

Тебе нужна колонка “Name”.

1 лайк

Спасибо, а куда его кидать?

У всех требования по разному, ты можешь создать папку в addons и путь будет в духе такого addons/[folder]/lua/autorun/server, а можешь напрямую закинуть его в lua и путь будет примерно таким lua/autorun/server. Главное убедиться что файлик выполняется на сервере.

1 лайк