Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > World of Warcraft > WoW Exploits, Hacks, Tools & Macros
You last visited: Today at 16:13

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

Advertisement



Entwicklung eines Waypoint Bots [HowTo] [Theorie]

Discussion on Entwicklung eines Waypoint Bots [HowTo] [Theorie] within the WoW Exploits, Hacks, Tools & Macros forum part of the World of Warcraft category.

Reply
 
Old   #1
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
Entwicklung eines Waypoint Bots [HowTo] [Theorie]

Hey,
Ich habe grade tierisch langeweile, und hab mein altes WoW Projekt auf der Festplatte gefunden - ein Bot den ich vor ner ganzen Weile anfing selbst zu entwickeln. Da ich ihn aber nie fertiggestellt hatte mangels Zeit & Wichtigerem dachte ich mir "Gibst halt zumindestens dein erarbeitetes Wissen etwas weiter".
Fangen wir also an..

Worum geht es?
Das entwickeln eines Bots der für uns mit einem Waypoint System eine Route abläuft, und dort dann Erze abbaut, und Monster die ihm gefährlich werden bekämpft. Alles ziemlich Simpel gehalten, und verbuggt - aber es dient ja den Lernzwecken.. grins

Zunächst schauen uns wir einmal die Konzept Skizzen an:

Die erste Idee



Das ganze in ner GUI verpackt und bisschen verändert..



Nun, wie ich schon sagte wird unser Bot lediglich Stupide eine Waypoint Route ablaufen - jedoch bekommt der Bot noch zusätzlich einen Walkbot spendiert der uns von Punkt A zu Punkt B bringen kann (Wenn wir zu Faul sind um von SW zum MOP Portal zu fliegen zb).

Nun fangen wir mal an.. was braucht man um einen Bot zu entwickeln?

- Der Bot muss irgendwie sich bewegen können. Wir müssen in der Lage sein ihn in der 3D Spielwelt von Punkt A nach B zu bringen.

Welche Möglichkeiten bieten sich uns hier?
Nun da wäre zum einen das Simulieren von Tastenschlägen (W,A,S,D,Space).. aber das ist enorm auffällig, jeder Spieler der unseren Bot sehen würde, würde direkt verdacht schöpfen bei diesem Verhaltensmuster.
Zusätzlich ist es ziemlich schwer das ganze gut genug zu Organisieren weil man die Laufstrecken schlecht bemessen kann damit man Schlussendlich auch steht wo man stehen möchte.

Dann gibts noch die lustige Funktion die wir Click-To-Move nennen.
Wenn diese Funktion aktiviert ist, bewegt sich unser Spielcharakter an den Ort wohin wir mit der Rechten Maustaste geklickt haben. Dieses Verhalten ist wesentlich unauffälliger wenn man entsprechend gute Unstuck-Funktionen sowie Stuckfreie Profile zur Verfügung hat.

Doch wie nutzen wir nun diese Funktion ohne Tasten-Simulation?
Zunächst einmal muss man wissen wie die Funktion im Hintergrund funktioniert!

Wenn wir die mit aktivierter Funktion irgendwohin klicken, werden genau 4 Werte an die CTM Funktion übergeben. Und zwar..

- X, Y sowie Z Achse des Mausklicks in der Spielwelt
Dies ist unsere Ziel-Koordinate wo sich der Spielcharakter hinbewegen soll.

- CTM_ACTION
Dies ist ein Wert der verschiedene Zahlen beeinhalten kann, und dieser Wert ist abhängig davon wohin wir klicken.

Code:
const static int CTM_WALK  = 4; //Move to Coord
const static int CTM_WALK2 = 8; //Walk without a Coord
const static int CTM_STOP  = 6; //Anhalten, Alternative Code 9 fürs Stoppen
const static int CTM_IDLE  = 13; //Nichts zu tun? Idle..
Kleiner Snippet aus meinem Projekt..
Man sieht hier -> Wenn man mit der Maustaste auf einen erreichbaren Ort klickt, wird der Wert 4 übergeben. Wenn man jedoch auf einen Unendlich Weiten, nicht direkt anklickbaren Ort (beispielsweise den Himmel) klickt, wird der Wert 8 übergeben. Der Wert 8 bedeutet sogesehen "Laufe solange bis ich dir etwas anderes sage". Ist gerade kein Lauf-Befehl im Gange, steht an der entsprechenden Speicherstelle einfach eine 13 - was soviel heißt wie "Ich hab grade nichts zu tun", IDLE eben. Die Zahl 6 stoppt den aktuell im Gange stehenden Befehl und der Charakter bleibt stehen.

