[TUTO] Scar-Script-Bots-Erklärungsthread

04/03/2013 15:37 CHR_MAR#1
Hallo,

ich werde hier stückchenweise mein erarbeitetes "Wissen" über die Scar-Scripte und ihre Funktionen möglichst ausführlich veröffentlichen, damit jeder einfach und unkompliziert selbst kleine Änderungen vornehmen kann. Um die Dinge leichter verständlich und nachvollziehbar darstellen zu können, verwende ich als Beispielsscript den Bot von Golden|Power : [Only registered and activated users can see links. Click Here To Register...]

Im ersten Posting wird nur ein Inhaltsverzeichnis stehen, welches mit der Überschrift auf das jeweilige Posting im Thread direkt verweist.

Gerne darf sich jeder beteiligen, Artikel hierzu verfassen oder meine Angaben korregieren. Auch ich bin ein Neuling im Schreiben / Ändern dieser Scripte und deshalb muss eben nicht alles korrekt interpretiert oder beschrieben sein.

Inhaltsverzeichnis:

1. Allgemeines und Grundsätzliches
- [Only registered and activated users can see links. Click Here To Register...]
- [Only registered and activated users can see links. Click Here To Register...]
- Ein Punkt = eine Farbe (in Bearbeitung)
- Variablen verwenden und prüfen (geplant)
- [Only registered and activated users can see links. Click Here To Register...]
- Bildsuche (in Bearbeitung von SeaDoc)


2. Scar Divi Befehle
- Einzelne Programmbefehle (geplant)
- Bitmap-Code umwandeln (geplant)


3. Erklärung des Beispielsscripts
- [Only registered and activated users can see links. Click Here To Register...]
- Prozeduraufschlüsselung (geplant)


Wünsche und Anregungen sind herzlich willkommen ! :)
04/03/2013 15:41 Havelock_Vetinari#2
Sehr schöne Idee :) Wäre auch bereit meinen Teil dazu beizusteuern falls ich irgendwas machen kann :D
04/03/2013 15:58 ElectricJam#3
Quote:
Originally Posted by CHR_MAR View Post
Hallo,

ich werde hier stückchenweise mein erarbeitetes "Wissen" über die Scar-Scripte und ihre Funktionen möglichst ausführlich veröffentlichen, damit jeder einfach und unkompliziert selbst kleine Änderungen vornehmen kann. Um die Dinge leichter verständlich und nachvollziehbar darstellen zu können, verwende ich als Beispielsscript den Bot von Golden|Power : [Only registered and activated users can see links. Click Here To Register...]

Im ersten Posting wird nur ein Inhaltsverzeichnis stehen, welches mit der Überschrift auf das jeweilige Posting im Thread direkt verweist.

Gerne darf sich jeder beteiligen, Artikel hierzu verfassen oder meine Angaben korregieren. Auch ich bin ein Neuling im Schreiben / Ändern dieser Scripte und deshalb muss eben nicht alles korrekt interpretiert oder beschrieben sein.

Inhaltsverzeichnis:

1. Aufbau eines Scar-Script-Bots (geplant)
2. Koordinaten : Wo befindet sich was ? (geplant)
3. Variablen verwenden und prüfen (geplant)
4. Bildsuche (geplant)


Wünsche und Anregungen sind herzlich willkommen ! :)
hey bro can u make mini raid map bot because Alex's bots is very good but it dont come back raid map when i blub in raid map
04/03/2013 16:02 CHR_MAR#4
Quote:
Originally Posted by ElectricJam View Post
hey bro can u make mini raid map bot because Alex's bots is very good but it dont come back raid map when i blub in raid map
hoi,
no i don't make a mini raid bot and your posting here missed the thread ;)

Quote:
Originally Posted by Alex_II View Post
Sehr schöne Idee :) Wäre auch bereit meinen Teil dazu beizusteuern falls ich irgendwas machen kann :D
klar kannst du, wenn dir etwas einfällt oder du selbst etwas erklären möchtest. werde das dann im inhaltsverzeichnis mit aufnehmen und verlinken ;)
04/03/2013 16:16 Havelock_Vetinari#5
Quote:
Originally Posted by CHR_MAR View Post
klar kannst du, wenn dir etwas einfällt oder du selbst etwas erklären möchtest. werde das dann im inhaltsverzeichnis mit aufnehmen und verlinken ;)
Ich helfe gerne aus . sag mir nur wie und was dann mach ichs
04/03/2013 16:45 CHR_MAR#6
1. Aufbau eines Scar-Script-Bots

