Roblox错误:MarketplaceService:PromptGamePassPurchase()玩家应该是类型的



我不能让我的Gamepass工作,因为这个。下面是我的代码:

local TENROBUXGUI = script.Parent
local TextButton = TENROBUXGUI.TextButton
TextButton.MouseButton1Up:Connect(function(hit)
local player = game.Players:GetPlayerFromCharacter(hit)
if player then
game:GetService("MarketplaceService"):PromptGamePassPurchase(player, 21187565)
end
end)

您似乎正在使用hit的方式相同,您会发现使用Touched事件触及游戏世界中的另一部分的BasePart。然而,由于这是一个GUI,它的工作方式不同。

根据文档,MouseButton1Up有两个数字参数,对应于用户在屏幕上点击/点击的确切x和y坐标。因为第一个参数对应的是x坐标值,而不是游戏世界中玩家的模型,所以它返回null。

所以,你要做的是引用game.Players.LocalPlayer来获得点击GUI的玩家的Player对象。

local TENROBUXGUI = script.Parent
local TextButton = TENROBUXGUI.TextButton
TextButton.MouseButton1Up:Connect(function()
local player = game.Players.LocalPlayer
if player then
game:GetService("MarketplaceService"):PromptGamePassPurchase(player, 21187565)
end
end)

相关内容

  • 没有找到相关文章

最新更新