Что нового

Не выполняется функция MouseClick

Pol

Новичок
Сообщения
7
Репутация
1
написал прогу но почему то при выполнении условия совпадения цвета пиксела с заданным курсор мышки позиционируется в нужное место, но нажатия по функции MouseClick не происходит. :(
Вот скрипт:
Код:
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
$sWin = "[TITLE:W.o.T. Client]"
WinActivate($sWin)
While WinActive($sWin)
  $X = 484                  ; Координата X
  $Y = 46                   ; Координата Y
  $hCol = 16447222          ; цвет точки 484, 46 кнопки Battle!
  If PixelGetColor($X, $Y) = 16447222 Then MouseClick("primary", $X, $Y, 1, 20)
WEnd


ПС. Есть тема [Автоматизация] Бот для игры Мир танков(WoT) но там все настолько на другом уровне... Так что прошу не пинать ногами.
 

edward_freedom

Осваивающий
Сообщения
200
Репутация
44
У меня раньше такое тоже было,исправил вот так
вместо
Код:
MouseClick("primary", $X, $Y, 1, 20)

вот это
Код:
MouseClick("left", $X, $Y, 1, 20)
 
Автор
P

Pol

Новичок
Сообщения
7
Репутация
1
Это я уже пробовал. Не помогает.
Причем если ставлю вместо MouseClick -
Код:
MsgBox(64, "clicks:", MouseClick("primary", $X, $Y, 1, 20))

получаю две реакции:
1. мессэдж бокс выдает 1 (т.е. нажатие таки происходит но почему то кнопка не нажимается)
2. ничего не выдается пока не двину мышкой - тогда 1. Эта отработка бывает горазд чаще в 95 % случаев
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Если просто так:
Код:
MouseClick("primary", $X, $Y, 1, 20)

У тебя работает, то проблема вероятно как и везде кроется в применении функции
Код:
PixelGetColor($X, $Y)

там где не надо. Собственно за много лет MouseClick ни разу не дала у меня сбой.
 
Автор
P

Pol

Новичок
Сообщения
7
Репутация
1
Да, вроде,
Код:
PixelGetColor($X, $Y)
применяется где надо - когда я заменил кликание мышки на нажатие Enter то получил че хотел.
Но почему
Код:
MouseClick("primary", $X, $Y, 1, 20)
не работает - для меня загадка... :mad:
 

joiner

Модератор
Локальный модератор
Сообщения
3,412
Репутация
597
возможно, элемент изначально не реагирует на подобное нажатие. может просто сделать двойной клик левой кнопкой мыши?или ты пытаешься открыть вторую вкладку?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
А может быть клиент как-то блокирует автоматизацию.
 

yukuru

Влюбленный Бродячий Кот
Сообщения
48
Репутация
4
для начала уверенность, чтто мы все правильно настроили
Код:
Opt("MouseCoordMode", 2)
 Opt("PixelCoordMode", 2)
 Opt("MouseClickDelay", 100)
Opt("MouseClickDownDelay", 100)
Opt("MouseClickDragDelay", 300)

а во вторых, в танчиках в бою,- мышь отрубается. ты можешь сделать клик, но только на текущем моложении мыши и никак не на координаты
и както такЪ
Код:
MouseDown("right")
Sleep(100)
MouseUp("right")


пробовал сделать инициалиацию мыши нена игре, а на фоне....всеравно нихера не помогает.
 
Верх