Normal denkt sich jeder, das ein Script im Ablauf von oben anfängt und sich dann nach unten durch arbeitet. Dies ist jedoch ein Irrtum, denn der eigentliche Beginn des Scripts befindet sich erst am Ende. Dort werden die vorher geschriebenen Prozeduren aufgerufen. Das ganze ist ähnlich wie eine Schrittkette, bei der einzelne Teile Stück für Stück aufgerufen werden. Nach Abschluss eines Teils kehrt das Programm an den Punkt zurück und geht zum nächsten Schritt über.

Zur Veranschaulichung eine Graphik :
[Only registered and activated users can see links. Click Here To Register...]

Erklärung des Bildes:
Zuerst stehen die Prozeduren 1 bis 4 im Script, werden jedoch nicht ausgeführt. Das Programm läuft runter bis Programmstart und von hier aus wird nun jeder einzelne Schritt durchlaufen.

1. Startet Prozedur 1
2. Wenn Bedingung erfüllt springt in Prozedur 3
3. Läuft Programmteile durch und springt dann in Prozedur 4
4. Läuft Programmteile durch und springt zurück bis wieder in der Schleife landet
5. Läuft Programmteile der Schleife durch
6. Springt in Prozedur 2 und läuft Programmteile durch
7. Landet wieder in der Schleife und wiederholt diese


Im Fall des Beispielscripts startet es also eigentlich erst in Zeile 484 und ruft dann die erste Prozedur "LoadBMP" auf. Als nächstes folgt die Prozedur "getvariable". Diese beiden Prozeduren werden nur ein einziges mal durchlaufen, denn die Schleife startet erst danach !
04/03/2013 18:09 poipoi2323#7
Thanks CHR_MAR,
It'll really be interesting and useful for all the young padawan that we are to follow your thread :handsdown:
04/03/2013 18:16 CHR_MAR#8
2. Koordinaten : Wo befindet sich was ?

Die Koordinaten sind das A&O der aktuell veröffentlichten Scar-Bots, denn darüber wird definiert wo sich etwas befindet und wohin das Script dann klicken soll. Stimmen diese nicht oder sind fehlerhaft eingestellt, dann wird das gesamte Script nicht zufrieden stellend laufen !


- Was sind eigentlich Koordinaten ?

Durch den Befehl "SetDesktopAsClient" wird der Bildschirm als zwei-dimensionale Oberfläche definiert. Auf dieser Oberfläche haben wir zwei Achsen zur Bestimmung einer Position, was die meisten wahrscheinlich noch aus der Schulzeit kennen dürften bei Diagrammen :

x-Achse = waagerecht
y-Achse = senkrecht

Begonnen wird links oben mit 0:0 => x-Achse = 0 , y-Achse = 0 und endet rechts unten mit dem maximalen Punkt definiert durch die Auflösung des Computers. Beispielsweise bei einer Auflösung von 1280x1024 wäre somit der letzte Punkt rechts unten 1280:1024 => x-Achse = 1280 , y-Achse = 1024

Daher ist es nicht möglich einen negativen Koordinatenpunkt oder einen Koordinatenpunkt grösser als die Auflösung zu erhalten, da er sich logischerweise ausserhalb des Bildschirms befinden würde. Leider sind hier im Forum bereits Scripte aufgetaucht in denen eben solche Fehler vorhanden waren.



- Wie kann ich eine Koordinate bestimmen ?

Im Programm Scar befindet sich unten die Statusleiste. Sofern unter "View" der Punkt "Show Mouse Coords" mit Häckchen aktiviert ist, wird nun links in der Statusleiste die jeweils aktuelle Koordinate der Maus angezeigt.

[Only registered and activated users can see links. Click Here To Register...]

Die erste Zahl definiert die Position auf der x-Achse und die zweite Zahl die Position auf der y-Achse. Auf dem Bild befindet sich also die Maus gerade an Position x-Achse = 507 und y-Achse = 126 !


- Warum ist diese Funktion hilfreich ?

Hiermit lässt sich auf sehr einfache Weise überprüfen, ob ein Script die richtigen Bezugspunkte verwendet, denn ohne einen festgelegten Rahmen (Seekarte) würde das Beispielsscript möglicherweise auf unerwünschte Schaltflächen klicken oder aber die Glitzis gar nicht ins Sichtfenster bringen können.

