我试图通过使用值在工作区中找到一个对象。 打印该值时,它将以字符串形式输出“ 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)
答案 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)
这样,您的错误消息可能会在接近路径的实际缺失部分时失败。在尝试获取或设置属性之前,最好验证要使用的零件/模型是否确实存在。