Alle Dateien lesen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • moin, ist es möglich, ein wert von allen dateien zu lesen, um somit eine Bestenliste zu erstellen?


    So versuche ich es:


    var = dini_Int("/spieler/*.ini", "Kills");


    aber logisch wäre das natürlich nicht, da var dann 100000 versch. werte hat, und in einer schleife kann ich es ja auch nicht einbinden.


    kann man denn irgendwie sagen, dass er alle dateien, von 1 bis MAX_Dateien_im_Ordner o.ä. liest bzw. haben die Dateien schon vorgegebene Variablen?


    Oder lässt sich das mit mysql besser handhaben.


    Eine Alternative wäre es, wenn ich die Kills in einer seperaten Datei Kills.ini speichern würde, aber dann hätte ich einmal die Kills in spieler.ini und dann nochmal in kills.ini, also doppelt -> sinnlos...


    MfG

  • MySQL ist besser dafür.
    Du könntest aber für Dateien folgendes durchgehen.
    In einer Datei werden alle Namen gespeichert.
    Anschließend erstellst du eine Schleife, die jeden Namen durchgeht und eben /account/name.sav macht.
    Das ist eigentlich einfach, wenn du es nicht schaffst, sag bescheid.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • Entweder versteh ich dich nicht, oder du mich nicht ^^


    Also, jetzt habe ich ca. 1.000 .ini Dateien im folgenden Format: SPIELERNAME.ini


    In ihr sind jeweils Kills, Deaths, ... des Spielernamen enthalten.



    Jetzt will ich aber eine Funktion machen, die die besten 10 DMler oder was weiß ich herausfiltert, den ansatz krieg ich nicht hin, wüsste aber, wie es weiter geht :o


    wie gesagt, falls ich alle kills samt namen extra nochmal in EINE Datei reinspeicher, dann könnte ich das vlt. lesen... Wie drücke ich es denn aus, dass er eine Zeile weiter runter lesen soll :S

  • Joah, aber das funktoniert nicht.
    Deshalb musst du alle Spielernamen zwischen speichern, in einer Datei.
    Somit kannst du alle auslesen.


    Oder:
    Du speicherst den Rekord als Variabel, ist diese kleiner als deine, wird die erhöht.
    Die anderen Variabel speichert noch den Namen.

    Kalcor: "... it makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."

  • Ist eigentlich alles oben erklärt.
    Du musst halt eine Datei erstellen, die alles beinhaltet. Also Kills, Deaths, Points etc.
    Und dann erstellst du ne Schleife. die eben /account/name.sav macht.
    Eigentlich ganz einfach alles. ^^

  • Methode 2:


    Oder:
    Du speicherst den Rekord als Variabel, ist diese kleiner als deine, wird die erhöht.
    Die anderen Variabel speichert noch den Namen.


    Diese hatte ich mir auch überlegt, aber das wären dann bis zu 10 abfragen pro kill :S ich will das nicht so ressourcenfressend machen.


    Zitat

    Du musst halt eine Datei erstellen, die alles beinhaltet. Also Kills, Deaths, Points etc.


    Also ALLES von JEDEM SPIELER in EINER Datei, welche dann sehr wahrscheinlich bald bis zu 10mb groß wird, wenn nicht, größer?


    Und wie kann ich dann von ihr lesen, wenn da so viele Namen vorhanden sind :S


    In AHK bekomm ich das ohne Probleme hin, aber in pawn gibts solche Funktionen ja garnicht :pinch:


    Entweder mach ich mir hier alles schwerer, als es ist, oder ich weiß auch nicht :sleeping:


    edit: .sav, die Endung, ist die egal? Ist also dasselbe wie .ini eigentlich oder?


    Ich verwende das Dini System im moment, steige später auf mysql um.

  • Dann fang ich mal jetzt mit mysql an ;)


    @Liam
    /Ordner/%s.sav soweit ja klar, aber was sollte ich dann als string definieren?


    ich kann ja nicht einfach /Ordner/%s.sav, i oder was weiß ich machen, da die dateien nicht 1, 2, 3, 4... heißen sondern TehEbil.ini, etc.