[lua] wait()

Статус
В этой теме нельзя размещать новые ответы.

besmojio4b

Новичок
Автор темы
7
0
Почему в функциях не работает wait? К примеру вот код:
Lua:
function sampev.OnServerMessage(text, color)
    if string.find(text, 'страхового полиса истекло', 1, true)
        wait(300)
        sampSendChat("/inscar")
    end
end
Если убрать wait(300) то всё работает, а если нет, то не отправляется команда /inscar, что делать?
 

savvin

Известный
406
139
Почему в функциях не работает wait? К примеру вот код:
Lua:
function sampev.OnServerMessage(text, color)
    if string.find(text, 'страхового полиса истекло', 1, true)
        wait(300)
        sampSendChat("/inscar")
    end
end
Если убрать wait(300) то всё работает, а если нет, то не отправляется команда /inscar, что делать?
Используй потоки
Lua:
function sampev.OnServerMessage(text, color)
    if string.find(text, 'страхового полиса истекло', 1, true)
        lua_thread.create(function())
            wait(300)
            sampSendChat("/inscar")
        end)
    end
end
 

#Northn

Pears Project — уже запущен!
Всефорумный модератор
2,656
2,541
расскажут почему
Так и не услышал почему его нельзя использовать, ну ладно.
Вы никогда не задумывались, почему у нас лагают игры, программы, и даже windows? А надо бы. Это всё происходит из-за задержки внутри коллбек функций, какая-то функция не может вовремя ответить запросу и задерживает коллбек, чтобы тот дождался ответа.
А теперь представьте, что произойдёт с ГТА, если в коллбек функцию добавить задержку. ГТА зависнет? Верно.

но main() тоже коллбек функция, поэтому тут уже хз
 
Последнее редактирование:
  • Ха-ха
Реакции: Petr_Sergeevich
Статус
В этой теме нельзя размещать новые ответы.