THE ORB
Studio wird gestartet

Tabellenindex ist nil

Ein Script wollte etwas unter einem leeren Namen ablegen — meist eine Spieler-ID, die noch nicht bereit war.

groupsDiese Funktion hört auf zu funktionierencodeBraucht einen Entwickler

Mach das zuerst

Passiert meist, während sich jemand noch verbindet. Schau, ob es beim Joinen auftritt.

bug_reportFüg lieber deine ganze Konsole ein

Was es bedeutet

Etwas wurde unter einem nil-Schlüssel in eine Tabelle GESCHRIEBEN: t[k] = v, wobei k nil ist. Mit einem nil-Schlüssel zu lesen ist erlaubt und ergibt nil; damit zu schreiben ist ein Fehler.

Was es auslöst

Sortiert danach, wie oft es die Antwort ist.

  1. 1

    Ein Schlüssel aus einer gescheiterten Suche

    cache[GetPlayerIdentifier(src)] = data, wobei die Kennung nil ist, weil der Spieler noch nicht vollständig verbunden ist.

  2. 2

    Eine Schleifenvariable über das Ende hinaus benutzt

    Unter items[i] speichern, wenn i aus der Liste gelaufen ist.

  3. 3

    Ein Feld, das es am Objekt nicht gibt

    byJob[player.job.name] = x, wobei der Job keinen Namen hat.

  4. 4

    Ein numerischer Schlüssel, der NaN wurde

    Durch null teilen oder ein tonumber() auf etwas Unparsbares und es dann als Index nutzen. Das ergibt „table index is NaN".

Wie du erkennst, welcher deiner ist

Gib den Schlüssel aus, nicht die Tabelle:

print('schlüssel =', tostring(derSchluessel))

Die Zeile ist kurz und der Schlüssel meist ein einziger Ausdruck — das identifiziert ihn sofort.

Wo du nachsehen musst

Die Zuweisung in der genannten Zeile, genauer das in den eckigen Klammern.

Wie du es behebst

Sichere den Schlüssel dort ab, wo er entsteht:

local id = GetPlayerIdentifier(src, 0)
if not id then return end
cache[id] = data

Hängst du immer noch an deinem eigenen Code?

Diese Seite sagt, was dieser Fehler üblicherweise bedeutet. Füg deine Konsole in Server Fixer ein: es sortiert alles darin und sagt dir, was zuerst dran ist; und wenn du lieber nicht ranwillst, kann ORBIE das Script reparieren und dir die Resource fertig zum Einsetzen zurückgeben.

bug_reportServer Fixer öffnen

Für diese Art Fehler Script Optimizer liest das Script und repariert den Code dahinter.

Fehler, die mit diesem zusammen auftreten