textdatei auslesen und verwerten

  • moin

    erstmal kurz was ich machen möchte:

    das online-spiel "die stämme" bietet informationen über die server zum download als textdatei an
    (karte, welcher spieler sitzt wo / wiviele punkte / wiviele dörfer etc)
    die koordinaten der welt sind 0:0 bis 1000:1000

    die textdatei sieht folgendermassen aus:

    dorfid,name,xxx,yyy,spielerid,dorfpunkte,rang
    dorfid,name,xxx,yyy,spielerid,dorfpunkte,rang
    dorfid,name,xxx,yyy,spielerid,dorfpunkte,rang
    ...

    ich will ein script schreiben dass:

    die datei einliest
    alle dörfer die im koordinatenbereich 600:800 bis 700:900 liegen herausfiltert
    diese mit ein paar zusatzdaten in eine excel tabelle einfügt

    ich scheiter dummerweise schon am einlesen ^^ - bei dorf 509 gibts nen fehler:

    Line 29 (file: ...)

    if $y ...
    If ^error

    Error: Array variable has incorrect number of subscripts or subscript dimension range exceeded


    hier mal mein script



    vielleicht kann mir ja wer weiterhelfen ;)

    3 Mal editiert, zuletzt von sataan1337 (16. Oktober 2008 um 18:55)

  • Code
    $village = FileOpen("village.txt", 0)
    $x = FileReadLine($village, 510)
    msgbox(0, "test", $x)

    darüber frage ich die zeile bei der er im anderen script stockt direkt ab und lasse sie ausgeben - des klappt ohne probleme

    509,05|Barbarendorf,485,463,1699679,8009,0 => das is die zeile


    im hauptscript hab ichs ja über die kleine schleife so eingestellt dasser ab zeile 500 jeden wert einliest, splittet, als msgbox ausgiebt und dann weitermacht - die ausgabe für die zeile ist dabei leer => der teil mim auslesen is ja das gleiche script wie ich hier grad gepostet hab - nur dass eben ein völlig anderes ergebnis rauskommt

    => der fehler liegt nich der textdatei ^^

    des mit der fehlerbehandlung is aber ne gute idee ;) - wenn auch keine endgültige lösung ^^ - irgendwo muss der fehler ja herkommen

  • soo - hab mal ne abfrage eingebaut die verhindert dass ne leere zeile verarbeitet wird

    ergebnis: 1. er arbeitet bis zu der stelle an der er vorher abgebrochen hat durch, und alle weiteren eingelesenen werte sind leer
    2. ich bin verwirrt ;)

  • ich krieg die kriese ;)

    jetz klappts ^^

    stimmt da war ja ne obergrenze für dateien die gleichzeitig geladen werden können


    lass des script grad durchlaufen ^^ - dauert nen weilchen (sind 156882 zeilen ^^ ^^)
    aber kam noch keine fehlermeldung



    danke dir vielmals ^^

    Einmal editiert, zuletzt von sataan1337 (16. Oktober 2008 um 18:01)