Goto player
Key RequiredUniversal

Goto player

Universal ScriptFattahFattah 543 views 1.8K executesUpdated Dec 24, 2025
Unrated
00
Lua Script•117 lines (3595 chars)
-- PLAYER SELECT + TELEPORT GUI
-- Put this LocalScript in StarterPlayerScripts

local Players = game:GetService("Players")
local player = Players.LocalPlayer

---------------------------------------------------
-- GUI SETUP
---------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "PlayerSelectGUI"
gui.ResetOnSpawn = false
gui.Parent = player:WaitForChild("PlayerGui")

-- Dropdown frame
local dropdown = Instance.new("Frame")
dropdown.Size = UDim2.new(0,200,0,40)
dropdown.Position = UDim2.new(0.02,0,0.25,0)
dropdown.BackgroundColor3 = Color3.fromRGB(40,40,40)
dropdown.Parent = gui

local selectedLabel = Instance.new("TextButton")
selectedLabel.Size = UDim2.new(1,0,1,0)
selectedLabel.BackgroundColor3 = Color3.fromRGB(60,60,60)
selectedLabel.TextColor3 = Color3.fromRGB(255,255,255)
selectedLabel.Font = Enum.Font.GothamBold
selectedLabel.TextScaled = true
selectedLabel.Text = "Select Player"
selectedLabel.Parent = dropdown

-- List frame
local listFrame = Instance.new("Frame")
listFrame.Size = UDim2.new(1,0,0,0)
listFrame.Position = UDim2.new(0,0,1,0)
listFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
listFrame.ClipsDescendants = true
listFrame.Parent = dropdown

local UIList = Instance.new("UIListLayout")
UIList.Parent = listFrame

local expanded = false
local selectedPlayer = nil

---------------------------------------------------
-- POPULATE PLAYER LIST
---------------------------------------------------
local function refreshList()
	for _, child in ipairs(listFrame:GetChildren()) do
		if child:IsA("TextButton") then child:Destroy() end
	end

	for _, plr in ipairs(Players:GetPlayers()) do
		if plr ~= player then
			local btn = Instance.new("TextButton")
			btn.Size = UDim2.new(1,0,0,35)
			btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
			btn.TextColor3 = Color3.fromRGB(255,255,255)
			btn.Font = Enum.Font.Gotham
			btn.TextScaled = true
			btn.Text = plr.Name
			btn.Parent = listFrame

			btn.MouseButton1Click:Connect(function()
				selectedPlayer = plr
				selectedLabel.Text = "Selected: " .. plr.Name
				expanded = false
				listFrame:TweenSize(UDim2.new(1,0,0,0), "Out", "Quad", 0.25)
			end)
		end
	end
end

refreshList()

Players.PlayerAdded:Connect(refreshList)
Players.PlayerRemoving:Connect(refreshList)

---------------------------------------------------
-- EXPAND/COLLAPSE DROPDOWN
---------------------------------------------------
selectedLabel.MouseButton1Click:Connect(function()
	expanded = not expanded
	if expanded then
		local amount = #Players:GetPlayers() * 35
		listFrame:TweenSize(UDim2.new(1,0,0,amount), "Out", "Quad", 0.25)
	else
		listFrame:TweenSize(UDim2.new(1,0,0,0), "Out", "Quad", 0.25)
	end
end)

---------------------------------------------------
-- TELEPORT BUTTON
---------------------------------------------------
local tpBtn = Instance.new("TextButton")
tpBtn.Size = UDim2.new(0,200,0,50)
tpBtn.Position = UDim2.new(0.02,0,0.32,0)
tpBtn.BackgroundColor3 = Color3.fromRGB(0,150,150)
tpBtn.TextColor3 = Color3.fromRGB(255,255,255)
tpBtn.Font = Enum.Font.GothamBold
tpBtn.TextScaled = true
tpBtn.Text = "GO TO PLAYER"
tpBtn.Parent = gui

tpBtn.MouseButton1Click:Connect(function()
	if not selectedPlayer then return end

	local char = player.Character or player.CharacterAdded:Wait()
	local targetChar = selectedPlayer.Character
	if not targetChar then return end

	local hrp = char:FindFirstChild("HumanoidRootPart")
	local targetHrp = targetChar:FindFirstChild("HumanoidRootPart")
	if hrp and targetHrp then
		hrp.CFrame = targetHrp.CFrame + Vector3.new(0,2,0)
	end
end)

Features & Information

Goto player idk
#universal#Goto

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts