Autoit Code hilfe.

12/14/2013 12:02 flumio#1
Servus Community,

Folgendes Problem habe ich, mein Script führt aus das er in kurzen Abstände in 10 verschiedene Handelschats eine bereits geschriebene Nachricht unendlich lang wiederholt.
Mein Pixelsearch ist darauf geschrieben in einem kleinen Bereich, eine gewisse Farbe zu erkennen und bei Erfolg einen Sound abspielt.

Nun kommt das eigentliche Problem, ich vermute durch die ganzen Sleeps, wird doch alles pausiert und somit auch der Pixelsearch darum spielt er auch keinen Sound ab.
Starte ich das Skript -> funktioniert Pixelsearch einwandfrei
Starte ich den Handelschat per Hotkey -> geht Pixelsearch irgendwie nicht mehr

Vllt. hat einer eine Idee, eine alternative zu Sleep ? Also nur warten lassen und nicht pausieren ?
Ich bitte um eure Hilfe, schon mal danke im vorraus.

12/14/2013 13:23 alpines#2
Hab schonmal einen Movequest losgeschickt.
Der Fehler liegt eigentlich auf der Hand.

AutoIt hat kein Multithreading, d.h. du kannst nicht 2 Sachen gleichezeitig machen.
Richtig wäre die While True WEnd in die Funktion zu setzen, da wenn du einmal die Funktion Start triggerst du aus der While 1 WEnd Schleife nicht mehr rauskommst.

Wenn du Start nicht triggern würdest sondern einfach wartest und der Pixel erscheint dann sollte der Ton zu hören sein.
12/14/2013 15:13 flumio#3
Super danke dir, du hast mir das bestätigt was ich mir gedacht habe.
Dachte es gäbe vllt eine Alternative.
Dann weiß ich evt. wie ich anders das Problem beheben könnte.
12/16/2013 17:37 MrSm!th#4
#moved
12/16/2013 17:54 Shadow992#5
Quote:
Originally Posted by flumio View Post
Super danke dir, du hast mir das bestätigt was ich mir gedacht habe.
Dachte es gäbe vllt eine Alternative.
Dann weiß ich evt. wie ich anders das Problem beheben könnte.
AdlibRegister bzw. AdlibEnable sollte das sein, was du suchst. ;)
12/16/2013 18:03 alpines#6
Dann dürfte er die Suche aber nicht in eine Schleife setzen, ansonsten würde AdlibRegister nichts bringen.
12/16/2013 21:34 lolkop#7
statt des sleeps kann man einfach mit timern arbeiten...

so sollte es je nach hardware möglich sein zwischen 3.000 und 50.000 aktionen pro sekunde auszuführen....

für ein derart einfaches script reicht das allemal.

Edit:
bsp code: