尝试在工作区中查找ID值时出现对象错误

时间:2019-08-31 21:03:07

标签: roblox

我试图通过使用值在工作区中找到一个对象。 打印该值时,它将以字符串形式输出“ WM830”。 但是它没有在工作区中找到模型。

这是代码:

script.Parent.MouseButton1Click:connect(function()
    local busId = script.Parent.Parent.Parent.Car.value
    game.Workspace[busId].Body.Display.maindest.SurfaceGUI.TextLabel.text = "Woop"
end)

这是错误: Players.E_Link.PlayerGui.A-Chassis Interface.NXUI.TextButton.Script:3: bad argument #2 to '?' (string expected, got Object)

1 个答案:

答案 0 :(得分:0)

它可能会帮助您尝试将通往TextLabel的路径分解为更可靠的块:

script.Parent.Activated:Connect(function()
    -- find the name of the bus for this button
    local busId = script.Parent.Parent.Parent.Car.value
    local bus = game.Workspace:FindFirstChild(busId)

    if bus then
        -- if we find the bus, update the label on the bus
        -- NOTE - IF THIS NEXT LINE FAILS, CONTINUE TO BREAK UP THIS PATH INTO SMALLER PIECES
        local busDestLabel = bus.Body.Display.maindest.SurfaceGUI.TextLabel
        busDestLabel.Text = "Woop"
    else
        -- Couldn't find the bus, check that the bus actually exists in the workspace
        warn("Could not find a bus with id : ", busId)
    end
end)

这样,您的错误消息可能会在接近路径的实际缺失部分时失败。在尝试获取或设置属性之前,最好验证要使用的零件/模型是否确实存在。