Roblox studio 错误"尝试将字符串与 Instance 连接"

所以我遇到了这个错误,但我似乎无法修复它。 有人能告诉我该如何修复吗? 错误信息为:尝试将字符串与 Instance 连接。 完整错误的图片

函数:

function chatfunc(msg) -- < 错误行 523
coroutine.wrap(function()
    local amountsofchats = 0
    for i,v in pairs(workspace:GetChildren()) do
        if v.Name == "amogus"..plr then
            amountsofchats += 1
        end
    end
    if amountsofchats >= 5 then
        return
    end
    for i,v in pairs(workspace:GetChildren()) do
        if v.Name == "amogus"..plr then
            v.StudsOffset += Vector3.new(0,2,0)
        end
    end
    ...

第二个错误:

game:GetService("Players")[Username].Chatted:Connect(function(msg)
local msg,Message_ = msg,msg
if string.sub(msg,1,3) == "/e " then
    msg = string.sub(msg,4)
end
chatfunc(msg) -- < 错误行 717

end)

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

点赞
stackoverflow用户16066673
stackoverflow用户16066673

你遇到这个错误是因为你尝试将一个字符串与一个实例进行拼接,例如"string" .. Instance.new("Part")

由于你没有在代码中给出任何行号,我假定"amogus" .. plr是引起错误的原因,因为这里的plr是一个实例,你可能想要拼接两个字符串,使用"amogus" .. plr.Name

另外,我不建议完全这样做game:GetService("Players")[Username],如果用户的名称是Players服务的属性,你将得到属性而不是玩家。例如,如果你使用用户名MaxPlayers,它将返回一个数字而不是这个名称的玩家,因此你的代码会出现错误。所以我建议使用game:GetService("Players"):FindFirstChild(Username)

2022-01-05 13:50:23