Wir wissen nun also schon wie wir unsere Click-To-Move Funktion ansteuern müssen - das geht ganz einfach - jedoch fehlt uns noch eine entscheidende Sache! Nämlich die Funktion der wir die Daten übergebe müssen..oder nicht? ein.. die Funktion holt sich die Daten selbst ! Die Funktion ist nämlich keine normale Funktion die wir hooken müssen. Wir müssen einfach nur die richtigen Werte im Prozess schreiben.

Es reicht einfach unsere Zielkoordinaten (X,Y,Z) an die richtige Stelle im WoW Prozess zu schreiben, und anschließend CTM_ACTION auf den Wert 4 zu setzen. Sofort flitzt unser Spielcharakter flink zur gewünschten Koordinate Vorraussetzung ist natürlich das nichts im Weg ist.. aber hierfür gibt es ja unser Waypoint System, womit wir uns als nächstes beschäftigen.

Über das Reversen der entsprechenden Speicherstellen + Offsets werde ich nicht eingehen (im ganzen HowTo), da dies im jeden Patch andere Offsets und Speicherstellen sind - wenn ihr einen Bot entwickeln möchtet solltet ihr in der Lage sein sowas selbst zu lernen.

- Der Bot muss irgendwie Laufwege besitzen - nur zu einer einzigen Stelle latschen ist nicht grade Hilfreich

Wir benötigen also ein System, um unserem Bot Laufwege beizubringen.
Es gibt hierfür verschiedene Wege - manche Bots nutzen Mesh Navigationen, aber wir nutzen die Noob Variante..
Das Waypoint System.

Nun, was ist ein Waypoint System?
Das ist ganz einfach Erklärt!
Wir definieren Orte in einem 3D System durch 3 Achsen - X,Y und Z Achse.
Wollen wir nun von einem Ort zu einem anderem laufen, und ein Hinderniss umgehen, müssen wir zunächst
eine andere Koordinate im 3D Raum ansteuern, von der wir dann zur eigendlichen Ziel Koordinate gehen.
Man kann also sagen das ein Waypoint System auf einer Liste von verschiedenen (nah beieinander liegenden) Koordinaten besteht, die vom Bot einzelnd der Reihe nach abgelaufen werden.

Zur Verdeutlichung ein Bild:



Nun, wie setzen wir dies um? Ganz einfach - wir basteln uns hierfür 2 Programmteile.

1) Ein Programm was uns Profile erstellen kann, in denen Waypoints gespeichert werden.
2) Ein Programm was unsere Profile auslesen kann, und dem Bot dann die Koordinaten zur verfügung stellt damit er sie ablaufen kann.

Punkt 1. ist ziemlich leicht - wir müssen nur mit einem Debugger rausfinden wo die aktuelle X,Y und Z Achse unseres Charakters im WoW Prozess gespeichert wird. Dann bestimmen wir ein Intervall in dem die Koordinaten ausgelesen werden, und speichern die jeweilige Koordinate dann in eine Ini Datei. Den aufbau dieser Ini Datei überlasse ich jedem selbst, meine sah so aus:

Code:
[Walkbot Gatherprofile]

[Waypoint1]
X=49.755291
Y=1.164894
Z=-16.689102
[Waypoint2]
X=51.223572
Y=1.201463
Z=-16.707321
[Waypoint3]
X=53.824524
Y=1.325729
Z=-17.647299

[...]
Ihr seht, ziemlich einfach gestrickt.. ohne große Zusatzfunktionen & co.

Und den 2. Teil bekommt denke ich jeder selbst hin und bedarf keiner Erklärung. Hier muss nur die Ini Datei ausgelesen werden, und die Koordinaten dann anschließend an die ClickToMove Funktion übergeben werden.
Man könnte i das Profil noch den Interval eintragen, da es hier erhebliche Unterschiede in der Präzision eines Waypoint-Profiles gibt , jenachdem ob man Geht, Läuft, Schwimmt oder Fliegt (zusätzlich Reise-Tempo des Mounts).
Geht man langsam, kann man ein größeren Interval nehmen, fliegt man jedoch brauch es einen kleineren + mehr Waypoints (= größerer Speicherverbrauch). Sollte man immer im Hinterkopf behalten das ganze!

So, wenn wir alles richtig gemacht haben sollte nun unser Bot erfolgreich durch die Gegend marschieren können ohne das wir die irgendwas hinzu tun Unsere Walkbot Funktion ist also schon einmal fertig - die entsprechenden Profile muss man natürlich dann selbst aufnehmen und das möglichst Bugfrei und dem richtigem Interval.

