Facebook
From May - Roblox, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 149
  1. local Players = game:GetService("Players")
  2.  
  3. local teleporter = script.Parent
  4. local showPrompt = true
  5.  
  6. local placeID_Premium = 012345678
  7.  
  8. local function onTeleporterTouch(otherPart)
  9.  
  10.         local player = Players:GetPlayerFromCharacter(otherPart.Parent)
  11.         if not player then return end
  12.  
  13.         -- If the user already has Premium, teleport them to the Premium-only place
  14.         if player.MembershipType == Enum.MembershipType.Premium then
  15.                 TeleportService:Teleport(placeID_Premium, player)
  16.         -- Else, prompt Premium upgrade (use debounce to show it only once every few seconds)
  17.         else
  18.                 if showPrompt == false then return end
  19.                 showPrompt = false
  20.                 delay(5, function()
  21.                         showPrompt = true
  22.                 end)
  23.                 MarketplaceService:PromptPremiumPurchase(player)
  24.                 warn("Prompted Premium purchase")
  25.         end
  26. end
  27. teleporter.Touched:Connect(onTeleporterTouch)
  28.  
  29. -- If needed, use this event to know when the Premium modal is closed
  30. MarketplaceService.PromptPremiumPurchaseFinished:Connect(function(player)
  31.         warn("Premium modal closed")
  32. end)
  33.  
  34. -- Handle potential Premium purchase from outside the game while user is playing
  35. Players.PlayerMembershipChanged:Connect(function(player)
  36.         warn("Player membership changed; new membership is " .. tostring(player.MembershipType))
  37.         if player.MembershipType == Enum.MembershipType.Premium then
  38.                 -- Teleport player to the Premium-only place
  39.                 TeleportService:Teleport(placeID_Premium, player)
  40.         end
  41. end)