Вопрос на счёт работы со временем

YarikVL

Известный
Автор темы
Проверенный
4,766
1,820
Версия MoonLoader
.026-beta
Работаю со временем, не знаю как сделать диапазон и перечисление всех часов между двумя часами которые находятся под переменными. Точнее говоря у меня есть один час это к примеру 21:00 и второй час - 12:00 они записаны соответственно dopfunc1 и dopfunc2.
Слайдером сделал возможность выбирать ОТ какого времени и ДО какого и затем записываю их соответственно в dopfunc1 ( сюда записываю - ОТ) и dopfunc2 ( а сюда записываю - ДО). Делал первым способом но не знаю как перечислить всё время которое находится между двумя часами, по этому у меня получилось только сделать:
if текущее время == dopfunc1 или dopfunc2 then
А мне надо все часы перечислить, у меня получается ток прировнять к двум значениям которые находится под dopfunc1 и dopfunc2. С телефона писал по этому табуляцию не делал)

local dopfunc1 = imgui.ImInt(путь к ини.секция.dopfunc1)
local dopfunc2 = imgui.ImInt(путь к ини.секция.dopfunc2) — вне потока


— ниже уже в потоке

local unix_time = os.time(os.date('!*t'))

local moscow_time = unix_time + 2 * 60 * 60

local last_moscow_time = os.date('%H', moscow_time)



if tonumber(last_moscow_time) == tonumber(dopfunc1) or tonumber(dopfunc2) then

sampSendChat('ok')

end

return true

Потом мне подсказали как можно исправить этот код:
local dopfunc1 = imgui.ImInt(путь к ини.секция.dopfunc1)
local dopfunc2 = imgui.ImInt(путь к ини.секция.dopfunc2) — вне потока

— ниже уже в потоке
local unix_time = os.time(os.date('!*t'))
local moscow_time = unix_time + 2 * 60 * 60
local last_moscow_time = os.date('%H', moscow_time)
local convers_time_dopfunc1 = dopfunc1 * 60 + 00
local convers_time_dopfunc2 = dopfunc2 * 60 + 00

--комментарий человека который помог: если я правильно понял то ты хочешь чтобы у тебя срабатывал триггер на тот промежуток времени который установлен
if convers_time_dopfunc1 <= last_moscow_time and last_moscow_time <= convers_time_dopfunc2 then
sampSendChat('ok')
end
return true
Так как время считается до 23 а потом 0,1,2 часа ночи, не могу прировнять его потому что к примеру мне надо время с 21 часа вечера до 12 часов утра.
Нужна ваша помощь, заранее спасибо)
 
Решение
Lua:
--куда-то в код
local unix_time = os.time(os.date('!*t'))
local moscow_time = unix_time + 3 * 60 * 60
h =(os.date('%H', moscow_time))

--в вечный цикл, либо перед отправкой строки пиара
if (h>20) or(h<12) then
       piarbiz = true
else
       piarbiz = false
end
Если вторую часть кода вставляешь перед отравкой строки пиара - отправку строки пиара поставь вместо piarbiz = true

Стэнфорд

Потрачен
1,058
543
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
--куда-то в код
local unix_time = os.time(os.date('!*t'))
local moscow_time = unix_time + 3 * 60 * 60
h =(os.date('%H', moscow_time))

--в вечный цикл, либо перед отправкой строки пиара
if (h>20) or(h<12) then
       piarbiz = true
else
       piarbiz = false
end
Если вторую часть кода вставляешь перед отравкой строки пиара - отправку строки пиара поставь вместо piarbiz = true
 
  • Нравится
Реакции: YarikVL

YarikVL

Известный
Автор темы
Проверенный
4,766
1,820
Lua:
--куда-то в код
local unix_time = os.time(os.date('!*t'))
local moscow_time = unix_time + 3 * 60 * 60
h =(os.date('%H', moscow_time))

--в вечный цикл, либо перед отправкой строки пиара
if (h>20) or(h<12) then
       piarbiz = true
else
       piarbiz = false
end
Если вторую часть кода вставляешь перед отравкой строки пиара - отправку строки пиара поставь вместо piarbiz = true
h надо преобразовать в параметр ( перед h поставил tonumber ), тогда всё будет работать. Спасибо за помощь!
 
  • Нравится
Реакции: Стэнфорд