Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Ereignisse von fremdem Spiel abfangen (https://www.delphipraxis.net/111850-ereignisse-von-fremdem-spiel-abfangen.html)

Stefan92 10. Apr 2008 12:48


Ereignisse von fremdem Spiel abfangen
 
Mahlzeit!

Ich würde gern wissen, ob und wenn ja, wie man Ereignisse von einem fremden Spiel abfangen kann, z. B. das Ende eines Tages. Kann man da irgendwelche Messages "abzwacken"? Ich möchte nämlich den Spielverlauf automatisieren.

Ich hoffe, jemand hat eine Idee.

Gruß

Stefan

b1zZ 10. Apr 2008 13:32

Re: Ereignisse von fremdem Spiel abfangen
 
Ich glaube nicht das sowas von den Entwicklern des Spieles gewollt ist. Denn es hört sich nach einem "Cheat" an.
Dadurch bekommen Spieler einen Vorteil anderen gegenüber, sollte es sich hier um ein Multigaming Spiel handeln.

Daher denke ich, werden dir hier nicht viele helfen.
Aber technisch gesehen ist es möglich.

TonyR 10. Apr 2008 13:43

Re: Ereignisse von fremdem Spiel abfangen
 
Die Frage kann man meiner Meinung nach NICHT beantworten.
Bei manchen Spielen ist es mitgeliefert, dass es Infos ausgibts (z.B. Online Ego-Shooter, dort lässt sich alles auslesen, was im Moment passiert), aber in den Spielverlauf einzugreifen ist nur durch ändern von Werten im RAM möglich (natürlich nicht bei Online-Games).

Stefan92 10. Apr 2008 14:18

Re: Ereignisse von fremdem Spiel abfangen
 
Also das Spiel geht nur im Singeplayer-Modus, und ist ein Strategiespiel (oder was man dafür hält). Es heisst Age of Castles und man muss die ganze Zeit auf "Tag beenden" und "Tag beginnen" klicken und zwischen durch Angriffe über andere Schaltflächen regeln. Das Spiel ist obendrein auch recht billig gemacht und war bei nem anderen Spiel dabei. Jetzt möchte ich den Spielverlauf automatisieren, weil mich das stetige Klicken nervt. Zwar habe ich das schon über Hotkeys lösen können, doch eine Vollautomatisierung ohne mein Zutun fände ich eleganter.
Für mich zählt eigentlich auch nur der technische Aspekt und online cheaten will ich auch nicht.
Nebenbei ist das doch hier kein Gamer-Forum! :mrgreen:

Es wäre also nett, wenn mir jemand hier bitte einen Lösungsansatz posten könnte.

Gruß

Stefan

TonyR 10. Apr 2008 14:25

Re: Ereignisse von fremdem Spiel abfangen
 
Benutzt das Spiel Shortcuts? (also z.B. "B" für "Tag beginnen").
Weil dann wär es einfach, Tastenanschläge zu simulieren ist kein Ding...

Mausklicks simulieren geht auch recht einfach, aber da musst du für jede Schaltfläche die Koordinaten extrahieren und in dein Programm schreiben, ich weiß nicht ob sich die Arbeit für dich lohnt. Außerdem muss man dabei aufpassen, dass zeitlich die Klicks immer richtig angebracht sind.

Was ist denn das für ein Spiel, wenn man es gar automatisieren kann/muss und man somit überhaupt nichts mehr machen brauch??? Macht das Spaß??? :roll:

Stefan92 10. Apr 2008 15:05

Re: Ereignisse von fremdem Spiel abfangen
 
Shortcuts funktionieren nicht.
Das mit den Klicks würde ich auch gerne umsetzen, jedoch muss ich auf Ereignisse wie Angriffe anders reagieren als beispielsweise auf das Ende eines Tages.
Von daher möchte ich ja abfangen, was gerade passiert.

Und zum Spielspaß: Auf die Dauer macht das Spiel echt keinen Spaß, aber da das Spiel sowieso nur einige Level zu bieten hat, will ich das auch eben durchspielen.

Noch irgendein anderer Vorschlag? Vielleicht mit der API?

Gruß

Stefan

TonyR 10. Apr 2008 15:11

Re: Ereignisse von fremdem Spiel abfangen
 
Zitat:

Zitat von Stefan92
...Noch irgendein anderer Vorschlag?...

Nein :P
Keine Chance ...

Stefan92 10. Apr 2008 16:00

Re: Ereignisse von fremdem Spiel abfangen
 
Echt nicht?

Aber b1zZ sagte doch:

Zitat:

Zitat von b1zZ
Aber technisch gesehen ist es möglich.

Außerdem kann ich doch auch an andere Anwendungen Tastendrücke über SendMessage senden.
Gibt es da gar keine Chance, was zu empfangen?

Gruß

Stefan

PS: Mich würde auch etwas Zeitaufwendiges nicht unbedingt schrecken.

b1zZ 10. Apr 2008 16:06

Re: Ereignisse von fremdem Spiel abfangen
 
Ich habe sowas zwar noch nie gemacht aber schon öfter gelesen.
Ich denke sowas würde sich mit Hooken von der Gameengine ermöglichen.
Das ist aber sehr aufwendig.
Du müsstest herausfinden wo und wann welche Funktion aufgerufen wird und dich ggf in
die Spielschleife einklincken, dort könntest du dann die Events abfangen und darauf reagieren.

Stefan92 10. Apr 2008 16:17

Re: Ereignisse von fremdem Spiel abfangen
 
Ich denke, dass wird dann doch über meine Delphi-Kentnisse hinausgehen. :cry:
Wahrscheinlich wird man da Assembler brauchen.
Außerdem müsste ich die Game-Engine ja auch noch herausfinden.

Ich glaube, wenn das ohne weitere und professionellere Kentnisse nicht umsetzbar ist, hat das für einen Amateur wie mich wenig Sinn.

Danke trotzdem für die Hilfe.

Gruß

Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz