THE ORB
Studio wird gestartet

charinfo / metadata ist nil

Die gespeicherten Daten eines Charakters ließen sich nicht lesen — entweder war er nicht fertig geladen, oder seine Daten sind beschädigt.

groupsEin Spieler bringt alles durcheinandercodeBraucht einen Entwickler

Mach das zuerst

Sieh nach, ob es allen oder einem Spieler passiert. Bei einem müssen seine gespeicherten Daten repariert werden.

bug_reportFüg lieber deine ganze Konsole ein

Was es bedeutet

Das Spielerobjekt existiert, aber die gelesene Untertabelle ist nicht gefüllt. In QBCore hält PlayerData.charinfo Name und Telefon, PlayerData.metadata alles andere; beide sind JSON-Spalten, und eine defekte kommt als nil zurück statt leer.

Was es auslöst

Sortiert danach, wie oft es die Antwort ist.

  1. 1

    Gelesen, bevor der Charakter gewählt ist

    Verbunden ist nicht geladen. Zwischen Beitritt und Charakterwahl gibt es einen Spieler ganz ohne charinfo.

  2. 2

    Die JSON-Spalte ist fehlerhaft

    Ein abgeschnittener Schreibvorgang (siehe „Daten zu lang") hinterlässt ungültiges JSON, und das Dekodieren ergibt nil. Dieser Spieler zerlegt dann jedes Script, bis die Zeile repariert ist.

  3. 3

    Ein Metadata-Schlüssel, der nie initialisiert wurde

    metadata.thirst bei einem Charakter, der vor diesem Schlüssel erstellt wurde. Die Tabelle ist in Ordnung, der Schlüssel nicht.

  4. 4

    Ein Resource-Neustart, während der Spieler drin ist

    Der Spieler war schon geladen, bevor deine Resource startete — sie hat das Lade-Event nie gesehen.

  5. 5

    Versionsunterschiede beim Framework

    Felder wandern zwischen QBCore-Versionen; ein für die eine geschriebenes Script liest einen Schlüssel, den die andere woanders ablegt.

Wie du erkennst, welcher deiner ist

Schau dir die Zeile an:

SELECT charinfo, metadata FROM players WHERE citizenid = 'ABC12345';

Ist eine NULL oder kein gültiges JSON, liegt es an den Daten dieses Charakters. Sehen beide gut aus, ist es Timing.

Wo du nachsehen musst

Das Lesen und ob die Datei auf das Spieler-geladen-Event wartet.

Wie du es behebst

Gib dem Schlüssel einen Standardwert und lies nie auf Dateiebene:

local meta = PlayerData.metadata or {}
local thirst = meta.thirst or 100

RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
    PlayerData = QBCore.Functions.GetPlayerData()
end)

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 Skript-Konverter übersetzt eine Resource zwischen ESX, QBCore und Qbox.

Fehler, die mit diesem zusammen auftreten