Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Синхронизация Wait с компьютерным временем
Ksardeks
сообщение 11.12.2016, 13:41
Сообщение #1


*

Registred
Сообщений: 6
Регистрация: 9.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.554
Возраст: 18



Ситуация следующая
Играю в рулетку, которая принимает ставки раз в 10 минут. И использую данный код
Код

Left 1, 1
Send {F5}   //Обновляю страницу
Wait 5s
Send {PageUp} {PageUp}   //Самый верх страницы
//
Set #Random random(12)*48   //Случайное число до 11 * на 48 пикселей
Set Clickoffsetx #Random   //Смещение клика относительно Left 237, 267
Left 237, 267
Set Clickoffsetx 0   //Убираю смещение т.к. есть Left 220, 76 ниже
//
Send {Backspace} {Backspace} {Backspace} {Backspace}   //Стираю ставку
Send 200   //Устанавливаю ставку в 200 денег
Left 1, 1
Send {PageDown} 500   //Отматываю страницу ниже, т.к. кнопка ставки находится вне зоны видемости
Left 220, 76  //Жму "Поставить"
Wait 10m  //Ожидаю


Хотелось бы вместо Wait 10m сделать часть кода который проверял компьютерное время, и если на нем 01,11...51 минута, код проигрывался заного и делал ставку и опять ожидал время. Что то вроде Wait min 01 or 11 or 21 or 31 or 41 or 51
Под If все загребсти не вариант, т.к. код приходится переодически останавливать, и если под If это будет, то каждая остановка скрипта будет означать что я пропустил одну ставку.

И может есть идеи как более скомпоновать данный код (IMG:style_emoticons/default/wink.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 11.12.2016, 14:11
Сообщение #2


********

Master
Сообщений: 1.394
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 20894
Пользователь №: 16.156



if (min = 10) and (hour = 21)
// делаем что-то, коореетируем пределы min и hour для след. проверки
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.12.2016, 14:17
Сообщение #3


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Для примера использованы секунды вместо минут. Каждые 10 секунд в лог выводятся текущие секунды.
Код
if #time < timer and (sec = 1 or sec = 11 or sec = 21 or sec = 31 or sec = 41 or sec = 51)
log sec
set #time timer + 1000   // для минут 60000 или чуть больше
end_if
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 11.12.2016, 15:16
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27707
Пользователь №: 11.279



Код
set #min min - min / 10 * 10
while  #min != 1
    wait 1000
    set #min min - min / 10 * 10
end_while

вставить прямо вместо вейта.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ksardeks
сообщение 11.12.2016, 16:05
Сообщение #5


*

Registred
Сообщений: 6
Регистрация: 9.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.554
Возраст: 18



Цитата(DarkMaster @ 11.12.2016, 15:16) *

Код
set #min min - min / 10 * 10
while  #min != 1
    wait 1000
    set #min min - min / 10 * 10
end_while

вставить прямо вместо вейта.

Идиально, то что я хотел получить.
Правда скрипт начал в течении минуты совершать ставки и выставил четверть суммы (IMG:style_emoticons/default/laugh.gif) решил добавлением вейта на минуту перед этой частью.
Можно получить обьяснение кода, сижу и не могу догнать как из этой строчки получилось то что мне нужно))
И set #min min - min / 10 * 10 можно поправить на set #min min - min / 100 ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 11.12.2016, 17:24
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26576
Пользователь №: 16.971
Возраст: 29



Код
И set #min min - min / 10 * 10 можно поправить на set #min min - min / 100 ?

Нельзя.
52 - 52 / 10 * 10 = 2
52 - 52 / 100 = явно не 2 будет
Зачем так извращаться, это тоже самое:
Код
while mod(min 10) != 1      // пока остаток от деления не равен 1, добавить wait где надо
end_while

Цитата
принимает ставки раз в 10 минут.

Почему именно 1, 11, 21 ... должно быть. Если ставка сделана в 2 минуты, то следующую делать в 21 или 12?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ksardeks
сообщение 11.12.2016, 17:38
Сообщение #7


*

Registred
Сообщений: 6
Регистрация: 9.12.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.554
Возраст: 18



Цитата(cirus @ 11.12.2016, 17:24) *

Код
И set #min min - min / 10 * 10 можно поправить на set #min min - min / 100 ?

Нельзя.
52 - 52 / 10 * 10 = 2
52 - 52 / 100 = явно не 2 будет
Зачем так извращаться, это тоже самое:
Код
while mod(min 10) != 1      // пока остаток от деления не равен 1, добавить wait где надо
end_while


Почему именно 1, 11, 21 ... должно быть. Если ставка сделана в 2 минуты, то следующую делать в 21 или 12?

Такой нюанс, что если будет 00 минут и я попытаюсь сделать ставку, то при нажатии Send {PageDown} страница отмотается не достаточно далеко чтобы корректно нажать Left 220, 76. Поэтому необходимо чтобы я делал ставку через минуту после открытия возможности сделать ставку.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 11.12.2016, 17:49
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.460
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27707
Пользователь №: 11.279



Цитата
Зачем так извращаться, это тоже самое:

Ну типа по привычке)
Цитата
while mod(min 10) != 1 // пока остаток от деления не равен 1, добавить wait где надо
end_while

а тут внутрь надо вейтик вставить для разгрузки процессора. Хотя бы на 1 мс.

Сообщение отредактировал DarkMaster - 28.12.2016, 23:29


Прикрепленные файлы
Прикрепленный файл  KLHThreatMeter_custom_17.23.zip ( 166,39 килобайт ) Кол-во скачиваний: 221


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 29.3.2024, 14:52
Designed by Nickostyle