Register for your free account! | Forgot your password?

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

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

Advertisement



While 1 schleife hört auf zu arbeiten

Discussion on While 1 schleife hört auf zu arbeiten within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
EinfachSö's Avatar
 
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
While 1 schleife hört auf zu arbeiten

Hallo,

Ich habe jetzt meinen Prom Bug Bot für DarkOrbit ziemlich weit. Er kann den Bug schon ausnutzen und gibt mir Gewinn.
Ich habe die ganzen relevanten Befehle in ein while 1 Schleife geschrieben.
Also:

While 1
.
.
.
Wend

Der Part sollte sich ja eigentlich immer wiederholen. Ich habe ca. 2 Minuten beim arbeiten des Bottes zugeschaut, bis er auf einmal stoppte. Und zwar genau als der letzte Befehl aus der Schleife getätigt war ( er soll leicht nach rechts unten fliegen)


Warum???


Mfg
EinfachSö
EinfachSö is offline  
Old 12/27/2012, 23:51   #2
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Wir können dir keine eventuellen Fehler sagen wenn wir dein Script nicht kennen.
Aber normalerweise hört eine Schleife nicht einfach aus Spaß an der Freude auf zu arbeiten.
Croco™ is offline  
Old 12/28/2012, 01:15   #3
 
EinfachSö's Avatar
 
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
es könnte möglich sein, dass der skript nicht am ende aufgehört hat zu arbeiten, sondern mitten drin. Das Schiff fliegt nämlich 2 mal an diesen Punkt. Und ich glaube es war, weil er ein Bild nicht gefunden hat. Wenn man Leben verliert, blinkt der Bildschirm rot. Und da ich nicht geschrieben habe:

Do
Sleep(100)
Until "Bild gefunden"

hat er einaml gesucht und nichts gefunden. Und dann konnte er nicht weiterarbeiten.
Das habe ich gelöst, indem ich statt der imagesearch funktion einfach einen bestimmten pixel angegeben habe. Das funktioniert an der Stelle zum Glück auch gut.

Es klappt soweit alles perfekt. Ausser, dass mein Computer immer die Verbindung zum Server verliert. Es liegt NICHT an meinem Internet.
Das passiert nur, wenn man zu lange inaktiv ist. Wie ich das löse weiß ich leider auch nicht.
Mein Bildschirm ging auch in den Standby-Modus. Ob es während des laufen des Skriptes war oder nachdem es gestoppt hat weiß ich leider nicht. Ich vermute danach. Es ergbt sonst keinen Sinn.

Mit der Hoffnung, das nichts geklaut wird

:ist eig AutoIt-Code. weiß aber nicht, wie ich ihn sonst einfüge
PHP Code:
#cs ----------------------------------------------------------------------------

 
AutoIt Version3.3.8.1
 Author
:         EinfachSö

 Script 
Function:
    
Template AutoIt script.

#ce ----------------------------------------------------------------------------

Script Start Add your code below here

HotKeySet 
"{F8}""ende")

Func ende()
   Exit
EndFunc

#include <Imagesearch.au3>
$x1=0
$y1
=0
$x2
=0
$y2
=0
$x3
=0
$y3
=0
$x4
=0
$y4
=0

MouseClick
"left"5221059);===
MouseClick"left"641947);====öffnen des Browsers
Sleep
(1000);================

While 
1
         $result
=_Imagesearch("punkt.png"1$x1$y10);==== punkt anpeilen
            
If $result=1 Then
               MouseClick
"left"$x1$y1)
            EndIf
            
         Do
            
Sleep(100)
            
$pixelPixelGetColor1033689);==== "schlafen"bis man respawnen kann
         Until $pixel
0x3D8625

         MouseClick
"left"1033689);======= respawnen
        
         
Do
            
Sleep(100)
            
$handel=PixelGetColor1529114);===== warten bis man handel öfnen kann
         Until $handel
0xA48860
         
         $result2
=_ImageSearch("handel.png"1$x2$y20);===== öffnen des Handels
            