Doch halt.. da war noch etwas! Unser Bot soll ja auch noch Kräuter und Erze einsammeln..Hmm.. Wie erledigen wir dies am besten? Wie können wir unserem Bot Symbolisch gesehen Wahrnehmungssinne verpassen, so das der Bot weiß wo die ganzen Rohstoffe sind...?


Nun, World of Warcraft hat im Prozess eine Art "Liste" von Objekten in der Nähe des Spielcharakters. Wir können nun diese Liste durchgehen, und finden dort Monster, andere Spieler, benutzbare Objekte wie Stühle, Türen, und natürlich auch Rohstoffe die wir abbauen können.
Dieses Vorgehen, btw die Liste nennt sich im allgemeinen Sprachgebrauch "Objektmanager". Einfach gesagt ist es einfach eine Start-Stelle im Speicher die auf eine weitere Stelle zeigt mit dem nächsten Objekt, und von diesem Objekt können wir uns wieder zum nächsten hangeln.
Euch nun zu Erklären wie man den Objektmanager nutzt ginge zu weit, hierfür gibt es schon genug Erklärungen im Netz. Das ganze würde hier nur diesen Thread sprengen an Informationen.

Gehen wir weiter darauf ein was wir tun müssen damit unser Bot nun weiß "Wohin soll ich gehen?". Also, wir haben den Objektmanager, und können hier jedes in der Nähe befindliche Objekt durchgehen.. was tun wir also?
Genau! Wir parsen unsere Liste an Objekten nach Rohstoffen die uns interessieren, und lesen dann von ihnen die entsprechende 3D Koordinate (X,Y,Z) aus. Diese steuern wir nun an, sofern sie in einem bestimmten Radius um unserem Waypoint - Weg liegt. Andernfalls ignorieren wir den Rohstoff - wieso? Weil es sonst dazu führen kann das sich unser Charakter ganz böse feststuckt wenn wir zurücklaufen.. das hat das Waypoint System leider an sich. Es erfüllt aber den Grundlegenden Lerneffekt denke ich ganz gut.

So, nun kann unser Bot also schon einmal Rohstoffe auffinden, und ansteuern.. wenn da nur nicht diese Bösen Monster wären die uns angreifen könnten !..
Ja.. was tun wir denn dagegen..? Ihr habt es erraten - wir kämpfen!
Erinnern wir uns noch einmal an unseren Objekt Manager.. Dort ist eine Liste aller Objekte in der Nähe. Somit auch alle Monster, NPC und Neutralen Mobs.
Wenn wir nun also "sehen" das dort ein Böses Monster in der Nähe unseres Charakters ist, visieren wir es an und greifen an.

Im normalfall würde ich euch jetzt ein komplexes Kampfsystem erklären können, aber das wäre der totale Overkill für dieses Howto.. deshalb reisse ich es nur Grob an, und erkläre euch danach die leichtere Methode

Kämpfen :

1) Gegner auffinden (Objekt Manager - Neutraler oder Agressiver Mob?Agressiv? Weiter mit Punkt 2)

2) In Nähe laufen vom Gegner

3) Anhand eines Komplexen Kampfsystem das unsere Cooldowns, Zauber, Charakterklasse und Rasse im Auge hat kämpfen. Hier könnten wir uns eine eigene Charakter-Kampf Klasse basteln die verschiedene Verhalten an den Tag legt, und anhand bestimmten Situationen reagiert.

Beispielsweise .. Stunned? -> Fähigkeit auslösen um aus Stun zu entkommen.

Wir sollten diese Charakter-Kampf Klasse aber nicht Hardcoden, sondern extern in einer Datei lagern.
So können wir daran Änderungen vornehmen ohne ständig den ganzen Bot neu zu kompilieren.
Und sollten andere Leute unseren Bot nutzen wolle (unwahrscheinlich so buggy und noobig wie er ist), dan können diese die Kampfklasse anpassen und einsehen ohne den ganzen Sourcecode eures Bot zu benötigen.

4) Solange Fähigkeiten einsetzen bis die Lebenspunkte des Gegners auf 0 fallen (Stichwort Objektmanger..Lebenspunkte usw steht dort alles drin).

So, das war die ganz knappe umreissung eines Systems das man nutzen könnte. Wesentlich einfacher ist es wenn man in der Nähe eines Agressiven Mobs ist einfach einmal die Tab-Taste (alternativ die Funktion direkt per Write Memory) zu betätigen lassen, und dann wild die Tasten 1 bis 4 durchhämmern lassen. Wenn man das ganze dann Möglichst effizient und schön machen möchte, hooked man die LUA Schnittstelle und führt die Befehle (Zaubern zb) per Lua aus.

