wait вне main, но не lua_thread

lovandog

Активный
Автор темы
226
98
Версия MoonLoader
Другое
Как создавать задержку вне main'a, но не использую lua_thread? Хелпаните.
 

lovandog

Активный
Автор темы
226
98
через os.clock(), но у тебя игра повиснет на время задержки, на кой хуй так делать-то?
пытаюсь хуету сделать одну. Нужно, чтобы скрипт проверял игрока на админа через /id. Но диалоговое окно открывается быстрее /id и он не успевает посмоотреть результат /id и сразу выводит результаты
через os.clock(), но у тебя игра повиснет на время задержки, на кой хуй так делать-то?
 
Последнее редактирование:

Kolbasa241

Известный
213
57
пытаюсь хуету сделать одну. Нужно, чтобы скрипт проверял игрока на админа через /id. Но диалоговое окно открывается быстрее /id и он не успевает посмоотреть результат /id и сразу выводит результаты

Lua:
-- где то в коде
while not Activate_id do wait(100) end
-------------

function sampev.OnServereMessage(text, color)
    if InputCmd and text:find("") then
        Activate_id = true
        return false
    end
end
 
  • Нравится
Реакции: loverhasha и lovandog

AnWu

Guardian of Order
Всефорумный модератор
4,687
5,166
через os.clock(), но у тебя игра повиснет на время задержки, на кой хуй так делать-то?
с чего вдруг?
Как создавать задержку вне main'a, но не использую lua_thread? Хелпаните.
никак. все задержки подразумивают использование потока. если это не поток - как ты поставишь на паузу?
 
  • Нравится
Реакции: lovandog

Rei

Известный
Друг
1,589
1,617
хз, попробуй, с ос.клок у тебя игра просто сдохнет ( ну или отлагает через неизвестное количество времени ), а с ос.тайм просто повиснет на время твоей задержки
 
  • Нравится
Реакции: lovandog

AnWu

Guardian of Order
Всефорумный модератор
4,687
5,166
хз, попробуй, с ос.клок у тебя игра просто сдохнет ( ну или отлагает через неизвестное количество времени ), а с ос.тайм просто повиснет на время твоей задержки
реклизация гавно
 
  • Нравится
Реакции: lovandog

AnWu

Guardian of Order
Всефорумный модератор
4,687
5,166
Код:
local time = os.clock()
while os.clock - time < 5 do end
так же с такймом
Это где ты так юзаешь? Вне потока? Конечно зафризит игру, на все 5 сек. ты основной поток убиваешь
 
  • Нравится
Реакции: lovandog и Izvinisb

molimawka

Известный
Друг
443
648
пытаюсь хуету сделать одну. Нужно, чтобы скрипт проверял игрока на админа через /id. Но диалоговое окно открывается быстрее /id и он не успевает посмоотреть результат /id и сразу выводит результаты

А в чем проблема подождать ответа от /id и потом вывести диалог. Ну можно вывести диалог-загрузку а потом уже и диалог с инфой.
 
  • Нравится
Реакции: lovandog

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
Подскажи, плз, как это реализуется. Я начинающий, пока что
Какие-то странные у тебя желания для начинающего.
Создай поток и поставь задержку и все.
Lua:
lua_thread.create(function()
    wait(50)
     -- code
end)
 
  • Нравится
Реакции: lovandog

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,131
Как вариант, если что-то нужно сделать до вызова функции main, можно использовать способ с os.clock, либо os.time в функции onD3DPresent. Если я не ошибаюсь, она начинает вызываться сразу после того, как начнет отрисовываться окно игры и продолжит вызываться до полного закрытия игры.
Lua:
local funcDone = false
function onD3DPresent()
    if os.clock() > 0.5 and not funcDone then
        funcDone = true
        print('Hello world!')
    end
end
 
  • Нравится
Реакции: lovandog