Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 16:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



While Schleifen parallel?

Discussion on While Schleifen parallel? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
ultrawayoflife's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 270
Received Thanks: 33
While Schleifen parallel?

nabend leute!

ich beschäftige mich seit wenigen Stunden mit AutoIt hauptsächlich um mir erstmal selbst nen Bot zu basteln für Swtor.

nun meine Frage zu diesem Script hier ist, wie schaff ich es das er nach der ersten While Schleife die 2te macht? bzw. die letzte sollte immer (falls "true") vor den 2 starten.

hier das script:

Code:
WinActive ("Star Wars: The Old Republic")

While 1 
   $qyzen = PixelSearch (239,423, 270,450, 0x8E9EA2)
   if IsArray($qyzen) = True Then
	  MouseMove($qyzen [0], $qyzen [1], 1)
	  sleep (500)
	  MouseClick($qyzen)
	  sleep (1000)
	  MouseClick ("left", 979,350)
	  sleep (1000)
	  MouseClick ("left", 1144,759)
	  
   EndIf
   WEnd
   
While 1
   $tharan = PixelSearch (241,502, 271,533, 0x99A99A)
   if IsArray($tharan) = True Then
	  MouseMove($tharan [0], $tharan [1], 1)
	  sleep (500)
	  MouseClick($tharan)
	  sleep (1000)
	  MouseClick ("left", 996,356)
	  sleep (1000)
	  MouseClick ("left", 1110,759)
   EndIf
   WEnd

While 1
   $variable = PixelSearch ( 901, 546, 1195, 716, 0x99D8F2)
   if IsArray($variable) = True Then
	  MouseMove($variable [0], $variable [1], 1)
	  sleep (500)
	  Mouseclick($variable)
	  EndIf
   WEnd
	  
   Func _Exit ()
	  Exit
	  EndFunc
ultrawayoflife is offline  
Old 02/23/2012, 20:28   #2
 
YunoSubs's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 275
Received Thanks: 49
Mit der Funktion ExitLoop tritts du aus einer Schleife aus
YunoSubs is offline  
Old 02/23/2012, 20:31   #3
 
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
Du kannst keine Schleifen parallel zueinander benutzen. Es gibt aber eine Funktion mit der ähnliches möglich ist:
jacky919 is offline  
Old 02/23/2012, 20:33   #4
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,254
Einfach alles in 1 While-Schleife?
omer36 is offline  
Thanks
1 User
Old 02/23/2012, 20:37   #5


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,847
Da Multithreading mit AutoIt nicht geht wirst du wohl wie jacky919 vorgeschlagen hat, auf Alternativen zurückgreifen müssen.
K1ramoX is offline  
Old 02/23/2012, 20:39   #6
 
elite*gold: 0
Join Date: Apr 2009
Posts: 85
Received Thanks: 7
Ich hoffe ich verstehe dich nicht falsch, aber du kannst der While-Schleife auch eine Bedingung geben, sodass sie nur weitergeführt wird wenn etwas bestimmtes ist bzw nicht ist.
rexfox is offline  
Old 02/23/2012, 21:18   #7
 
ultrawayoflife's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 270
Received Thanks: 33
danke erstmals =)
habs jetzt mal so probiert:
da bekomm ich aber die Fehlermeldung: "Error: "Wend" statement with no matching "while" statement.

Code:
WinActive ("Star Wars: The Old Republic")

While 1 
   
   $variable = PixelSearch ( 901, 546, 1195, 716, 0x99D8F2)
   if IsArray($variable) = True Then
	  MouseMove($variable [0], $variable [1], 1)
	  sleep (500)
	  Mouseclick($variable)
	  
   $qyzen = PixelSearch (239,423, 270,450, 0x8E9EA2)
   if IsArray($qyzen) = True Then
	  MouseMove($qyzen [0], $qyzen [1], 1)
	  sleep (500)
	  MouseClick($qyzen)
	  sleep (1000)
	  MouseClick ("left", 979,350)
	  sleep (1000)
	  MouseClick ("left", 1144,759)
	  
 $tharan = PixelSearch (241,502, 271,533, 0x99A99A)
   if IsArray($tharan) = True Then
	  MouseMove($tharan [0], $tharan [1], 1)
	  sleep (500)
	  MouseClick($tharan)
	  sleep (1000)
	  MouseClick ("left", 996,356)
	  sleep (1000)
	  MouseClick ("left", 1110,759)
	  
   EndIf
WEnd

   Func _Exit ()
	  Exit
	  EndFunc
ultrawayoflife is offline  
Old 02/23/2012, 21:42   #8


 
K1ramoX's Avatar
 
elite*gold: 26
Join Date: Jan 2012
Posts: 3,474
Received Thanks: 18,847
Quote:
Originally Posted by ultrawayoflife View Post
danke erstmals =)
habs jetzt mal so probiert:
da bekomm ich aber die Fehlermeldung: "Error: "Wend" statement with no matching "while" statement.

WinActive ("Star Wars: The Old Republic")

While 1

$variable = PixelSearch ( 901, 546, 1195, 716, 0x99D8F2)
if IsArray($variable) = True Then
MouseMove($variable [0], $variable [1], 1)
sleep (500)
Mouseclick($variable)
Endif ;vermutung
$qyzen = PixelSearch (239,423, 270,450, 0x8E9EA2)
if IsArray($qyzen) = True Then
MouseMove($qyzen [0], $qyzen [1], 1)
sleep (500)
MouseClick($qyzen)
sleep (1000)
MouseClick ("left", 979,350)
sleep (1000)
MouseClick ("left", 1144,759)
Endif ;vermutung
$tharan = PixelSearch (241,502, 271,533, 0x99A99A)
if IsArray($tharan) = True Then
MouseMove($tharan [0], $tharan [1], 1)
sleep (500)
MouseClick($tharan)
sleep (1000)
MouseClick ("left", 996,356)
sleep (1000)
MouseClick ("left", 1110,759)