Beispielsweise steht einem hier der Befehl

Code:
CastSpellById();
zur Verfügung.

Hat man ein Klassen-System kann man für jede Klasse die wichtigsten Id´s darin speichern, die beste Methode wäre aber man liest sie einfach aus dem Prozess - was aber gute Reversing Kenntnisse benötigt.

Wenn wir uns nun unseren Weg zu unserem Heiß begehrtem Rohstoff Mühsam erkämpft haben, wollen wir es natürlich auch abbauen.. doch wie machen wir sowas?

Ihr habt es erfasst.. mit Interact With Objekt, genau die Funktion die auch ausgelöst würde wenn wir das ganze mit der Rechten Maustaste auslösen würden. Es steht einem Frei ob man das ganze löst indem man das ganze per LUA Code macht, oder per Hooks. Das ist eure entscheidung

So, fassten wir nochmal alles zusammen..
Unser Bot kann umher laufen, Rohstoffe erkennen und aufsammeln, Gegner Noobhaft bekämpfen, und besitz eine einfache Version von Profilen die wir nutzen können um bestimmte Waypoints abzulaufen und auf dem Weg dann Rohstoffe zu sammeln.. Grundlegend ist unser Bot nun schon fertig.
Wir können nun noch Funktionen hinzufügen wie zum Beispiel Blacklisting, Meiden von bestimmten Elite Mobs, Erkennen von Spielern in der Umgebung mit Reaktion des ausloggens, Unstuck Funktionen und vieles mehr.
Was ihr in euren Bot einfügen werdet überlasse ich euch - nur seid euch bewusst das dieser Bot immer total Noobig sein wird.
Er ist nicht schwer zu endecken da er immer die exakten Wege läuft, und er wird sich immer irgendwo feststucken sofern ihr kein Kluges System zum unstuck einfügen werdet.

Kurz gesagt - Das ganze diente nur dazu euch näher zu bringen wie so ein Bot vom Theoretischen Aufbau funktionieren KANN.So ein Bot ist nicht dafür geeignet um damit ernsthaft zu botten. Der Bot hat keinerlei Sicherheitsmaßnahmen gegen Warden, ist total auffällig usw.. aber er sollte funktionieren wenn ihr alles richtig macht. Und ihr habt was gelernt, und nur darum ging es hierbei in diesem Thread.

Ich hoffe ich konnte dem einen oder anderem helfen, und hoffe ich habe euch zumindestens etwas den Tag versüßt.. auch wenn ich selbst noch ziemlicher Anfänger auf diesem Gebiet bin.

Grüße
Crossside is offline  
Thanks
14 Users
Old 07/17/2014, 14:16   #2
 
elite*gold: 0
Join Date: Jul 2014
Posts: 26
Received Thanks: 1
danke sehr hilfreich
Speedie4 is offline  
Old 07/23/2014, 23:18   #3
 
laurenz1337's Avatar
 
elite*gold: 0
Join Date: Nov 2012
Posts: 291
Received Thanks: 129
Wow das muss ein Aufwand gewesen sein diesen Thread zu machen, vielen dank für diesen hilfreichen Beitrag Irgendwann wird es mir wahrscheinlich helfen, wenn ich mal zum proggen komme. ^^
laurenz1337 is offline  
Old 10/15/2014, 18:10   #4
 
elite*gold: 0
Join Date: Oct 2014
Posts: 30
Received Thanks: 0
Nice
ivy2gold is offline  
Old 10/24/2014, 14:04   #5
 
elite*gold: 0
Join Date: Sep 2008
Posts: 7
Received Thanks: 1
Super Post!
Auch wenn ich nicht bis zum Ende gelesen habe und ab "CTM_ACTION" nur noch grob überflog.

Was aber nicht missachtet werden sollte, das sich Warden in den letzten Jahren weiterentwickelt hat und man immer wieder Banwellen von Bots miterlebt.
Meines erachtens ist der grossteil darauf zurück zu führen, dass die Bots sich eben wie Bots verhalten.
Sie spielen ein und die selbe Funktion immer wieder ab.

Es wird immer auf gleicher Höhe geflogen, immer die selben WPs angeflogen.

Die Bots, die ich bisher angeschaut habe (es ist mittlerweile auch wieder 1 1/2 Jahre her, dass ich den letzten probierte) waren alle viel zu statisch.

Ich weiss, das dies hier nur als Arbeitsgrundlage/Proof of Concept/wie immer man es nennen mag gilt.
Dennoch sollte zwingend über einen Randomizer nachgedacht werden.
Alles andere würde binnen kürzester Zeit in einer Ban-Welle enden.

