【问题标题】:Check if player has a duplicate of a tool in roblox检查玩家是否在 roblox 中有工具的副本
【发布时间】:2021-08-23 18:54:50
【问题描述】:

我正在尝试检查玩家背包中是否有 2 瓶 Bloxy 可乐 如果有 2 个则摧毁另一个

我在脚本中尝试了这段代码,但没有成功

local tmpTable = {} -- store items names

for I,v in pairs(player.Backpack:GetChildren()) do --  loop through all items found
    if  tmpTable [v.Name] ~= nil then -- checks if item exists in the list
        print("a duplicate has been found") -- found item e.g. a duplicate
        v:Destroy() -- deletes tool 
    else
        tmpTable [v.Name]  = "BloxyCola"  -- we don't need to use the value we are only using the key
        print("item added to list") 
    end 
end

【问题讨论】:

  • “没用”是什么意思?有错误吗?还是只是没有删除重复项?为什么首先有重复?您不应允许添加该项目而不是稍后将其删除。该代码的输出是什么?它打印什么?它与您的预期有何不同?
  • 副本未被删除。没有打印。

标签: lua scripting roblox


【解决方案1】:

副本未被删除。没有打印出来

您在条件语句的两个分支中都打印了一些内容。如果没有打印任何内容,则意味着循环不会运行一次。这意味着player.Backpack:GetChildren() 返回一个空表。

由于Instance:GetChildren() 将始终返回一个表,所以看到一个空表意味着Backpack 没有任何子级。

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 2021-05-15
    • 2021-10-17
    • 2015-05-17
    • 2019-06-26
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2016-11-09
    相关资源
    最近更新 更多