So i created this gamepass script, i know it is bad organized but i just need some advice and help.

And if you are extra cool give me the script :)

Script:

local MarketPlaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")

local PromptSpeed = game.Workspace:WaitForChild("PromptSpeed")
local PromptBox = game.Workspace:WaitForChild("PromptPart")
local PromptPower = game.Workspace:WaitForChild("PromptJump")
local PromptVip = game.Workspace:WaitForChild("PromptVIP")

local function OnPromptPurchase(player, gamepassId)
	
	local HasPass = false
	
	local Humanoid = player.Parent:FindFirstChildOfClass("Humanoid")
	
	if (Humanoid) then
		player = game.Players:GetPlayerFromCharacter(player.Parent)
		
	HasPass = MarketPlaceService:UserOwnsGamePassAsync(player.UserId, gamepassId)	
	end
	
	if HasPass then print("Player has the gamepass already") return end
	
	if not HasPass then
		PromptSpeed.Touched:Connect(function(player)
			MarketPlaceService:PromptGamePassPurchase(player, 8638546)
			end)
				
				if not HasPass then
					PromptBox.Touched:Connect(function(player)
						MarketPlaceService:PromptGamePassPurchase(player, 8582273)
				end)
					if not HasPass then
						PromptPower.Touched:Connect(function(player)
							MarketPlaceService:PromptGamePassPurchase(player, 8796152)
					end)
						if not HasPass then
							PromptVip.Touched:Connect(function(player)
								MarketPlaceService:PromptGamePassPurchase(player, 8757181)
						end)
					end
					end
					end
					end
					end