Что нового

Не выполняется функция 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) но там все настолько на другом уровне... Так что прошу не пинать ногами.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3 590
Репутация
938
{CodeWarn}
 

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 590
Репутация
938
Если просто так:
Код:
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 318
Репутация
567
возможно, элемент изначально не реагирует на подобное нажатие. может просто сделать двойной клик левой кнопкой мыши?или ты пытаешься открыть вторую вкладку?
 

Belfigor

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

yukuru

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

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


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

Belfigor

Модератор
Локальный модератор
Сообщения
3 590
Репутация
938
{CodeWarn}
 
Верх