Denn Blizzard ist sich dessen bewust, das es Bots gibt und ich hatte vor geraumer Zeit ein/e (amerikanische) Master/Bachelor-Arbeit oder Studienprojekt gelesen, im den das auswerten von Wegen, die ein Charakter wählt und wie diese sicher einem Bot zugeordnet werden können, gelesen.
Leider ist das auch über ein Jahr her, das ich das laß und habe den Link nicht mehr ... werde mich aber mal wieder auf die Suche nach diesem begeben und hier posten, damit ihr versteht, was ich meine.

Kurzer Anriss (soweit ich das noch in erinnerung habe):
Die Wege werden analysiert und "auf magische Form" auf ... egal .. ich such das raus.

Huch ... das ging ja schnell, wenn man noch so ein paar Eckpunkte der Studie mit der man Google füttern kann, kennt.



Viel Spass beim lesen
Jeder, der einen Bot coden will, sollte sich das zur Genüge ziehen!

Die Studie ist von Mai 2009 ... man kann sich sicher sein, das die Erkenntnisse daraus zumindest teilweise in Warden schon implementiert sind.

Nur mal "kurz" meine Gedanken, die ich mir damals machte:

Gehen wir davon aus, dass wir wollen, das der Bot sich möglichst ähnlich eines Menschen verhält.
Das macht er dadurch, das er nie, wirklich _NIE_, den gleichen weg nimmt.
Nichtmal in kleinsten Segmenten.
Das ist als Mensch, in einer 3D-Welt, faktisch unmöglich.
Weder fliege ich den selben X/Y/Z-Punkt zweimal an, noch ist mein Weg dorthin immer der gleiche. Ich justiere immer meine Höhe, weil ich nich 100%ig mein Höhenruder auf die selbe Position stelle und es zwangsläufig zu einer Höhenänderung wärend des fliegen kommt.

Eine X/Y-Koordinate zwei mal gleich zu laufen ist eher trivial.
Sobalt ich aber noch eine Z-Koordinate beim Fliegen mit einbeziehe, ist das einfach ein Ding der Unmöglichkeit.

Zum Zielort:
Also müssen wir dem Bot die Möglichkeit lehren, seine Wege immer wieder neu zu suchen. Und das nicht, in dem wir ihm eine Ziel-Koordinate geben, sondern einen Bereich. Und dieser Bereich darf ebenso wenig ein Radius um einen Punkt sein (der Einfachheit halber mal Radienpunkt genannt). Dieser könnte schnell an seinen Grenzen erkannt werden. Wenn ich einen Radienpunkt 500 mal anfliege, wird zwangsläufig aus den Zielpunkten schnell ein Kreis ersichtbar. Auch das wird in den Auswertungen der Bewegungsmuster irgendwann auffallen. Auch wenn es erst nach 1000 Anflügen zu sehen ist. Es wird irgenwann gesehen werden.
Ebenso bei anderen geometrischen Figuren. Das Muster wird irgendwann erkennbar.

Wenn wir eine Menge an Zielorten hätten, aus dem der Bot wählt, wird das schon etwas komplexer, da sich die geometrischen Figuren, welcher Art auch immer, überschneiden werden. Zugegebenermassen bei einem Kreis früher als bei einem Poly- oder Hexagon.

Man stelle sich einen Würfel vor, der in der 3D-Welt gelegt wird, in welchen die drei Koordinaten immer durch einen Randomizer bestimmt werden, unabhängig voneinander, sieht das ganze schon etwas menschlicher aus.
Denn so fliege ich beim Farmen.
Ich suche mir den nächstgelegenen vermuteten Fundort einer Erzader/eines Kräutervorkommen oder Mobs auf meiner OSD-Karte und peile sie ungefähr an. Denn nichts anderes kann ich als Mensch. Ich werde nie und nimmer ein und den selben X/Y/Z-Punkt anfliegen.
Also ... der Würfel ... 3D-Punkt in diesem heraussuchen und anpeilen.

Das bringt uns nun zum Weg.

Ich fliege zu 90% mit Auto"walk" und nutze nur meine Leertaste zur Höhenjustierung. Sehe ich nach einiger Zeit, das sich meine Höhe zu sehr ändert, entscheide ich anhand der Entfernung meines nächsten Zielwürfels ob ich nur kurz mit Space die Höhe nachstelle oder ob ich meine Ausrichtung (Neigung) in der 3D-Welt ändere um auf Kurs zu bleiben.
Reine Höhenjustierung ist simpel.
Wenn ich aber die Neigung ändere, kommt zwangsläufig eine neue X/Y/Z-Koordinate als Zielort dabei heraus.
Kein Mensch wird jemals die Maus in nur einer Achse bewegen können. (Wenn doch, wird er bestimmt bald gebannt )

