![]() |
Macros in Game ausführen mit Delphi?
Kann man mit Delphi Macros in Games ausführen? Wenn ja wie?
Die Aufgabe die ich bekommen habe ist, Wenn in Mortal Combat eine Tastenkombination gebraucht wird diese mit einem Macro zu ersetzen wie es diverse Mäuse und Tastaturen auch machen. Aufgabe wäre z.B wenn Taste "1" auf dem numblock gedrückt wird sende Tasten "X+y" dann "Z" Ich brauche mal einen Schubs wie man das umsetzen kann. Bin für alle Ideen Dankbar. Ich wüsste sofort was ich mache wenn es um eine Delphi Form gehen würde aber so? Keine Ahnung. Gruß |
AW: Macros in Game ausführen mit Delphi?
ein Schubs wäre
global hooks Aber ich würde eine andere Aufgabe wählen, wenn das geht (Schule/Uni?). Mortal Combat klingt wie DirectX oder OpenGL, und dort wird das alle noch viel schwieriger. |
AW: Macros in Game ausführen mit Delphi?
Zitat:
Bei diesen Mäusen/Tastaturen ist es oft so, da direkt Maus das erkennt und sendet die Befehlsfolgen direkt an den PC. Ja, hier wäre dann ein Hook nötig, der die Tasten zwischen Tastatur/PC/Windows und dem Programm abfängt und dort umschreiben kann. Jetzt kommt es noch darauf an, wie das Programm auf die Tastatur reagiert. Normal über die WM_-Messages, via DirectInput oder sonstwie, und ob das Spiel eine Erkennung auf Hooks hat, um den Cheatern das Leben zu erschweren. |
AW: Macros in Game ausführen mit Delphi?
Wenn Du unbedingt willst kannst Du dir die Sourcen von LuaMacros laden und die mal anschauen. Danach hast Du garantiert genug :twisted:
|
AW: Macros in Game ausführen mit Delphi?
Quasi alle Spiele setzen auf DirectInput. Das heißt mit simulierten Tastendrücken und Mausklicken passiert dann im Spiel ganz genau nichts.
Es gibt Python-Bibliotheken mit denen manm das bewerkstelligen kann. Einfach besonders nach python DirectInput simulate key press oder sowas googeln. |
AW: Macros in Game ausführen mit Delphi?
Es gibt auch LowLevel-Hooks, wo man sich tiefer reinhängen kann, auch vor dem DirektInput.
Oder Es gibt noch die Möglichkeit über einen virtuellen Tastaturtreiber. Das wirkt dann so, als wenn die Tasten von einer "Hardware" kommen, aber der Treiber wird von einem Programm mit Daten gefüttert. Über einen Hook kann man dann auf Tasten reagieren und "zusätzlich" zu der Taste vom "richtigen" Treiber dann anschließend noch über den Virtuellen weitere Tasten schicken. Das wäre ein Weg, wenn es nicht möglich ist sich reinzuhooken und Tasten abzufangen (nicht vor dem Programm, sondern nur Parallel). Allerdings gibt es auch hier Programme, die versuchen zu erkennen, ob es eine "echte" Hardware ist. Da wäre dann noch die Möglichkeit sich ganz raus zu bewegen und eine echte Tastatur zu simulieren. (ein Microcontroller ala Arduino, der sich als Tastatur ausgibt ... ist leichter, als man denkt) |
AW: Macros in Game ausführen mit Delphi?
Zitat:
|
AW: Macros in Game ausführen mit Delphi?
Erschreckender weise ist es bös einfach.
Delphi-Quellcode:
Damit ist es ohne Probleme möglich die Figur nach rechts zu bewegen. Ich gehe also von aus das ich auch weitere befehle so eingeben kann.
var
aTask: ITask; begin aTask := TTask.Run(procedure begin keybd_event(VkKeyScan('d'), 0, KEY_EVENT, 0); Sleep(20); keybd_event(VkKeyScan('d'), 0, KEYEVENTF_KEYUP, 0); end); end; das einzige was ich noch brauche ist eine Function die mir die Tastatur logt, meine aktuelle ließt das Numpad nicht, sondern Loggt nur "1". Wer da eine Idee hat immer her mit :) |
AW: Macros in Game ausführen mit Delphi?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 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