LUA: Использование нескольких переменных в выражении if-not then? - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над сценарием для сервера garrysmod и полностью игнорирую его, я помнил, но теперь не могу.

Я использую этот блок кода,

if ent:IsVehicle() then
        if ent:GetModel() ~= { "models/mafia2/shubert_taxi.mdl", "models/mafia2/parry_bus.mdl", "models/mafia2/smith_200_p_pha.mdl" } then
        client:Freeze(true)
        self.Owner:setAction("Chopping", time, function()
            ent:Remove()
            nut.item.spawn("carparts", self:GetPos() + Vector(math.Rand(1,20), math.Rand(1,20),20), nil, Angle(0, 0, 0 ))
            client:Freeze(false)
            self.Owner:notify("You've chopped a car.")
        end)
    end 

изначально было if ent:GetModel() ~= "models/mafia2/shubert_taxi.mdl", и это работало нормально, однако я хочу ограничить 3 отдельные модели. Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 10 мая 2020

Вы можете использовать функцию table.hasValue:

if ent:IsVehicle() then
    local models = { "models/mafia2/shubert_taxi.mdl", "models/mafia2/parry_bus.mdl", "models/mafia2/smith_200_p_pha.mdl" }

    -- Notice the not keyword.
    if not table.hasValue(models, ent:GetModel()) then
    ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...