So, i made this portal script, if you have enough points then its guaranteed that you get access to the portals.

The problem is that it's teleporting everyone even though it's in a local script.

local Teleporter = game.Workspace.Teleporter
local Teleporter2 = game.Workspace.FirePortal

local Debounce = false

local leaderstats = game.Players.LocalPlayer:WaitForChild("leaderstats")
local Points = leaderstats.Points

	
local function teleportPlayer(place, cost)
		
if Points.Value >= cost and hit.Parent:FindFirstChild("Humanoid") and not Debounce then
	Debounce = true
		hit.Parent:WaitForChild("HumanoidRootPart").CFrame = place
	else
		print("Player cant afford being teleported")
	end	
end	
Teleporter.Touched:Connect(function(hit)
	teleportPlayer(game.Workspace.Home.CFrame * CFrame.new(0, 10, 0), 100000)
	wait(2)
	Debounce = false
end)

Teleporter2.Touched:Connect(function(hit)
	teleportPlayer(game.Workspace.Home1.CFrame * CFrame.new(0, 10, 0), 200000)
	wait(2)
	Debounce = false
end)

game.Workspace.Home.Touched:Connect(function(hit)
	teleportPlayer(game.Workspace.Teleporter.CFrame * CFrame.new(0, 10, 0), 100000)
	wait(2)
	Debounce = false
end)

game.Workspace.Home1.Touched:Connect(function(hit)
	teleportPlayer(game.Workspace.FirePortal.CFrame * CFrame.new(0, 10, 0), 200000)
	wait(2)
	Debounce = false
end)