TypeError: Eigenschaften von undefined können nicht gelesen werden
Ein Script erwartete eine Information und bekam nichts. Dieselbe Problemklasse wie der häufigste Lua-Fehler.
Mach das zuerst
Notier, welches Script genannt wird; der Fix liegt im Code dieses Scripts.
Was es bedeutet
Die JavaScript-Fassung von „attempt to index a nil value". Es wurde auf etwas zugegriffen, das undefined oder null ist. Die Meldung nennt die Eigenschaft — das sagt, welcher Zugriff scheiterte, aber nicht, welcher Wert fehlte.
Was es auslöst
Sortiert danach, wie oft es die Antwort ist.
- 1
Ein Spielerobjekt, das es nicht gibt
Ein Serverscript, das einen Spieler sucht, der sich getrennt hat.
- 2
Ein vergessenes await
const rows = db.query(...)ohneawaitgibt ein Promise, und ein Feld davon zu lesen ergibt undefined. - 3
Ein fehlendes Objekt destrukturieren
const { id } = payload, obwohlpayloadnie ankam. - 4
Eine Event-Nutzlast, die der Client nicht geschickt hat
Dieselbe Fehlerklasse wie in der Lua-Variante, nur in der anderen Runtime.
- 5
Ein Export einer nicht gestarteten Resource
exports['x'].y, wobei das Export-Objekt undefined ist.
Wie du erkennst, welcher deiner ist
console.log(typeof ding, ding)
direkt über der fehlschlagenden Zeile. In FXServer landet das wie jede andere Ausgabe in der Serverkonsole.
Wo du nachsehen musst
Die genannte Zeile, dann die Zuweisung, die den undefined-Wert erzeugt hat.
Wie du es behebst
Nimm optionale Verkettung und Standardwerte an der Grenze:
const player = getPlayer(src)
if (!player) return
const amount = payload?.amount ?? 0
const rows = await db.query('SELECT ...')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 öffnenFür diese Art Fehler Script Optimizer liest das Script und repariert den Code dahinter.