Programm vom Spiel aus mit Tastatur steuern
Programm vom Spiel aus mit Tastatur steuern
Hi
Da ich mir ein tolles Programm für eines meiner spiele geschrieben habe und 2 Bildschirme besitze, möchte ich nun wissen, ob es möglich ist, z.B. im Spiel eine Nachricht zu schreiben (zb /fi bm vs dh) auf die das Programm reagiert. Ist das möglich ohne direkt auf das Spiel zuzugreifen? Geht das mit API Funktionen oder DirectX?
Da ich mir ein tolles Programm für eines meiner spiele geschrieben habe und 2 Bildschirme besitze, möchte ich nun wissen, ob es möglich ist, z.B. im Spiel eine Nachricht zu schreiben (zb /fi bm vs dh) auf die das Programm reagiert. Ist das möglich ohne direkt auf das Spiel zuzugreifen? Geht das mit API Funktionen oder DirectX?
Du kannst mit GetAsyncKeyState die Tastatur systemweit abfragen. Dann musst aber natürlich Tasten in deinem Programm verwenden, die nicht bereits vom Spiel verwendet werden.
Eine andere Möglichkeit ohne das Spiel zu manipulieren kenne ich nicht.
Eine andere Möglichkeit ohne das Spiel zu manipulieren kenne ich nicht.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

Um was für ein Spiel handelt es sich denn? Hats eine Konsole? Die kann man anzapfen. Ist aber etwas komplexer. Für viele Spiele gibt es aber bereits Konsolenhooks die man nutzen kann.
Hier hab ich einen für Sacred 2: Fallen Angel entwickelt: http://www.purebasic.fr/german/viewtopic.php?t=17823
Hier hab ich einen für Sacred 2: Fallen Angel entwickelt: http://www.purebasic.fr/german/viewtopic.php?t=17823
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

- Blackskyliner
- Beiträge: 532
- Registriert: 28.07.2005 00:54
- Wohnort: /home/Blackskyliner/
@Thorium
Und was sagen Punkbuster&Co dazu wenn ich das dann in einem Shooter Verwende um da die Konsole zu hooken? Bestimmt nicht grade erfreut darüber , da ja eine änderung vorliegt. Deswegen ist GetAsyncKeyState doch die bessere Wahl... Zumal man das dann bei so ziemlich jedem Spiel nutzen kann.
Und was sagen Punkbuster&Co dazu wenn ich das dann in einem Shooter Verwende um da die Konsole zu hooken? Bestimmt nicht grade erfreut darüber , da ja eine änderung vorliegt. Deswegen ist GetAsyncKeyState doch die bessere Wahl... Zumal man das dann bei so ziemlich jedem Spiel nutzen kann.
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nuja... du könntest schon durch dementsprechendes Abfangen
per GetAsyncKeystate auch eine Chat nachricht abfangen,
die dann eben einen Befehl für dein Prog darstellt...
aber bei WC3 online cheaten? dz dz...
generell ist cheaten bei PvP onlinegames was für Leute ... naja sag ich jetzt mal nicht wie ich sowas bezeichne.
und aufm BattleNet... das läuft über CD-Keys, also wenn du gesperrt bist, bist du gesperrt.
nicht wie bei irgendwelche Brausergames wo du dich so oft anmelden kannst wie du zeit hast eine dummy-email aufzumachen.
per GetAsyncKeystate auch eine Chat nachricht abfangen,
die dann eben einen Befehl für dein Prog darstellt...
aber bei WC3 online cheaten? dz dz...
generell ist cheaten bei PvP onlinegames was für Leute ... naja sag ich jetzt mal nicht wie ich sowas bezeichne.
und aufm BattleNet... das läuft über CD-Keys, also wenn du gesperrt bist, bist du gesperrt.
nicht wie bei irgendwelche Brausergames wo du dich so oft anmelden kannst wie du zeit hast eine dummy-email aufzumachen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- Blackskyliner
- Beiträge: 532
- Registriert: 28.07.2005 00:54
- Wohnort: /home/Blackskyliner/
Des würde denk ich mal mit GetAsyncKeyState nicht direkt möglich sein, wie auch? xD müssteste ja bei jedem Schlag die eine Unit macht nen Knof drücken. Was du willst ist höchst warscheinlich das auslesen von Gameinteresannten Informationen wie z.B. Unit hat grade zu geschlagen, etv. also Events, etc. wer weiß was noch so für dollen Kram. AUch wenns nur statistisch genutzt wird hat, wie ich weiß Blizzard in so ziemlich allen Ihren OnlineGames mittlerweile Warden am laufen (zumindest bei Diablo2, WoW) und wenn dies auch bei Warcraft 3 der Fall sein sollte kan schon durch einfaches Auslesen des speichers dein Key gesperrt werden. (Warden überprüft, welche fremden Zugriffe via DLL oder MemoryReading gemacht werden und schickt entsprechend Daten an den Blizzard Server)
Wenn du allerdings bei jedem Schlag, den eines deiner Units machst eine Taste drückst... sagen wir mal F1 oder so dann kannste das mit GetAsyncKeyState regeln.
Und falls ich dich falsch verstanden habe, Unwarheiten oder Halbwahrheiten erzählt habe,so möge man mich korrigieren.
MFG
Blackskyliner
Wenn du allerdings bei jedem Schlag, den eines deiner Units machst eine Taste drückst... sagen wir mal F1 oder so dann kannste das mit GetAsyncKeyState regeln.
Und falls ich dich falsch verstanden habe, Unwarheiten oder Halbwahrheiten erzählt habe,so möge man mich korrigieren.
MFG
Blackskyliner
Keine meiner Antworten ist endgültig, es kann passieren, dass ich den so eben geposteten Beitrag noch mehrmals ändere, um Doppelposts zu umgehen.
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher
_________________
Purebasic Windows 7 x64 & Linux (Ubuntu 10.04LTS) 4.50[x64|x86] Nutzer
_________________
Projekte: YAED - Yet another Event Dispatcher