THE ORB
Arrancando el studio

el índice de la tabla es nil

Un script intentó archivar algo bajo un nombre vacío, normalmente un id de jugador que todavía no estaba listo.

groupsEsa función deja de andarcodeNecesita un desarrollador

Haz esto primero

Suele pasar mientras alguien todavía está conectando. Fíjate si salta al entrar.

bug_reportMejor pega tu consola entera

Qué significa

Se GUARDÓ algo en una tabla bajo una clave nil: t[k] = v donde k es nil. Leer con una clave nil es legal y devuelve nil; escribir con una es un error.

Qué lo provoca

Ordenado por la frecuencia con la que es la respuesta.

  1. 1

    Una clave que vino de una búsqueda que falló

    cache[GetPlayerIdentifier(src)] = data donde el identificador es nil porque el jugador todavía no está conectado del todo.

  2. 2

    Una variable de bucle usada más allá del final

    Guardar bajo items[i] cuando i se salió de la lista.

  3. 3

    Un campo que no existe en el objeto

    byJob[player.job.name] = x donde el trabajo no tiene nombre.

  4. 4

    Una clave numérica que se volvió NaN

    Dividir por cero o un tonumber() sobre algo que no se puede analizar, y después usarlo como índice. Eso da «table index is NaN».

Cómo saber cuál es el tuyo

Imprimí la clave, no la tabla:

print('clave =', tostring(laClave))

La línea es corta y la clave suele ser una sola expresión, así que esto la identifica de inmediato.

Dónde mirar

La asignación de la línea que nombra, concretamente lo que está dentro de los corchetes.

Cómo arreglarlo

Protegé la clave en el punto donde se produce:

local id = GetPlayerIdentifier(src, 0)
if not id then return end
cache[id] = data

¿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 Fixer

Para este tipo de error, el Script Optimizer lee el script y repara el código que hay detrás.

Errores que viajan con este