If $result2=1 Then
               MouseClick
"left"$x2$y2)
            EndIf
         
         Do
            
Sleep(100)
            
$prom=PixelGetColor1135495);==== warten bis handel geladen ist
         Until $prom
0xFFF752
         
         MouseClick
"left"1126532);=== sachen verkaufen
         Sleep
(100)
         
Send"62")
         
Sleep(100)
         
MouseClick"left"1125571)
         
Sleep(100)
         
MouseClick"left"690406)
         
         
MouseMove595143);==== zurück zum Bug fliegen
         Sleep
(100)
         
MouseDown"left")
         
Sleep(2000)
         
MouseUp"left")
         
Sleep(4000)
         
MouseClick"left"655169);==== cargo aufsammeln
         
         
Do
            
Sleep(100)
            
$aufgenommen=PixelGetColor118896);=== wenn aufgenommen ein bisschen
         Until $aufgenommen
0xE2D49A;============= wegfliegen und dann wieder von vorne
         MouseClick
"left"1254806)
         
Sleep(5000)
         
WEnd

While 1
   Sleep
(1)
WEnd 

Ich kann Autoit erst seit 2/3 Tagen, also entschuldigt mir bitte womögliche "Unnötigkeiten"
Man kann manches noch besser schreiben und auf das Sleep verzichten. Mach ich auch noch, muss aber den Bot grob zum laufen kriegen
EinfachSö is offline  
Old 12/28/2012, 03:30   #4


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Sieht ganz gut aus. Aber versuch soweit wie möglich nur ImageSearch zu nutzen, da es effektiver und genauer ist.
Morgen Mittag/Nachher können wir ja zsm dran arbeiten
Requi is offline  
Thanks
1 User
Old 01/02/2013, 13:41   #5
 
EinfachSö's Avatar
 
elite*gold: 76
Join Date: Jun 2012
Posts: 1,043
Received Thanks: 216
Quote:
Originally Posted by 'RD. View Post
Sieht ganz gut aus. Aber versuch soweit wie möglich nur ImageSearch zu nutzen, da es effektiver und genauer ist.
Morgen Mittag/Nachher können wir ja zsm dran arbeiten
bin grad bei verwandten (Ferien)
kann also nicht wirklich an den Rechner. Ich melde mich mal, wenn ich wieder zurück bin.
EinfachSö is offline  
Old 01/02/2013, 14:23   #6
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Als kleinen Tipp.
Während der test Phase lass dir so viel wie möglich über ToolTips etc. anzeigen.
Dadurch kannst du genau sagen wo die Schleife aufhört zu arbeiten. Ich bin mir relativ sicher das sie einfach in einer Do schleife steckt und das nötige Ergebnis um diese Schleife zu verlassen nicht findet.
Croco™ is offline  
Thanks
1 User
Old 01/02/2013, 20:44   #7
 
elite*gold: 0
Join Date: Aug 2011
Posts: 442
Received Thanks: 78
I agree with the tool tips they are very useful when you are testing scripts.

As for imagesearch, its good but i dont know how well it will do with the moving images i never got it to work too good so i think a unique pixel will be best unless its for an image that does not move. Also its best to run the image though a loop of variations as its not 100% accurate and use to "sometimes" stop my GO2 bot because it could not find an image it did 5mins ago. Then again i was using PNG's so maybe that was the issue but i doubt it.

Btw here was one of my image loops could be done better but script is a few months old and i never re-wrote it because i quit the game.
Code:
;imgdir = image directory example images\
;image = image name for example "okbtn"
;$i = variation 1,2,3 example okbtn0, okbtn1, okbtn2
;$c = global number of images to check defalt for me is 5
;

For $i = 0 To $c
;added this so you can see how tooltips work
Tooltip("Checking image: " & $image & $i, 100, 100)
		$img = _ImageSearchArea($imgdir & $image & $i & ".png", 1, 0, 0, @DesktopHeight, @DesktopWidth, $x, $y, $tollerence)
		If $img = 1 Then
			MouseClick("left", $x, $y)
			Return
		EndIf
	Next
