|
hint |
|
|
cirus |
22.1.2019, 21:29
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26540
Пользователь №: 16.971
Возраст: 29
|
|
|
|
|
KotMC |
22.4.2021, 5:19
|
Neophyte
Сообщений: 34
Регистрация: 10.1.2021 Группа: Пользователи Наличность: 0
Пользователь №: 19.851
Возраст: 36
|
(IMG: style_emoticons/default/biggrin.gif) Не знаю как правильно выразиться. Хочу с помощью hint вывести отсчет до завершения задержки указанной в wait., а как сделать не знаю. Правильнее наверное было сказать не остаток, а время до завершения wait.
|
|
|
|
nykep |
9.1.2023, 9:35
|
Apprentice
Сообщений: 233
Регистрация: 1.9.2012 Группа: Пользователи Наличность: 1161
Пользователь №: 15.246
Возраст: 25
|
я свой старый скрипт пытаюсь переделать на луа, загвоздка только в этом таймере Код set %u FindWindow (Path of Exile) set workwindow %u[1 1] hint (20 clRed 800 900 -1 -1 (ВКЛ)) get color #pupok 31 1012 get color #hp 170 948 get color #mp 1786 947 get color #mptop 1807 897 repeat 10 sendex 5 end_repeat wait 100 get color #mbottle 510 1054 set timer 0 while 1 = 1 if 31, 1012 #pupok if_not 170, 948 #hp sendex 1 wait 200 end_if if #mpuse = 1 and 1807, 897 #mptop set #mpuse 0 set #full 1 end_if if_not (1786, 947 #mp or 1517, 1027 6 or 510, 1054 #mbottle) or (timer < 4500 and #full = 0) sendex 5 set timer 0 set #mpuse 1 set #full 0 end_if end_if end_while
Код --lua local u = findwindow ("Path of Exile") workwindow (u[1][1]) hint ('ВКЛ') local x = 0 local pupok = color (31, 1012) local hp = color (170, 948) local mp = color (1786, 947) local mptop = color (1807, 897) local t = 0 repeat x = x + 1 sendex("5") until x == 10 wait (100) local mbottle = color (510, 1054) while 1 == 1 do if color (31, 1012) == pupok then if color (170, 948) ~= hp then sendex ("1") wait (200) end if mpuse == 1 and color (1807, 897) == mptop then local mpuse = 0 local full = 1 end
if (color (1786, 947) ~= mp and color (1517, 1027) ~= 6 and color (510, 1054) ~= mbottle) then sendex ("5")
local mpuse = 1 local full = 0 end end end
|
|
|
|
nykep |
9.1.2023, 11:41
|
Apprentice
Сообщений: 233
Регистрация: 1.9.2012 Группа: Пользователи Наличность: 1161
Пользователь №: 15.246
Возраст: 25
|
Цитата(DarkMaster @ 9.1.2023, 10:06) Код local timeout = os.clock() + 4.5 if timeout > os.clock() then ... if .... then -- reset timeout = os.clock() + 4.5 end end Фактически смысл в том, что мы создаем некоторый таймштамп момента будущем. Т.е. мы делаем настоящее + 4.5 секунды. Настоящее мы получаем вызовом os.clock(). Ну и соответственно при необходимости мы это будущее опять двигаем вперед. блин, оказывается у меня сразу почти получилось, но я там где хотел присвоить переменной какое то значение писал local a = 0, а не просто a = 0 и оно не работало как хотел. В итоге сделал немного по другому как мне привычнее Код local t1 = os.clock() while 1 == 1 do if (os.clock() - t1) > 4.5 then t1 = os.clock end end
спасибо
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|