Allein diese Überlegungen zu implementieren ist ein Haufen Stück Arbeit.
Ich für meinen Teil sah meine Fähigkeiten dahingehend als nicht ausreichend, um dieses umzusetzen.
Bzw. ... hinbekommen würde ich das schon .. mir war die Zeit aber zu Schade

Aber ich denke, das ist eine Gute und passende Ergänzung zum Thread

Happy hacking!
stderr is offline  
Thanks
1 User
Old 10/24/2014, 14:26   #6
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
Quote:
Originally Posted by stderr View Post
Super Post!
Auch wenn ich nicht bis zum Ende gelesen habe und ab "CTM_ACTION" nur noch grob überflog.

Was aber nicht missachtet werden sollte, das sich Warden in den letzten Jahren weiterentwickelt hat und man immer wieder Banwellen von Bots miterlebt.
Meines erachtens ist der grossteil darauf zurück zu führen, dass die Bots sich eben wie Bots verhalten.
Sie spielen ein und die selbe Funktion immer wieder ab.

Es wird immer auf gleicher Höhe geflogen, immer die selben WPs angeflogen.
[...]
Erstmal Danke für den Lob!

Ansonsten bleibt zu sagen das dieser Thread hier von mir lediglich dazu dient Theoretisch das Wissen durchzuarbeiten wie ein einfacher, noobiger, unsafer Bot funktionieren könnte. Ich habe ja im letzten Absatz selbst erwähnt das es nicht sicher ist mit diesem Bot zu botten, und das man nicht wirklich weit kommt mit dem implentiertem Waypoint System. Das ganze dient lediglich dafür um mal zu zeigen wie es funktionieren könnte wenn man sowas realisieren möchte.

Zitat:
Quote:
Was ihr in euren Bot einfügen werdet überlasse ich euch - nur seid euch bewusst das dieser Bot immer total Noobig sein wird.
Er ist nicht schwer zu endecken da er immer die exakten Wege läuft, und er wird sich immer irgendwo feststucken sofern ihr kein Kluges System zum unstuck einfügen werdet.

Kurz gesagt - Das ganze diente nur dazu euch näher zu bringen wie so ein Bot vom Theoretischen Aufbau funktionieren KANN.So ein Bot ist nicht dafür geeignet um damit ernsthaft zu botten. Der Bot hat keinerlei Sicherheitsmaßnahmen gegen Warden, ist total auffällig usw.. aber er sollte funktionieren wenn ihr alles richtig macht. Und ihr habt was gelernt, und nur darum ging es hierbei in diesem Thread.
Der Punkt wieso ich das Waypoint System genommen habe ist einfach - weil das Mesh System (für mich) zu komplex ist. Um ein Mesh System zu implentieren muss man zunächst einmal die 3D Daten der jeweiligen Maps aus den Gamedaten ziehen, diese evlt noch aufbereiten damit man dann Hindernisse usw gut genug erkennen kann und es allgemein leichter wird für die Berechnungen etc.. Dann musst du evlt noch eine Intelligente 3D Wegfindung einbauen für die entsprechenden Mesh Punkte von Punkt a nach Punkt b.
Dann musst du noch ne Funktion basteln die dir intelligente Wege sucht die dann auch einigermaßen Stuckfrei klappen usw usf^^
Das wäre für diesen Thread glaube ich etwas zu krass übertrieben, vorallem da ich nicht wirklich die Erfahrung im Programmieren & Mathe habe um solche Dinge zu erklären.

Ich finde es aber toll das du dir da solche tollen Gedanken dazu machst wie man das ganze verbessern & möglichst sicher machen könnte, gefällt mir wirklich sehr. Grundlegend könnte man das von dir erwähnte denke ich sehr gut mit einem Mesh System durchsetzen, was dann aber wieder ein Heiden Aufwand wäre (wenn man sich mit sowas beschäftigt merkt man erstmal wieviel Arbeit sowas ist).

Viele Leute denken halt so ein Bot ist total einfach zu erstellen, aber sie vergessen das da oft enorm viel Arbeit drin steckt bei sowas^-^

Man sieht aber sehr schön wie sich die Farm-arten von Personen unterscheiden.
Ich fliege / flog beim farmen immer lediglich mit der Maus und habe darüber Höhe, Blickrichtung usw gesteuert. Hatte auch die Autowalk funktion auf eine Taste auf der Linken Seite meiner Maus gelegt gehabt, so das ich nicht Ewigkeiten die linke und Rechte Maustaste gedrückt halten musste^^.
Auf & Abmounten hatte ich auch auf der Maus gelegt, und springe meist kurz vor dem Boden dann ab Und ich fliege grundsätzlich die ganze Map ab, jeden Punkt nach der Reihe^^

