Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 12:38

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

Advertisement



[Tutorial][AutoIt] Browsergame-Bot mit Programmieren - [Anfänger]

Discussion on [Tutorial][AutoIt] Browsergame-Bot mit Programmieren - [Anfänger] within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2011
Posts: 4
Received Thanks: 8
Lightbulb [Tutorial][AutoIt] Browsergame-Bot mit Programmieren - [Anfänger]

Hi @-All,

für die nächste Zeit habe ich vor, verschiedenne AutoIt Tutorials zu posten.

Kurz zur Erläuterung des Titels:
Am Anfang des Titels kann [AutoIt] (Wie in diesem Fall), oder auch z.B. [C++] usw. stehen. Das zeigt die verwendete Programmiersprache im Tutorial.
Am Ende des Titels können folgende Schwierigkeitsgrade stehen:
  1. [Anfänger]
  2. [Fortgeschrittener]
  3. [Experte]

Und nun kommen wir zum Tutorial!


Inhalt:
  • Was ist ein "Bot"?
  • Voraussetzungen
  • Erklärung der Befehle
  • Bot programmieren

---------------------------------

Was ist ein Bot?
Ein "Bot" (vom eng. "Roboter") ist ein Computerprogramm, das sich wiederholende Aufgaben selbstständig abarbeitet, ohne dabei auf menschliche Benutzer angewiesen zu sein.

---------------------------------

Voraussetzungen
Bei dem Programmieren dieses Bots, bedarf es keiner großen Voraussetzung des könnens usw. Man sollte lediglich die "Befehle und Kontrollstrukturen" kennen, die beim Programmieren verwendet werden:
  • HotKeySet
  • Global
  • $Pause, $Pixel (Variablen)
  • While...WEnd (Kontrollstrukturen)
  • Sleep
  • Func
  • If...Then (Kontrollstrukturen)
  • ExitLoop
  • Exit
  • PixelSearch
  • IsArray
  • MouseMove
  • MouseClick

---------------------------------

Erklärung der Befehle
HotKeySet: Setzt einen HotKey, um eine selbsterstellte Funktion aufzurufen.

Global: Deklariert eine Variable, Konstante oder definiert ein Array.

$Pause, $Pixel: Variable -> Speichert Strings ein Integer (englisch für "ganze Zahl" von lat. "numerus integer")

While...WEnd: Schleife, die auf einem Ausdruck basiert.

Sleep: Pausiert die Skript Ausführung.

Func...EndFunc: Definiert eine Benutzerfunktion, die Null oder mehr Argumente aufnimmt.

If...Then...EndIf : Führt Anweisungen konditionell aus.

ExitLoop: Beendet eine While-, Do- oder For-Schleife.

Exit: Beendet das Skript.

PixelSearch: Durchsucht ein Rechteck von Pixeln nach einer vorgegebenen Farbe.

IsArray: Überprüft, ob eine Variable ein Array ist. -> Begriffserklärung Wikipedia.de

MouseMove: Bewegt den Mauszeiger.

MouseClick: Führt einen Mausklick aus.

Quelle:

---------------------------------

Bot Programmieren

Zu erst sollte man sich überlegen, für was der Bot zum Schluss gut sein soll
Ich habe mich entschieden, einen -Bot zu programmieren.
Fangen wir an, wie man anhand des Links der zum Spiel führt gesehen hat, muss der Bot den grünen Ball finden und diesem mit der Maus nachfahren und ggf. anklicken...

Aber als erstes, müssen wir den Bot ja irgendwie starten können, nicht?
Dafür legen wir uns drei "HotKeySet" an. Eines zum Start, eines zum pausieren und eines zum beenden des Bots:


Danach müssen die Funktionen, die mit dem "HotKeySet" aufgerufen werden, auch noch erstellt werden:


So, wenn man das Script nun starten würde, so würde nichts passieren.
Um das zu ändern, muss unter die "HotKeySet"-Region noch eine "While"-Schleife gebaut werden:


Wenn in dieser "While"-Schleife kein "Sleep" mit 250 Millisekunden angegeben wäre, würde die CPU durch diesen Bot stark belastet werden, natürlich nur solange der Bot in dieser Schleife gehangen wäre.

Jetzt fangen wir an, die "_Start()" Funktion zu befüllen:


Die "While"-Schleife in der Funktion sorgt dafür, dass mit Hilfe von "PixelSearch" immer wieder nach dem Ball gesucht wird, und mit Hilfe von "MouseMove" und "MouseClick" immer wieder dem Ball nachgefahren und dann geklickt wird.
Mit "IsArray" wird geprüft, ob die Variable "$Pixel" ein Array ist, also ob die Variable für "MouseMove" und "MouseClick" verwendet werden kann.
Das große "X" und "Y" bei "PixelSearch" sind die Positionen:


