[VB.net] Ingameoverlay

  • Hallo,
    ich möchte momentan ein weiteres Programm arbeiten, dass sozusagen in Zusammenarbeit mit meinem letzten läuft.
    In diesem wird eine Datei gespeichert, deren Inhalt von dem neuen ausgelesen und in eine Liste übertragen wird.


    Nun soll man in SA:MP gehen können, wo diese Form weiterhin im Vordergrund ist. Nun soll man an eine bestimmte Position fahren, auf den Listeneintrag klicken und dann soll ingame automatisch ein bestimmter Text in den Chat geschrieben werden.


    z.B. ist der Inhalt der ersten Zeile in der ListBox:
    8 - Computer - 2000$ - 5 - 10000$ - Inlet - 153
    Das würde heißen, dass ID 8 den Namen Computer trägt und für 2000$ pro Stück verkauft wird. Es wurde 5x bestellt, also betragen die Kosten 10000$. Die Firma bei der die Computer abzuholen sind heißt "Inlet" und hat die ID 153.


    Nun sollte man eben zu der Firma fahren und auf den Eintrag drücken (s. O.) und es soll automatisch eine Chatnachricht geschrieben werden:
    "/auf 153 8 5", also Bei der Fabrik 153 die ID8 5x aufladen.


    Das einzige was ich nun wissen muss, ist erstens wie man dieses Overlay erstellt, sodass es ingame sichtbar ist und zweitens wie ich einen bestimmten Befehl an SA:MP übertragen kann. Weder die Forensuche hier, noch bei Google hat mir etwas gebracht.


    Ich hoffe ihr könnt mir helfen.
    Mit freundlichen Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

    Einmal editiert, zuletzt von Padarom ()

  • Ingameoverlays (auch genannt D3D Hooks) sind mit VB nicht möglich, da man dazu die EndScene Funktion von GTA hooken müsste.
    Dies ist sowieso nicht möglich, da sie schon von SAMP gehookt wird und es mit einem Anfängerwissen in C++ nur zu Konflikten zwischen beiden Hooks kämen würde.

  • Ich kenn mich mit sowas zwar überhaupt nicht aus, allerdings hat Strickenkid sowas ähnliches mal gemacht.
    http://www.youtube.com/watch?v=wEVNOo7cDt0
    Du kannst ihn ja mal kontaktieren, vllt kann er dir dabei helfen. Hier ist sein Profil von forum.sa-mp.com
    http://forum.sa-mp.com/member.php?u=44475


    Nicht jeder, der sich für super hält, ist ein Superheld. :love:
    ------------------------------------------------------------------------------------------------

  • Micheal, und was ist mit dem Hack für SAMP ?
    Der ist doch auch als Ingameoveraly programmiert ?

  • Ich kenn mich mit sowas zwar überhaupt nicht aus, allerdings hat Strickenkid sowas ähnliches mal gemacht.
    http://www.youtube.com/watch?v=wEVNOo7cDt0
    Du kannst ihn ja mal kontaktieren, vllt kann er dir dabei helfen. Hier ist sein Profil von forum.sa-mp.com
    http://forum.sa-mp.com/member.php?u=44475

    Jo, das Teil ist auch in C geschrieben und er ist sicher kein Anfänger. ;)
    Somit kann man EndScene zweimal hooken, und das SAMP und das "Overlay" crasht.


    Edit:

    Micheal, und was ist mit dem Hack für SAMP ?
    Der ist doch auch als Ingameoveraly programmiert ?

    Ja, es ist ja auch möglich, EndScene zweimal zu hooken, setzt man jedoch bspw. die Zeiger der MemAddy auf NULL crasht es. D.h. man müsste zuerst den Wert der Addy in eine neue kopieren, dann pushen, ändern, zurückpushen usw.


    Edit²:


    Ich werde einen kleinen D3D Hack für GTA-SA Singleplayer schreiben, und diesen mit dem Source Code releasen, damit ihr euch das mal ansehen könnt, wie genau das aussieht.

    Einmal editiert, zuletzt von Michael ()

  • Danke für die Antworten, dann werde ich das Overlay erstmal außer Acht lassen und nach der Fertigstellung evtl. nochmal probieren/ mit C reinschaufeln.
    Dann aber nochmal zurück auf die Frage ob es möglich ist Befehle an SA:MP zu übertragen über eine Art Keybinder dann.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Danke für die Antworten, dann werde ich das Overlay erstmal außer Acht lassen und nach der Fertigstellung evtl. nochmal probieren/ mit C reinschaufeln.
    Dann aber nochmal zurück auf die Frage ob es möglich ist Befehle an SA:MP zu übertragen über eine Art Keybinder dann.

    Ja, schau dir mal die Funktion "SendKeys" an.


    Edit: [Release] 0xSA [San Andreas Singleplayer Hack]

    Einmal editiert, zuletzt von Michael ()