;if building was not foun d above check to see if it is upgrading (warehouse)
	For $i = 0 To $c
;added this so you can see how tooltips work
Tooltip("Checking image: " & $image & "ug" & $i, 100, 100)
		$img = _ImageSearchArea($imgdir & $image & "ug" & $i & ".png", 1, 0, 0, @DesktopHeight, @DesktopWidth, $x, $y, $tollerence)
		If $img = 1 Then
			MouseClick("left", $x, $y)
			Return
		EndIf
	Next

If $img = 0 Then
		MsgBox(0, "Error:", "Unable to find the image named " & $image & ".png" & @CRLF & "Bot will now close so you can correct the error.", 5)
		LogError("@ERROR: " & $image & ".png was not found forcing the bot to close.")
		Exit
	EndIf
logical691 is offline  
Thanks
1 User
Old 01/02/2013, 21:04   #8
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
Quote:
Originally Posted by logical691 View Post
I agree with the tool tips they are very useful when you are testing scripts.
How about

Code:
TrayIconDebug 	If enabled shows the current script line in the tray icon tip to help debugging.
0 = no debug information (default)
1 = show debug
Rgds
Achat is offline  
Thanks
1 User
Old 01/02/2013, 21:48   #9
 
elite*gold: 0
Join Date: Aug 2011
Posts: 442
Received Thanks: 78
Thanks for that info Achat but im a tooltip fan i just change a setting in the function i ahve to disable
logical691 is offline  
Reply


Similar Threads Similar Threads
Schleife
07/26/2012 - Web Development - 2 Replies
Hallo, Ich habe momentan ein Formular wo benutzer zwei Zahlen eingeben können und eine Aufgaben Zahl. Es wird per Rand() Funktion aus den Zahlen dann eine Mathe Aufgabe erstellt, durch die Aufgaben Variable sollen so viele Aufgaben erstellt werden wie der Benutzer wünscht. Wie kann ich das mit einer Schleife realisieren, meine Versuche waren bisher erfolglos. Gruß
10 mal Schleife, dann 5 Sekunden Pause, dann wieder 10 mal Schleife, ...
05/06/2012 - AutoIt - 6 Replies
Hallo, wie mache ich es, dass nach 10 Mal Schleife einmal Sleep (5000) gemacht wird? Danach soll die Schleife wieder aufgenommen werden. LG Zottel
While / for schleife -.-
03/26/2012 - Web Development - 0 Replies
So ich steh wieder vor einem Problem ich habe versucht den oberen teil erst einmal mit einer forschleife zu vereinfach sprich $mo1 = $_POST; $mo2 = $_POST; $mo3 = $_POST; $mo4 = $_POST; $mo5 = $_POST; $mo6 = $_POST; $mo7 = $_POST; $mo8 = $_POST;
php while schleife!
03/02/2012 - Web Development - 4 Replies
hallo leute, stehe vor einem problem und zwar: ich wollte heute aus meiner datenbank einen datensatz aus der datenbank abfragen der zuvor mit implode und mit einem kommar getrennt eingespeichert wurde. Nun wollte ich das ganze auf der website wieder ausgeben lassen indem ich die strings wieder mit explode trenne und wieder mit einer while schleife ausgebe Aber irgendwie will das nicht klappen, wäre cool wenn ihr mir da helfen könntet bin noch anfänger :).... Ps. Zum richtigen...
while-schleife cast x | schleife ende cast y
07/26/2010 - Diablo 2 Programming - 6 Replies
ich kann nicht einschlafen und versuche gerade halbwach herauszufinden, wie ich den bot etwas casten lassen kann, um ihn anschließend nach 10-15 casts etwas anderes casten zu lassen. if(NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100) { if((target.name == "Pindleskin") && NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100) { var i =0; while(i<15) { return NTC_CastSkill(106, NTC_HAND_LEFT, target); i++;



All times are GMT +1. The time now is 16:56.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.