EndIf
WEnd

Func _Exit ()
Exit
EndFunc
Du hast noch 2 if abfragen die nicht mit endif abgeschlossen sind. Hab sie mal rot markiert.
K1ramoX is offline  
Thanks
1 User
Old 02/23/2012, 21:46   #9
 
ultrawayoflife's Avatar
 
elite*gold: 0
Join Date: Feb 2012
Posts: 270
Received Thanks: 33
ok also doch noch ein Problem!

wie krieg ich es hin das er die abfrage des If "variable" immer vor "qyzen" und "tharan" vorzieht?

problem ist nämlich das oft "variable" und "qyzen" od. "tharan" gleichzeitig "true" werden und das Script sollte dann automatisch die If-Schleife "variable" als erstes abarbeiten!

wie is das möglich?
ultrawayoflife is offline  
Old 02/24/2012, 15:25   #10

 
Njahs's Avatar
 
elite*gold: 574
Join Date: Nov 2010
Posts: 2,498
Received Thanks: 726
Quote:
Originally Posted by ultrawayoflife View Post
ok also doch noch ein Problem!

wie krieg ich es hin das er die abfrage des If "variable" immer vor "qyzen" und "tharan" vorzieht?

problem ist nämlich das oft "variable" und "qyzen" od. "tharan" gleichzeitig "true" werden und das Script sollte dann automatisch die If-Schleife "variable" als erstes abarbeiten!

wie is das möglich?
Code:
WinActive ("Star Wars: The Old Republic")

While 1 
   
   $variable = PixelSearch ( 901, 546, 1195, 716, 0x99D8F2)
   $tharan = PixelSearch (241,502, 271,533, 0x99A99A)
   $qyzen = PixelSearch (239,423, 270,450, 0x8E9EA2)

   if IsArray($variable) = True Then
	  MouseMove($variable [0], $variable [1], 1)
	  sleep (500)
	  Mouseclick($variable)
	  
   elseif IsArray($qyzen) = True Then
	  MouseMove($qyzen [0], $qyzen [1], 1)
	  sleep (500)
	  MouseClick($qyzen)
	  sleep (1000)
	  MouseClick ("left", 979,350)
	  sleep (1000)
	  MouseClick ("left", 1144,759)
	  
   elseif IsArray($tharan) = True Then
	  MouseMove($tharan [0], $tharan [1], 1)
	  sleep (500)
	  MouseClick($tharan)
	  sleep (1000)
	  MouseClick ("left", 996,356)
	  sleep (1000)
	  MouseClick ("left", 1110,759)
	  
   EndIf
WEnd

   Func _Exit ()
	  Exit
   EndFunc
Guck dich mal in der Tutorial Sektion an,
dort gibts viele antworten auf deine
Fragen.
Njahs is offline  
Reply


Similar Threads Similar Threads
Parallel Kingdom
10/14/2011 - Browsergames - 0 Replies
Servus , schon mal jemand was über das Spiel gehört. Gibts auf Handys und wurde jetzt als Browsergame umgesetzt. Hab da schon ein wenig rumgebastelt und einige erfolge erzielt. Problem ist nur, die Arbeiten mit Googlemaps. Sie brauchen den Standort im Spiel um zu wissen wo man im game Startet. Das dumme is nur wenn mann über einen Proxy einen Account erstellen will geht es nicht weil er keine Position findet wo der Char starten kann. Gibts es Proxys die nicht Anonym sind ?
# PAE parallel zu IPFW #
12/26/2010 - Metin2 Private Server - 0 Replies
So ich hab hier ein technisches Problem. Ich hab jetzt nun beide Kernel Kompiliert PAE und IPFW. Nund hab ich ein Problem. Entweder ich installier den PAE dan geht die Firewall nicht mehr Bei nur PAE und ipfw list
parallel+serielle schaltung HELP ME PLS
10/30/2010 - Main - 2 Replies
kann mir jm die parallel+serielle schaltung pls erklären??? wär euch sehr dankbar, denn ich kenne mich so gut wie nicht aus
mac x using parallel desktop
04/09/2007 - Conquer Online 2 - 0 Replies
can any1 help me um im using mac x using parallel desktop so i can run windows when i finish install i try to run conqueronline but it give me this error Conquer.exe has encountered a problem and needs to close.we are sorry for the inconvenience not only that i only open one client can any1 help me <hr>Append on Apr 10 2007, 01:22<hr> any1 can help me? <hr>Append on Apr 10 2007, 03:34<hr> pls! help me i really want to play using mac cuz i sold my pc thats why i need ur advise any1 can...
[Frage] 2 Ragnarokfesnter parallel???
03/05/2005 - Ragnarok Online - 12 Replies
Hallo Leute, erstmal möchte ich euch wegen diesem Forum gratulieren, ist echt geil ^^. Jetzt zu meiner Frage. Ist es möglich, Ragnarok 2 mal geichzeitig mit verschiedenen Account paralell laufen zu lassen? Würde mich auf eine Antwort sehr freuen. MfG Annonym ^^



All times are GMT +2. The time now is 16:50.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.