For some reason when a player touches the part, that starts the transition for all the players in the game. I just want it to affect the player that touched it.
The script is a local script, im not that dumb 
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local StarterGui = game:GetService("StarterGui")
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local soundsFolder = ReplicatedStorage.Sounds
local buttonsGui = script.Parent.Parent.Buttons
local transitionGui = script.Parent
local transitionIn = transitionGui.In
local transitionOut = transitionGui.Out
local shopTp = workspace.ScriptableObjects.ShopTp
local shopOpen = workspace.ScriptableObjects.ShopOpen
local swishSound = soundsFolder.TransitionSounds.Swish
local info = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut, 0, false, 0)
local tranPosInGoTo = UDim2.new(0.5,0,1.8,0)
local tranPosIn = UDim2.new(0.5,0,-0.73,0)
local tranPosOutGoTo = UDim2.new(0.5,0,-0.8,0)
local tranPosOut = UDim2.new(0.5,0,1.73,0)
local tranInTween = TweenService:Create(transitionIn, info, {Position = tranPosInGoTo})
local debounce = false
shopTp.Touched:Connect(function(hit)
if not debounce then
debounce = true
local playerCheck = Players:GetPlayerFromCharacter(hit.Parent)
if playerCheck then
transitionIn.Visible = true
tranInTween:Play()
task.wait(0.2)
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Backpack, false)
swishSound:Play()
task.wait(0.3)
playerCheck.Character:SetPrimaryPartCFrame(shopOpen.CFrame + Vector3.new(0,5,0))
buttonsGui.Enabled = false
task.wait(0.5)
transitionIn.Visible = false
transitionIn.Position = tranPosIn
debounce = false
end
end
end)
