Lua 尝试为无值项编制索引(帮助!)
所以我犯了这个错误,所以我知道这里可能有一些问题我必须解决,但我不知道如何解决。谢谢 脚本错误:@gcphone/server/server.lua:205:尝试索引nil值(本地“项”) 第205行的代码Lua 尝试为无值项编制索引(帮助!),lua,lua-table,fivem,Lua,Lua Table,Fivem,所以我犯了这个错误,所以我知道这里可能有一些问题我必须解决,但我不知道如何解决。谢谢 脚本错误:@gcphone/server/server.lua:205:尝试索引nil值(本地“项”) 第205行的代码 ESX.RegisterServerCallback('crew-phone:phone-check', function(source, cb) local xPlayer = ESX.GetPlayerFromId(source) if not xPlayer then
ESX.RegisterServerCallback('crew-phone:phone-check', function(source, cb)
local xPlayer = ESX.GetPlayerFromId(source)
if not xPlayer then return; end
for k, v in pairs(Config.Phones) do
local items = xPlayer.getInventoryItem(v)
if items.count > 0 then
cb(v)
return
end
end
cb(nil)
end)
ESX.RegisterServerCallback('crew-phone:item-check', function(source, cb, data)
local xPlayer = ESX.GetPlayerFromId(source)
if not xPlayer then return; end
local items = xPlayer.getInventoryItem(data)
cb(items.count)
end)
此错误告诉您items是一个nil值,Lua对此表示不满,因为您试图将其作为
items.count中的索引。如果items
为nil
这就像参考一本不存在的书的书页
localitems
是nil
因为xPlayer.getInventoryItem(data)
返回nil
检查本地脚本是否在触发服务器事件时为数据提供字符串,以及xPlayer是否确实有类似的项
同时检查您的注册表服务器回调
。在那里定义的函数是回调函数。为什么那个函数参数中还有另一个回调?我认为你把事情弄糊涂了,可能应该再看一下手册
getInventoryItem()
返回nil