Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

UoKit.com Форумы _ UO Pilot _ Запуск скрипта в определенной время uopilot + lua

Автор: Sergio37 30.3.2023, 15:16

Добрый день. Возможно кто-то сможет подскажет как запустить повторяющийся скрипт в определенное время(часы, минуты , секунды):


--lua
while true do
for i=1, 10 do
left (162, 63 )
wait (100)
left (827, 528 )
wait (100)
left (649, 317 )
end
wait(650)
end


Заранее благодарен.

Автор: nykep 30.3.2023, 16:26

могу предложить или поставить условие выполнения нужного кода по времени или параллельный скрипт, который будет работать всегда и запустит нужный скрипт когда придет время. Как по-другому не знаю.

Код
if os.date("%H") == "16" and os.date("%M") == "15" and os.date("%S") == "25" then
end

https://uopilot.tati.pro/index.php?title=Os.date_(Lua)

Автор: Sergio37 30.3.2023, 16:38

Цитата(nykep @ 30.3.2023, 16:26) *

могу предложить или поставить условие выполнения нужного кода по времени или параллельный скрипт, который будет работать всегда и запустит нужный скрипт когда придет время. Как по-другому не знаю.
Код
if os.date("%H") == "16" and os.date("%M") == "15" and os.date("%S") == "25" then
end

https://uopilot.tati.pro/index.php?title=Os.date_(Lua)

Спасибо!!! Попробую.

Автор: Sergio37 30.3.2023, 17:20

Цитата(Sergio37 @ 30.3.2023, 16:38) *

Спасибо!!! Попробую.

Перепробовал, но толку не хватает ничего не запускается в определенное время.

Автор: nykep 30.3.2023, 17:35

Цитата(Sergio37 @ 30.3.2023, 17:20) *

Перепробовал, но толку не хватает ничего не запускается в определенное время.

покажи как ты сделал

Автор: Sergio37 31.3.2023, 9:16

Цитата(nykep @ 30.3.2023, 17:35) *

покажи как ты сделал

Попробовал сделать просто нажатие в определенное время:

--lua
if os.date("%H") == "17" and os.date("%M") == "16" and os.date("%S") == "58" then
left (269, 59 )
end

Автор: Madeus 31.3.2023, 10:04

Чтобы это сработало нужно скрипт включить в точное время до секунд. Вот так если включить скрипт в 17:16 то все сработает.

Код
--lua
if os.date("%H") == "17" and os.date("%M") == "16" then
left (269, 59 )
end

Для того что бы включить скрипт утром и он сработал вечером надо в цикле делать.
Код
--lua
while true do
  if os.date("%H") == "17" and os.date("%M") == "16" then
    log('Время пришло')
  end
end

Автор: Sergio37 31.3.2023, 10:26

Цитата(Madeus @ 31.3.2023, 10:04) *

Чтобы это сработало нужно скрипт включить в точное время до секунд. Вот так если включить скрипт в 17:16 то все сработает.
Код
--lua
if os.date("%H") == "17" and os.date("%M") == "16" then
left (269, 59 )
end

Для того что бы включить скрипт утром и он сработал вечером надо в цикле делать.
Код
--lua
while true do
  if os.date("%H") == "17" and os.date("%M") == "16" then
    log('Время пришло')
  end
end



Спасибо!!!

Автор: Sergio37 31.3.2023, 12:22

Цитата(Sergio37 @ 31.3.2023, 10:26) *

Спасибо!!!


Просьба прояснить, возможно ли цикл в цикле делать, или пока первый цикл не закончится, второй не начнется.

Автор: nykep 31.3.2023, 14:16

Цитата(Sergio37 @ 31.3.2023, 12:22) *

Просьба прояснить, возможно ли цикл в цикле делать, или пока первый цикл не закончится, второй не начнется.

Можно, а какой цикл когда и где закончится решать тебе
Если тот твой скрипт это все что тебе нужно, то сделай так
Код

--lua
while os.date("%H") ~= "17" or os.date("%M") ~= "16" or os.date("%S") ~= "58" do --будет зациклен на ожидании нужного времени
    wait (100)
end
while true do --когда придет время зациклится здесь навсегда
    for i=1, 10 do
        left (162, 63 )
        wait (100)
        left (827, 528 )
        wait (100)
        left (649, 317 )
    end
    wait (650)
end

Автор: Sergio37 4.4.2023, 12:13

Благодарю.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)