
KeylessUniversal

local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local player = Players.LocalPlayer
--------------------------------------------------
-- GUI
--------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Parent = player.PlayerGui
gui.ResetOnSpawn = false
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,260,0,260)
frame.Position = UDim2.new(0,50,0.5,-130)
frame.BackgroundColor3 = Color3.fromRGB(20,20,20)
frame.Parent = gui
--------------------------------------------------
-- Title
--------------------------------------------------
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,35)
title.Text = "Back TP Control"
title.TextScaled = true
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)
title.Parent = frame
--------------------------------------------------
-- Close Button
--------------------------------------------------
local close = Instance.new("TextButton")
close.Size = UDim2.new(0,30,0,30)
close.Position = UDim2.new(1,-35,0,5)
close.Text = "X"
close.TextScaled = true
close.BackgroundColor3 = Color3.fromRGB(200,60,60)
close.Parent = frame
--------------------------------------------------
-- Toggle Button
--------------------------------------------------
local toggle = Instance.new("TextButton")
toggle.Size = UDim2.new(1,-20,0,45)
toggle.Position = UDim2.new(0,10,0,40)
toggle.Text = "OFF"
toggle.TextScaled = true
toggle.BackgroundColor3 = Color3.fromRGB(200,60,60)
toggle.Parent = frame
--------------------------------------------------
-- Player Counter
--------------------------------------------------
local playerLabel = Instance.new("TextLabel")
playerLabel.Size = UDim2.new(1,0,0,25)
playerLabel.Position = UDim2.new(0,0,0,90)
playerLabel.BackgroundTransparency = 1
playerLabel.TextColor3 = Color3.fromRGB(0,255,120)
playerLabel.TextScaled = true
playerLabel.Parent = frame
--------------------------------------------------
-- Delay
--------------------------------------------------
local delayBox = Instance.new("TextBox")
delayBox.Size = UDim2.new(1,-20,0,35)
delayBox.Position = UDim2.new(0,10,0,120)
delayBox.Text = "0.5"
delayBox.PlaceholderText = "Delay"
delayBox.Parent = frame
--------------------------------------------------
-- Offset Z
--------------------------------------------------
local offsetZ = Instance.new("TextBox")
offsetZ.Size = UDim2.new(1,-20,0,35)
offsetZ.Position = UDim2.new(0,10,0,160)
offsetZ.Text = "3"
offsetZ.PlaceholderText = "Offset Z"
offsetZ.Parent = frame
--------------------------------------------------
-- Drag system (для телефона)
--------------------------------------------------
local dragging = false
local dragStart
local startPos
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = frame.Position
end
end)
frame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = false
end
end)
UIS.InputChanged:Connect(function(input)
if dragging then
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
--------------------------------------------------
-- Collapse GUI
--------------------------------------------------
local collapsed = false
close.MouseButton1Click:Connect(function()
collapsed = not collapsed
if collapsed then
for _,v in pairs(frame:GetChildren()) do
if v ~= title and v ~= close then
v.Visible = false
end
end
frame.Size = UDim2.new(0,260,0,40)
else
for _,v in pairs(frame:GetChildren()) do
v.Visible = true
end
frame.Size = UDim2.new(0,260,0,260)
end
end)
--------------------------------------------------
-- Player Update
--------------------------------------------------
local function updateCount()
playerLabel.Text = "Valid Players: "..(#Players:GetPlayers()-1)
end
Players.PlayerAdded:Connect(updateCount)
Players.PlayerRemoving:Connect(updateCount)
updateCount()
--------------------------------------------------
-- TP System
--------------------------------------------------
local running = false
local index = 1
toggle.MouseButton1Click:Connect(function()
running = not running
if running then
toggle.Text = "ON"
toggle.BackgroundColor3 = Color3.fromRGB(60,200,100)
else
toggle.Text = "OFF"
toggle.BackgroundColor3 = Color3.fromRGB(200,60,60)
end
end)
--------------------------------------------------
-- Loop
--------------------------------------------------
while true do
local delayTime = tonumber(delayBox.Text) or 0.5
task.wait(delayTime)
if running then
local list = Players:GetPlayers()
if #list > 1 then
if index > #list then
index = 1
end
local target = list[index]
if target ~= player and target.Character then
local char = player.Character
local tchar = target.Character
if char and tchar then
local hrp = char:FindFirstChild("HumanoidRootPart")
local thrp = tchar:FindFirstChild("HumanoidRootPart")
if hrp and thrp then
local z = tonumber(offsetZ.Text) or 3
hrp.CFrame = thrp.CFrame * CFrame.new(0,0,z)
end
end
end
index += 1
end
end
endNo comments yet for this script.



