Roblox Lua 错误值不是 Player 的有效成员,但我不尝试访问它
Posted
技术标签:
【中文标题】Roblox Lua 错误值不是 Player 的有效成员,但我不尝试访问它【英文标题】:Roblox Lua error Value is not a valid member of Player, I don't try accessing that though 【发布时间】:2020-07-23 12:05:07 【问题描述】:我正在尝试在 Roblox 上制作游戏,不久前我遇到了一个错误,我找不到修复并放弃了,我刚刚开始尝试再次修复它。当我尝试检查玩家是否有能力购买该物品时,我收到错误 Value is not a valid member of Player,这是我的代码来自哪里的错误
game:GetService("ReplicatedStorage"):WaitForChild("Shop"):WaitForChild("UpgradeClicks").OnServerEvent:Connect(function(player, price)
if player.leaderstats.Views.Value <= price.Value then
print("test")
end
end)
这是按下按钮时发生的代码
local RE = game:GetService("ReplicatedStorage").Shop.UpgradeClicks
local button = script.Parent
local price = script.Parent.Price
local player = game.Players.LocalPlayer
button.MouseButton1Click:Connect(function()
RE:FireServer(player, price)
end)
【问题讨论】:
【参考方案1】:尝试在不输入播放器变量的情况下调用 fireserver。
【讨论】:
我认为 player.leaderstats.Views.Value 是导致错误的原因,因此只会破坏脚本,我的意思是,如果我删除播放器部分,它可能会修复错误,因为它会破坏脚本大声笑【参考方案2】:当您调用FireServer()
时,调用它的播放器会自动添加为服务器回调中的第一个参数。
所以到达服务器的参数列表是:player, player, intValue。这就是为什么说 Player.Value 无效。
将您的按钮代码更改为不传入 LocalPlayer。
button.MouseButton1Click:Connect(function()
RE:FireServer(price)
end)
【讨论】:
当我这样做时,它会消除错误,但不会打印消息 MeDerp,您的问题中没有足够的信息让我弄清楚为什么player.leaderstats.Views.Value <= price.Value
是错误的。现在原始错误已修复,也许您应该尝试打印更多信息以了解发生了什么,或者使用更完整的代码示例提出另一个问题。
哦,我意识到了我的错误,我很笨,当我的意思是大于时,我做的比做的少。谢谢你帮助我以上是关于Roblox Lua 错误值不是 Player 的有效成员,但我不尝试访问它的主要内容,如果未能解决你的问题,请参考以下文章