Das Geldkonto ist nil
Ein Script hat ein Geldkonto angefragt, das dieser Spieler nicht hat — meist, weil der Kontoname nicht zu deinem Framework passt.
Mach das zuerst
Meld es dem Script-Autor, zusammen mit dem Namen deines Frameworks.
Was es bedeutet
Eine Geldoperation hat ein Konto verlangt, das der Spieler nicht hat. ESX bietet xPlayer.getAccount('bank'), QBCore nutzt PlayerData.money['bank']; beide geben nil zurück, wenn der Kontoname nicht konfiguriert ist.
Hier falsch zu liegen verdient Sorgfalt: Geldcode, der stillschweigend nichts tut, ist der Weg zu Duplikationsfehlern und ausbleibenden Gehältern.
Was es auslöst
Sortiert danach, wie oft es die Antwort ist.
- 1
Ein Kontoname, den es nicht gibt
'money','cash','bank'und'black_money'unterscheiden sich zwischen Frameworks und Versionen. Der Name ist eine Zeichenkette, also prüft ihn nichts. - 2
Die Kontenzeile wurde nie angelegt
Ein Charakter, erstellt bevor es diesen Kontotyp gab.
- 3
Gelesen, bevor der Spieler geladen war
Dasselbe Timing-Problem wie alles andere auf dem Client.
- 4
Ein eigenes Konto in die Konfiguration aufgenommen, aber nicht zu vorhandenen Spielern
Neue Konten werden nicht nachträglich befüllt.
Wie du erkennst, welcher deiner ist
Gib aus, was der Spieler wirklich hat:
-- ESX print(json.encode(xPlayer.getAccounts())) -- QBCore print(json.encode(Player.PlayerData.money))
Die Liste der echten Namen beendet das Raten.
Wo du nachsehen musst
Der Kontoname im Aufruf, gegen die konfigurierten Konten des Frameworks.
Wie du es behebst
Prüf das Konto, bevor du es anfasst, und mach Geld NUR auf dem Server:
-- ESX
local account = xPlayer.getAccount('bank')
if not account then return end
if account.money < price then return end
xPlayer.removeAccountMoney('bank', price)
-- QBCore
if not Player.Functions.RemoveMoney('bank', price) then return endSowohl RemoveMoney als auch removeAccountMoney können scheitern — sieh dir das Ergebnis an, statt anzunehmen, dass es geklappt hat.
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 Skript-Konverter übersetzt eine Resource zwischen ESX, QBCore und Qbox.