So ein Randomizer gibt es aber für diverse Bots schon implentiert von Usern.
Bei Honorbuddy zb gibt es ein Plugin das dies macht.

grüße
Crossside is offline  
Old 11/25/2014, 15:09   #7
 
elite*gold: 0
Join Date: Jul 2013
Posts: 51
Received Thanks: 1
Quote:
Was aber nicht missachtet werden sollte, das sich Warden in den letzten Jahren weiterentwickelt hat und man immer wieder Banwellen von Bots miterlebt.
Meines erachtens ist der grossteil darauf zurück zu führen, dass die Bots sich eben wie Bots verhalten.
Sie spielen ein und die selbe Funktion immer wieder ab.
Das ist eben nicht so!
Bots = bots nein.

Der fehler warum es diese "massen banns gegeben hat" *lachen* sind die nutzer

-> Ich habe 5acc´s 4sind bots meine bann history 1x 72h für kräuterfarmen
und das in 2jahren

wenn die nutzer eines bots nicht so ****** dann würden ihr MainAcc´s noch online sein

Tipp am rande nicht übertreiben. dann leben eure glaß acc´s noch länger
EMP-Rock-Girl is offline  
Old 11/28/2014, 18:11   #8
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
Quote:
Originally Posted by EMP-Rock-Girl View Post
Das ist eben nicht so!
Bots = bots nein.

Der fehler warum es diese "massen banns gegeben hat" *lachen* sind die nutzer

-> Ich habe 5acc´s 4sind bots meine bann history 1x 72h für kräuterfarmen
und das in 2jahren

wenn die nutzer eines bots nicht so ****** dann würden ihr MainAcc´s noch online sein

Tipp am rande nicht übertreiben. dann leben eure glaß acc´s noch länger
Tut mir leid dir jetzt dein Weltbild zu zerstören, aber das ist nicht so.
Klar, man sollte nicht übertreiben, vorsichtig sein etc.. aber das alleine verhindert dir kein Bann. Banns sind das natürlichste auf der Welt wenn man bottet, und man muss sie einkalkulieren. Zu denken das das eigene Verhalten Banns verhindern würde ist das dümmste das man denken kann - du wirst Bauklötze staunen wenn mal irgendwann alle deine Accs auf einen Schlag dicht sind ohne das du an deinem Verhalten was geändert hast.

Weißt du.. es gibt bei World of Warcraft eine Art "ungeschriebenes Gesetz".. manche Leute / Accounts haben tierischen Glück und können die totale "Sau rauslassen" beim botten ohne das ihnen jemals was passiert.. andere hingegen achten auf alles mögliche an Sicherheitsvorkehrungen, botten nur 1-2 Stunden am Tag usw und werden immer wieder und wieder gebannt.
Bei mir war das erste der Fall.. ich hab so derbe die Sau rauslassen können, habe mich nen Dreck um Sicherheitsvorkehrungen geschert usw.. und wurde nicht gebannt.. egal wie oft ichs übertrieben habe - ich hatte es sogar drauf angelegt indem ich extrem auffällig gebottet habe. Kein Bann.

Das ganze hat oft nichts mit "Ich Verhalte mich gut, deshalb bekomm ich keine Banns" zu tun oder das Gegenteil.. sondern einfach mit Pech oder Glück.
Aber irgendwann trifft es uns alle, auch dich. Jetzt zu sagen das die Leute daran Schuld wären.. damit machst du es dir wirklich viel zu leicht.. das kannst du nicht so leichtfertig daher sagen - einfach weils nicht stimmt.

Die ganzen Sicherheitsvorkehrungen die man trifft sind nur "Nice to have", und nichts was dich 90-100% von Banns schützen kann.. da gibts zuviele Faktoren die zusammenfließen als das man allein durch eigenem Verhalten sowas verhindern könnte.

Informier dich mal in den Botting Foren und lese dir Erfahrungsberichte durch.. schau dir an wie die Realität ausschaut bei den Leuten - dann merkst du selbst was ich meine. Klar, es gibt immer Leute die ihren Bot 24/7 durchlaufen lassen und dann Flame Threads erstellen "Ich wurde gebannt!! scheiß bot!" usw.. aber das ist dann was das man getrost als review ignorieren kann weil die Leute nen Furz drauf geben was sie tun + nicht nachdenken.
Halte dich an Erfahrene Leute, da lässt sich sehr gut ableiten was wirklich Sache ist..

