Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Cryolama

Pages: [1]
1
Тут нет проблем, идеальное исполнение. Мое почтение. Если есть возможность, свяжитесь со мной пожалуйста в телеграмм @hiflex. Есть небольшая задача, которую нужно решить, разумеется не безвозмездно.

2
Клики подразумеваются разумеется - физические. Я хочу, чтобы бот дублировал мою работу, когда я выполняю ее в одном окне. И мне достаточно только кликов мышкой.

3
Ребят, извините конечно за такой тупняк, 2 года не пользовался кликером и возникла совершенно тривиальная задача. У меня два окна браузера рядом, нужно, чтобы мои клики на одном окне максимально быстро дублировались в другом окне. Подсказали вот такое решение:
Code: [Select]
$h = 198042 //
HSET($h,1)
IF(ISKEYDOWN(1)=1) //
RCLICK(-1,-1)
WHILE(ISKEYDOWN(1)=1)
WAITMS(15)
END_CYC
END_IF
IF(ISKEYDOWN(2)=1) //
LCLICK(-1,-1)
WHILE(ISKEYDOWN(2)=1)
WAITMS(15)
END_CYC
END_IF
WAITMS(15)

Я делаю привязку к окну, и запускаю кликер, при этом в привязанном окне браузера совершенно ничего не происходит. Подскажите, может я цепляю окно неправильно, так как на само окно браузера hwid один, а на содержимое окна - совершенно другой. Вообще такое решение реализуемо как-то адекватно? Огномное спасибо.

4
Короче говоря, вроде разобрался, работает очень хорошо. Задержки обусловлены скоростью загрузки пикселей, значения так же поменял подстраиваясь под условия задачи. Все чётенько, работает. Для меня это самое главное. Спасибо большое за помощь!

Code: (clickermann) [Select]
WAIT(1)
STRSEPARATE("1:3:10", ":", $arr)
GETSCREEN(673,684, 696,694)
WHILE(1)
   FOR($n = 0, ($n < 3) & (PXL(682,690) = 6440571) ) // только 3 действия и только когда горит красный
   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   WAIT(1)
   KEYSTRING($arr[$n]) // вписал
   KEYPRESS(#SPACE)   // выполнение
LOGWRITE($arr[$n])
      // Ваше действие, в зависимости от значения переменной-сетчика $arr[$n]
      WAIT(1)
      GETSCREEN(673,684, 696,694)
   END_CYC
   LOGWRITE ("1") // всегда, когда нет красного
   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   WAIT(2)
   KEYSTRING("1") // вписал
   KEYPRESS(#SPACE)// выполнение
   WAIT(1)
   GETSCREEN
END_CYC

5
Не забываем, что я лошара и скрипты никогда не писал.

Это мое творчество вполне себе работает, теперь буду переписывать как посоветовали. И есть один нюанс.
Как сделать так, чтобы после 4-5-6 и последующих красных пикселях подряд, он выставлял только "1" до того момента, пока снова не встретится зеленый пиксель и вновь запускал скрипт с самого начала?

Code: [Select]
skip:
WAIT(1)
GETSCREEN(673,684, 696,694)// вариант №1

IF(PXL(682,690) = 7831869) // пошло по сценарию

   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)// дважды чтобы не париться с двухзначным числом
   WAITMS(5)
   KEYSTRING("1") // вписал
   WAITMS(5)
   KEYPRESS(#SPACE) // исполнение команды
   WAIT(1)
   GOTO(skip) // успешно, значит начинаем сначала
   
   
ELSE  // пошло не по сценарию

   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   KEYSTRING("3") // вписал
   KEYPRESS(#SPACE) // исполнение команды
   SOUND("play.wav") // уведомил, что пошло не так
END_IF

WAIT(5)
GETSCREEN(673,684, 696,694)// вариант №2

IF(PXL(682,690) = 7831869) // пошло по сценарию

   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   KEYSTRING("1") // вписал
   KEYPRESS(#SPACE) // исполнение команды
   WAITMS(100)
   GOTO(skip) // успешно, значит начинаем сначала
   
   
ELSE  // пошло не по сценарию

   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   KEYSTRING("9") // вписал
   KEYPRESS(#SPACE) // исполнение команды
END_IF

WAIT(1)

GETSCREEN(673,684, 696,694)// вариант №2

IF(PXL(682,690) = 7831869) // пошло по сценарию

   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   KEYSTRING("1") // вписал
   KEYPRESS(#SPACE) // исполнение команды
   WAITMS(100)
   GOTO(skip) // успешно, значит начинаем сначала
   
   
ELSE  // пошло не по сценарию

   KEYPRESS(#BACKSPACE)
   KEYPRESS(#BACKSPACE)
   KEYSTRING("30") // вписал
   KEYPRESS(#SPACE) // исполнение команды
END_IF 

WAIT(1) // ну и 4 варианта не дано, пошли по новой

6
Я не особо соображаю, так что не ругайтесь на меня. Суть вопроса такая.
1. Изначально есть определенный пиксель зеленого цвета. И скрипт при виде этого пикселя (зеленый) выполняет команду, выставляя значение 1 в поле и жмет enter, это действие циклично и бесконечно повторяется с WAITMS, в случае если нет изменений.
2. Если пиксель стал красным, то он выставляет значение 3 и жмет enter.

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

При этом если серия красных пикселей прерывается - так же возвращался на исходную и запускал скрипт с самого начала.

Спасибо если поясните хотя бы основные принципы.

Pages: [1]