(02-08-2015, 11:18 AM)GkevinOD Wrote: Autoit has an Information Window, you can use that to detect the location of the pixel. Use Finder Tool and get the pixel. In the 'Control' tab you can get the coordinates, 'Mouse' tab you can get the color.
#include <Misc.au3>
#include <WinAPI.au3>
Global $BSpos[2] ; Inside BlueStacks positions relative to the screen
$Title = "BlueStacks App Player for Windows (beta-1)" ; Window name
$Full = WinGetTitle ($Title) ; Get The Full Title..
$HWnD = WinGetHandle ($Full) ; Get The Handle
WinActivate ($HWnD)
Func getBSPos()
$aPos = ControlGetPos($Title, "", "[CLASS:BlueStacksApp; INSTANCE:1]")
$tPoint = DllStructCreate("int X;int Y")
DllStructSetData($tPoint, "X", $aPos[0])
DllStructSetData($tPoint, "Y", $aPos[1])
_WinAPI_ClientToScreen(WinGetHandle(WinGetTitle($Title)), $tPoint)
$BSpos[0] = DllStructGetData($tPoint, "X")
$BSpos[1] = DllStructGetData($tPoint, "Y")
EndFunc ;==>getBSPos
HotKeySet ("{F7}", "FindPos")
HotKeySet ("{F8}", "Terminate")
While 1
Sleep (100)
WEnd
Func FindPos()
getBSPos()
Local $Pos[2]
Local $iColour = 0
While 1
If _IsPressed("01") Then
$Pos[0] = MouseGetPos()[0] - $BSpos[0]
$Pos[1] = MouseGetPos()[1] - $BSpos[1]
$iColour = Hex (PixelGetColor($Pos[0],$Pos[1]),6)
ClipPut($Pos[0] & "," & $Pos[1] & "," & $iColour)
Return $Pos
EndIf
WEnd
EndFunc ;==>FindPos
Func Terminate()
Exit
EndFunc ;==>Terminate
(02-08-2015, 04:43 PM)Mephobia Wrote: I use ColorPic to get colors: http://www.iconico.com/colorpic/
AND
I use Greenshot to get coordinates: http://getgreenshot.org/
#AutoIt3Wrapper_UseX64=n
; Set the Escape hotkey to terminate the script.
HotKeySet("{ESC}", "_Terminate")
Example()
Func Example()
; Initialize a Local variable.
Local $aMgp = 0
; Create an endless loop, 1 will always be 1 therefore True.
While 1
; Assign a Local variable the coords of the cursor (array).
$aMgp = MouseGetPos()
; Display a tooltip near the cursor with its coords.
ToolTip("x: " & $aMgp[0] & ", y: " & $aMgp[1], $aMgp[0] + 10, $aMgp[1] + 10)
; Avoid high CPU usage.
Sleep(50)
WEnd
EndFunc ;==>Example
Func _Terminate()
Exit
EndFunc ;==>_Terminate
(02-08-2015, 01:11 PM)safar46 Wrote: Try to use Control ViewerThis seems to work quite well. Thank you for the link.
http://www.autoitscript.com/forum/topic/...info-tool/
(02-08-2015, 10:19 PM)Henk500 Wrote: for coordinates i use this autoit script...iim not sure these are correct coordinates in game..@Henk500 - I think your coordinates will be off a bit if you don't take into account the window borders. That is what getBSPos() and FindPos() are doing.
Code:#AutoIt3Wrapper_UseX64=n
; Set the Escape hotkey to terminate the script.
HotKeySet("{ESC}", "_Terminate")
Example()
Func Example()
; Initialize a Local variable.
Local $aMgp = 0
; Create an endless loop, 1 will always be 1 therefore True.
While 1
; Assign a Local variable the coords of the cursor (array).
$aMgp = MouseGetPos()
; Display a tooltip near the cursor with its coords.
ToolTip("x: " & $aMgp[0] & ", y: " & $aMgp[1], $aMgp[0] + 10, $aMgp[1] + 10)
; Avoid high CPU usage.
Sleep(50)
WEnd
EndFunc ;==>Example
Func _Terminate()
Exit
EndFunc ;==>_Terminate
(02-09-2015, 12:12 AM)Snarg Wrote:(02-08-2015, 01:11 PM)safar46 Wrote: Try to use Control ViewerThis seems to work quite well. Thank you for the link.
http://www.autoitscript.com/forum/topic/...info-tool/
(02-08-2015, 10:19 PM)Henk500 Wrote: for coordinates i use this autoit script...iim not sure these are correct coordinates in game..@Henk500 - I think your coordinates will be off a bit if you don't take into account the window borders. That is what getBSPos() and FindPos() are doing.
Code:#AutoIt3Wrapper_UseX64=n
; Set the Escape hotkey to terminate the script.
HotKeySet("{ESC}", "_Terminate")
Example()
Func Example()
; Initialize a Local variable.
Local $aMgp = 0
; Create an endless loop, 1 will always be 1 therefore True.
While 1
; Assign a Local variable the coords of the cursor (array).
$aMgp = MouseGetPos()
; Display a tooltip near the cursor with its coords.
ToolTip("x: " & $aMgp[0] & ", y: " & $aMgp[1], $aMgp[0] + 10, $aMgp[1] + 10)
; Avoid high CPU usage.
Sleep(50)
WEnd
EndFunc ;==>Example
Func _Terminate()
Exit
EndFunc ;==>_Terminate