Grüße
Crossside is offline  
Thanks
1 User
Old 11/30/2014, 22:27   #9
 
elite*gold: 0
Join Date: Jul 2013
Posts: 51
Received Thanks: 1
Crossside
ich muss mich nicht informieren ich bote seit 2jahren,
und ich muss erlich sagen *mir geht dein text am *** vobei*
ich habe meine meinung du deine ..... viel spass noch und spiel du mal weiter so wie du meinst, ich habe genug acc´s um zu boden du kannst mir nicht sagen das ich nicht aufalle wenn 4/5 untermeinen bnet acc grade jetze boten

aber nen dritte klasse bot sollte manauch net nutzen.

Naja viel spass noch, schönn wie leute glich aufs palmchen gehn wenn mann ne andere meinung haben
Die meisten Menschen haben keine Meinung; sie muß von außen in sie hineingepreßt werden wie das Schmieröl in die Maschine.

P.s*
Quote:
Warden in den letzten Jahren
Laut einen tollen forum. hat sich warden nur einmal weiter entwickelt
und heist jetze warden und freunde...

woher hast du deine info?
EMP-Rock-Girl is offline  
Old 12/01/2014, 17:34   #10
 
Crossside's Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 2,095
Received Thanks: 506
Quote:
Originally Posted by EMP-Rock-Girl View Post
Crossside
ich muss mich nicht informieren ich bote seit 2jahren,
bla blubb bla
Gehe ich nicht drauf da es mir hier zu kindisch wird wenn du nicht mal botten richtig schreibst und anstelle dessen boden schreibst.

Quote:
Die meisten Menschen haben keine Meinung; sie muß von außen in sie hineingepreßt werden wie das Schmieröl in die Maschine.
*press*


Quote:
Laut einen tollen forum. hat sich warden nur einmal weiter entwickelt
und heist jetze warden und freunde...

woher hast du deine info?
Es gab letztens ein Update von Warden der einige Änderungen mitbrachte.
Da kann man so gut wie überall finden als Information - bisschen selbstständig schauen dann findet mans auch.

grüße
Crossside is offline  
Old 12/02/2014, 03:29   #11
 
DeadRising747's Avatar
 
elite*gold: 0
Join Date: Aug 2009
Posts: 867
Received Thanks: 138
Es wäre echt super, wenn ihr eure Differenzen in den privaten Chat verlegt und den eigentlich Thread nicht dafür zweckentfremdet. Danke
DeadRising747 is offline  
Reply

Tags
bot, entwicklung, theorie


Similar Threads Similar Threads
[Spiel] Entwicklung eines Animes!
05/04/2014 - Anime & Manga - 46 Replies
Ok wir brauchen etwas belebendes im Anime Bereich. Wir werden unseren "eigenen" Anime "erstellen" und zeichnen! Jeder schreibt einen kleinen Teil was drin vorkommen soll. Dabei schreibt die erste Person z.B "Roboter die einen...", darauf folgt die zweite Person mit z.B "...krieg gegen Highschool Schüler..." und die dritte Person mit z.B "....anfangen um die Frauen zu erobern!". Jetzt kommt der lustige Teil. Am Ende wird die "Titelseite" gezeichnet! Dabei ist es egal ob ihr gut darin seid...
Suche nette Leute für die Entwicklung eines DirectX 10/11 MMORPG
03/17/2013 - C/C++ - 23 Replies
Hallo, Ich suche nette Leute für die Entwicklung eines MMORPG-Spiels. Gesucht sind also Leute mit Ideen, C++ Programmierer und natürlich 2D/3D Grafiker. Das ganze Spiel soll im WoW bzw. Metin2 Stil sein. Bei Interesse schreibt bitte kurz warum ihr mitmachen wollt, wie alt ihr seit und bei was ihr gerne machen würdet. Das ganze ist auf freiwilliger Basis und man wird nicht dafür bezahlt ;)
[HowTo]Erfolgreiche spielart eines Kriegers im pvp
04/20/2010 - Metin2 PServer Guides & Strategies - 17 Replies
Hi epvpers, Ich spiele schon lange psever's und viele fragen mich andauert warum ich so gut bin im pvp bin, in diesem Thread zeig ich euch wie man im pvp als Krieger erfolgreich sein kann. Fangen wir an. Was muss ich mitbringen damit ich erfolgreich im pvp werde? -Sehr viel Gedult -Nie aufgeben -Nicht den Kopfhängen lassen wen man dan doch verliert,den es gibt immer wen der besser ist;)



All times are GMT +2. The time now is 16:13.


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