Требуеться помощь со скриптом

Zeusss

Активный
Автор темы
169
35
Столкнулся с проблемой, не без помощи других людей смог написать скрипт, но при попытке зделать задержку функцией wait выдаёт ошибку:

Ошибка:
[ML] (error) CJ Bug: X:\xxxxxxxxxx\moonloader\bug.lua:24: attempt to yield across C-call boundary
stack traceback:
    [C]: in function 'wait'
    X:\xxxxxxxx\moonloader\bug.lua:24: in function <X:\xxxxxxxxxx\moonloader\bug.lua:19>
[ML] (error) CJ Bug: Script died due to an error. (0FA59F44)
Сам код
Код:
script_name("CJ Bug")
script_author("DE1462")




require "lib.moonloader"

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("bug", bug)
        sampAddChatMessage("Help with CJ bug special thank DeKzer ", -1)

    while true do
        wait(0)
    end
end

function bug(param)
    if param == "" then
        sampAddChatMessage("Invalid Argument!", -1)
    else
                sampSendChat("/reoff ")
                wait("2000")
                sampSendChat("/goto "..param)
                wait("2000")
        sampSendChat("/spplayer "..param)
                wait("2000")
                sampSendChat("/gethere "..param)
    end
end
Сама проблема на 23 строке
 
  • Вау
Реакции: qdIbp
Решение
Чапо выше скинул правильный код, я же объясню почему твой не работает. Задержку можно использовать либо в цикле main, либо в потоке (который чапо и создал в коде)


Использование задержки в любой части кода:
--в любой части кода, где нужно что-то выполнить с применением задержки
lua_thread.create(function()
    --код, в котором можно использовать задержку
end)

Zeusss

Активный
Автор темы
169
35
Lua:
function bug(param)
    lua_thread.create(function()
        if param == "" then
            sampAddChatMessage("Invalid Argument!", -1)
        else
            sampSendChat("/reoff ")
            wait(2000)
            sampSendChat("/goto "..param)
            wait(2000)
            sampSendChat("/spplayer "..param)
            wait(2000)
            sampSendChat("/gethere "..param)
        end
    end)
end
Спасибо
 

Стэнфорд

Потрачен
1,058
543
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чапо выше скинул правильный код, я же объясню почему твой не работает. Задержку можно использовать либо в цикле main, либо в потоке (который чапо и создал в коде)


Использование задержки в любой части кода:
--в любой части кода, где нужно что-то выполнить с применением задержки
lua_thread.create(function()
    --код, в котором можно использовать задержку
end)
 

chapo

чопа сребдс // @moujeek
Модератор
8,935
11,706
Чапо выше скинул правильный код, я же объясню почему твой не работает. Задержку можно использовать либо в цикле main, либо в потоке (который чапо и создал в коде)


Использование задержки в любой части кода:
--в любой части кода, где нужно что-то выполнить с применением задержки
lua_thread.create(function()
    --код, в котором можно использовать задержку
end)
еще у него в wait число string а не int
 
  • Нравится
Реакции: Стэнфорд