SA-MP und .Net

  • Hallo,
    mich interessiert schon lange was:
    Man kann andere Sprachen ja auch auf .Net aufbauen (sieht man ja bei IronRuby).


    Mich würde interessieren, ob man mit PawnS nicht auch was machen kann, dass es irgendwie .Net Unterstüztung hat.
    Meines Wissens basiert ja SA-MP auf C++. Native C++ kann man in .Net auch verwenden in dem man eine
    Managed Library schreibt.


    Es muss doch irgendwo eine Möglichkeit geben, einen direkten Zugriff zu bekommen, und mit .Net eine Library schreiben,
    welche die Script-Funktionen enthält.
    Ich bin leider nicht mit SA-MP vertraut genug, um die Struktur zu kennen, drum frag ich ja.


    SA-MP übernimmt ja das PawnScript, das heißt, wenn man das Script überspringt und direkt mit SA-MP kommunizieren könnte,
    könnte man doch rein theoretisch auch mit .Net Sprachen arbeiten?!



    Es wär nichts besser, als eine Möglichkeit, mit .Net Sprachen wie C# einen GameMode zu programmieren, bzw.
    den Core irgendwie zu erweitern. Leider fehlen mir viele Informationen, damit ich wüsste, ob da irgendeine Möglichkeit bestünde...



    Wär klasse, wenn sich das SA-MP Team und eventuell ein freies Team dafür aufopfern würde, dass sich da was umsetzen lässt.
    Ich persönlich finde, SA-MP hat viel Potenzial und das sollte man weiträumig ausbreiten.
    Den Core kann man ja mit C++ erweitern. Ich würd das gern machen, hab aber null C++ Kentnisse.


    Eine .DLL kann man genauso strukturieren, dass man einen GameMode damit machen könnte. Man hätte rein für Windows sogar
    weitaus mehr Möglichkeiten, wenn man das ganze .Net Framework nutzen könnte.



    Also, das ganze ist jetzt rein eine Frage der Möglichkeit. Irgendwie muss doch eine Kommunikation zwischen C++-based Server und
    einem .Net-based GameMode möglich sein ... wenns auch nur ein C++-Adapter ist, der .Net-Daten und C++-Daten konvertieren könnte.



    Ganz ehrlich, mir fällt die Erklärung irgendwie schwer... aber jetzt lass ich euch mal Antworten ;)
    Ich würde auf jedenfall dazu helfen, dass möglich zu machen, wenns geht.


    MfG
    R

    Einmal editiert, zuletzt von Razer ()

  • Ok, es gäbe 2 gute Möglichkeiten, mit denen man beides verwenden kann.


    Vorteil ist eben, dass man die .Net Komponenten nutzen kann. Man könnte viel einfacher Daten, Netzwerk usw. nutzen.
    Natives C++ bietet diesen Luxus nicht. .Net jedoch schon. Man kann damit immerhin auch weitere Komponenten nutzen,
    so würde man sich vieles erleichtern.


    Man könnte ganz einfach MySQL-Datenbanken verwalten, mit anderen Seiten per PHP kommunizieren,
    Daten hochladen / übertragen, (XML-)dateien schreiben, usw.



    Dazu müssten aber die Entwickler das ganze so umbauen, dass alle Funktionen einen Export haben, welche C# (.Net)
    als Bridge übernehmen kann.



    Oder man macht es per Named Pipes, sodass quasi die C++ Anwendung einen Befehl ("saveXML("text")") und die C# Anwendung
    setzt dies dann um (mehr oder weniger umständlicher).



    Nur wie das am besten gemacht werden könnte ist die Frage ;)


    PS: Natürlich würde das ganze auch auf Linux funktionieren, sofern man Mono verwendet ;)

  • So ein Quatsch.
    Dann erzähl mir mal, was an .Net besser sein soll. ;)


    Selbst wenn du die Funktionen hookst, hast du auch nur diese zur Verfügung.
    Dein Vorhaben ist so schwachsinnig, daß das schreiben dieses Textes schon Zeitverschwendung ist.


    Schlag dir die Idee aus dem Kopf.. (Das C++ Modul failte schon (es hookte aber nicht direkt die Funktionen, sondern den AMX Aufruf)