Энтити-переключатель. 1 раз = 1 действие, 2 раз = другое

Как сделать так чтобы при использовании энтити, он работал как выключатель на два действия (E = 1 действие, еще раз E = 2 действие).

Почитай код

Но судя по тому что ты задаёшь такой вопрос, что-то вынести из этого кода ты не сможешь.
В таком из случаев объясню на пальцах:

  1. В Lua (впрочем как и в любом другом языке) есть тип данных Boolean, это логический тип данных который может иметь две формы true и false (ака правда и ложь).
  2. В Lua есть логический оператор not, он возвращает Boolean. false будет возвращено если ты передаёшь ему любое значение кроме false и nil.
  3. В гмодике структура ENT имеет хук ENT:Use, этот каллбэк позволяет перехватить событие Use (когда игрок нажимает E по энтити)

Делаем
image

function ENT:Use(ply)
    self.Toggle = not self.Toggle
    if self.Toggle then
        ply:SetHealth(math.min(ply:GetMaxHealth(), ply:Health() + 30))
    else
        ply:Kill()
    end
end
1 симпатия

Спасибо! Вы мне очень помогли