Hey, ok so, i have a surface gui and on that surface gui i have three textbuttons each with the same script witch is here below
~~~~~~~~~~~~~~~~~
--Script in BuyButton part --ignore this part local click1 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Frame.tic1 local click2 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Frame.tic2 local click3 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Frame.tic3 local pay1 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Pay1 local pay2 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Pay2 local pay3 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Pay3 local pwait = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Frame.pwait local ccancel = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Customer_View").SurfaceGui.Frame.Cancel local cancel = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Worker_View").SurfaceGui.Frame.cancel local wclick1 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Worker_View").SurfaceGui.Frame.click1 local wclick2 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Worker_View").SurfaceGui.Frame.click2 local wclick3 = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Worker_View").SurfaceGui.Frame.click3 local Declined = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Worker_View").SurfaceGui.DECLINED local numgone = script.Parent.Parent.Parent.Parent.Parent:FindFirstChild("Worker_View").SurfaceGui.Frame.Frame.pick
-- setup local variables local MarketplaceService = game:GetService("MarketplaceService") local productId = 21992025
-- define function that will be called when purchase finished MarketplaceService.ProcessReceipt = function(receiptInfo)
-- find the player based on the PlayerId in receiptInfo for i, player in ipairs(game.Players:GetChildren()) do if player.userId == receiptInfo.PlayerId then -- check which product was purchased if receiptInfo.ProductId == productId then -- handle purchase
script.Parent.Parent.Parent.Parent.Parent.Worker_View.SurfaceGui.accept.Visible = true script.Parent.Parent.Parent.Parent.Parent.Worker_View.SurfaceGui.Frame.Frame.pick.Visible=false
wait(3) script.Parent.Parent.Parent.Parent.Parent.Worker_View.SurfaceGui.accept.Visible = false script.Parent.Parent.Parent.Parent.Parent.Worker_View.SurfaceGui.Frame.Frame.pick.Visible =true pwait.Visible = true click1.Visible = false click2.Visible = false click3.Visible = false pay1.Visible = false pay2.Visible = false pay3.Visible = false cancel.Visible = false wclick1.Visible = true wclick2.Visible = true wclick3.Visible = true ccancel.Visible = false
end end end -- tell ROBLOX that we have successfully handled the transaction return Enum.ProductPurchaseDecision.PurchaseGranted
end
**and in the Starterpack i have this local script **~~~~~~~~~~~~~~~~~ --LocalScript in StarterPack -- setup local variables local buyButton = game.Workspace.ComputerMechanics1.Customer_View.SurfaceGui.Frame.Pay1 local productId = 21992025 -- when player clicks on buy brick prompt him/her to buy a product buyButton.MouseButton1Click:connect(function() game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, productId) end) --LocalScript in StarterPack -- setup local variables local buyButton = game.Workspace.ComputerMechanics1.Customer_View.SurfaceGui.Frame.Pay2 local productId = 21992101 -- when player clicks on buy brick prompt him/her to buy a product buyButton.MouseButton1Click:connect(function() game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, productId) end) --LocalScript in StarterPack -- setup local variables local buyButton = game.Workspace.ComputerMechanics1.Customer_View.SurfaceGui.Frame.Pay3 local productId = 21992105 -- when player clicks on buy brick prompt him/her to buy a product buyButton.MouseButton1Click:connect(function() game:GetService("MarketplaceService"):PromptProductPurchase(game.Players.LocalPlayer, productId) end)
the problem is when someone click the first gui it prompts the developer product for them to buy and when they buy it nothing happens same with the third gui. but when some one buys the second gui it does what i want it to do which is located in the script. The only error i get when i go to play the game and i go to the developer console and after i bought the developer product is RbxUtility.DecodeJSON is deprecated, please use Game:GetService("HttpService"):JSONDecode() instead Thanks.