Как сделать зону тюрьмы?

Помогите пожалуйста, как сделать так, чтоб арестованный игрок, покидая созданную зону, становился свободным и на него вешался розыск?

В таблице jail задай координаты двух противоположных углов параллелепипеда, который является зоной тюряги (узнать свою позицию можно с помощью команды getpos в консоли)

local jail = {
    Vector(),
    Vector(),
}

timer.Create('checkescape', 1, 0, function()
    for _, ply in ipairs(player.GetAll()) do
        if not ply:isArrested() then continue end
        
        local pos = ply:GetPos()
        
        if not pos:WithinAABox(jail[1], jail[2]) then
            ply:unArrest()
            timer.Simple(.1, function()
                ply:SetPos(pos)
                ply:wanted(nil, 'Побег из тюрьмы')
            end)
        end
    end
end)
1 лайк

Функционал работает как надо, но вылезает ошибка

хмм, само пофиксилось. Спасибо за помощь

Эта ошибка из-за того, что код запускается на клиенте. Он должен быть исключительно на серверсайде

Незнаю мб я что то не так делаю)ну система работает странно,если человека посадить после побега,он появляется в тюрьме и скрипт побега срабатывает заново)

не работает. Координаты ввел, но сразу пишет что я убежал. Ошибок нет. Координаты точно те, я проверил. Первый вектор нижняя точка, второй вектор верхняя точка, паралелепипед.

отправь код с твоими значениями.

не работает ввел координаты ( карта банклав ) и человек вообще не сбегает если выходит с координат

escapejail.lua (580 байтов)

Конечно не работает так как не правильно ты сделал.

local jail = {
    Vector(3629.658203, -1437.614380, 36.371983),
    Vector(4959.888184, -203.718872, 486.407959),
}


local player_GetAll=player.GetAll
timer.Create('checkescape', 1, 0, function()
    local pla=player_GetAll()
    for i=1,#pla do 
        local ply=pla[i]
        if not ply:isArrested() then continue end
        
        local pos = ply:GetPos()
        
        if not pos:WithinAABox(jail[1], jail[2]) then
            ply:unArrest()
            timer.Simple(.1, function()
                ply:SetPos(pos)
                ply:wanted(nil, 'Побег из тюрьмы')
            end)
        end
    end
end)
1 лайк