检查玩家在roblox中是否有重复的工具

我试图检查玩家的背包中是否有2个Bloxy Colas,如果有两个就销毁其中一个

我在一个脚本中尝试了这段代码,但它没有起作用

local tmpTable = {} -- 存储物品名称

for I,v in pairs(player.Backpack:GetChildren()) do -- 遍历所有找到的物品
    if  tmpTable [v.Name] ~= nil then -- 检查物品是否存在于列表中
        print("已发现重复") -- 找到物品,即重复
        v:Destroy() -- 删除工具
    else
        tmpTable [v.Name]  = "BloxyCola"  -- 我们不需要使用值,只使用键
        print("物品已添加到列表")
    end
end

原文链接 https://stackoverflow.com/questions/67858918

点赞
stackoverflow用户2858170
stackoverflow用户2858170
> 重复项未被删除。没有任何输出

你在条件语句的两个分支中都打印了一些东西。如果没有输出,那意味着循环没有运行一次。也就是说,`player.Backpack:GetChildren()` 返回一个空表。

由于 `Instance:GetChildren()` 总是返回一个表,看到一个空表意味着 `Backpack` 没有任何子节点。
2021-06-15 06:09:37