script problem mit for - next schleifen

09/30/2011 20:45 sakule#1
hi,
wie schon im titel beschrieben wollte ich dich um hilfe bitten

ich will die loop neustarten wenn die bestimmte farbe an der stelle eintritt wär nett wenn ihr mir helfen könntet

die Fehlermeldung lautet

func missi()

Error:"For" statement has no matching "Next" statement


Code:
For $i=1 to $wieoft
	

func Missi ()
	
	
sleep (5000)
mouseclick ("left",840,600,1,50) ;--------klick station
sleep (300)
mouseclick ("left",844,664,1,70)  ;-------missi klick
sleep (70)
mouseclick ("left",895,458,1,50) ;--------21er missi wahl
sleep (70)
mouseclick ("left",1038,443,1,70) ;--------Flotte aussuchen
sleep (90)  ;-------------------------Tanken Beginn
mouseclick ("left",928,783,1,70) ;----Gruene kanne
sleep (90)
mouseclick ("left",686,398,1,40) ;----alle tanken
sleep (70)
mouseclick ("left",1044,400,1,70) ;----Bestaetigen
sleep (70) ;--------------------------Tanken ende
mouseclick ("left",1038,443,1,70) ;--------Flotte aussuchen
sleep (70)
mouseclick ("left",660,481,1,40) ;--------kapi 1
sleep (30)
mouseclick ("left",863,488,1,40) ;--------kapi 2
sleep (30)
mouseclick ("left",1030,486,1,40) ;--------kapi 3
sleep (30)
mouseclick ("left",672,598,1,40) ;--------kapi 4
sleep (30)
mouseclick ("left",858,598,1,40) ;--------kapi 5
sleep (30)
mouseclick ("left",1042,601,1,40) ;--------kapi 6
sleep (30)
mouseclick ("left",690,704,1,40) ;--------kapi 7
sleep (30)
mouseclick ("left",841,697,1,40) ;--------kapi 8
sleep (30)
mouseclick ("left",1047,699,1,40) ;--------kapi 9
sleep (30)
mouseclick ("left",932,838,1,40) ;--------seite wechseln
sleep (30)
mouseclick ("left",675,490,1,40) ;--------kapi 10
sleep (30)
mouseclick ("left",674,593,1,40) ;--------kapi 11
sleep (30)
mouseclick ("left",854,492,1,40) ;--------kapi 12
sleep (30)
mouseclick ("left",1044,500,1,40) ;--------kapi 13
sleep (70)
mouseclick ("left",1090,782,1,70) ;--------flotte bestaetigen
sleep (90)
mouseclick ("left",1043,398,1,70) ;--------auf gehts ab gehts
while 1
	if PixelGetColor(628,438) = 0x562602 Then
		Next
			Else
				sleep(20000)

	EndIf
WEnd
EndFunc
Next
09/30/2011 21:02 omer36#2
Do
sleep(20000)
Until PixelGetColor(628,438) = 0x562602

?


€wobei, gibt pixelgetcoler nen hex-wert raus? musst mal in der hilfe nachschauen, eventuell musst du die 0x weg machen
09/30/2011 21:11 sakule#3
kommt immernoch die selbe meldung irgentwie erkennt der das next nich an

ok habs gelöst das for und next hab ich in die func gepackt jetzt is aber irgwie das fenster mit den inputboxen etc. schließt sich sofort
09/30/2011 21:13 omer36#4
aus:

while 1
if PixelGetColor(628,438) = 0x562602 Then
Next
Else
sleep(20000)

EndIf
WEnd


wird:

Do
sleep(20000)
Until PixelGetColor(628,438) = 0x562602

wenn ich das richtig verstanden habe

bzw nimm einen kleineren sleep wert..
09/30/2011 21:18 sakule#5
ja mein problem is die gui schließt sich immer
10/02/2011 16:08 klavier22#6
evtl hilft dir ja ExitLoop weiter, aber wird denn die Funktion in der For schleife überhaupt aufgerufen?
Ich denke eine Funktion muss man erst aufrufen, was du ja garnicht tust? In deinem Code steht jetzendlich doch:
Code:
For $i = 1 to $wieoft
Funktionsdeklarierung (was wie ich dachte garnicht in einer Schleife geht)
Next
bedeutet doch dass er $wieoft-mal nichts macht, oder?

Ich weiß ja nicht, was genau er machen soll, aber so:
Code:
$wieoft = 10

For $i=1 to $wieoft
Missi()
Next

func Missi()


MsgBox(4096, "", "Hier kommen die Mausklicks!")

while 1
	if PixelGetColor(628,438) = 0x562602 Then
		ExitLoop
	Else
		sleep(20000)
	EndIf
WEnd


EndFunc
siehts schonmal besser aus.