Icehelix 0 Posted November 5, 2010 Hi, Im very new to AutoIt so i hope you can help me. I tryed to script a simple application, you just should be able to Pick a Color and a Coordinate at two spots, so if the color is visible at the first Spot it moves the Mouse to the second Spot. Is the second Color visible, it just should do a leftclick. But anyway, I have some Errors i can't get Fixed. I don't know any further. The Code: expandcollapse popup;GUI #include <GUIConstantsEX.au3> #include <Misc.au3> Global $aCord, $hTimer, $iColor Global $aCord[2], $hTimer Global $bCord, $pTimer, $sColor Global $bCord[2], $pTimer opt("GUIOnEventMode", 1) GUICreate("Gamble Bot", 600, 600) GUIsetonevent($GUI_EVENT_CLOSE, "close") GUISetOnEvent($GUI_EVENT_MINIMIZE, "minimize") GUISetState(@SW_SHOW) $Group1 = GUICtrlCreateGroup ("Operation 1", 5, 5, 500, 65) $IDGetInput_1 = GUICtrlCreateButton("Get Input 1", 20, 20, 100, 20) $IDGetInput_2 = GUICtrlCreateButton("Get Input 2", 20, 40, 100, 20) $IDOperationsLabel = GUICtrlCreateLabel ("Number of Pixel Searches:", 20, 80, 200, 20) $IDOpterationsCount = GUICtrlCreateInput ("1", 200, 80, 50, 20) $IDOperationsDelay = GUICtrlCreateLabel ("Delay Time:", 20, 100, 200, 20) $IDOperationsDelayS = GUICtrlCreateLabel ("ms", 275, 100, 200, 20) $IDOpterationsDelay = GUICtrlCreateInput ("500", 200, 100, 50, 20) $IDGamble = GUICtrlCreateButton("Gamble", 200, 550, 100, 20) $IDExit = GUICtrlCreateButton("Exit", 300, 550, 100, 20) GUICtrlSetOnEvent($IDGetInput_1, "GetInput_1") GUICtrlSetOnEvent($IDGetInput_2, "GetInput_2") GUIctrlsetonEvent($IDGamble, "Gamble") GUIctrlsetonEvent($IDExit, "_msg_2") While 1 Sleep(1000) WEnd ; ;Scan Coords & Color ; Func GetInput_1() MsgBox(0,"Choosen Color:", SetColor_1("Left click to define Scan Color")) $aArray = SetCoord_1("left click to define Scan Coordinate") MsgBox(0,"Choosen Coordinate","X: "&$aArray[0] & " Y: " & $aArray[1]) EndFunc Func SetColor_1($sText, $iKey = 01, $bHex = True, $iTimeout = 5000) MsgBox(0, "", $sText, 5) ; $hTimer = TimerInit() Do If _IsPressed($iKey) Then $aCord = MouseGetPos() $iColor = PixelGetColor($aCord[0],$aCord[1]) If $bHex Then Return Hex($iColor) Return $iColor EndIf Until TimerDiff($hTimer) >= $iTimeout Return SetError(1,"",0) EndFunc ;==>_SetColor ; Func SetCoord_1($sText, $iKey = 01, $iTimeout = 5000) MsgBox(0, "", $sText, 5) $hTimer = TimerInit() Do If _IsPressed($iKey) Then $aCord[0] = MouseGetPos(0) $aCord[1] = MouseGetPos(1) Return $aCord EndIf Until TimerDiff($hTimer) >= $iTimeout Return SetError(1,"",0) EndFunc ;==>_SetCoord ; ;Click Coords & Color ; Func GetInput_2() MsgBox(0,"Choosen Color:", SetColor_2("Left click to define Click Color")) $bArray = SetCoord_2("left click to define Click Coordinate") MsgBox(0,"Choosen Coordinate","X: "&$bArray[0] & " Y: " & $bArray[1]) EndFunc ; Func SetColor_2($xText, $oKey = 01, $iHex = True, $zTimeout = 5000) MsgBox(0, "", $xText, 5) $pTimer = TimerInit() Do If _IsPressed($oKey) Then $bCord = MouseGetPos() $sColor = PixelGetColor($bCord[0],$bCord[1]) If $iHex Then Return Hex($sColor) Return $sColor EndIf Until TimerDiff($pTimer) >= $zTimeout Return SetError(1,"",0) EndFunc ;==>_SetColor ; Func SetCoord_2($xText, $oKey = 01, $zTimeout = 5000) MsgBox(0, "", $xText, 5) $pTimer = TimerInit() Do If _IsPressed($oKey) Then $bCord[0] = MouseGetPos(0) $bCord[1] = MouseGetPos(1) Return $bCord EndIf Until TimerDiff($pTimer) >= $zTimeout Return SetError(1,"",0) EndFunc ;==>_SetCoord ; ; Color Scan Block & Mouse Move ; Func Gamble() Global $iCount = 0 Do $iCount += 1 PixelSearch ($aArray[0], $aArray[1], $iColor, 10) If Not @error Then MouseMove($bArray[0], $bArray[1], 0) ExitLoop EndIf Until $iCount = $IDOpterationsCount ;Wiederholt die Schleife bis so oft wie es eingegeben wurde ; ; Color Verify and Mouse Click ; Global $oCount = 0 Do $oCount += 1 PixelSearch ($bArray[0], $bArray[1], $sColor, 10) If Not @error Then MouseClick("left") ExitLoop EndIf Until $oCount = $IDOpterationsCount ;Wiederholt die Schleife bis so oft wie es eingegeben wurde If @error Then MsgBox(0,"","No Matching Color Found!") EndIf EndFunc ; ; Application Minimize & Exit Controlls ; Func _msg_2() MsgBox(0, "Exit", "Application Exits now") Exit EndFunc Func close() Exit EndFunc Func minimize() EndFunc ;************************************************ ;* Declaring Variable * ;* While between Mouse Move and Click Block? * ;* Does Delay and Operation count work? * ;************************************************ The AutoIT Error log after Syntax check: >C:\Program Files (x86)\AutoIt3\SciTE\..\au3check.exe "C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3" AutoIt3 Syntax Checker v1.54.8 Copyright (c) Tylo 2007 C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3(111,32) : WARNING: $aArray: possibly used before declaration. PixelSearch ($aArray[0], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3(111,57) : ERROR: PixelSearch() [built-in] called with wrong number of args. PixelSearch ($aArray[0], $aArray[1], $iColor, 10) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3(113,33) : WARNING: $bArray: possibly used before declaration. MouseMove($bArray[0], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3(123,53) : ERROR: PixelSearch() [built-in] called with wrong number of args. PixelSearch ($bArray[0], $bArray[1], $sColor, 10) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3(111,32) : ERROR: $aArray: undeclared global variable. PixelSearch ($aArray[0], ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Users\Daedlus\Desktop\GambleBot\GambleBotX.au3 - 3 error(s), 2 warning(s) >Exit code: 2 Time: 0.216 Thanks!!! Share this post Link to post Share on other sites
nitekram 68 Posted November 5, 2010 This forum does not support games bots. 2¢All by me:"Sometimes you have to go back to where you started, to get to where you want to go." "Everybody catches up with everyone, eventually" "As you teach others, you are really teaching yourself." From my dad "Do not worry about yesterday, as the only thing that you can control is tomorrow." WIKI | Tabs; | Arrays; | Strings | Wiki Arrays | How to ask a Question | Forum Search | FAQ | Tutorials | Original FAQ | ONLINE HELP | UDF's Wiki | AutoIt PDF AutoIt Snippets | Multple Guis | Interrupting a running function | Another Send StringRegExp | StringRegExp Help | RegEXTester | REG TUTOR | Reg TUTOT 2AutoItSetOption | Macros | AutoIt Snippets | Wrapper | Autoit Docs SCITE | SciteJump | BB | MyTopics | Programming | UDFs | AutoIt 123 | UDFs Form | UDFLearning to script | Tutorials | Documentation | IE.AU3 | Games? | FreeSoftware | Path_Online | Core Language Programming TipsExcel ChangesControlHover.UDFGDI_PlusDraw_On_ScreenGDI BasicsGDI_More_BasicsGDI RotateGDI GraphGDI CheckExistingItemsGDI TrajectoryReplace $ghGDIPDll with $__g_hGDIPDllDLL 101?Array via ObjectGDI SwimlaneGDI Plus French 101 SiteGDI Examples UEZGDI Basic ClockGDI DetectionTernary operator Share this post Link to post Share on other sites