Вопрос.

TolikEbolik!

Участник
Автор темы
44
2
Версия MoonLoader
.026-beta
Вообщем суть вопроса такова: хочу сделать небольшой помощник таксиста на луа. Есть один код, нужно сделать так, чтобы после принятия вызова тоисть после ввода команды /tcall, функция не заканчивалась, и после нажатия определенной клавиши, когда я уже заберу клиента, в рацию сообщилось о том, что я довез клиента, после этого функция заканчивалась. Необходимость в этом возникла после того, как я начал тестировать обычный код, и после принятия одного вызова, приходил другой, и я опять принимал его, автоматически бинд писал в рацию, мне это не нужно. Надеюсь вы меня поняли :D Если что не поймете задавайте вопросы в этой теме.
Сам код:
Код:
local lsampev, sampev = pcall(require, 'lib.samp.events')
function sampev.onServerMessage(color, text)
    if text:match('Диспетчер: Игрок .+ нуждается в такси, его вызов отправлен в общую очередь.') then
        local nick = text:match('Диспетчер%: Игрок (.+) нуждается в такси%, его вызов отправлен в общую очередь%.')
        if nick then
          lua_thread.create(function()
            wait(1500)
            sampSendChat('/tcall')
            wait(1500)
            sampSendChat('/r Докладывает: Мико Ресто. Принял вызов. Отправляюсь к клиенту.')
            end)
        end
    end
end
 

Hideme Flow

Известный
555
193
Lua:
local lsampev, sampev = pcall(require, 'lib.samp.events')

require "lib.moonloader"
vkeys = require "vkeys"

local status = false

function main()
    while true do
        wait(0)
        if isKeyJustPressed(VK_F3) then -- Если зажата F3 тогда...
            sampSendChat('/r Докладывает: Мико Ресто. Довез клиента. Жду новый вызов.')
            status = false
        end
    end
end

function sampev.onServerMessage(color, text)
    if text:match('Диспетчер: Игрок .+ нуждается в такси, его вызов отправлен в общую очередь.') then
        local nick = text:match('Диспетчер%: Игрок (.+) нуждается в такси%, его вызов отправлен в общую очередь%.')
        if nick and status == false then
          lua_thread.create(function()
            wait(1500)
            sampSendChat('/tcall')
            wait(1500)
            sampSendChat('/r Докладывает: Мико Ресто. Принял вызов. Отправляюсь к клиенту.')
            status = true
            end)
        end
    end
end
 

TolikEbolik!

Участник
Автор темы
44
2
Lua:
local lsampev, sampev = pcall(require, 'lib.samp.events')

require "lib.moonloader"
vkeys = require "vkeys"

local status = false

function main()
    while true do
        wait(0)
        if isKeyJustPressed(VK_F3) then -- Если зажата F3 тогда...
            sampSendChat('/r Докладывает: Мико Ресто. Довез клиента. Жду новый вызов.')
            status = false
        end
    end
end

function sampev.onServerMessage(color, text)
    if text:match('Диспетчер: Игрок .+ нуждается в такси, его вызов отправлен в общую очередь.') then
        local nick = text:match('Диспетчер%: Игрок (.+) нуждается в такси%, его вызов отправлен в общую очередь%.')
        if nick and status == false then
          lua_thread.create(function()
            wait(1500)
            sampSendChat('/tcall')
            wait(1500)
            sampSendChat('/r Докладывает: Мико Ресто. Принял вызов. Отправляюсь к клиенту.')
            status = true
            end)
        end
    end
end
Вроде 1 раз все нормально, но после приёма вызова первого раза больше не реагирует, даже с нажатием F3
 

Hideme Flow

Известный
555
193
Вроде 1 раз все нормально, но после приёма вызова первого раза больше не реагирует, даже с нажатием F3
когда нажимаешь F3
/r Докладывает: Мико Ресто. Довез клиента. Жду новый вызов.
пишется?
Можно сделать ещё по команнде
Lua:
local lsampev, sampev = pcall(require, 'lib.samp.events')

require "lib.moonloader"
vkeys = require "vkeys"

local status = false

function main()
    sampRegisterChatCommand("prinal", function()
        if status == true then
            sampSendChat('/r Докладывает: Мико Ресто. Довез клиента. Жду новый вызов.')
            status = false
         end
    end)
    while true do
        wait(0)
    end
end

function sampev.onServerMessage(color, text)
    if text:match('Диспетчер: Игрок .+ нуждается в такси, его вызов отправлен в общую очередь.') then
        local nick = text:match('Диспетчер%: Игрок (.+) нуждается в такси%, его вызов отправлен в общую очередь%.')
        if nick and status == false then
          lua_thread.create(function()
            wait(1500)
            sampSendChat('/tcall')
            wait(1500)
            sampSendChat('/r Докладывает: Мико Ресто. Принял вызов. Отправляюсь к клиенту.')
            status = true
            end)
        end
    end
end
 

TolikEbolik!

Участник
Автор темы
44
2
когда нажимаешь F3
/r Докладывает: Мико Ресто. Довез клиента. Жду новый вызов.
пишется?
Можно сделать ещё по команнде
Lua:
local lsampev, sampev = pcall(require, 'lib.samp.events')

require "lib.moonloader"
vkeys = require "vkeys"

local status = false

function main()
    sampRegisterChatCommand("prinal", function()
        if status == true then
            sampSendChat('/r Докладывает: Мико Ресто. Довез клиента. Жду новый вызов.')
            status = false
         end
    end)
    while true do
        wait(0)
    end
end

function sampev.onServerMessage(color, text)
    if text:match('Диспетчер: Игрок .+ нуждается в такси, его вызов отправлен в общую очередь.') then
        local nick = text:match('Диспетчер%: Игрок (.+) нуждается в такси%, его вызов отправлен в общую очередь%.')
        if nick and status == false then
          lua_thread.create(function()
            wait(1500)
            sampSendChat('/tcall')
            wait(1500)
            sampSendChat('/r Докладывает: Мико Ресто. Принял вызов. Отправляюсь к клиенту.')
            status = true
            end)
        end
    end
end
Не пишется.