Jetzt fehlt noch die Farbe vom Ball:


ACHTUNG: Die Positionen und die Farbe, sollte nie abgeschrieben werden!

Nun zur "_Stop" Funktion, diese ist ganz leicht aufgebaut. Wenn die Funktion ausgelöst wird, beendet das Script:


Nun zur "_Pause" Funktion. Zunächst muss aber nach der "HotKeySet"-Region noch das hinzugefügt werden:


Das "Global" dient dazu die Variable "$Pause = 0" überall im Skript zugänglich zu machen.

Die "While"-Schleife und die "_Start()" Funktion muss noch nach der "_Pause" Funktion angepasst werden. "Warum $Pause = 0 in der Haupt-While-Schleife?" -> Ganz einfach! In der "_Start()" Funktion wird geprüft, ob die Variable "$Pause" auf 1 gesetzt ist. Wenn das der Fall ist, dann gibt die Abfrage den Befehl "ExitLoop", damit wird die laufende "While"-Schleife abgebrochen und demnach auch die "_Start()" Funktion. Nun hängt der Bot wieder in der "Haupt-While-Schleife" und hier muss die Variable "$Pause" ja schließlich wieder auf "0" gesetzt werden.


Soooo, fast fertig Aber was fehlt noch?
Haaajjjaaaaaa Natürlich noch die sehr kleine "_Pause" Funktion:


Die Variable "$Pause" beim Starten dieser Funktion auf 1 gesetzt, und dieser Wert stoppt wiederum die "_Start()" Funktion!

Nun noch ein Screenshot des ganzen Scriptes:



Sooo nun, is das Tutorial fertig
Hoffe ihr habt was daraus gelernt, und gebt dieses Wissen auch an andere weiter



Disclaimer/Haftungausschluss:
Hiermit hafte ich NICHT für eventuell mögliche Schäden am System!
Quellen:
  1. bzw.


ACHTUNG:
Dieses Tutorial darf in ungeänderter Form nicht verbreitet werden!
Ein Link hierher ist jedoch erwünscht
I3oomer is offline  
Thanks
7 Users
Old 02/07/2012, 21:21   #2
 
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
1. Warum nennst du es Anfänger, Fortgeschrittener, Expert und nicht Experte?
2. Bot vom englischen Roboter und nicht "Bot" (engl. Roboter)
3. If .. Then .. Else, While etc. sind Kontrollstrukturen und keine Befehle
4. Ebenso sind $Pause und $Variablen und keine Befehle
5. Für Code kannst du PHP- oder Code-Tags benutzen ([php]..[/php] oder [code]..[/code])
6. Es bietet sich an $Pause immer auf True bzw. False zu setzen und nicht 1 bzw. 0
jacky919 is offline  
Thanks
2 Users
Old 02/07/2012, 21:34   #3
 
elite*gold: 0
Join Date: Dec 2011
Posts: 4
Received Thanks: 8
Exclamation

Mag sein

Aber letztendlich ist es ja jedem selbst überlassen, ober nun "True" und "False" verwendet oder "0" und "1". Wenn ein Befehl ein Fehler ausgibt, tut er dies ja auch mit "-1" oder "0", aber "True" und "False" tut es im Bereich Variablen wirklich besser

Zu "PHP Code benutzen" Ich wollte halt Bilder nehmen, sieht besser aus

Und btw. das is mein erstes Tut...

Gruß
I3oomer is offline  
Thanks
1 User
Old 02/08/2012, 14:39   #4
 
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
Die Tags haben auch Syntaxhervorhebung und man kann Quelltext kopieren.
jacky919 is offline  
Old 02/12/2012, 15:38   #5


 
Ajax1337's Avatar
 
elite*gold: 52
Join Date: Apr 2010
Posts: 482
Received Thanks: 100
danke dir
Ajax1337 is offline  
Thanks
1 User
Old 01/20/2013, 00:35   #6
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1
Received Thanks: 0
pls reup link ist down
Frazer19 is offline  
Old 04/06/2013, 23:51   #7
 
elite*gold: 0
Join Date: Mar 2013
Posts: 2
Received Thanks: 0
hi,
ich weiss zwar das dieser Tread alt ist, hoffe jedoch das mir jemand weiter helfen kann ^^
ich habe eig. alles wie im obigen Tutorial gemacht jedoch wen ich den Script starte kommt eine Meldung das etwas Falsch ist. Jedoch komme ich nicht dahinter was es ist...


