Mahlzeit!
Also ich wollt mich als nächstes mal darin versuchen einen Bot zu schreiben,
sowas in der Richtung wie AutoIT falls das einer kennt.
Nun wollt ich ma wissen, ob sich hier vlt jemand tiefgründig auskennt vlt und Tips geben könnte?!
Bot in Python wie AutoIT?!
Was ich anpeile ist, ein Bot in Python (wahrscheinlich mit bissl C) zu schreiben, der die Aktivität des Users simuliert.
Ausgestattet mit ner GUI, kann man dann Routinen für Spiele schreiben, welche das zeitraubende leveln erleichtern.
AutoIt macht das ähnlich, man kann Scripte schreiben die eben
die Tasten und Maus-Events simulieren.
Leider funktioniert das nicht bei jedem Game, also dacht ich es wär ja ma ein Versuch wert das in python zu probieren.
Ausgestattet mit ner GUI, kann man dann Routinen für Spiele schreiben, welche das zeitraubende leveln erleichtern.
AutoIt macht das ähnlich, man kann Scripte schreiben die eben
die Tasten und Maus-Events simulieren.
Leider funktioniert das nicht bei jedem Game, also dacht ich es wär ja ma ein Versuch wert das in python zu probieren.
Also kein Web-, IRC-, Jabber-, sondern ein Bot für Spiele? Der muss natürlich aufgrund der sehr unterschiedlichen Implementierungen genau das Protokoll des Spiels beherrschen - und das liegt in der Regel nicht offen. Davon abgesehen, dass die Lizenzbedingungen gerade bei MMORPGs sowas nicht gestatten.
Nahhh!
Wozu brauch ich das Protokoll wenn ich doch lediglich die Tasten- und Mausevents simuliere?
Das Programm (Spiel) bekommt ja diese Events übergeben von Treibern, demnach kann man doch das ganze hooken, oder nicht ?
Und ja laut Lizenzbedingung ist das denen nicht recht,
aber mich interessiert das herzlich wenig.
Ja, entschuldigung für diese Ansicht, diese habe ich leider in dieser Hinsicht.
Solche mutwillig gesetzten Barrieren möchte ich durchbrechen, is das so schlimm?
Die zeitraubenden Spielinhalte will ich einfach automatisieren, um nebenbei auch noch lesen, lernen und programmieren zu können.
Um die eigentlich intressanten Inhalte genießen zu können, ein Nicht-Zocker mag dafür wenig Verständnis, ist mir auch klar.
Wozu brauch ich das Protokoll wenn ich doch lediglich die Tasten- und Mausevents simuliere?
Das Programm (Spiel) bekommt ja diese Events übergeben von Treibern, demnach kann man doch das ganze hooken, oder nicht ?
Und ja laut Lizenzbedingung ist das denen nicht recht,
aber mich interessiert das herzlich wenig.
Ja, entschuldigung für diese Ansicht, diese habe ich leider in dieser Hinsicht.
Solche mutwillig gesetzten Barrieren möchte ich durchbrechen, is das so schlimm?
Die zeitraubenden Spielinhalte will ich einfach automatisieren, um nebenbei auch noch lesen, lernen und programmieren zu können.
Um die eigentlich intressanten Inhalte genießen zu können, ein Nicht-Zocker mag dafür wenig Verständnis, ist mir auch klar.
Damit könntest du aber nur sehr dumme Bots machen, da sie nicht auf ihre Umgebung reagieren können.skypa hat geschrieben:Nahhh!
Wozu brauch ich das Protokoll wenn ich doch lediglich die Tasten- und Mausevents simuliere?
Das Programm (Spiel) bekommt ja diese Events übergeben von Treibern, demnach kann man doch das ganze hooken, oder nicht ?
Für solche Aufgaben gibts aber afaik schon genug makrotools, da würde es sich vielleicht lohnen, die zu nutzen, anstatt das Rad neuzuerfinden.
entschuldige dich nicht, wenn du dich nicht schuldig fühlst, und versteck dich nicht hinter "leider".Ja, entschuldigung für diese Ansicht, diese habe ich leider in dieser Hinsicht.
Jede Spielregel ist mutwillig. Solche regeln zu durchbrechen, um sich Vorteile zu verschaffen nennt sich mogeln, oder neudeutsch "cheaten". Dass das auf wenig gegenliebe stößt, sollte dich doch nicht überraschen, oder?Solche mutwillig gesetzten Barrieren möchte ich durchbrechen, is das so schlimm?
Bin vielleicht kein Onlinegamer, aber wenn das Spiel so langweilig ist, warum spielst du es dann (und zahlst wohlmöglich noch dafür)?Die zeitraubenden Spielinhalte will ich einfach automatisieren, um nebenbei auch noch lesen, lernen und programmieren zu können.
Gerade die Zocker dürften dafür weniger Verständnis haben, vermute ich.Um die eigentlich intressanten Inhalte genießen zu können, ein Nicht-Zocker mag dafür wenig Verständnis, ist mir auch klar.
Ich habs kommen sehen XD
Hast ja recht, zumindest bei den ersten Punkten.
Ja neuerfinden muss ich es nicht, aber find das es für mich halt ein interessantes Projekt ist, was ich wohl auch weiterverfolgen werde.
Und nein es ist nicht langweilig, ich finds vorallem interessant weil man mit Menschen aus Amerika, Schweden und sonst woher in Kontakt treten kann.
Das ist mitunter sehr intressant, und übt vorallem das englische.
Und nein ich zahl nix dafür, bin noch nicht ausgelernt, von daher kauf ich mir auch keine produkte sondern...
u know?
Vorhandene Makrotools zu benutzen bringt nix weil die von solch tollen Programm wie Hackshield unterbunden werden.
Skriptsprachen scheinen da doch Vorteile von Haus aus mitzubringen.
Und die meisten Zocker sind genau diejenigen die das entwickelte Tool letzten Endes nutzen, auf neudeutsch auch Leecher genannt.
Das hat man als paradebeispiel sehen können bei Diablo2 damals.
Massenbanns weil Warden (ähnlich zu Hackshield) cheats entdeckte.
War wohl nix mit der Überzahl an moralisch korrekten Spieler
Hast ja recht, zumindest bei den ersten Punkten.
Ja neuerfinden muss ich es nicht, aber find das es für mich halt ein interessantes Projekt ist, was ich wohl auch weiterverfolgen werde.
Und nein es ist nicht langweilig, ich finds vorallem interessant weil man mit Menschen aus Amerika, Schweden und sonst woher in Kontakt treten kann.
Das ist mitunter sehr intressant, und übt vorallem das englische.
Und nein ich zahl nix dafür, bin noch nicht ausgelernt, von daher kauf ich mir auch keine produkte sondern...
u know?
Vorhandene Makrotools zu benutzen bringt nix weil die von solch tollen Programm wie Hackshield unterbunden werden.
Skriptsprachen scheinen da doch Vorteile von Haus aus mitzubringen.
Und die meisten Zocker sind genau diejenigen die das entwickelte Tool letzten Endes nutzen, auf neudeutsch auch Leecher genannt.
Das hat man als paradebeispiel sehen können bei Diablo2 damals.
Massenbanns weil Warden (ähnlich zu Hackshield) cheats entdeckte.
War wohl nix mit der Überzahl an moralisch korrekten Spieler
Ob da nun eine Überzahl moralischer Spieler sind oder nicht, ändert nichts daran, dass so etwas den Spielspass der ehrlichen Spieler zerstört.
weist du, wie hackshield das unterbindet? denn vermutlich wird das nicht einfach nur die Namen von ein paar Tools kennen und die abwürgen, sondern auf einer tieferen Ebene ansetzen, so dass es dein Tool auch unterbinden würde.skypa hat geschrieben:Vorhandene Makrotools zu benutzen bringt nix weil die von solch tollen Programm wie Hackshield unterbunden werden.
Um da effektiv zu sein, müsstest du vmtl erstmal Hackshield analysieren
welche wären das?Skriptsprachen scheinen da doch Vorteile von Haus aus mitzubringen.
Du kennst den Spruch mit den Fliegen und der Scheisse?Das hat man als paradebeispiel sehen können bei Diablo2 damals.
Massenbanns weil Warden (ähnlich zu Hackshield) cheats entdeckte.
War wohl nix mit der Überzahl an moralisch korrekten Spieler
Nein ich weiß nicht wie Hackshield das unterbindet.
Ja ich vermute da was, nein der C-Code ist noch nicht fertig der das analysieren soll.
Welche Sprachen? Python? Perl? Ruby?
Ich kann nur die ersten beiden so o la la.
Nein ich kenn den Spruch nicht, bin ja auch kein Sprücheklopfer generell
Und nein, die ehrlichen Spieler leiden nicht darunter, Sie profitieren von denen die etwas auf die Beine stellen.
Um das mal zu verdeutlichen:
Bei Diablo2 waren es sogenannte Maphacks, die einen den Weg zeigten, dadurch entstanden schnelle Runs, in denen zu 70% die ehrlichen Spieler waren und die Exp leechten.
Im Falle des Games worauf ich es abgesehen habe, profitieren die ehrlichen Spieler auch wieder.
Aber wenn man Nicht-Online-Gamer ist, kann man dann natürlich schnell mal was an den Haaren herbeiziehen wie "Die ehrlichen Spieler leiden darunter".
Ist klar....
Back to Topic vlt endlich mal wieder?!
Ja ich vermute da was, nein der C-Code ist noch nicht fertig der das analysieren soll.
Welche Sprachen? Python? Perl? Ruby?
Ich kann nur die ersten beiden so o la la.
Nein ich kenn den Spruch nicht, bin ja auch kein Sprücheklopfer generell
Und nein, die ehrlichen Spieler leiden nicht darunter, Sie profitieren von denen die etwas auf die Beine stellen.
Um das mal zu verdeutlichen:
Bei Diablo2 waren es sogenannte Maphacks, die einen den Weg zeigten, dadurch entstanden schnelle Runs, in denen zu 70% die ehrlichen Spieler waren und die Exp leechten.
Im Falle des Games worauf ich es abgesehen habe, profitieren die ehrlichen Spieler auch wieder.
Aber wenn man Nicht-Online-Gamer ist, kann man dann natürlich schnell mal was an den Haaren herbeiziehen wie "Die ehrlichen Spieler leiden darunter".
Ist klar....
Back to Topic vlt endlich mal wieder?!
Ich BIN onlinegamer, ich spiel nur keine MMORPGS. Und dass, ganz abstrakt formuliert, sich mittels nicht regelkonformer Mittel Vorteile zu verschaffen nicht im Endeffekt denen, die diese Mittel nicht nutzen schadet, konntest und wirst du ziemlich sicher auch nicht zeigen können.Aber wenn man Nicht-Online-Gamer ist, kann man dann natürlich schnell mal was an den Haaren herbeiziehen wie "Die ehrlichen Spieler leiden darunter".
An den Haaren herbeigezogen halte ich da eher diese Selbstbetrügereien á la "die ehrlichen Spieler Profitieren von denen, die was auf die Beine stellen". Dein Beispiel zeigt eher, dass die Spieler vor der Wahl stehen, bei der Betrügerei mitzumachen (profitieren) oder schlechter dazustehen (schaden erleiden).
Ich spiele Warcraft:FT, und die ersten 3 Minuten sind auch denkbar langweilig und gleich, trotzdem würd ich mir nie einreden, dass ich nicht mogele, wenn ich meinen Basisaufbau skripten würde.
nein, das sollte keine Lehrerhafte Abfrage nach Skriptsprachen sein, ich wollte wissen, welche Vorteile du bei Skriptsprachen vermutest.skypa hat geschrieben:Welche Sprachen? Python? Perl? Ruby?
Ich kann nur die ersten beiden so o la la.
Ich glaube nämlich nicht, dass das Programm einfach naiv nach konkreten Programmen sucht (und deins nicht kennt), sondern eher guckt, ob die Mausbewegungen vom Windowmanager oder vom Treiber kommen, o.ä. Im prinzip wie ein Virenscanner, der ja auch nichts großartig anderes macht, als Schadsoftware zu finden (nur in diesem Fall halt für jemand anderen).
Was den Effekt haben dürfte, dass dein Programm ebenfalls nicht funktioniern würde.
Eine erste Abschätzung, was hackshield kann, kann man vmtl daran treffen, was für Rechte es zum laufen/installieren braucht.
Warum sollten Spieler vor der Wahl stehen?
Ich sagte doch lediglich das diese, in meinen Augen mit profitieren,
das hat für mich nix mit Selbstbetrügereien zu tun.
Im Falle von Warcraft:FT würd ich auch kein Script nutzen, es ist gut so wie es ist, und bockt auf jeder LAN-Party
Nun, um es zu konkretisieren:
AutoIt funktioniert bei dem Game, trotz Hackshield.
Was stellt man dabei nun fest? GENAU!
Nicht überall wo Hackshield drauf steht, ist auch Hackshield drin!
Dasgleiche kannste beobachten bei Hack-Safe Sites im Internet.
Auch da wo Hack-Safe "draufstand", war nicht unbedingt Hack-Safe drin.
Was widerum in einem, auf neudeutsch, sogenannten Defacement endete.
Und das empfinde ich auch als daneben bzw unerhört.
Hab grad keine Links um dir dies auch zu unter mauern.
Demnach ist es auch bifi (=Wurst), ob es Admin Rechte hat oder nicht.
Was es letzten Endes überwacht scheint anscheinend nicht das Optimum zu sein.
Und Vorteile kann ich dir nicht in Worte fassen, mir ist nur aufgefallen
das erstellte Bots z.B. OpenKore (= in Perl programmierter Bot für Ragnarok)
"ohne Probleme" das tun was Sie sollen.
Ich sagte doch lediglich das diese, in meinen Augen mit profitieren,
das hat für mich nix mit Selbstbetrügereien zu tun.
Im Falle von Warcraft:FT würd ich auch kein Script nutzen, es ist gut so wie es ist, und bockt auf jeder LAN-Party
Nun, um es zu konkretisieren:
AutoIt funktioniert bei dem Game, trotz Hackshield.
Was stellt man dabei nun fest? GENAU!
Nicht überall wo Hackshield drauf steht, ist auch Hackshield drin!
Dasgleiche kannste beobachten bei Hack-Safe Sites im Internet.
Auch da wo Hack-Safe "draufstand", war nicht unbedingt Hack-Safe drin.
Was widerum in einem, auf neudeutsch, sogenannten Defacement endete.
Und das empfinde ich auch als daneben bzw unerhört.
Hab grad keine Links um dir dies auch zu unter mauern.
Demnach ist es auch bifi (=Wurst), ob es Admin Rechte hat oder nicht.
Was es letzten Endes überwacht scheint anscheinend nicht das Optimum zu sein.
Und Vorteile kann ich dir nicht in Worte fassen, mir ist nur aufgefallen
das erstellte Bots z.B. OpenKore (= in Perl programmierter Bot für Ragnarok)
"ohne Probleme" das tun was Sie sollen.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Mal ne generelle Frage: Wie funzen denn solche Bots? Ich meine man kann ja schlecht den Inhalt des Spiel-Screens analysieren, wo welches Item liegt usw. (Das menschliche Auge + Hirn können das - ein Script sicherlich nicht so ohne weitere und dann noch in Echtzeit!)
Und um Bedienelemente anklicken zu lassen, müßte man ja deren genaue Position auf dem Schrim kennen - bei unterschiedlichen Auflösungen usw. sicherlich nicht wirklich einfach. Wenn man das UI noch customizen kann, vermutlich unmöglich!
Was wirklich funzen könnte, wäre doch, wenn man das Protokoll "knackt" und die Befehle, die der Client sendet eben manipuliert. Aber das dürfte idR doch nicht trivial sein, zumindest bei heutigen Games, bei denen die Entwickler dem sicherlich entegegen wirken werden ...
Und um Bedienelemente anklicken zu lassen, müßte man ja deren genaue Position auf dem Schrim kennen - bei unterschiedlichen Auflösungen usw. sicherlich nicht wirklich einfach. Wenn man das UI noch customizen kann, vermutlich unmöglich!
Was wirklich funzen könnte, wäre doch, wenn man das Protokoll "knackt" und die Befehle, die der Client sendet eben manipuliert. Aber das dürfte idR doch nicht trivial sein, zumindest bei heutigen Games, bei denen die Entwickler dem sicherlich entegegen wirken werden ...
Ja, das ist die Sache an der ich die nächsten Tage knabern werde, während meines Kurzurlaubs.
Es geht beides.
Positionen kann man auf unterschiedlichen Arten erlangen.
Zum einen durch Memory Allocation, Pixelbestimmung (frisst laut externer Quelle unmengen an Leistung, was aber vlt auch nur an dem Algorithmus liegt?!) oder aber in dem man erst gar keine genauen Positionen brauch
Die gedroppten Items findet man in dem man in den Speicher schaut,
und demnach auch die Positionen der Gegner.
Es geht beides.
Positionen kann man auf unterschiedlichen Arten erlangen.
Zum einen durch Memory Allocation, Pixelbestimmung (frisst laut externer Quelle unmengen an Leistung, was aber vlt auch nur an dem Algorithmus liegt?!) oder aber in dem man erst gar keine genauen Positionen brauch
Die gedroppten Items findet man in dem man in den Speicher schaut,
und demnach auch die Positionen der Gegner.
-
- User
- Beiträge: 97
- Registriert: Donnerstag 2. Mai 2013, 19:11
So entschuldigt das ich das Thema wieder aufreiße, aber es ist nicht geschlossen und auch noch nicht geklärt nach meines erachtens. Denn ich hatte die selbe Idee.
AutoIT macht wie der Autor beschrieben hat nicht ins Spiel eingreifen, deswegen greifen auch keine Verteidigungen vom Spiel. AutoIT funktioniert sehr einfach (Ich werde mal den Config hier dran hängen.) Es simuliert, beim starten durch das betätigen der F9 Taste, mehrere Tastendrücke. (Kein halten der Taste)
Dies sollte anhand einer while-schleife funktionieren.
Edit: Bei mir ist die Start-Taste F5 und die Stop-Taste F6. Und an meiner Stelle werden p und ü nach einander (püpüpüpüpüp) gedrückt. Das wenn man eine txt datei aufruft und F5 drückt ü's und p's erscheinen.
Meine Frage ist nun wie man einen Tastendruck in Python simuliert.
mfg TrayserCassa
AutoIT macht wie der Autor beschrieben hat nicht ins Spiel eingreifen, deswegen greifen auch keine Verteidigungen vom Spiel. AutoIT funktioniert sehr einfach (Ich werde mal den Config hier dran hängen.) Es simuliert, beim starten durch das betätigen der F9 Taste, mehrere Tastendrücke. (Kein halten der Taste)
Dies sollte anhand einer while-schleife funktionieren.
Code: Alles auswählen
HotKeySet("{F6}","stopp")
HotKeySet( "{F5}" ,"start")
$pause = false
sleeP(1000)
Func start()
$Pause = true
EndFunc
Func stopp()
$Pause = False
while $Pause = False
sleeP(500)
WEnd
EndFunc
while 1
if $pause = true then
Send ( "p" )
Send ( "ü" )
EndIf
WEnd
Meine Frage ist nun wie man einen Tastendruck in Python simuliert.
mfg TrayserCassa
-
- User
- Beiträge: 97
- Registriert: Donnerstag 2. Mai 2013, 19:11
was heißt betrügen? Es ist jedeglich ein tastendruck erleichterung ^^ naja ich verstehs schon war auch bloß ne frage ^^
Kennt ihr das schon ?
http://www.webupd8.org/2013/05/sikuli-a ... s-100.html ?
Vielleicht hilft euch die Info weiter
http://www.webupd8.org/2013/05/sikuli-a ... s-100.html ?
Vielleicht hilft euch die Info weiter