Хелпаните по луа

hol0s

Участник
Автор темы
151
23
что я делаю не правильно, скрипт крашит на wait(1) (P.S я не писал скрипты 3 месяца и все забыл)
говнокодик:
local vkeys = require("vkeys")
local encoding = require('encoding')
local u8 = encoding.UTF8
encoding.default = 'CP1251'

function main()
    sampRegisterChatCommand("body", function()
        sampSendChat("/me включил боди-камеру")
        wait(1)
        sampSendChat("/do Боди-Камера издала звук")
    end)
    sampRegisterChatCommand("ud", function()
        sampSendChat("/me достал удостоверение из кармана")
        wait(1)
        sampSendChat("/do Удостоверение в руке")
        wait(1)
        sampSendChat("/me передал удостоверение человеку на против")
        wait(1)
        sampSendChat("/showpass "..getClosestPlayerId())
    end)
    sampRegisterChatCommand("pas", function()
        sampSendChat("Добрый день, меня зовут Holos Doen.")
        wait(1)
        sampSendChat("Я бы хотел взглянуть на ваши документы.")
        sampSendChat("/b /showpass ID")
    end)
    sampRegisterChatCommand("/m", function()
        sampSendChat("/m Автомобиль впереди, остановите т/c!")
        wait(1)
        sampSendChat("/m Иначе мы откроем по вам огонь!")
    end)
    wait(-1)
end

function getClosestPlayerId()
    local minDist = 9999
    local closestId = -1
    local x, y, z = getCharCoordinates(PLAYER_PED)
    for i = 0, 999 do
        local streamed, pedID = sampGetCharHandleBySampPlayerId(i)
        if streamed then
            local xi, yi, zi = getCharCoordinates(pedID)
            local dist = math.sqrt((xi - x) ^ 2 + (yi - y) ^ 2 + (zi - z) ^ 2)
            if dist < minDist then
                minDist = dist
                closestId = i
            end
        end
    end
    return closestId
end