[Release] MTAResourceStats - Bekomme Infos über deine Resourcen.

  • Hey,


    habe gerade nichts zu scripten/programmieren, habe daher etwas länger nach Ideen gesucht.
    Damals hatte @misterdick ein ähnliches Programm, was er auch irgendwann releasen wollte, hat er aber wohl nie getan.


    Mit diesem Programm kann man Infos über alle Lua-Dateien in einem Ordner herausfinden.
    Alle Infos gibt es im Github.


    https://github.com/emre1702/MTAResourceStats


    Das Programm hab ich in einer Nacht erstellt, mehr Features werden also noch kommen.
    Wenn ihr Ideen habt, würde ich mich über Vorschläge in "Issues" freuen.
    https://github.com/emre1702/MTAResourceStats/issues


    Schreibt die Ideen bitte nicht hier, sorgt nur für Gespamme und Unübersichtlichkeit.
    Außerdem bitte ich um keine Kritik zum Aussehen, ich bin kein Designer und werde bestimmt keinen holen für so ein Hobby-Projekt.



    Mehr Möglichkeiten werden noch kommen.


    Download:
    https://github.com/emre1702/MTAResourceStats/releases

    2 Mal editiert, zuletzt von Gelöschter Benutzer ()

  • Wieso das Rad neu erfinden?


    https://github.com/AlDanial/cloc

    1. "habe gerade nichts zu scripten/programmieren, habe daher etwas länger nach Ideen gesucht."
    Langeweile, haben neben dem Lernen nichts zu tun.


    2. Füllt mein GitHub schön auf.


    3. Kann ich problemlos erweitern.


    4. Scheint wohl einfacher zu nutzen zu sein.


    Ach und der Code sieht gerade noch schlimm aus, ich schreibe das alles um, habe eine bessere Methode gefunden.
    Nachts fällt einem eben nicht alles ein :D

  • Top Arbeit :)

    allerdings find ich den Nutzen persönlich noch etwas fragwürdig, aber da hat ja jeder eine unterschiedliche Meinung zu.

    Ich denke mal dann kann man das irgendwie so als Zusatzinfo in einem Projekt nutzen, zb."Meine Script hat soviele lines" usw.. :)


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

  • Habe den gesamten Code umgeschrieben, weil mir das alles nicht so ganz gefallen hat.
    Damit wurde die Ausführung um ganze 32x verbessert (durch Tests herausbekommen).
    Außerdem sollte der Code nun einfacher zu lesen sein, wenn vllt. noch nicht so ganz perfekt.
    Glaube sowieso kaum, dass hier welche wirklich den Code versuchen werden zu lesen o.o


    Neueste Versionen gibt es immer hier:
    https://github.com/emre1702/LuaStats/releases


    Was ich für Features in der Zukunft einbauen will?
    1. Wie oft globale und lokale Variablen erstellt wurden.
    2. Daten clientseitiger und serverseitiger Herkunft getrennt ausgeben.
    3. Anzahl von Timern, Befehlen (und die Befehle selber), eventhandler usw.
    4. Eigene Events, wie sie heißen usw.


    Vielleicht fällt mir später noch was ein oder jemand schlägt was in GitHub vor.
    Mal gucken.

  • Noch ein paar Ideen:


    - OOP Support
    - Ausgabe für Funktionen wo sie überall aufgerufen werden
    - Möglichkeiten Funktionen und benötigte Parameter zu exportieren, so hätte man eine Übersicht und ein Wiki-Light für seinen Gamemode

  • Könntest mal den Sourcecode als Filesystem auf GitHub laden, dann muss man
    sich nicht extra die Zip datei laden, kann mir den C# code bspw. aufm Handy nicht anschauen.

    https://imgur.com/a/QHDoN


    Sry, was genau meinst du?
    Hier ist der Code bisher:
    https://github.com/emre1702/Lu…master/MainWindow.xaml.cs
    Ich ändere das aber auch jetzt.


    Ich werd den Code jetzt etwas verschönern, bisher habe ich nur an der Funktionalität gearbeitet.


    OOP in Lua muss ich mir noch angucken, werde mir irgendwas runterladen und es etwas lernen. Dachte nicht, dass da viel anders ist.


    Gute Ideen von Samake, werd ich später machen.


    Edit:
    Hab die ganzen Sachen in einzelne Dateien reingetan.
    Außerdem Repository-Namen geändert:


    https://github.com/emre1702/MTAResourceStats

    2 Mal editiert, zuletzt von Gelöschter Benutzer ()

  • Habe den Code wieder stark verändert, nun sollte er viel einfacher zu lesen sein (im Vergleich zu vorher).
    Habe nun angefangen mit Klassen-Objekten zu arbeiten statt mit Listen.
    Z.B. wird es für Funktionen eine eigene Klasse geben, wo der Inhalt gespeichert wird.
    Die Änderung empfand ich als notwendig, da ich gemerkt habe, dass z.B. zu erkennen, ob eine Variable lokal ist, ansonsten viel zu schwer wird.
    Um zu überprüfen, ob die Variable lokal ist, müsste ich Blöcke berücksichtigen, denn eine lokale Variable in einer if-Anweisung muss nicht heißen, dass eine andere Variable mit dem selben Namen auch die gleiche Variable und/oder lokal ist. Daher müsste ich alles berücksichtigen, was einen Block erstellen kann (for, if, while usw.).


    Außerdem wurde bei dieser Version (mehr) berücksichtigt, dass nicht nur Leerzeilen vor/nach local und function stehen kann.
    Zum Beispiel ist das alles hier erlaubt:
    "function(", ";function", ")function", "]function" usw.
    Die ganze Liste dafür habe ich hier reingeschrieben:
    https://github.com/emre1702/MT…blob/master/funcs/Util.cs
    Falls ich etwas vergessen habe, bitte Bescheid geben.


    Kommentare werden außerdem nun besser erkannt, da gab es paar kleine Fehlerchen.
    https://github.com/emre1702/MTAResourceStats/releases



    Ach übrigens:
    Solltet ihr es beim Ultimate-Script (o.ä.) testen, kann es etwas dauern.
    Da ist eine Datei für GPS namens "nodes.lua", einfach 3.3 MB groß mit über 30.900 Zeilen.
    Entfernt ihr die Datei (oder ändert das .lua am Ende), geht die Zählung bei mir in ca. 4 Sekunden.

    2 Mal editiert, zuletzt von Gelöschter Benutzer ()

  • Wir haben uns mit @misterdick zusammengesetzt und geguckt, wo man den Code performanter schreiben könnte.
    Dabei haben wir einige Code-Stellen finden können.
    Überraschend für uns war, dass strings in C# unveränderbar sind und deshalb bei Änderungsversuch der string neu erstellt wird.
    Deshalb hat es irrsinnig lang gedauert, bis eine große Datei (wie z.B. nodes.lua aus der GPS resource, was auch in Ultimate drin steckt) bis zum Ende bearbeitet werden konnte, weil hierbei bei jeder Zeile (die Datei hat über 30.900) ein neuer String erstellt wurde, welcher von Zeile zu Zeile größer war.
    Hat etwas gedauert, bis wir das rausfinden konnten :D


    Das Programm ist nun wieder viel schneller.
    Große Dateien brauchen nicht mehr irrsinnig lange, sondern werden nun sehr schnell bearbeitet.
    nodes.lua dauert also nicht mehr ca. 80 Sekunden, sondern nun ca. 1 Sekunde.


    https://github.com/emre1702/MT…eStats/releases/tag/1.1.4

  • @Shyim
    Danke für die Meldung :D


    Kannst du bitte diese Version testen?
    https://github.com/emre1702/MT…Stats/releases/tag/v1.1.6


    Ich versuch das bei mir mal selber zu testen.
    Der Release wird später noch geändert, hab da noch Diagnose-Output drin gelassen.



    Edit - release aktualisiert:


    https://github.com/emre1702/MT…Stats/releases/tag/v1.1.6
    RAM Problem sollte gefixt sein.
    Außerdem wird nun die Version am Titel angezeigt.

    2 Mal editiert, zuletzt von Gelöschter Benutzer ()

  • Noch so ein Bug. Man kann mehrfach auf Start klicken :D

    Ist eigentlich gewollt, damit man nebenbei auch andere Ordner nutzen kann.
    Wenn man es benutzen kann, hat man entweder genug Threads frei, um das überhaupt ausführen zu können - oder (wobei ich mir unsicher bin, ob das möglich ist) man hat die Zeit erwischt, wo der Main-Thread nichts zu tun hatte.

  • Was noch geil wäre wenn man das Ergebnis als Textdatei ausgeben könnte.


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

Jetzt mitmachen!

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