error 033: array must be indexed

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hey,
    ich bin grad am Scripten und habe folgenden Fehler:



    error 033: array must be indexed (variable "tsuserid")


    Hab den ganzen Code bei OnDialogResponse


    Und das ist die Zeile mit dem Fehler:



    tsuserid = strval(inputtext);


    stehe grad wirklich aufm Schlauch. Ich hab lange nichts mehr bei den Dialogen gescriptet deswegen komm ich mir grad dumm vor :D

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • Wie hast du tsuserid deklariert?


    Wahrscheinlich mit einem Array :rolleyes:


    Dann musst du das so schreiben:


    tsuserid[playerid] = strval(inputtext);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Danke erstmal für deine Hilfe, aber leider nicht. Ich hab des als
    tsuserid[128]
    weil da die Eindeutige ID vom ts rein soll (ohne für jeden Player einen Variable zu erstellen).

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • Naja. Ich weiss ja nicht weil tsuserid soll die Eindeutige ID sein: z.b. ajMvTCVPY9bupybnU1BdSk0Za1U=


    Sag das doch...das du diese tsID meinst :rolleyes:


    Dann musst du es so machen:


    format(tsuserid, 128, inputtext);


    Meine Meinung
    Allerdings erachte ich deine Vorgehensweise als falsch.
    Schließlich hat jeder Spieler eine Ts³ Userid..somit brauch jeder Spieler diese Variable.
    Weiterhin ist diese ID keine 128 Zeichen lang, sondern nur 28.

    Meine Meinung
    Sprich deine Variable sollte so aussehen:

    Meine Meinung
    new tsuserid[MAX_PLAYERS][28];

    Meine Meinung
    //und dann so nutzen:
    format(tsuserid[playerid], 28, intputtext);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Okay danke! Funktioniert jetzt :D
    Aber die tsuserid wird ja nur einmal verwendet, in einem Befehl. D.h. wenn jemand den Befehl wieder neu eingibt, dann wird tsuserid neu gesetzt. Und das es sich überschneidet, glaube ich nicht.
    Trotzdem danke!


    MfG freaky

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________