Использование задержки

  • Автор темы deleted-user-163337
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
D

deleted-user-163337

Гость
Автор темы
Версия MoonLoader
Другое
У меня есть команда, прописав которую можно выставить задержку в милисекундах. Как сделать, чтобы команда wait ждала именно столько, сколько выставлено задержки? Сурсы:

Lua:
function zakdelay(zadepska)
    local kddelay = zadepska
    sampAddChatMessage(kddelay..'ms - установленная задержка на ответ', -1)
    end
if CurQuest:find(question) and kddelay then
                            sampSendDialogResponse(id, 1, 0, answer)
                            printString(kddelay, 1000)
                            wait(kddelay)
                            Answered = true
                            WaitingAnswer = false
                            sampCloseCurrentDialogWithButton(0)
                            return true
Это не работает.
 
Последнее редактирование модератором:
Решение
Для логов и кода есть блок code.
Функция wait работает только в потоке, ты бы хотя бы по форуму поискать попробовал

Lua:
function pokakati()
    lua_thread.create(function()
        sampAddChatMessage('Сообщение будет выведено через '..kddelay, -1)
        wait(kddelay)
        sampAddChatMessage('Задержка прошла', -1)
    end)
end
D

deleted-user-163337

Гость
Автор темы
Форматирование кода
kddelay у тебя - это локальная переменная функции zakdelay. для остальных она будет nil. просто убери local
Спасибо. Дело не в этом, функция wait не понимает что такое kddelay, а в kddelay у меня число в милисекундах.
Вот ошибку выдает

Код:
[ML] (error) NaKoleneUpdated — copy.lua: C:\WINTER LOW\moonloader\NaKoleneUpdated — copy.lua:34: attempt to yield across C-call boundary
stack traceback:
    [C]: in function 'wait'
    C:\WINTER LOW\moonloader\NaKoleneUpdated — copy.lua:34: in function <C:\WINTER LOW\moonloader\NaKoleneUpdated — copy.lua:32>
[ML] (error) NaKoleneUpdated — copy.lua: Script died due to an error. (01C65544)
Функция:

Lua:
function pokakati()
    sampAddChatMessage('Сообщение будет выведено через '..kddelay, -1)
    wait(kddelay)
    sampAddChatMessage('Задержка прошла', -1)
    end
 

sᴀxᴏɴ

#Mary
Всефорумный модератор
791
846
Для логов и кода есть блок code.
Функция wait работает только в потоке, ты бы хотя бы по форуму поискать попробовал

Lua:
function pokakati()
    lua_thread.create(function()
        sampAddChatMessage('Сообщение будет выведено через '..kddelay, -1)
        wait(kddelay)
        sampAddChatMessage('Задержка прошла', -1)
    end)
end
 
  • Нравится
Реакции: deleted-user-163337
Статус
В этой теме нельзя размещать новые ответы.