#lua #roblox
Вопрос:
Из-за этого я не могу заставить свой игровой билет работать. вот мой код:
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)
Ответ №1:
Вы, кажется, используете hit
то же самое, что вы нашли BasePart
бы, что касается другой части игрового мира, используя Touched
событие. Однако, поскольку это графический интерфейс, он работает по-другому.
Согласно документации, MouseButton1Up
имеет два числовых параметра, которые соответствуют точным координатам x и y, в которых пользователь нажимает/нажимает на свой экран. Поскольку первый параметр соответствует значению координаты x, а не Модели игрока в игровом мире, он возвращает значение null.
Поэтому вместо этого вы хотите обратиться к game.Players.LocalPlayer
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)