Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   D3D9 Hooking (Größeres Problemchen) (https://www.delphipraxis.net/157549-d3d9-hooking-groesseres-problemchen.html)

neuronet 16. Jan 2011 03:03


D3D9 Hooking (Größeres Problemchen)
 
Folgende Situation ist gegeben:

Ein Online MMORPG mit D3D9

Ich möchte nun folgendes Erreichen (sofern möglich)
  1. Einblendung eines HUD in das Game
  2. Liste der dargestellten Objekte aus der D3D9 auslesen
  3. Screen-Position eines Objektes herausfinden

Hab im Netz hierzu leider zu 99% nur C++ Sourcen gefunden, mit denen ich mal gar nix anfangen kann, da ich mich damit nie beschäftigt habe.

Wäre für Eure Hilfe mehr als nur Dankbar...

Danke im Voraus

lbccaleb 16. Jan 2011 07:37

AW: D3D9 Hooking (Größeres Problemchen)
 
Was genau ist dein Problem??
Wo kann man helfen?

Übersetzen?
D3D?

neuronet 16. Jan 2011 14:07

AW: D3D9 Hooking (Größeres Problemchen)
 
Ich hab mich bisher noch nie mit API Hooks oder ähnlichem beschäftigt...

Zuerst wäre es schon mal hilfreich, wie ich an und für sich einen D3D Hook hinbekomme, um ein zB einen einfachen Kreis zu zeichnen...

BUG 16. Jan 2011 15:32

AW: D3D9 Hooking (Größeres Problemchen)
 
Zitat:

Zitat von neuronet (Beitrag 1074995)
  1. Einblendung eines HUD in das Game

Schwierig, aber afaik prinzipiell machbar. (Bei Google suchenDirectX Overlay, Hier im Forum suchenDirectX Overlay)

Zitat:

Zitat von neuronet (Beitrag 1074995)
  1. Liste der dargestellten Objekte aus der D3D9 auslesen
  2. Screen-Position eines Objektes herausfinden

Was ist für dich ein "Objekt"? Ein Dreieck? Ein Model/Mesh?
Es könnte unmöglich sein, etwas anderes als Listen von geometrischen Grundkörpern zu bekommen.



Insgesamt riecht es zusätzlich irgendwie nach dem Versuch, einen Bot zu basteln :twisted:

neuronet 16. Jan 2011 15:40

AW: D3D9 Hooking (Größeres Problemchen)
 
Zitat:

Was ist für dich ein "Objekt"? Ein Dreieck? Ein Model/Mesh?
Unter Object verstehe ich hier ein Modell eines körpers (sein es nun ein Monster, ein NPC oder was auch immer).

Über normalen MemoryRead kann ich bisher ohne Probleme herausbekommen, welche "feindlichen" Objekte da sind, jedoch lässt sich so nicht herausfinden an welcher Screen-Position diese zu finden sind, um sie anzuklicken...

BUG 16. Jan 2011 16:13

AW: D3D9 Hooking (Größeres Problemchen)
 
Zitat:

Zitat von neuronet (Beitrag 1075066)
Über normalen MemoryRead kann ich bisher ohne Probleme herausbekommen, welche "feindlichen" Objekte da sind, jedoch lässt sich so nicht herausfinden an welcher Screen-Position diese zu finden sind, um sie anzuklicken...

Ich vermute, dass es schwieriger ist, aus den Daten, die DirectX bekommt, etwas zu basteln, als herauszufinden, wie die Koordinaten aus den Objekteigenschaften berechnet werden.

neuronet 16. Jan 2011 16:18

AW: D3D9 Hooking (Größeres Problemchen)
 
Koordinaten er Objekte bekomme ich nur so lange ich im normalen Terrain unterwegs bin.

Sobald ich infight bin bekomme ich nur noch die Objekt-Liste aber keine Koordinaten mehr..

Medium 16. Jan 2011 21:04

AW: D3D9 Hooking (Größeres Problemchen)
 
Bots sind ein spannendes Thema, haben in einem aktiven echten MMO nichts verloren. Technisch höchst interessant, von der Sache her einfach nur destruktiv.

Zum Thema: D3D bekommt nichts weiter als Listen von Vektoren, und Indizes welche Vektoren zusammen ein Dreieck ergeben sollen. Ende. Es gibt nicht den kleinsten Ansatz "so weit hinten" im Zeichenverlauf noch darauf rückzuschließen, welche dieser Dreiecke zu was für einer Struktur in der Programmlogik gehört - das ist D3D nämlich völlig worscht. Irgendwo im eigentlichen Programm muss die Translation für das Objekt gesetzt werden - kurz vor seinem Zeichnen. Dies kann je nach verwendeter Rendringtechnik auf ganz unterschiedliche Weisen passieren, und selbst dann ist noch nicht gesichert, dass das Spiel auch wirklich seine Objekte im Ursprung definiert hat, bzw. dass nicht eine ganze Kaskade von Translationen davor steht.
Selbst wenn du also den Hook schaffst, hast du nullkommanix erreicht um an dein Ziel zu kommen. Und das ist imho auch gut so.

neuronet 17. Jan 2011 05:25

AW: D3D9 Hooking (Größeres Problemchen)
 
Danke für die Info...

Also bleibt es beim HUD...

Den Hook müsste ich dann doch iwie hinkriegen.. :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.

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