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 aber trotzdem das es euch hilft!
Original Tutorial:
In diesem Tuturial werde ich euch verschiedene Bereiche erklären, unteranderem:
- Die erste MsgBox.
- Hotkeys einfügen
- Die Variabeln und Inputboxen
- PixelSearch mit Au3 Window Info Erklärung.
- Die .Ini Funktionen.
- _IE Funktionen
- Die Arrays
- GUI mit Hintergrundbild
- Operatoren
Natürlich gibt es auch für jede einzelne Station auch schon ein Tuturial:
Und auch in der Wiki sollte auch mal ein bisschen nachgeschaut werden:
So dann fangen wir mal an:
Die erste MsgBox:
Die MsgBox ist wie man schon denken kann, eine Nachrichen Box [Für Meldungen und Hinweise] heißen.
Hier zu gibt es den Befehl:
Code:
MsgBox ( flag, "title", "text" [, timeout [, hwnd]] )
Die Flag ist der „Style" der Box, ob er als Fehlermeldung oder als Info Box erscheinen soll.
Title:
Der Titel der Box.
Text:
Der Inhalt der Box.
[timeout]:
Wie lange die Box dar sein soll, Zeit in Sekunden.
[hwnd]:
Das Fenster Handle welches als Parent für diesen Dialog verwendet werden soll.
Hier ist ein einfacher Script:
Code:
MsgBox(64, "Test", "Diese Box wird sich in 10 Sekunden selbst schließen", 10)
Die Box wird als Info Box dargestellt [Flag = 64], der Titel ist "Test", der Text ist "Diese Box wird sich in 10 Sekunden selbst schließen" und 10 bedeutet das die Box sich in 10 Sekunden schließt.
Das wichtigste an der MsgBox wurde erklärt.
__________________________________________________ _______________
Hotkeys einfügen:
Hotkeys sind im Grunde bei den Scripts sehr beliebt, damit man diese auch beenden, paussieren oder Befehle ausführen kann.
Der Befehl für hier lautet:
Code:
HotKeySet ("key" [,"function"] )
Key:
Die Taste, die gedrückt werden muss um die Funktion / den Befehl auszuführen.
[function]:
Die Funktion, der sagt was der Befehl machen soll.
Hier ist ein einfacher Script:
Code:
; Drücke Esc um das Script zu beenden, Pause um es zu pausieren Global $Paused HotKeySet("{PAUSE}", "TogglePause") HotKeySet("{ESC}", "Terminate") HotKeySet("+!d", "ShowMessage") ;Shift-Alt-d ;;;; Hier ist der Hauptteil des Programms ;;;; While 1 Sleep(100) WEnd ;;;;;;;; Func TogglePause() $Paused = NOT $Paused While $Paused sleep(100) ToolTip('Script ist pausiert',0,0) WEnd ToolTip("") EndFunc Func Terminate() Exit 0 EndFunc Func ShowMessage() MsgBox(4096,"","Das ist eine Nachricht.") EndFunc
HotKeySet fertig.
__________________________________________________ _______________
Die Variabeln und InputBoxen:
Variabeln sind Wörter die für Befehle eingesetzt werden.
Variabeln stellt man fest an das $ [Bekanntlich das Dollar Zeichen].
Hier ist mal eine Variabel:
Code:
$Variabel
Code:
$Variabel =
Code:
$Variabel = InputBox ( "title", "Prompt" [, "Default" [, "password char" [, width, height [, left, top [, timeOut [, hwnd]]]]]] )
Title:
Titel der EingabeBox.
Prompt:
Anweisung der EingabeBox.
Default:
Der in der Eingabe-Box vorgegebene Wert.
Password Char:
Buchstabe oder Zahl die, was in der Box geschrieben worden ist ersetzt, in der Wirklichkeit entspricht das was ihr geschrieben habt der Realität.
[width, hight, left, top]:
Wie Groß die Box ist.
[timeout]:
Wie lange die InputBox dar sein soll.
[hwnd]:
Das Fenster Handle welches als Parent für diesen Dialog verwendet werden soll.
Hier mal ein Script:
Code:
$Variabel = InputBox("Befragung", "Schreibe hier dein Vornamen hinein:") MsgBox(0, "Vorname", "Dein Vorname ist " & $Variabel)
__________________________________________________ ______________
PixelSearch mit Au3 Window Info Erklärung:
Wir werden jetzt mal ein bisschen PixelSearch betreiben und gleichzeitig mit dem MouseMove-Befehl herumspielen!
PixelSearch ist eine Funktion um eine Stelle auf eurem Desktop zu suchen und wenn eine Variabel damit definiert wird dann kann man auch damit MouseMove und MouseClick betreiben.
Hier der Befehl:
Code:
PixelSearch ( left, top, right, bottom, colour [, shade-variation [, step [, hwnd]]] )
Die 4 Begrenzungen.
Au3 Erklärung:
Die finden wir einfach raus wenn wir in das Spiel das Spielfeld ausmessen, man freezt die Info und geht mit dem Finder Tool an die linke obere Ecke im Spielfeld und wenn man jetzt in den Tab "Mouse" wechselt kommen auch bei der Position auch schon left, top raus.
Das gleiche noch mal rechts unten des Spielfelds, wieder das Finder Tool nehmen und messen, dann kopiert man bei Position die 2 Werte und man hat right, bottom raus.
colour:
Heisst ja bekanntlich Farbe, der Farbcode der im Pixel gesucht werden soll.
Au3 Erklärung:
Man geht mit dem gefrozzten Au3 Window info mit dem Finder Tool über dem Ball im Spiel CurveBall und man bekommt über den Tab "Mouse" auch schon die Farbe für den Pixel heraus, den kopiert man und man hat die Farbe.
[shade-variation]:
Eine Zahl zwischen 0 und 255, die die Anzahl erlaubter Schattierungsschwankungen der Rot-, Grün- und Blaukomponenten festlegt. Standard ist 0 (exakte Übereinstimmung).
[step]:
Anstatt jedes Pixel in die Prüfsumme einzubeziehen, kann man einen Wert größer als 1 verwenden um Pixel zu überspringen (schneller). z.B. wird ein Wert von 2 nur jedes zweite Pixel prüfen. Standard ist 1.
[hwnd]:
Handle des zu durchsuchenden Fensters.
Bei mir würde so der Code aussehn:
Code:
$PixelSearch = PixelSearch(117, 312, 584, 623, 0xC4FFB6)
Code:
While True $PixelSearch = PixelSearch(117, 312, 584, 623, 0xC4FFB6) WEnd
Code:
While True $PixelSearch = PixelSearch(117, 312, 584, 623, 0xC4FFB6) If IsArray($PixelSearch) = True Then WEnd
Code:
While True $PixelSearch = PixelSearch(117, 312, 584, 623, 0xC4FFB6) If IsArray($PixelSearch) = True Then MouseMove($PixelSearch[0], $PixelSearch[1], 1) EndIf WEnd
Fertig wieder mal
__________________________________________________ ______________
Die .Ini Funktionen:
.Ini ist eine Konfigurationsdatei, sie werden ausgelesen oder es werden wichtige Informationen reingeschrieben:
Das sind die 2 Befehle bei AutoIt für .Ini:
Code:
IniWrite ( "filename", "section", "key", "value" ) IniRead ( "filename", "section", "key", "default" )
Code:
IniWrite("Meine erste Ini.ini", "Sektion", "Schlüssel", "Wert")
Wie eine Kategorie in einem Buch.
Key:
Der Name des Schlüssels in der .ini-Datei.
Value:
Der zu schreibende/ändernde Wert.
So, der Befehl macht eine .Ini in dem Verzeichnis wo euer Script gestarten worden ist mit den Daten, die könnt ihr natürlich auch umschreiben.
Natürlich könnt ihr auch eine InputBox machen und dies eine Variabel zuordnen und die in dem IniWrite Befehl unter der gewünschten Stelle einfügen.
Jetzt kommt der IniRead Befehl:
Dieser liest das was in der .Ini drin ist.
Wenn wir zum Beispiel unsern Script auslesen wollen und ihn als MsgBox dann zeigen wollen machen wir einfach den Befehl IniRead eine Variabel zuordnen:
Code:
IniWrite("Meine erste Ini.ini", "Sektion", "Schlüssel", "Wert") $Variabel = IniRead("Meine erste Ini.ini", "Sektion", "Schlüssel", "Wert wurde nicht gefunden") MsgBox(0, "Ini.ini", $Variabel)
So das war das wichtigste des IniRead+IniWrite!
Fertig
__________________________________________________ ______________
_IE Funktionen:
Die _IE Funktionen von AutoIt sind sehr hilfreich um zum Beispiel ein Einlogg Bot zu erstellen!
Wir fangen mal an ein Einlogg Bot für AutoIt Bot zu erstellen:
Zunächst muss der Bot den Internet Explorer öffnen, den Befehl ordnen wir noch eine Variabel zu, das brauchen wir nähmlich für später, aber zunächst müssen wir noch IE.au3 includen damit wir überhaupt diese Befehle nutzen können!
Das sind dann so aus:
Code:
#include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1)
Code:
#include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1) $Form = _IEFormGetObjByName($IE, 2); 2= Layer
Code:
$Username = InputBox("Username", "Bitte geben sie ihr Profilnamen an!", "", "", 60, 140) $PW = InputBox("Password", "Bitte geben sie ihr Password an!", "", "*", 60, 140) #include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1) $Form = _IEFormGetObjByName($IE, 2); 2= Layer
Damit er überhaupt was schreibt braucht er ja den Layer und die ID, den finden wir im Quelltext, sucht einfach nach "loginUsername" und "loginPassword"!
Jetzt machen wir wieder eine neue Variabel die heisst:
$Username2
Und der ordnen wir den Befehl "_IEFormElementGetObjByName" zu, dann wüsste er eigentlich auch was er wo hinschreibt.
Code:
$Username = InputBox("Username", "Bitte geben sie ihr Profilnamen an!", "", "", 60, 140) $PW = InputBox("Password", "Bitte geben sie ihr Password an!", "", "*", 60, 140) #include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1) $Form = _IEFormGetObjByName($IE, 2); 2= Layer $Username2 = _IEFormElementGetObjByName($Form, "loginUsername")
Code:
$Username = InputBox("Username", "Bitte geben sie ihr Profilnamen an!", "", "", 60, 140) $PW = InputBox("Password", "Bitte geben sie ihr Password an!", "", "*", 60, 140) #include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1) $Form = _IEFormGetObjByName($IE, 2); 2= Layer $Username2 = _IEFormElementGetObjByName($Form, "loginUsername") _IEFormElementSetValue($Username2, $Username)
Code:
$Username = InputBox("Username", "Bitte geben sie ihr Profilnamen an!", "", "", 60, 140) $PW = InputBox("Password", "Bitte geben sie ihr Password an!", "", "*", 60, 140) #include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1) $Form = _IEFormGetObjByName($IE, 2); 2= Layer $Username2 = _IEFormElementGetObjByName($Form, "loginUsername") _IEFormElementSetValue($Username2, $Username) $Password = _IEFormElementGetObjByName($Form, "loginPassword") _IEFormElementSetValue($Password, $PW)
Code:
$Username = InputBox("Username", "Bitte geben sie ihr Profilnamen an!", "", "", 60, 140) $PW = InputBox("Password", "Bitte geben sie ihr Password an!", "", "*", 60, 140) #include <IE.au3> $IE = _IECreate("http://www.*************/index.php?form=UserLogin", 0, 1) $Form = _IEFormGetObjByName($IE, 2); 2= Layer $Username2 = _IEFormElementGetObjByName($Form, "loginUsername") _IEFormElementSetValue($Username2, $Username) $Password = _IEFormElementGetObjByName($Form, "loginPassword") _IEFormElementSetValue($Password, $PW) _IEFormSubmit($Form)
_IEFunktionen fertig
__________________________________________________ ______________
Die Arrays:
Arrays sind Variablen die mehr als einmal beschrieben worden sind, diese werden oft für For...To...Next Schleifen benutzt. Um die verschiedenen „Datenfelder", sowie ich sie nenne zusehen, müsst ihr einfach die Array.au3 includen und _ArrayDisplay eingeben.
Um ein Array zuerstellen könnt ihr verschiedene Methoden befolgen:
- Alles einzeln machen
- Alles sofort beschreiben
Hier wird es erklärt:
Code:
;Alles einzeln machen: #include <Array.au3> Global $ArrayEinzeln[2] $ArrayEinzeln[0] = "Hallo" ; Das erste „Datenfeld" ist immer die Null $ArrayEinzeln[1] = "Wie gehts?" ; Das zweite „Datenfeld" ist immer die Eins ; Das letzte „Datenfeld" ist das Array[2] - 1 nehmen = Eins For $Array = 0 To 1 MsgBox(0, "Array Tutorial", "Dies ist der Array " & $Array & ": " & $ArrayEinzeln[$Array]) Next ;Alles auf einmal: Global $ArrayAlles[3] = ["Hallo, wie gehts?", "So geht alles", "auf einmal wenn man ein Array beschreibt"] For $Array = 0 To 2 ; Diesmal 0 zur 2 weil 3 - 1 gleich 2 ist MsgBox(0, "Array Tutorial", "Dies ist der Array " & $Array & ": " & $ArrayAlles[$Array]) Next _ArrayDisplay($ArrayAlles, "Array Tutorial")
Code:
Global $Array[3] = ["Erster Array", "Zweiter Array", "Dritter Array"] ; Wenn Array[3][4] angegeben wird, ist die [3] ; die erste Dimension und die [4] die zweite Dimension For $UBound = 0 To UBound($Array) - 1 ; Die erste Dimension und auch die einzige Dimension des Arrays $Array wird ; durchlaufen MsgBox(0, "UBound Test", "Hallo, dies ist ein Text für die UBound Erklärung: " & $Array[$UBound]) ; „Datenfelder" von $Array werden durchlaufen, Ergebniss sind die „Datenfelder" in der MsgBox Next ;Andere Möglichkeit Global $Array2[3] = ["Erster Array", "Zweiter Array", "Dritter Array"] For $Other = 0 To 2 ; Diesmal wird nicht UBound benutzt sondern werden die Datenfelder 0 (1) bis 3 (2) durchlaufen MsgBox(0, "UBound Test", "Hallo, dies ist ein Text für die UBound Erklärung: " & $Array2[$Other]) Next
__________________________________________________ ______________
GUI mit Hintergrundbild:
Also, jetzt werde ich euch erklären wie ihr in eurer GUI ein Hintergrundbild macht, ihr macht euch erstmal eure GUI, ich nehme als Beispiel mein SpamBot, bei dem werden wir noch bei der GUI eine neue Variable zuordnen, die kann heissen „$Pic1", diese wird mit GUICtrlCreatePic definiert!
Code:
#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> IniWrite(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", 1) Global $Ja = 6, $Nein = 7, $SW_HIDE = 0 #Region ### START Koda GUI section ### Form=C:\Desktop, Scripte AutoIt, Bots und und und-\Koda\Forms\Spam Bot.kxf $Form1 = GUICreate("SpamBot bei Understood", 383, 492, 192, 124) $Label1 = GUICtrlCreateLabel("Spam Bot", 120, 24, 139, 38) GUICtrlSetFont(-1, 22, 800, 0, "Arial") $Label2 = GUICtrlCreateLabel("_______________________________________________________________", 0, 64, 382, 17) $Label3 = GUICtrlCreateLabel("Anzahl der gesamten Spam's die gesendet werden sollen:", 8, 88, 275, 17) $Input1 = GUICtrlCreateInput("", 8, 112, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER)) $Checkbox1 = GUICtrlCreateCheckbox("Pausen", 8, 176, 97, 17) $Label4 = GUICtrlCreateLabel("Soll nach jedem Spam eine Pause eingelegt werden?", 8, 152, 255, 17) $Input2 = GUICtrlCreateInput("", 104, 176, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY,$ES_NUMBER)) $Label5 = GUICtrlCreateLabel("_______________________________________________________________", 0, 224, 382, 17) $Label6 = GUICtrlCreateLabel("Der Text der gesendet werden soll", 8, 248, 166, 17) $Input3 = GUICtrlCreateInput("Spam", 8, 272, 369, 21) $Label7 = GUICtrlCreateLabel("Der Bot wird nach dem starten 5 Sekunden lang warten, sie müssen in der Zeit", 0, 312, 374, 17) $Label8 = GUICtrlCreateLabel("das Fenster aufrufen und auf das Feld klicken wo man was reinschreiben kann.", 0, 328, 378, 17) $Label9 = GUICtrlCreateLabel("_______________________________________________________________", 0, 352, 382, 17) $Label10 = GUICtrlCreateLabel("Testen sie den Spam Bot in diesem Feld:", 8, 376, 196, 17) $Input4 = GUICtrlCreateInput("", 8, 400, 369, 21) $Label11 = GUICtrlCreateLabel("_______________________________________________________________", 0, 432, 382, 17) $Label12 = GUICtrlCreateLabel("Sekunden", 232, 176, 65, 20) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") $Button1 = GUICtrlCreateButton("Start", 8, 456, 75, 25, 0) $Button2 = GUICtrlCreateButton("Beenden", 296, 456, 75, 25, 0) $Label13 = GUICtrlCreateLabel("©Copyright 2009 by Understood", 112, 464, 156, 17) $Checkbox2 = GUICtrlCreateCheckbox("SpamBot verstecke nach dem aktivieren.", 8, 208, 217, 17) $Pic1 = GUICtrlCreatePic GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 Global $Anzahl = GUICtrlRead($Input1) Global $Pause = GUICtrlRead($Input2) * 1000 Global $Text = GUICtrlRead($Input3) If $Pause > 0 Then $PauseON = 1 Else $PauseON = 0 EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit Case $Checkbox1 GUICtrlSetStyle($Input2, BitOr($ES_AUTOHSCROLL, $ES_NUMBER)) Case $Button1 _StartBot() Case $Button2 MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit Case $Checkbox2 $IniRead = IniRead(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", "Not Found") $SW_HIDE = $IniRead If $SW_HIDE = 1 Then IniWrite(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", 0) Else IniWrite(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", 1) EndIf EndSwitch WEnd Func _StartBot() MsgBox(64, "Zeit", "Du hast 5 Sekunden auf das Feld zuklicken damit der Spam Bot schreiben kann!") If $SW_HIDE = 1 Then GUISetState(@SW_HIDE) Else GUISetState(@SW_SHOW) EndIf Sleep(5000) If $PauseON = 1 Then For $i = 1 To $Anzahl Send($Text & " ", 1) Send("{enter}") Sleep($Pause) Next $Wiederholung = MsgBox(4, "Fertig", "Das senden der Nachrichten wurde beendet! Willst du zum Spam Bot Menü zurück kehren?") If $Wiederholung = $Ja Then GUISetState(@SW_SHOW) Else MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit EndIf Else For $i = 1 To $Anzahl Send($Text & " ", 1) Send("{enter}") Next $Wiederholung = MsgBox(4, "Fertig", "Das senden der Nachrichten wurde beendet! Willst du zum Spam Bot Menü zurück kehren?") If $Wiederholung = $Ja Then GUISetState(@SW_SHOW) Else MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit EndIf EndIf EndFunc
Filename:
Der Pfad des Bildes, das in der GUI als Hintergrundbild angezeigt werden soll.
left, top, width, height:
Die Größe des Bildes, mein Vorschläg wäre das wir es so groß machen wie die GUI selbst, dazu machen wir einfach bei left und top eine Null und bei width und height 383 und 492, das wäre die Größe unsere GUI, da ja left und top in der GUI 0 und 0 ist und width und height 383 492 [Kann man auch als Auflösung der GUI nennen!], so werde ich es auch machen.
style, exstyle:
Das wird wohl jeden klar sein, was für Optionen dieses Bild liefern soll. Kleiner Tipp am Rande: Nie $SS_NOTHIFY benutzen, den wenn du das benutzt, kann es sein das du nicht mehr die Buttons und anderes in der GUI benutzen kannst.
Wenn wir das ausgefüllt haben, dann sollte unser Script so aussehen:
Code:
#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> IniWrite(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", 1) Global $Ja = 6, $Nein = 7, $SW_HIDE = 0 #Region ### START Koda GUI section ### Form=C:\Desktop, Scripte AutoIt, Bots und und und-\Koda\Forms\Spam Bot.kxf $Form1 = GUICreate("SpamBot bei Understood", 383, 492, 192, 124) $Label1 = GUICtrlCreateLabel("Spam Bot", 120, 24, 139, 38) GUICtrlSetFont(-1, 22, 800, 0, "Arial") $Label2 = GUICtrlCreateLabel("_______________________________________________________________", 0, 64, 382, 17) $Label3 = GUICtrlCreateLabel("Anzahl der gesamten Spam's die gesendet werden sollen:", 8, 88, 275, 17) $Input1 = GUICtrlCreateInput("", 8, 112, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER)) $Checkbox1 = GUICtrlCreateCheckbox("Pausen", 8, 176, 97, 17) $Label4 = GUICtrlCreateLabel("Soll nach jedem Spam eine Pause eingelegt werden?", 8, 152, 255, 17) $Input2 = GUICtrlCreateInput("", 104, 176, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY,$ES_NUMBER)) $Label5 = GUICtrlCreateLabel("_______________________________________________________________", 0, 224, 382, 17) $Label6 = GUICtrlCreateLabel("Der Text der gesendet werden soll", 8, 248, 166, 17) $Input3 = GUICtrlCreateInput("Spam", 8, 272, 369, 21) $Label7 = GUICtrlCreateLabel("Der Bot wird nach dem starten 5 Sekunden lang warten, sie müssen in der Zeit", 0, 312, 374, 17) $Label8 = GUICtrlCreateLabel("das Fenster aufrufen und auf das Feld klicken wo man was reinschreiben kann.", 0, 328, 378, 17) $Label9 = GUICtrlCreateLabel("_______________________________________________________________", 0, 352, 382, 17) $Label10 = GUICtrlCreateLabel("Testen sie den Spam Bot in diesem Feld:", 8, 376, 196, 17) $Input4 = GUICtrlCreateInput("", 8, 400, 369, 21) $Label11 = GUICtrlCreateLabel("_______________________________________________________________", 0, 432, 382, 17) $Label12 = GUICtrlCreateLabel("Sekunden", 232, 176, 65, 20) GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif") $Button1 = GUICtrlCreateButton("Start", 8, 456, 75, 25, 0) $Button2 = GUICtrlCreateButton("Beenden", 296, 456, 75, 25, 0) $Label13 = GUICtrlCreateLabel("©Copyright 2009 by Understood", 112, 464, 156, 17) $Checkbox2 = GUICtrlCreateCheckbox("SpamBot verstecke nach dem aktivieren.", 8, 208, 217, 17) $Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Kevin\Desktop\spam bot.jpg", 0, 0, 383, 492, BitOR($WS_GROUP,$WS_CLIPSIBLINGS)) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 Global $Anzahl = GUICtrlRead($Input1) Global $Pause = GUICtrlRead($Input2) * 1000 Global $Text = GUICtrlRead($Input3) If $Pause > 0 Then $PauseON = 1 Else $PauseON = 0 EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit Case $Checkbox1 GUICtrlSetStyle($Input2, BitOr($ES_AUTOHSCROLL, $ES_NUMBER)) Case $Button1 _StartBot() Case $Button2 MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit Case $Checkbox2 $IniRead = IniRead(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", "Not Found") $SW_HIDE = $IniRead If $SW_HIDE = 1 Then IniWrite(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", 0) Else IniWrite(@ScriptDir & "\SpamBot_Data.ini", "Vanish", "VanishSpamBot", 1) EndIf EndSwitch WEnd Func _StartBot() MsgBox(64, "Zeit", "Du hast 5 Sekunden auf das Feld zuklicken damit der Spam Bot schreiben kann!") If $SW_HIDE = 1 Then GUISetState(@SW_HIDE) Else GUISetState(@SW_SHOW) EndIf Sleep(5000) If $PauseON = 1 Then For $i = 1 To $Anzahl Send($Text & " ", 1) Send("{enter}") Sleep($Pause) Next $Wiederholung = MsgBox(4, "Fertig", "Das senden der Nachrichten wurde beendet! Willst du zum Spam Bot Menü zurück kehren?") If $Wiederholung = $Ja Then GUISetState(@SW_SHOW) Else MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit EndIf Else For $i = 1 To $Anzahl Send($Text & " ", 1) Send("{enter}") Next $Wiederholung = MsgBox(4, "Fertig", "Das senden der Nachrichten wurde beendet! Willst du zum Spam Bot Menü zurück kehren?") If $Wiederholung = $Ja Then GUISetState(@SW_SHOW) Else MsgBox(0, "Danke", "Danke für die Benutzung des Spam Bottes!") Exit EndIf EndIf EndFunc
__________________________________________________ ______________
Die Operatoren:
Die Operatoren sind das wichtigste was man zur Variablendefinition braucht. Um einer Variable etwas zuweisen zukönnen wird z.B. der '=' (Zuweisungs-Operator) gebraucht!
Dieser wird z.B. so benutzt bei einer Variable, wer sich das Tutorial schon richtig angesehen hat, wird wohl wissen was die einzelnen Ausdrücke bedeuten!
Code:
Global $VariablenDefiniton = 18
Jetzt wollen wir noch eine Zahl dranhängen, stellen wir uns einfach vor, wir können die Variable nicht noch einmal definieren!
Da benutzen wir einfach den '&='(Verkettung und Zuweisungs-Operator), der hängt an der gespeicherten Variable das gewünschte noch dran!
So sieht es aus, wenn wir den Verkettung und Zuweisungs-Operator benutzen:
Code:
Global $VariablenDefiniton = 18 $VariablenDefiniton &= 2
Sowas ist relativ ratsam bei IniRead und FileRead Befehlen, wenn man noch was in einer Datei / Ini dranhängen will.
Der '+=' (Addition und Zuweisungs-Operator) dient dazu eine Zahl die angegeben worden ist plus die Zahl der Variable zuaddieren. Es gibt 2 Wege hier (die gehen auch bei den anderen):
1.Weg (Zeitaufwändiger):
Code:
$VariablenDefiniton = $VariablenDefiniton + 10
Code:
$VariablenDefiniton += 10
Unteranderem gibt es noch anstatt '+=':
- -= : Subtraktion und Zuweisungs-Operator
- /= : Division und Zuweisungs-Operator
- *= : Multiplikation und Zuweisungs-Operator
Diese Operatoren werden oft für die Variablendefinition gebraucht!
Natürlich kann man auch vom Variablen weg ableiten und alles manuell machen, z.B. man addiert etwas und lässt es in einer Nachrichtenbox ausgeben:
Code:
MsgBox(0, "Addieren", 5 + 10)
Code:
MsgBox(0, "Addieren", 10 - 5)
Code:
MsgBox(0, "Addieren", 5 * 10)
Code:
MsgBox(0, "Addieren", 10 / 5)
Diese werden oft bei Schleifen-Anfängen und If-Abfragen benutzt, wie z.B. der Operator 'And', wer jetzt englisch kann, weiß das 'And' auf Deutsch 'Und' heißt.
Man könnte z.B. den 'And' Operator in diesem Beispiel benutzen:
Code:
If 5 + 10 And 10 + 5 = 15 Then MsgBox(0, "Addieren", "15") EndIf
Dann gibt es den logischen Operator 'Or' (deutsch = oder), der bezieht sich in einer If-Abfrage darauf, wenn eines der beiden Ausdrücke wahr sind das dann das passiert was in der If-Abfrage angegeben ist im Then-Teil.
So könnte es z.B. aussehen:
Code:
If 5 + 10 Or 17 + 5 = 15 Then MsgBox(0, "Addieren", "15") EndIf
Hier hab ich auch mal ein schönes Beispiel:
Code:
If Not 6 + 10 Or 17 + 5 = 15 Then MsgBox(0, "Addieren", "6 + 10 oder 17 + 5 entspricht nicht 15!") EndIf
Z.B.:
Code:
;Ohne Zeichen $String = "" If $String <> "" Then MsgBox(0, "String", "String beinhaltet Zeichen!") Else MsgBox(0, "String", "String beinhaltet keine Zeichen!") EndIf ; Mit Zeichen $String = "Tutorial" If $String <> "" Then MsgBox(0, "String", "String beinhaltet Zeichen!") Else MsgBox(0, "String", "String beinhaltet keine Zeichen!") EndIf
Hoffe das ich euch einen "leichten" Teil nochmal erläutert habe, ein paar Operatoren habe ich noch aus der Hilfe rausgesucht, wusste nicht alle auswendig!
Hier nochmal eine Liste aller logischen Operatoren:
Code:
= = Zuweisung. Zum Bsp. $var = 5 (weist $var die Zahl 5 zu) += = Addition und Zuweisung. Zum Bsp. $var += 1 (addiert 1 zu $var) -= = Subtraktion und Zuweisung. Zum Bsp. $var -= 1 (subtrahiert 1 von $var) *= = Multiplikation und Zuweisung. /= = Division und Zuweisung. &= = Verkettung und Zuweisung. Zum Bsp. $var = "one" und dann $var &= 10 ($var entspricht nun "one10") + = Zwei Zahlen addieren. Zum Bsp. 10 + 20 (entspricht 30) - = Zwei Zahlen subtrahieren. Zum Bsp. 20 - 10 (entspricht 10) * = Zwei Zahlen multiplizieren. Zum Bsp. 20 * 10 (entspricht 200) / = Zwei Zahlen dividieren. Zum Bsp. 20 / 10 (entspricht 2) & = verketten/verbinden zweier Strings. Zum Bsp. "one" & 10 (entspricht "one10") ^ = Eine Zahl durch deren Potenz erhöhen. Zum Bsp. 2 ^ 4 (entspricht 16) = = Prüft, ob zwei Werte gleich sind (Groß- und Kleinschreibung wird nicht berücksichtigt, falls Strings verwendet werden). Zum Bsp.. If $var= 5 Then (true falls $var 5 entspricht) == = Prüft, ob zwei Werte gleich sind (Groß- und Kleinschreibung wird berücksichtigt, falls Strings verwendet werden) <> = Prüft, ob zwei Werte nicht gleich sind . > = Prüft, ob der erste Wert größer als der zweite ist. >= = Prüft, ob der erste Wert größer/gleich dem zweiten ist. < = Prüft, ob der erste Wert kleiner als der zweite ist. <= = Prüft, ob der erste Wert kleiner/gleich dem zweiten ist. AND = Logisches UND. z. B. If $var = 5 AND $var2 > 6 Then (True falls $var 5 entspricht und $var2 größer als 6 ist) OR = Logisches ODER. z. Bsp.. If $var = 5 OR $var2 > 6 Then (true falls $var gleich 5 ist oder $var2 größer als 6 ist) NOT = Logisches NICHT. z. B. NOT 1 (FALSE)
Endlich ist mein Tuturial fertig.
Wenn noch Unklarheiten auf kommen, tut mir leid, das Tuturial ist ein bisschen lang geraten und mit der Zeit hab ich mein Verstand verloren nicht Böse sein, trotzdem mal in der Sufu, Hilfedatei oder Wiki gucken Viel Spass!!!!
EUER UNDERSTOOD