imagesearch and soundplay

Stelle Fragen zur Automatisierung von Spielen

Moderator: jNizM

spammer73
Posts: 2
Joined: 07 Sep 2017, 02:01

imagesearch and soundplay

Post by spammer73 » 05 Feb 2020, 17:45

moin moin ihr landratten,

ich hatte es vor jahren mal geschafft ein script zu schreiben, mit viel geduld und probieren und noch mehr glück, das einen bestimmten abschnitt meines monitors nach bestimmten bildern absucht.
naja, was soll ich sagen, ich bekomme es einfach nicht wieder hin nachdem ich heute den halben tag damit verbracht habe.
ich hoffe das einer von euch mir altem noob unter die arme greifen kann. :)

das script soll an einer bestimmten stelle in einem nicht aktiven fenster (CoordMode) nach den bildern (imagesearch) suchen. falls es eines der gesuchten bilder findet soll es dann eine wave datei abspielen (SoundPlay). findet es keines der bilder soll es sich nach 3 sekunden (sleep = 3000) wiederholen. wird das script fündig muß ich es halt neustarten.

vermutlich werden einige lachen wenn sie es sehen, aber ungefähr so sollte es wohl hoffentlich aufgebaut sein. :)

Code: Select all

; Start image search
   CoordMode, Screen

Loop 

		{
Labelstart:
^j::


Label1:

   ImageSearch, whereXis, whereYis, -1465, 607, -1450, 960, A_ScreenWidth, A_ScreenHeight, C:\Benutzer\spam4\Bilder\game\1.bmp
   	if (ErrorLevel = 2)
		MsgBox irgendetwas paßt da nicht
  	 else if (errorLevel = 1)
		Goto Label2
 	  else
		Goto Labelsound	

Label2:

   ImageSearch, whereXis, whereYis, -1465, 607, -1450, 960, A_ScreenWidth, A_ScreenHeight, C:\Benutzer\spam4\Bilder\game\2.bmp
  	 if (ErrorLevel = 2)
		MsgBox irgendetwas paßt da nicht
  	 else if (ErrorLevel = 1)
		Goto Label3
 	  else
		Goto Labelsound


Label3:

   ImageSearch, whereXis, whereYis, -1465, 607, -1450, 960, A_ScreenWidth, A_ScreenHeight, C:\Benutzer\spam4\Bilder\game\3,bmp
  	 if (ErrorLevel = 2)
		MsgBox irgendetwas paßt da nicht
  	 else if (ErrorLevel = 1)
		Goto Labelrestart
  	 else
		Goto Labelsound

Labelsound:
	SoundPlay = %A_ProgramFiles%\gaaame\morse.wav
 		Goto Labelbreak

Labelbreak:
	break

Labelrestart:
	Goto Labelstart
 
		}	
ich bekomme im´mer die fehlermeldung der messagebox gleich nach der ersten suche.
Also hoffe ich mal auf euer schwarmwissen das mir evtl, helfen könnte.

have a nice day
Spammer73

ElektroBerry
Posts: 8
Joined: 13 Jul 2019, 20:10

Re: imagesearch and soundplay

Post by ElektroBerry » 07 Feb 2020, 16:13

Hallo.
Folgende Dinge sind mir aufgefallen:
Zuviele Parameter werden bei dem ImageSearch übergeben:

Code: Select all

ImageSearch, whereXis, whereYis, -1465, 607, -1450, 960, A_ScreenWidth, A_ScreenHeight, C:\Benutzer\spam4\Bilder\game\3,bmp
ImageSearch, AusgabeX, AusgabeY, X1, Y1, X2, Y2, Bilddatei
Vor der letzten Dateienung ist ein Komma.
Und beim Soundplay ist ein "=" Zeichen.

Und vom Prinzip her könnte man das ganze Skript etwas kürzen. Ungefähr so:

Code: Select all

CoordMode, Screen
^j::
Loop {
	Loop 3 {
		ImageSearch, whereXis, whereYis, -1465, 607, -1450, 960, C:\Benutzer\spam4\Bilder\game\%A_Index%.bmp
		if (ErrorLevel = 2)
			MsgBox irgendetwas paßt da nicht
	  	 else if (ErrorLevel = 1)
	  	 	Continue
	  	 else {
			SoundPlay, %A_ProgramFiles%\gaaame\morse.wav
	  	 	break 2 ; Aus beiden Loops raus
	  	 }
	}
	Sleep 3000
} return

Post Reply

Return to “Spiele”