Shikaka
Новичок
- Сообщения
- 6
- Репутация
- 0
Приветствую.
Пишу простого бота для Wartunes. (flash-игра)
Изначально пишу с расчетом на неактивное окно, расположенное за пределами экрана.
для отправки текста использую ControlSend
для кликов мышки ControlClick
для получения координат скопированную с данного форума _PixelGetColorEx
В большинстве случаев клики мышкой работают замечательно, однако в игре есть место, которое не хочет нажиматься пока на него не наведешь мышкой.
Интересует если ли какая либо возможность без наведения мышки сообщить моему Control о наличии мышки по определенным координатам и возможно даже движения мыши?
Добавлено:
Уточнение.
Судя по всему кнопка становится видна только при наведении мышой на определенную область... после чего проблем нажать кнопку уже нету.
upd 10.08.2013: изменил название темы в соответствии с правилами раздела
Добавлено:
Возможно описанное словами не очень понятно.
Пишу простого бота для Wartunes. (flash-игра)
Изначально пишу с расчетом на неактивное окно, расположенное за пределами экрана.
для отправки текста использую ControlSend
для кликов мышки ControlClick
для получения координат скопированную с данного форума _PixelGetColorEx
В большинстве случаев клики мышкой работают замечательно, однако в игре есть место, которое не хочет нажиматься пока на него не наведешь мышкой.
Интересует если ли какая либо возможность без наведения мышки сообщить моему Control о наличии мышки по определенным координатам и возможно даже движения мыши?
Добавлено:
Сообщение автоматически объединено:
Уточнение.
Судя по всему кнопка становится видна только при наведении мышой на определенную область... после чего проблем нажать кнопку уже нету.
upd 10.08.2013: изменил название темы в соответствии с правилами раздела
Добавлено:
Сообщение автоматически объединено:
Возможно описанное словами не очень понятно.
Код:
; если есть MouseMove, то MyClick сработает, если его закомментировать, то не сработает :(
; ВАЖНО! так только в одном месте, где кнопка до наведения мышкой на картинку игрока просто скрыта.
MouseMove(962, 340);
; Пробовал что то с WINAPI, но тоже не работает
;_WinAPI_Mouse_Event($MOUSEEVENTF_ABSOLUTE OR $MOUSEEVENTF_MOVE, 962, 350)
MyClick("Left", 2, 962, 340) ; Select Player to fight
Func MyClick($btn,$count,$x,$y,$nodelay=False)
if IsDebug() then
$c = _PixelGetColorEx($x,$y,$hGUI)
Debug("Click on "&$x&","&$y&" c:0x"&Hex($c,6))
EndIf
; для клика не нужно делать Control активным
; ControlFocus($WindowTitle,'', $ControlID)
; смещаем координаты относительно окна, поскольку ControlClick работает только в координатах ControlID
$pos = ControlGetPos($WindowTitle,"",$ControlID)
if @error ==0 then
$dx = $pos[0]
$dy = $pos[1]
ControlClick($WindowTitle,'',$ControlID ,$btn, $count, $x-$dx, $y-$dy);
Else
$BrowserReady = False
EndIf
if not $nodelay then
Sleep(200)
EndIf
EndFunc