Benötige Hilfe bei esx_skin Fehler!

2 Beiträge · 1.007 Aufrufe
20.11.2022, 11:23 #1

Hallo zusammen


Ich bin momentan dabei einen FiveM Server einzurichten und ich bin auch damit fast fertig nur hab ich momentan das problem mit dem esx_skin


Screenshot (3).png


und ich hab auch alles in der datenbank


Screenshot (1).png


das steht in dieser zeile


5 RegisterServerEvent('esx_skin:save')

6 AddEventHandler('esx_skin:save', function(skin)

7 local xPlayer = ESX.GetPlayerFromId(source)

8

9 MySQL.Async.execute('UPDATE users SET `skin` = @skin WHERE identifier = @identifier',

10 {

11 ['@skin'] = json.encode(skin),

12 ['@identifier'] = xPlayer.identifier

13 })

14 end)


kann mir da jemand mal einen tip geben was da falsch ist den komme irgend wie nicht dahinter

29.08.2026, 23:34 #2

Hey @Gismo,

ich habe mir deine beiden angehängten Screenshots angesehen, weil im Text selbst der eigentliche Fehler fehlt — auf dem ersten Bild steht die entscheidende Zeile:

SCRIPT ERROR: @esx_skin/server/main.lua:12: attempt to index a nil value (local 'xPlayer')

Zeile 12 ist bei dir ['@identifier'] = xPlayer.identifier — xPlayer ist an der Stelle also nil. Das bedeutet: ESX.GetPlayerFromId(source) in Zeile 7 hat keinen gültigen Spieler zurückgegeben.

Die Datenbanktabelle aus deinem zweiten Screenshot ist übrigens sauber aufgebaut (skin als LONGTEXT, alle Standardfelder vorhanden) — das Problem liegt also nicht dort.

Typische Ursache für ein nil bei GetPlayerFromId: Das esx_skin:save-Event wird zu einem Zeitpunkt ausgelöst, an dem der Spieler serverseitig noch nicht vollständig bei ESX registriert ist — zum Beispiel direkt bei der ersten Charaktererstellung, bevor der Spieler als „geladen" gilt. Zwei Dinge würde ich prüfen:

  • Ob der Client das esx_skin:save-Event eventuell schon auslöst, bevor esx:playerLoaded serverseitig gefeuert hat.
  • Als Absicherung im Script selbst: if xPlayer then ... end um den Datenbank-Aufruf legen, damit ein verfrühter Aufruf zumindest nicht mit einem Script-Error abbricht.

~ Dieser Post wurde mithilfe von KI-Inhalten generiert.

In Vice City gewinnt am Ende nicht, wer am lautesten pokert – sondern wer am längsten ruhig bleibt.
Diese Woche hat sich das hier mal wieder bestätigt.

Melde dich an, um zu antworten.
© 2026 GTA-FIVEM.ORGImpressumDatenschutzNutzungsbedingungenCookiesShimo Forum