|
You last visited: Today at 06:24
Advertisement
Schleife erstellen und schließen
Discussion on Schleife erstellen und schließen within the AutoIt forum part of the Coders Den category.
11/29/2011, 21:27
|
#1
|
elite*gold: 0
Join Date: Aug 2008
Posts: 467
Received Thanks: 30
|
Schleife erstellen und schließen
Hallo,
ich arbeite derzeit an einem Bot für ****** und will Banner suchen.
Das mach ich ja mit _IEimgClick().
Ich will jetzt eine Schleife öffnen und dann soll er immer auf die Startseite gehen und sobald ein Banner auftaucht,soll er drauf klicken.
Das muss man ja 10 mal machen,danach soll sich die Schleife schließen.
Wie kann man das schreiben?
WICHTIG IST: Wenn man die Seite öffnet und es erscheint kein Banner,dann muss man die Seite neuladen,bis irgendwann der Banner erscheint.
Kurz:
1. Bot per Button starten. (Kann ich)
2. Dann die Schleife starten (Kann ich nicht)
3. Die Schleife soll geschlossen werden,sobald 10 mal der Banner gefunden und angeklickt wurde. (Kann ich nicht)
Wie geht das?
BTW: Für jede Antwort die mir weiterhilft,gebe ich nen Thanks also bitte antworten. ^^
|
|
|
11/29/2011, 21:41
|
#2
|
elite*gold: 0
Join Date: Mar 2011
Posts: 8,645
Received Thanks: 3,454
|
Schick mal dein Script oder machs so
Beispiel:
PHP Code:
For $i = 1 To 10 Step 1 ;Codeblabla Next
|
|
|
11/29/2011, 21:44
|
#3
|
elite*gold: 1
Join Date: Nov 2010
Posts: 68
Received Thanks: 10
|
Wie oben schon beschrieben löst du das am besten in einer "For-Schleife" bei der du die Abruchsbedingung auf 10 setzt. Dann bricht er ja logischerweise automatisch ab.
EDIT(in Pseudosprache):
PHP Code:
if BannerDa then for 1 to 10 click(); next else loop(); end if
|
|
|
11/29/2011, 21:46
|
#4
|
elite*gold: 0
Join Date: Aug 2008
Posts: 467
Received Thanks: 30
|
Quote:
Originally Posted by Snivel
Schick mal dein Script oder machs so
Beispiel:
PHP Code:
For $i = 1 To 10 Step 1 ;Codeblabla Next
|
Den Code mag ich nicht so gerne hier reinzuschreiben. sry.
Aber die Variable $i , kann ich die so lassen oder muss ich die ändern?
Dann geb ich meinen Code ein und dann steht da Next,was mach ich da?
Quote:
Originally Posted by _P0w_
Wie oben schon beschrieben löst du das am besten in einer "For-Schleife" bei der du die Abruchsbedingung auf 10 setzt. Dann bricht er ja logischerweise automatisch ab.
|
Aber selbst wenn der Banner nicht auf der Seite angezeigt wurde und auch nicht angeklickt wurde,geht er eine Zahl hoch.
Wie kann ich das machen,dass er SOBALD er den Banner angeklickt hat erst weiter hoch geht und WENN kein Banner da ist,dass er die Seite neulädt,ohne dass eine Zahl hoch geht.
|
|
|
11/29/2011, 21:51
|
#5
|
elite*gold: 1
Join Date: Nov 2010
Posts: 68
Received Thanks: 10
|
Moment, überarbeite es nochmal
|
|
|
11/29/2011, 21:53
|
#6
|
elite*gold: 0
Join Date: Mar 2011
Posts: 8,645
Received Thanks: 3,454
|
Quote:
Originally Posted by armin555
Den Code mag ich nicht so gerne hier reinzuschreiben. sry.
Aber die Variable $i , kann ich die so lassen oder muss ich die ändern?
Dann geb ich meinen Code ein und dann steht da Next,was mach ich da?
|
Kommt auf das script an.
Nach dem Next geht der Code dann halt weiter
|
|
|
11/29/2011, 21:54
|
#7
|
elite*gold: 1
Join Date: Nov 2010
Posts: 68
Received Thanks: 10
|
Hier nochmal:
PHP Code:
if BannerDa then for 1 to 10 click(); next else loop(); end if
In diesem Beispiel kommt er garnicht in die Schliefe rein wenn dieser bestimmte Banner nicht vorhanden ist. BannerDa muss auf true sein damit er die Schleife durchläuft.
PHP Code:
dim zahl zahl = 1
if BannerDa = true then for zahl to 10 if err.level = 0 then clickBanner() zahl = zahl + 1 else zahl = zahl - 1 reload(); end if next else loop() end if
Dieshier sollte genau dem entsprechen was du suchst hoffe ich.
|
|
|
11/29/2011, 22:03
|
#8
|
elite*gold: 0
Join Date: Aug 2008
Posts: 467
Received Thanks: 30
|
Quote:
Originally Posted by _P0w_
Hier nochmal:
PHP Code:
if BannerDa then for 1 to 10 click(); next else loop(); end if
In diesem Beispiel kommt er garnicht in die Schliefe rein wenn dieser bestimmte Banner nicht vorhanden ist. BannerDa muss auf true sein damit er die Schleife durchläuft.
|
BannerDa ist ja die Variable,aber wie soll ich das schreiben,wenn der Banner da ist.
hmm
Keine Ahnung ob du ****** kennst,aber die Banner heißen zum Beispiel : "logo-02.png" und davon gibt es auch noch "logo-01.png" und paar mehr.
Wie kann ich das jetzt schreiben?
Irgendwie
$BannerDa = ???????
Sorry tu mich noch schwer darin,arbeite erst seit gestern mit Autoit
|
|
|
11/29/2011, 22:08
|
#9
|
elite*gold: 1
Join Date: Nov 2010
Posts: 68
Received Thanks: 10
|
Quote:
Originally Posted by armin555
BannerDa ist ja die Variable,aber wie soll ich das schreiben,wenn der Banner da ist.
hmm
Keine Ahnung ob du ****** kennst,aber die Banner heißen zum Beispiel : "logo-02.png" und davon gibt es auch noch "logo-01.png" und paar mehr.
Wie kann ich das jetzt schreiben?
Irgendwie
$BannerDa = ???????
Sorry tu mich noch schwer darin,arbeite erst seit gestern mit Autoit
|
"BannerDa" ist hier eher eine Prozedur die aufgerufen wird und prüft ob das banner da ist. wenn ja soll er den unteren Code ausführen, wenn nein soll er nochmal abfragen. Wenn du Namen hast kannst du eine verknüpfte Bedingung machen oder mehrere Bedingungen hintereinander.
|
|
|
11/29/2011, 22:12
|
#10
|
elite*gold: 0
Join Date: Aug 2008
Posts: 467
Received Thanks: 30
|
Quote:
Originally Posted by _P0w_
"BannerDa" ist hier eher eine Prozedur die aufgerufen wird und prüft ob das banner da ist. wenn ja soll er den unteren Code ausführen, wenn nein soll er nochmal abfragen. Wenn du Namen hast kannst du eine verknüpfte Bedingung machen oder mehrere Bedingungen hintereinander.
|
Ich verstehe gerade nicht so ganz was du meinst und wie ich es dann aufschreiben soll.
Ich geh aber erstmal schlafen und Kopf freimachen,morgen schau ich dann nochmal.
Wünsche mir freuen,wenn du mir vllt morgen weiterhilfst.
Gut NAcht
|
|
|
11/29/2011, 22:15
|
#11
|
elite*gold: 43
Join Date: Jan 2010
Posts: 506
Received Thanks: 113
|
Für das suchen des Banners könnte man doch ImageSearch benutzen?
|
|
|
11/29/2011, 22:21
|
#12
|
elite*gold: 1
Join Date: Nov 2010
Posts: 68
Received Thanks: 10
|
Alles in sogenannter Pseudosprache, hoffentlich verständlich. Falls nicht stehe ich, denke ich, morgen auch noch zur verfügung
PHP Code:
function BannerDa 'Funktion erstellen dim a 'irgendein variablenname in der der spätere Wert gespeichert wird if logo-01.png vorhanden then 'Fragen nach einem banner a = logo-01.png 'wenn vorhanden Wert in "a" schreiben end if end function dim zahl zahl = 1 BannerDa() 'Funktion "BannerDa" aufrufen if a <> "" then 'wenn a kein Leerstring ist... for zahl to 10 '...durchlaufen der schleife if err.level = 0 then 'kein Fehler da? weitermachen... clickBanner(a) zahl = zahl + 1 else '...sonst refreshen zahl = zahl - 1 reload(); end if next else loop() end if
|
|
|
11/29/2011, 22:29
|
#13
|
elite*gold: 43
Join Date: Jan 2010
Posts: 506
Received Thanks: 113
|
Quote:
Originally Posted by _P0w_
Alles in sogenannter Pseudosprache, hoffentlich verständlich. Falls nicht stehe ich, denke ich, morgen auch noch zur verfügung
PHP Code:
function BannerDa 'Funktion erstellen dim a 'irgendein variablenname in der der spätere Wert gespeichert wird if logo-01.png vorhanden then 'Fragen nach einem banner a = logo-01.png 'wenn vorhanden Wert in "a" schreiben end if end function
dim zahl zahl = 1
BannerDa() 'Funktion "BannerDa" aufrufen if a <> "" then 'wenn a kein Leerstring ist... for zahl to 10 '...durchlaufen der schleife if err.level = 0 then 'kein Fehler da? weitermachen... clickBanner(a) zahl = zahl + 1 else '...sonst refreshen zahl = zahl - 1 reload(); end if next else loop() end if
|
Die Frage ist halt, ob der Link auch Banner-01 ist. Meines Wissens nach ist der Link ja bei jedem User verschieden. Man sollte es evtl irgendwie so abändern:
PHP Code:
Func BannderDa if IsArray(_ImageSearch(Parameter) then $a = "url_name" EndIf EndFunc
$zahl = 1
BannerDa() if a <> "" for zahl to 10 if @error then zahl = zahl -1 else _IEClickImage($a) zahl = zahl + 1 end if next else loop() end if
irgendwie so sollte es passen, es müssen aber vermutlich noch einige Sachen korrigiert werden da ich eine Weile nicht it ImageSearch und IE gearbeitet habe.
*edit* ImageSearch war ja garnicht background mist... gibt es eine art ImageSearch für den Bg?
|
|
|
11/30/2011, 05:11
|
#14
|
elite*gold: 146
Join Date: May 2009
Posts: 3,764
Received Thanks: 6,973
|
Mal kurz vor dem Schlafengehen. Quick & Dirty:
Code:
#Include <String.au3>
#include <IE.au3>
Global $found = 0
$oIE = _IECreate("http://www.******.net/de/user/start", 0, 1, 0)
_IELoadWait($oIE)
Sleep (5000)
While $found < 10
$sHtmlcode = _IEDocReadHTML($oIE)
$aFilter = _StringBetween($sHtmlcode, "http://www.******.net/de/game/found/banner/", "'")
If IsArray($aFilter) Then
$found += 1
_IENavigate ($oIE, "http://www.******.net/de/game/found/banner/" & $aFilter[0])
Sleep (2000)
ConsoleWrite($found & ': ' &$aFilter[0] & @CRLF)
_IENavigate ($oIE, "http://www.******.net/de/user/start")
Else
_IEAction($oIE, "refresh")
Sleep (5000)
EndIf
WEnd
_IEQuit ($oIE)
Exit
|
|
|
11/30/2011, 13:50
|
#15
|
elite*gold: 1
Join Date: Nov 2010
Posts: 68
Received Thanks: 10
|
@Whoknowsit
jetzt hast du ihm eigentlich schon alles vorgeschrieben xD
|
|
|
|
|
Similar Threads
|
While Schleife
07/03/2011 - AutoIt - 9 Replies
Hallo Leute,
Ich hoffe das dieser Thread nicht unnötigen Spam erzeugt.
Ich bin ein absoluter Anfänger in Sachen AI. Ich würde gerne wissen wie ich eine While Schleife mit der Leertaste erstelle, das der Bot durchgehend die Leertaste drückt.
Danke euch schon mal :)
Mfg Daarmy
|
[Schleife]Problem
10/24/2010 - AutoIt - 19 Replies
Hi Leute,
ich amch gerade nen Hack für Metin2.
So ich hab folgendes Problem:
Wenn ich den hack starten will, drücke ich auf $button1
dann schreibt er in den pointer mit
|
For-Schleife einer GUI untebrechen und mit Schließen einer andern GUI wiederaufnehmen
10/13/2010 - AutoIt - 7 Replies
Hi,
ich hab folgendes AutoIT Problemchen und komm einfach nicht weiter.
Zur Veranschauung des Problems hab ich mein eigentliches Programm mal auf einen Minimalcode reduziert.
Das Programm macht so natürlich grad keinen großen Sinn, aber ich kann euch zeigen, wo's Hakt.
Es geht darum: Ich hab ein Haupt-GUI von dem aus ich eine FOR-Schleife starte.
Nun soll pro abgearbeiteten STEP der For-Schleife die Unter-GUI gestartet und aus der For-Schleife der Wert übergeben werden.
Die...
|
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++;
|
For-Schleife
01/29/2007 - General Coding - 14 Replies
Also wir haben ( um uns an die For-Schleife zu gewöhnen) ne eigentlich relativ einfache Aufgabe bekommen.
Ich hoffe ich kann mich richtig dran errinern wie sie hieß^^
Wir sollten mit der FOR-Schleife herrausfinden wie viele Zahlen zwischen zwei Zahlen die man eingeben kann vorhanden sind. So ODER so ähnlich.
Is ja auch nich viel Schreibtext aber mir fehlt das entscheidene Zwischenteil :
procedure TForm1.Button1Click(Sender: TObject);
var zahl1,zahl2,a:integer;
begin
|
All times are GMT +2. The time now is 06:24.
|
|