Кто-нибудь знает как можно установить лимит на единоразовую покупку энтити? Если купил что-то, подобрал, чтобы нельзя было купить еще раз пока не умрешь?
К примеру: (в SV
обязательно)!
--- Берем игрока(допустим что он у нас есть), не знаю где ты выполняешь это действие.
if (!ply.IsBuy) then
ply.IsBuy = true
-- Дальше код на покупку
end
-- Сбрасываем переменную
hook.Add("PlayerDeath", "buy", function(ply)
if (!IsValid(ply) then return end
ply.IsBuy = false
end)
Чтобы можно было дать больше советов, объясни как именно это должно работать. На ту энтити которую покупаешь или на всю покупку?
Пример на применение только к тому энтити который покупаешь(по классу):
local buyEntData = {} -- Объявляем таблицу вне функции!
-- Допустим что ты выполняешь это в функции
local function Example()
local ent_class = ent:GetClass() -- Здесь мы берем и задаем переменной класс энтити которое покупаеться
if (!IsValid(ply)) then return end -- Если игрок не существует, то код не выполниться!
if (buyEntData and !buyEntData[ent_class]) then
buyEntData[ent_class] = true -- Говорим системе что энтити этого класса, мы уже купили
-- Код на покупку/выдачу
elseif (buyEntData and buyEntData[ent_class]) then
DarkRP.notify(ply, "Вы уже купили этот предмет", 1)
return
end
end
-- Сбрасываем таблицу
hook.Add("PlayerDeath", "buy", function(ply)
if (!IsValid(ply)) then return end
if (buyEntData) then
buyEntData = {} -- Обнуляем таблицу при смерти игрока
end
end)
Мужик, спасибо большое! Мне как раз нужно было это добавить к конкретному энтити
Правильно понимаю что это нужно закинуть в авторан сервера?
Да, правильно. Именно в серверную часть sv - файл
. Только подправь под себя, т.к это пример
люблю тебя!
Не забудь под себя подправить. Т.к это лишь пример. Если что-то будет не понятно, скинь код где покупка происходит. Я помогу
Этот код запрещает покупать энтити всем игрокам, если хотя бы один из игроков ее купил. И точно так же разрешает ее покупать всем игрокам, если любой игрок умер.
Функция DarkRP.notify()
работает так:
DarkRP.notify(ИГРОК, ТИП, ВРЕМЯ, ТЕКСТ)
Про “нотифи” знаю, я спутал со своей функцией. По коду я ему уже скинул и все норм работает.