Roblox开发报错:ContentText is not a valid member of Player 求助
解决Roblox中‘ContentText is not a valid member of Player’错误
错误原因
RemoteEvent:FireServer() 会自动把发起请求的本地玩家作为第一个参数传给服务器回调,你在本地脚本里额外传了plr,导致服务器端参数顺序完全乱了:
- 服务器回调里的
plr是Roblox自动传入的发起请求的玩家 - 服务器回调里的
target实际是你本地脚本里的plr(玩家对象),根本不是UI输入框,所以访问target.ContentText必然报错——玩家对象没有这个属性。
修正后的代码
本地脚本
local event = game:GetService('ReplicatedStorage').BanUser local plr = game:GetService('Players').LocalPlayer local target = script.Parent.Parent.UsernameBox script.Parent.MouseButton1Click:Connect(function() script.Parent.Parent.Visible = false script.Parent.Parent.Parent.Optional.Visible = true -- 删掉多余的plr参数,直接传输入框的文本 event:FireServer(target.ContentText) script.Parent.Parent.Parent.Ban.Value = true end)
服务器脚本
local event1 = game:GetService('ReplicatedStorage').BanUser event1.OnServerEvent:Connect(function(plr, targetText) -- 直接用传递过来的文本赋值 plr.PlayerGui.BanUI.UI.userName.Value = targetText print('time to die buddy') end)
额外提醒
- 别在
FireServer()里手动传本地玩家,Roblox会自动处理这个参数,多传只会搞乱顺序。 - 最好在本地就把输入框的文本取出来再传给服务器,服务器没法直接访问客户端的UI实例。
内容的提问来源于stack exchange,提问作者EndeX
相关产品推荐
相关产品推荐