es Steht das ich einen Fehler bei Linie 17 hab Sprich mit dem Mousmove($Pixel{0}, ....
.................................................. .................................................. .. Mousmove($Pixe l^ERROR

Danke für eine hilfe ^^
Headcliff is offline  
Old 04/07/2013, 00:42   #8
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
Quote:
Originally Posted by Headcliff View Post

es Steht das ich einen Fehler bei Linie 17 hab Sprich mit dem Mousmove($Pixel{0}, ....
.................................................. .................................................. .. Mousmove($Pixe l^ERROR

Danke für eine hilfe ^^

Mousmove($Pixel[0], $Pixel[1])

wenn schon
omer36 is offline  
Old 01/22/2014, 23:00   #9
 
elite*gold: 0
Join Date: Jan 2014
Posts: 5
Received Thanks: 0
Post

Tut mir wirklich leid dass ich dieses alte Tutorial nochmal ausgraben muss...
jedoch scheinen bei mir die Hotkeys nicht richtig zu funktionieren. Glaube ich zumindestens.

PHP Code:
HotKeySet"^!1""_Start")
HotKeySet"^!2""_Pause")
HotKeySet"^!3""_Stop")

Global 
$Pause 0

while 1
    Sleep
(250)
    
$Pause 0
WEnd

Func _Start 
()
    While 
1
        
If $Pause 1 Then ExitLoop
        $Pixel 
PixelSearch(3724268748070xCBFFBD01)
        If 
IsArray($PixelThen
            MouseMove
($Pixel [0], $Pixel[1], 1)
            
MouseClick("left"$Pixel[0], $Pixel[1], 11)
        EndIf
    
WEnd
EndFunc

Func _Pause
()
    
$Pause 1
EndFunc

Func _Stop 
()
    Exit
EndFunc 

Wenn ich dann die 1 drücke um den bot zu starten passiert einfach gar nichts.
Im System Tray wird das Programm als aktiv angezeigt.
Rätsel jetzt schon eine weile damit rum.
Währe wirklich cool wenn sich jemand von euch das mal anschauen könnte.
deathfrombehind_ is offline  
Old 01/23/2014, 19:19   #10
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Der HotKey ist nicht 1 sondern Control-Alt-1.
Außerdem ist das Tutorial einfach nur schlecht, man sollte auf keinen Fall hier lernen.
alpines is offline  
Old 01/24/2014, 15:13   #11
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by jacky919 View Post
6. Es bietet sich an $Pause immer auf True bzw. False zu setzen und nicht 1 bzw. 0
in autoit bietet es sich an anstatt True und False 1 und 0 zu benutzen
YatoDev is offline  
Reply

Tags
anfänger, autoit, bot, spiel, tutorial


Similar Threads Similar Threads
Anfänger überlegt: Webdesign oder Programmieren
04/19/2011 - General Coding - 17 Replies
Hey, also erstmal hoffe ich, dass es die richtige Section ist. Ich habe mir überlegt, dass ich mit Webdesign (sprich Html, php, CSS, Flash, Java...) oder Programmieren (vb.net, C, C#, C++) anfange. Jedoch habe ich mich noch nicht so recht entschlossen, was von Beidem. Bisher habe ich nur einen Taschenrechner in vb.net programmiert und ich mache seit längerem GFX mit Photoshop etc. Was meint ihr, was sich eher lohnen würde?
Programmieren für Anfänger ?
04/14/2011 - General Coding - 50 Replies
Liebe Com, ich würde mich, da ich zu viel Zeit habe und mit 15 jahren noch jung bin, gerne dem programmieren witmen. Ich habe noch kaum erfahrung damit, und ollte von euch wissen womit ich am besten anfangen sollte. welches programm sollte ich benutzen? mir wurde schoneinmal AutoIT vorgeschlage. was meint ihr dazu? würde mich sehr über vorschläge von euch freuen. Viele Grüße Braindamaged
[AutoIt]Anfänger[Tutorial]
04/04/2011 - AutoIt - 6 Replies
AutoIt Tutorial Hallo ich habe mit gedacht für AutoIt ein Tutorial zu schreiben was sehr leicht für Anfänger ist.Deshalb will ich gleich anfangen. Wichtige Hilfen Name|Was macht das?|Link AutoIt Hilfe Deutsch|Übersetzt die Hilfe von Autoit in Deutsch|Hier Koda Form Desginer|Gui Designer|Hier Shadows Obfuscator|Um Scripte zu sichern|Link
[Autoit]Anfänger Tutorial.
02/04/2010 - Tutorials - 5 Replies
Hallo, willkommen zu mein Tuturial für unsere Anfänger in AutoIt. Zumal will ich kurz klar machen, dass ich Understood bin. Wer sich überzeugen will, kann mir eine Mail senden im Bot Forum! Vorwort: Ich musste die Autoit Tags durch die Code Tags ersetzen und die Bindestriche zwischen den Abteilungen einrücken / kürzen! Außerdem ist zu wissen, dass, das Tutorial schon seine gewisse Zeit existiert, als ich es erstellt habe, habe ich noch nicht genau auf die Rechtschreibung geachet! Hoffe...



All times are GMT +1. The time now is 12:41.


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