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 - Разумист

Pages: [1]
1
KEYPRESS это нажатие, а не зажатие.
Зажать это KEYDOWN, только... зажатия не работают в режиме привязки.
Ну можно считать, что тема не актуальна. :( Ответ на свой вопрос услышал, жаль что не работает зажатие в режиме привязки(

2
Здравствуйте. Имеется игра World of warcraft:BFA в 2 окна на рабочем столе.
Необходимо:
(Привязываю CM сочетанием клавишь alt+w ко второму окну, куда должны дублироваться действия.
*Цикл, постоянный мониторинг нижеперечисленных кнопок на активность в процессе игры.*
При нажатии кнопки 1 (в окне игры #1) - срабатывание кнопки 1 в окне игры #2
При ЗАЖАТОЙ (это важно) кнопке X - ЗАЖАТЬ кнопку X во втором окне игры.
При ЗАЖАТОЙ (это важно) кнопке SPACE - ЗАЖАТЬ кнопку SPACE во втором окне игры.

Что имеется:
Code: [Select]
FOR ($a=1, $a>0)
   if(iskeydown(#w)=1)
      keypress(#1)
     
   ELSE

      if(iskeydown(#x)=1)
         KEYpress(#x)
         
      ELSE

         if(iskeydown(#space)=1)
            KEYpress(#space)

               ELSE
               waitms(20)
         END_IF
      END_IF
   END_IF
END_CYC
halt


Какие проблемы:
Когда я зажимаю кнопку SPACE (пробел), то во втором окне SPACE (пробел) зажимается рывками. Дело в том, что в игре WoW персонажи летают по миру. Когда я в первом окне зажимаю пробел (зажать пробел - взлет персонажа вверх) то это должно продублироваться во второе окно. Но дублируется с рывками как то...

3
Банили учетную запись WoW:BFA на пол года :D Не знаю конкретно за это ПО, или за афк-рыбалку. Но во всяком случае будьте осторожны с этой игрой.

4
Возможно ли получить бан в World Of Warcraft: BFA за использование Clickermann? Не для рыбалки. Для авторотации. Т.е есть аддон, подсказывающий следующее заклинание на цель в виде иконки, и кликер будет нажимать кнопку на клавиатуре как увидит иконку способности (удобно если играть за класс, где быстро надо нажимать кнопки)

5
Постоянная область для сканирования (0,1014, 66,1079), здесь появляются картинки 1, 2, 3.
Если появляется картинка 1 нажимается кнопка 1 на клавиатуре
Если появляется картинка 2 нажимается кнопка 2
Если появляется картинка 3 нажимается кнопка 3
Картинки появляются случайным образом, т.е может появиться картинка 2(нажать 2), картинка 1(нажать 1), и что бы постоянно ожидалась картинка и нажималась соответствующая кнопка.

Code: [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN (0,1014, 66,1079)
   IF_PICTURE_IN (0,1014, 66,1079, "1.bmp", -1, 100)
      $check = 1
      KEYPRESS(#1)
      WAITMS(100)
   END_IF
END_CYC

else

$check = 0
WHILE($check = 0)
   GETSCREEN (0,1014, 66,1079)
   IF_PICTURE_IN (0,1014, 66,1079, "2.bmp", -1, 100)
      $check = 1
      KEYPRESS(#2)
      WAITMS(100)
   END_IF
END_CYC

else

$check = 0
WHILE($check = 0)
   GETSCREEN (0,1014, 66,1079)
   IF_PICTURE_IN (0,1014, 66,1079, "3.bmp", -1, 100)
      $check = 1
      KEYPRESS(#3)
      WAITMS(100)
   END_IF
END_CYC

else

halt

Code: (clickermann) [Select]
// Клавиша   |   Константа   |   10-ный код
// 0         |   #0          |   48
// 1         |   #1          |   49
// 2         |   #2          |   50
// 3         |   #3          |   51
// и т.д.

GETSCREEN (0, 1014, 66, 1079)
FOR($i = 1, $i < 4)
   IF_PICTURE_IN (0, 1014, 66, 1079, STRCONCAT($i, ".bmp"), -1, 100)
      KEYPRESS(48+$i)
      WAITMS(100)
   END_IF 
END_CYC

HALT
Спасибо :)

6
Это часть кода с набором числа и нажатием Enterа, клики сам напишешь.
Code: (clickermann) [Select]
INC($n,1)
IF($n < 500)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF

Сделал так:
Code: [Select]

LCLICK(927,572)
KEYSTRING("текст")
wait(5)
LCLICK(936,633)
wait(6)
LCLICK(920,1001)
wait(10)


LCLICK(1201,551)  // клик на строку ввода
wait(1)
 
INC($n,201)       
IF($n < 844)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF

wait(13)
LCLICK(970,465)

wait(4)

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


В первый раз вводится 201. Потом вводится уже 404, хотя должно 202. Код повторяется, по кликам всё окей, попадает. В чем ошибка?)

7
UPD2: Всем еще раз спасибо за подсказки :)

Здравствуйте. Прошу помощи в реализации скрипта по подбору чисел от 1 до 499.
Как должно быть:
Курсор летит по координатам - Клик в строку ввода чисел
Вводится число 1, нажимается Enter
Курсор летит по другой координате, возвращается в строку ввода
Вводится число 2, нажимается Enter.
И так до ввода числа 499

Это часть кода с набором числа и нажатием Enterа, клики сам напишешь.
Code: (clickermann) [Select]
INC($n,1)
IF($n < 500)
   KEYSTRING($n)
   WAITMS(50)
   KEYPRESS(#ENTER)
   WAITMS(50)
ELSE
   HALT
END_IF
Благодарю!  ;)

8
p.s:рыбалка пока приносит прибыль в виде золота (600к золота/мес. -> 2100р/мес. пассивного заработка, на оплату подписки и интернета хватает ;) )

;D Теперь ведь можно официально голд на реал менять?
Тоже думаю поискать удаленный сервер, вот только не знаю потянет ли игра. Только на виртуальную машину ставил. Голд обменивается на "жетон", а жетон -> подписка 30д./550р на счет блиzzард. Но от туда не вывести никак :D
Если только в подполье продавать голд, хоть и риск, но всё же)

9
Искать поплавок на воде визуально - дохлый номер. Не знаю может у тебя получится. У меня не получилось.
Я делал как написано здесь - http://crapware.aidf.org/forum/index.php?topic=3101.msg20696#msg20696 - по всплеску.
Вот пара советов из личного опыта. Если кому надо конечно.
Главное настроить графику самой игры. Там есть детализация воды и прочее. Всю графику естественно на минимум. Тогда определяет поплавок в момент поклевки 100%. Перед ловлей правда приходится немного покрутиться на месте, вода всегда разная. Но зато можно ловить даже у водопадов где вода рябит сильно. Помогает еще приближение и удаление изображения колесом мыши. Это уже как тонкая настройка. Все действия без задержек, по всплеску. Рандомная задержка только перед забросом удочки. Определение начала и конца каста ловли по наличию на экране полосы каста.
На звук ловить не пробовал. Баны тоже не ловил. :) Сейчас забросил всё это.
Познавательно, спс за советы)
Фармлю заточенным ботом на рыбалку, но рано или поздно за него "поругают ;)"

p.s:рыбалка пока приносит прибыль в виде золота (600к золота/мес. -> 2100р/мес. пассивного заработка, на оплату подписки и интернета хватает ;) )

10
Используй ISKEYDOWN для отлова нажатия клавиши, IF_PIXEL_IN для поиска попловка, PXLXOR или PXL для определения изменений пикселей в области микшера громкости
Уфф) сложно) Как это реализовать в коде?  Вот что имеется, здесь только по пикселю. Не пойму, как добавить чек звука
[spoiler]
Code: [Select]
#name "v0.1 рыбалка WoW"
LOGCLEAR
LOGWRITE ("Старт")
1:
KEYPRESS(#E)                     //  начало ловли
MOVE(276,870)     
$time = $_time_t + 22         // таймер на 22 секунд
WHILE($time > $_time_t)       //  переход к сканированию пикселя
   GETSCREEN(16,860,290,956)
   COLORMODE(6,16,860,290,956)
   IF_PIXEL_IN(16,860,290,956, 12566335,16777215,8388415)
      WAITMS(RND(600,750))
      LCLICK($_return1, $_return2)    //клик на поплавок
      $time = 0
      waitms(100)
   ELSE
      waitms(50)
   END_IF
END_CYC
IF($time ! 0)
   LOGWRITE ("Перезаброс")
ELSE
   INC($var,1)
   LOGWRITE ("Поймал рыбу ",$var," раз Пиксель - ", PXL($_return1, $_return2) )
   WAIT(RND(2,3))             //  ждет 2-3 сек
END_IF
GOTO(1)                      //возврат в начало

                 //утро-день: 6 ColorMode 12566335,16777215,8388415
                 //ночь: 6 ColorMode
[/spoiler]

11
Суть вопроса такова, можно ли как то задействовать прослушку звука из игры?
1. Нажимаем "1" - начинается рыбалка
2. Находим пиксель поплавка (к примеру 123456)
3. Ждем когда клюет, Lclickermann должен "услышать увеличение громкости" (Шкала уровня громкости мощно так увеличивается, скрин ниже)
4. Выполняем Lclick по найденному пикселю (то бишь, по поплавку)
Возвращаемся к шагу 1

12
Code: (clickermann) [Select]
// 16.12.2018
#name "v0.1 рыбалка WoW"
LOGWRITE ("Старт")
1:
KEYPRESS(#E)           //  начало ловли
$time = $_time_t + 15  // таймер на 15 секунд
WHILE($time > $_time_t)//  переход к сканированию пикселя
   GETSCREEN(46,265,1151,676)
   COLORMODE(2,46,265,1151,676)
   IF_PIXEL_IN(46,265,1151,676,16777215)
      LCLICK($_return1, $_return2) //клик на поплавок       
      $time = 0
      waitms(800)
   ELSE
      waitms(50)
   END_IF
END_CYC
IF($time ! 0)
   LOGWRITE ("Перезаброс")
ELSE
   INC($var,1)
   LOGWRITE ("Поймал рыбу ",$var," раз")
   WAIT(RND(2,3))         //  ждет 2-3 сек
END_IF
GOTO(1)//возврат в начало
Отличная работа! Благодарю

13
Здравствуйте. Набросал код, который:
1. Нажимает кнопку E (начало рыбалки)
2. Ждет белый пиксель (когда клюет, поплавок прыгает и от него брызги)
3. Кликает на поплавок, ждет 2-3 сек и возвращается к 1 шагу.

Проблемы:
Если не находит пиксель брызг от поплавка (16777215) не возвращается к 1 шагу.

Надо:
Сделать возврат к 1 шагу (нажатие Е) если не был найден 16777215 пиксель в течении 25 сек. И повторять пока сам не завершу работу.

Code: [Select]
1:
WAIT(RND(1,3))
KEYPRESS(#E)                          //начало рыбалки

GOTO(fish)                            //переход к сканированию пикселя

fish:
$check = 0
WHILE($check = 0) 
   GETSCREEN
   COLORMODE(2)
   IF_PIXEL_IN(46,265,1151,676,16777215)
      $check = 1
      waitms(800)
      LCLICK($_return1, $_return2) //клик на поплавок
      LOGWRITE ("Поймал рыбу")   
   END_IF
END_CYC

GOTO(1)                        //возврат в начало (не возвращается в начало если не нашел пиксель)

Pages: [1]