Die Definition der Seekarte erfolgt über die beiden Punkte "links oben" => skx1:sky1 und "rechts unten" => skx2:sky2. Aufgrund dieser Bezugspunkte wird ein Rechteck gezogen und alle Koordinatenwerte darin verwendet.
04/03/2013 22:09 Kleiner7777#9
Das heißt also soviel wenn ich einen Wert endete muss ich alle Werte Endern ?
04/03/2013 22:33 Havelock_Vetinari#10
Quote:
Originally Posted by Kleiner7777 View Post
Das heißt also soviel wenn ich einen Wert endete muss ich alle Werte Endern ?
jein . bei den variablen skyx etc. sollte man eigentlich nur den wert oben am anfang des scriptes eintragen . Aber beim durchsehen des scar Bots 2.0 habe ich gesehen , dass die variablen skxy etc. selbst (mehr oder weniger falsch) berechnet werden , es also egal ist , welche Werte man dort eingibt.
Also bei den Beispielscript kannst du die Werte einmal oben ändern , dann sollten sie für das ganze script gelten . Bei den anderen sollte man sich das programm aber erst einmal durchlesen :)
04/03/2013 23:03 CHR_MAR#11
Quote:
Originally Posted by Kleiner7777 View Post
Das heißt also soviel wenn ich einen Wert endete muss ich alle Werte Endern ?
Im Prinzip hat dir Alex_II bereits richtig geantwortet. Grundsätzlich muss man sich genau ansehen, was man ändern möchte. Damit eben nicht überall im gesamten Script sämtliche Werte ständig verändert werden müssen, arbeitet man mit Variablen. Definiert und bestimmt diese einmal und setzt sie dann im fortlaufenden Script ein. Bei einer Änderung brauche ich also dann nur den Wert der Variable ändern und erspare mir das gesamte Script durch zu forsten. Ich empfehle eh die Originalzeile auszukommentieren, kopieren und dann zu bearbeiten um im Zweifel einfach den Urzustand wiederherstellen zu können.

In unserem Beispielsscript Revolution 1.2 sollte der User eh mehrere Werte von Variablen verändern, damit alles zuverlässig funktioniert. (zb. skx1,sky1,t,h,z,p ... etc.) Allerdings stellt er irgendwann fest, dass es an der unterschiedlichen Sprachclient-Version dennoch scheitert.

Dieser Thread ist im wachsen und es werden noch einige Themen behandelt, die dir deine Frage hoffentlich genauer erklären.

Quote:
Originally Posted by Alex_II View Post
jein . bei den variablen skyx etc. sollte man eigentlich nur den wert oben am anfang des scriptes eintragen . Aber beim durchsehen des scar Bots 2.0 habe ich gesehen , dass die variablen skxy etc. selbst (mehr oder weniger falsch) berechnet werden , es also egal ist , welche Werte man dort eingibt.
Das hatte ich ja bereits im Release-Thread kritisiert, aber wenn man halt einfach nur aus verschiedenen Scripten irgendwie zusammen kopiert und sich keine Gedanken drüber macht, dann passiert sowas halt nunmal ;) ... Deswegen habe ich auch die Version 1.2 als Beispielsscript genommen, denn dort herrscht nicht ganz soviel sinnloses Chaos :D
04/05/2013 10:21 Havelock_Vetinari#12
Huhu :)

Würde , wenn es recht ist , einen Beitrag über virtuelle Pcs schreiben . Also warum man sie nutzen sollte , welche Vorteile sie bringen , was es für verschiedene Software dafür gibt etc.. :)
04/05/2013 13:51 Kleiner7777#13
Aber wenn ich jetzt zusätzlich was einfügen will wie Shooter back oder Nov schießen wie sieht es da aus
04/05/2013 15:30 Havelock_Vetinari#14
Quote:
Originally Posted by Kleiner7777 View Post
Aber wenn ich jetzt zusätzlich was einfügen will wie Shooter back oder Nov schießen wie sieht es da aus
Das wird , denke ich noch kommen ;) . Nach dem die Scar funktionen vorgestellt worden sind , könnte jemand ( evtl. ich wenn niemand etwas dagegen hat^^) ein Tutorial schreiben wie man eigene Funktionen in Scar schreibt :)
LG
04/05/2013 18:07 Kleiner7777#15
Bitte bin dafür