Erreur: tentative de l'indice de champ '?' (a nil value)
J'obtiens l'erreur suivante dans mon code Lua:
tentative de l'indice de champ '?' (a nil value)
Il arrive sur la ligne ci-dessous en caractères gras. Comment puis-je résoudre ce problème?
function SendMessageToAdmins(color1, color2, color3, msg)
for i = 0, maxSlots - 1 do
if Account[i] and Account[i].Admin >= 1 or Account[i] and Account[i].GameMaster >= 1 then
SendPlayerMessage(i, color1, color2, color3, string.format("%s", msg))
end
end
end
- Il est difficile de savoir pourquoi cette erreur se produit sans savoir où
Account
vient et ce qu'il devrait contenir. - Un (méta)table, probablement. Il semble comme une variable globale ici. Peut-être que vous avez spécifié comme local de façon incorrecte?
- merci de lire ceci
Vous devez vous connecter pour publier un commentaire.
cette erreur survient généralement d'essayer de les indexer un champ sur quelque chose qui n'est pas un tableau, ou nul. les chances sont que ce qui est à
Account[i]
lorsque l'erreur se produit, n'est pas une table ou userdata, mais construit dans le type comme une chaîne ou un nombre.je commencerais par vérifier le type de ce qui est
Account[i]
lorsque vous obtenez cette erreur, et va à partir de là.les deux façons les plus courantes de voir cette erreur (que je connais) sont ci-dessous:
le cas, vous êtes probablement victime, est probablement celui-ci: