Помогите написать бесконечный цикл на lua

den90877

Известный
Автор темы
12
4
Версия MoonLoader
.026-beta
Ребята 1 день сижу на луа скажите пж как сделать бесконечный цикл чтобы там через минут 10 опять вводилась эта команда
вот что я написал

Lua:
encoding = require "encoding"
encoding.default = 'UTF-8'
cyr = encoding.CP1251
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand("spru", function()

    sampSendChat("/stats")
    end)
    wait(-1)
end
 
Последнее редактирование модератором:
Решение
активация: /spr
Lua:
local state = false
local time = os.clock()

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("spr", function() state = not state
        sampAddChatMessage((state and 'Включен' or 'Выключен'), -1)
    end)
    while true do
        wait(0)
        if state then
            if os.clock() - time >= 300 then -- 5 min
                sampSendChat('/sprunk')
                time = os.clock()
            end
        end
     end
end
D

deleted-user-204957

Гость
а как сделать чтобы он делал это раз в минуту?
Скорее всего у задачи которую ты хочешь решить через бесконечный цикл есть другое решение, скажи что ты хочешь делать каждую минуту.
 

den90877

Известный
Автор темы
12
4
Что ты хочешь, что бы писалось каждую минут? Прям точно укажи
крч мне надо на аризоне сделать команду /sprunk чтобы она писалась каждые к примеру 5 минут на ahk я написал а на луа здесь лучше и хочу тут написать
 

den90877

Известный
Автор темы
12
4

Вложения

  • 1589454537629.png
    1589454537629.png
    263.8 KB · Просмотры: 301
D

deleted-user-204957

Гость
Чел у меня пишется не каждые 5 минут а каждые 5 миллллииисикунд
Ну это и понятно, он зачем то поток создаёт в бесконечном цикле и после выполнения команды делает задержку в ПОТОКЕ, а не в бесконечном цикле..
 
  • Нравится
Реакции: Izvinisb

den90877

Известный
Автор темы
12
4
Ну это и понятно, он зачем то поток создаёт в бесконечном цикле и после выполнения команды делает задержку в ПОТОКЕ, а не в бесконечном цикле..
как исправить?
 

Izvinisb

Известный
Проверенный
964
598
активация: /spr
Lua:
local state = false
local time = os.clock()

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("spr", function() state = not state
        sampAddChatMessage((state and 'Включен' or 'Выключен'), -1)
    end)
    while true do
        wait(0)
        if state then
            if os.clock() - time >= 300 then -- 5 min
                sampSendChat('/sprunk')
                time = os.clock()
            end
        end
     end
end
 

Albertio

Attention! Thanks for your attention.
877
702
Ну это и понятно, он зачем то поток создаёт в бесконечном цикле и после выполнения команды делает задержку в ПОТОКЕ, а не в бесконечном цикле..
Я это на тлф написал, не заметил что не там поставил задержку xD
 

Вложения

  • Minute.lua
    520 байт · Просмотры: 142
Последнее редактирование: