错误的参数#3为“值”(期望的字符串,有对象)-如何解决此问题?

时间:2018-08-07 10:04:29

标签: lua scripting roblox

我查看了许多其他问题及其答案,但我似乎仍然无法修复此错误消息。我正在编写一个脚本,允许一个玩家更改另一个玩家的面孔。由于新的ROBLOX更新与FE兼容,因此即使服务器脚本中存在错误,我也将本地脚本和服务器脚本放在下面。

本地脚本:

plr = script.Parent.Parent.Parent.NameInput.Text

script.Parent.MouseButton1Click:Connect(function()
    script.Parent.RemoteEvent:FireServer(plr)
end)

服务器脚本:

faceid = script.Parent.FaceID.Value

script.Parent.RemoteEvent.OnServerEvent:Connect(function(plr)
    script.Parent.PName.Value = plr
    local plrname = script.Parent.PName.Value
    print (plrname)
    game.Players[script.Parent.PName.Value].Character.Face.Texture = faceid
end)

层次结构: This is the image of the hierarch of the GUI I am creating

错误消息: This is the image of the error I am receiving when I press the 'Test Face' button which is named 'One' in the explorer.

服务器脚本有点混乱,因为我尝试了几种不同的方法来解决此错误,因此,如果您认为我可以更改任何内容或添加/删除任何内容,我将感谢您的反馈。但是,当前的主要问题是我在第4行上遇到的错误。第7行上也有一个先前的错误,其中说“错误的参数2到'?”。 (期望字符串,得到Object)”,但我想先解决此问题。如果尝试帮助我的人认为有必要,通常会对脚本提供帮助。

预先感谢您, 罗汉

1 个答案:

答案 0 :(得分:1)

您应该使用plr来获得plr.Name的名称,而不是使用faceid = script.Parent.FaceID.Value script.Parent.RemoteEvent.OnServerEvent:Connect(function(plr) script.Parent.PName.Value = plr.Name -- edit was here local plrname = script.Parent.PName.Value print (plrname) game.Players[script.Parent.PName.Value].Character.Face.Texture = faceid end) 。这样,您将告诉系统播放器的名称而不是获取对象。< / p>

$request