Simpler Offline Objekt Konverter (Beta)

  • Moin


    Ich habe mir mal einen kleinen Objektkonverter zusammengebaut, aus dem einfachen Grund, da mein Lieblingsonlinekonverter convertffs.com seit einiger Zeit offline ist, und ich super oft reichlich Objekte konvertieren muss.

    Da ich gerne minimalistisch Programmiere ist das ganze als Commandline Programm erschienen.

    Weiterhin hat mich gestoert dass bei grossen Maps, das Hochladen von grossen Maps ab 5000 Objekten nicht moeglich war, und auch darunter ewigst lange gedauert habe.
    Habe mir fuer meine Zwecke daher einen kleinen C basierten Konverter gebastelt, welcher mithilfe von fscanf und sscanf die Werte parst und letztendlich einfach wieder in ein anderes Format bringt, und dann printet.


    Aktuell gibt es das ganze als Linux und Windows Version, weiterhin will ich darauf hinweisen dass das Programm Bugs enthalten kann.
    Wenn Bugs gefunden werden, bitte eine E-Mail an [email protected] verfassen, oder in diesem Thread hier schreiben.

    Auf Effizienz wurde bisher nicht geachtet, da selbst bei knapp 100000 Objekten das Konvertieren im Worst Case, d.h. MTA:SA zu SA:MP CreateObject nur ca. 1.6 Sekunden dauert.

    Die Laufzeit des Programs ist nach O-Notation im Best Case ne Laufzeit von O(3n) , und im Worst Case (MTA:SA zu SA:MP) ca. O(6n)


    Ziel ist es, neben reinem Objekte Konvertieren, auch das Konvertieren von Fahrzeugen, Peds/Actors, Pickups etc. zu ermoegliche, wie im SA-MP MapConverter Plugin im englischen SA-MP Forum.

    Aktuell werden Zeilen, welche Vehicle, Peds oder Pickups enthalten uebersprungen!

    Readme



    Ein Beispiel Ablauf

    Datei ist converter.exe und wird mit der Inputdatei als Parameter ausgefuehrt.

    (Geht auch per Batch datei, z.B. mit Inhalt:
    converter.exe input.txt)

    converter.exe objects.txt
    Ausgabe wird in der Datei output.txt erstellt, das ganze funktioniert zumindest bei mir aktuell zuverlaessig.


    Dannach spezifiziert man mit einer Zahl von 1-3 den Inputtyp der Objekte, und dannach wieder mit 1-3 den gewuenschten Output.
    Fertig!

    Externer Inhalt breadfish.de
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    XML Parser wurde bisher nicht genutzt, ist wahrscheinlich fuer die Anforderungen overkill.
    Weiterhin waere das Programm allein durch die Implementierung eines solchen, locker doppelt so lang.


    Beispielinput:

    XML
    <object id="object (des_ebrigroad07) (1)" breakable="true" interior="0" alpha="255" model="16358" doublesided="false" scale="1" dimension="0" posX="-1135.2" posY="-866.29999" posZ="62.5" rotX="0" rotY="0" rotZ="314"></object>
        <object id="object (des_ebrigroad07) (2)" breakable="true" interior="0" alpha="255" model="16358" doublesided="false" scale="1" dimension="0" posX="-1135.3" posY="-866.20001" posZ="72.7" rotX="0" rotY="0" rotZ="313.995"></object>
        <object id="object (des_ebrigroad07) (3)" breakable="true" interior="0" alpha="255" model="16358" doublesided="false" scale="1" dimension="0" posX="-1140.6" posY="-871.40002" posZ="66.1" rotX="90" rotY="0" rotZ="313.995"></object>


    Output:

    C
    CreateObject(16358,-1135.199951,-866.299988,62.500000,0.000000,0.000000,314.000000);// (des_ebrigroad07)
    CreateObject(16358,-1135.300049,-866.200012,72.699997,0.000000,0.000000,313.994995);// (des_ebrigroad07)
    CreateObject(16358,-1140.599976,-871.400024,66.099998,90.000000,0.000000,313.994995);// (des_ebrigroad07)

    Ich hoffe es ist fuer jemanden, wie in der Lizenz bereits erwaehnt, useful ;) Updates folgen woechentlich
    Weiterhin habe ich vor auch andere Objektformate abzudecken.

    Download:

    https://github.com/Knogle/SimpleConverter

    Oder Source only:

    http://pastebin.com/LAMxv5hi

  • Dieses Thema enthält 5 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!