La cuenta de dinero es nil
Un script pidió una cuenta de dinero que este jugador no tiene, normalmente porque el nombre de la cuenta no coincide con tu framework.
Haz esto primero
Repórtaselo a quien hizo el script, con el nombre de tu framework.
Qué significa
Una operación de dinero pidió una cuenta que el jugador no tiene. ESX expone xPlayer.getAccount('bank'), QBCore usa PlayerData.money['bank']; los dos devuelven nil para un nombre de cuenta que no está configurado.
Equivocarse acá merece cuidado: el código de dinero que no hace nada en silencio es como aparecen los duplicados y los sueldos que no llegan.
Qué lo provoca
Ordenado por la frecuencia con la que es la respuesta.
- 1
Un nombre de cuenta que no existe
'money','cash','bank'y'black_money'difieren entre frameworks y entre versiones. El nombre es una cadena, así que nada lo comprueba. - 2
La fila de cuentas nunca se creó
Un personaje creado antes de que existiera ese tipo de cuenta.
- 3
Leído antes de que el jugador cargara
El mismo problema de tiempos que todo lo demás en el cliente.
- 4
Una cuenta a medida añadida a la configuración y no a los jugadores que ya existen
Las cuentas nuevas no se rellenan hacia atrás.
Cómo saber cuál es el tuyo
Imprimí lo que el jugador tiene de verdad:
-- ESX print(json.encode(xPlayer.getAccounts())) -- QBCore print(json.encode(Player.PlayerData.money))
La lista de nombres reales termina con las adivinanzas.
Dónde mirar
El nombre de la cuenta en la llamada, contra las cuentas configuradas del framework.
Cómo arreglarlo
Comprobá la cuenta antes de tocarla, y hacé el dinero SÓLO en el servidor:
-- 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 endTanto RemoveMoney como removeAccountMoney pueden fallar: mirá el resultado en vez de dar por sentado que funcionó.
¿Sigues atascado en tu propio código?
Esta página es lo que suele significar este error. Pega tu consola en Server Fixer y ordenará todo lo que haya en ella y te dirá qué hacer primero; y si prefieres no tocarlo, ORBIE puede reparar el script y devolverte el recurso listo para soltar.
bug_reportAbrir el Server FixerPara este tipo de error, el Conversor de scripts traduce un recurso entre ESX, QBCore y Qbox.