sleep Function Fehler

08/17/2012 15:21 xXDarkHellXx#1
Hi. Ich wollte für NosTale einen Bot erstellen. Dieser sagt mir aber das Line 15 ein Fehler ist.
"Error: Variable used without being declared."
In Line 15 ist aber eine sleep Function und den Fehler finde ich nicht.
Das Script
Code:
AutoItSetOption("WinTitleMatchMode", 4)
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
$windowname = "NosTale"
$handle = WinGetHandle($windowname, "")
sleep(5000)
If @error Then
    MsgBox(4096, "Error", "Fenster konnte nicht gefunden werden")
Else

    While 1
	   ControlClick ($windowname, "", '0',600,350 )
        ControlSend($windowname, '', '', " " )
        sleep(1667)
		ControlClick ($windowsname, "", '0',750,400 )
		ControlSend($windowname, '', '', " " )
		 Sleep(1667)
		 ControlClick ($windowname, "", '0',625,500 )
		 ControlSend($windowname, '', '', " " )
		 sleep(1667)
    WEnd


    

EndIf




Func TogglePause()
        $Paused = Not $Paused
        While $Paused
            Sleep(100)
        WEnd
    EndFunc   


Func Terminate()
    Exit 0
EndFunc
Ausserdem hätte ich noch eine Frage bezüglich der Control ID. Mit dem AutoIt Info Tool sollte man ja die einzelnen Controls rauskriegen, diese werden bei mir aber nicht angezeigt für NosTale, weswegen warscheinlich mein ControlClick nicht funktioniert.
Könnte mir bitte jemand helfen? Vielen Dank schon einmal im vorraus.
MfG
08/17/2012 15:27 Ludder231#2
Weil du kein @error unter sleep machen kanst, da sleep kein error zurück gibt.

Control ID geht nur bei Windows Fenstern un da NOSTale das woh nicht ist wirds nicht gehen. Guck dir Memoryhacking an damit kannste wohl eher was machen.
08/17/2012 16:26 Jeoni#3
Zeile 15 ist bei dir folgende:
Code:
ControlClick ($windowsname, "", '0',750,400 )
Und die Variable "$windowsname" ist tatsächlich nicht deklariert. Wenn, dann musste "$windowname" (!= "$windowSname" (wie du's geschrieben hast)) da hinschreiben.
Damit dürfte sich der Fehler behoben haben. Ob's klappt oder nicht, ist natürlich eine andere Sache und vermutlich hat mein Vorposter auch Recht, aber dein Fehler ist zumindest behoben und du kannst (hoffentlich) ohne Probleme kompilieren.
Hoffe, ich konnte helfen ;)
Jeoni
08/17/2012 16:26 Smincke2#4
Du hast bei einem einmal windowsname und nicht windowname geschrieben...
08/17/2012 17:25 xXDarkHellXx#5
Danke nochmal an alle die mir hiermit geholfen haben. Nun habe ich aber leider ein anderes Problem. Controlclick funktioniert nun, aber es klick aus den Hintergrund sozusagen. Normalerweise sollte der Bot auf ein Monster klicken welches sich an dieser Stelle befindet, doch jetz klickt er auf den Boden durch das Monster hindurch.
Code:
ControlClick ($windowname, "", 0,"","1",625,350 )
So sieht meine ControlClick Zeile zur Zeit aus.
MfG
08/19/2012 12:46 xXDarkHellXx#6
*push*
08/19/2012 21:26 Logtetsch#7
Controlclick funktioniert nur im Fenstermodus, oder liege ich da falsch?
08/20/2012 22:23 xXDarkHellXx#8
Quote:
Originally Posted by Logtetsch View Post
Controlclick funktioniert nur im Fenstermodus, oder liege ich da falsch?
Also an sich funktioniert es ja. Aber es klickt nicht wie ich es möchte. Wenn es auf das Monster klicken soll welches bei den Koordinaten steht klick es auf den Boden dahinter. Heisst mein Charakter läuft an diese Stelle anstatt das Monster anzugreifen.
08/20/2012 23:40 uragan#9
Wenn es immer dahinter klickt, dann frage ich mich wieso du die MausPosition einfach etwas nach vorne setzst?

Quote:
ControlClick ($windowname, "", 0,"","1",625 - ausgleichzahl,350 - ausgleichzahl)
sogar für dich rot unterlegt
das minus kann aber auch ein plus sein
08/21/2012 00:59 Lawliet#10
Hat warscheinlich was mit der Auflösung zutun.
08/22/2012 16:02 xXDarkHellXx#11
Quote:
Originally Posted by uragan View Post
Wenn es immer dahinter klickt, dann frage ich mich wieso du die MausPosition einfach etwas nach vorne setzst?



sogar für dich rot unterlegt
das minus kann aber auch ein plus sein
Ich denke da hast du etwas missverstanden. Mit 'dahinter' meinte ich das auf eine tiefere Ebene zugegriffen wird und ich nicht nur ein paar Pixel zu weit eingestellt habe. Oder habe ich nun deine Aussage falsch verstanden? Falls ja tut es mir leid.