
KeylessUniversal

-- Settings & Variables
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local rootPart = character:WaitForChild("HumanoidRootPart")
local runService = game:GetService("RunService")
local slots = {
[1] = {savedCFrame = nil, waypointPart = nil, color = Color3.fromRGB(46, 204, 113)}, -- Green
[2] = {savedCFrame = nil, waypointPart = nil, color = Color3.fromRGB(52, 152, 219)}, -- Blue
[3] = {savedCFrame = nil, waypointPart = nil, color = Color3.fromRGB(155, 89, 182)} -- Purple
}
local currentSlot = 1
-- 1. GUI Construction
local screenGui = Instance.new("ScreenGui", player.PlayerGui)
screenGui.Name = "MultiWaypointSystem"
screenGui.ResetOnSpawn = false
-- // MASSIVE CREDIT POP-UP (Omni_mark2015) // --
local creditFrame = Instance.new("Frame", screenGui)
creditFrame.Size = UDim2.new(0, 500, 0, 100)
creditFrame.Position = UDim2.new(1, 50, 0.45, 0) -- Starts off-screen
creditFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
creditFrame.BackgroundTransparency = 0.1
Instance.new("UICorner", creditFrame).CornerRadius = UDim.new(0, 15)
local creditStroke = Instance.new("UIStroke", creditFrame)
creditStroke.Color = Color3.fromRGB(255, 255, 255)
creditStroke.Thickness = 3
local creditLabel = Instance.new("TextLabel", creditFrame)
creditLabel.Size = UDim2.new(1, 0, 1, 0)
creditLabel.Text = "POWERED BY OMNI_MARK2015"
creditLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
creditLabel.Font = Enum.Font.GothamBold
creditLabel.TextSize = 24
creditLabel.BackgroundTransparency = 1
-- Animation for Credit
task.spawn(function()
task.wait(0.5)
creditFrame:TweenPosition(UDim2.new(0.5, -250, 0.45, 0), "Out", "Quint", 1.2) -- Center Screen
task.wait(6)
creditFrame:TweenPosition(UDim2.new(1, 50, 0.45, 0), "In", "Quad", 1) -- Hide
end)
-- Main Menu
local mainFrame = Instance.new("Frame", screenGui)
mainFrame.Size = UDim2.new(0, 180, 0, 220)
mainFrame.Position = UDim2.new(0.05, 0, 0.4, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
mainFrame.BackgroundTransparency = 0.2
mainFrame.Active = true
mainFrame.Draggable = true
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 10)
local title = Instance.new("TextLabel", mainFrame)
title.Size = UDim2.new(1, 0, 0.15, 0)
title.Text = "WAYPOINTS"
title.TextColor3 = Color3.new(1, 1, 1)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
local slotFrame = Instance.new("Frame", mainFrame)
slotFrame.Size = UDim2.new(0.9, 0, 0.2, 0)
slotFrame.Position = UDim2.new(0.05, 0, 0.18, 0)
slotFrame.BackgroundTransparency = 1
local slotBtns = {}
for i = 1, 3 do
local sBtn = Instance.new("TextButton", slotFrame)
sBtn.Size = UDim2.new(0.3, 0, 0.8, 0)
sBtn.Position = UDim2.new((i-1)*0.35, 0, 0, 0)
sBtn.Text = tostring(i)
sBtn.BackgroundColor3 = (i == 1) and Color3.new(1,1,1) or Color3.new(0.2, 0.2, 0.2)
sBtn.TextColor3 = (i == 1) and Color3.new(0,0,0) or Color3.new(1,1,1)
Instance.new("UICorner", sBtn)
slotBtns[i] = sBtn
end
local function createButton(name, text, pos, color)
local btn = Instance.new("TextButton", mainFrame)
btn.Name = name; btn.Text = text; btn.Size = UDim2.new(0.9, 0, 0.18, 0)
btn.Position = pos; btn.BackgroundColor3 = color; btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.GothamBold; btn.TextSize = 14
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
return btn
end
local setBtn = createButton("SetBtn", "SET POINT", UDim2.new(0.05, 0, 0.42, 0), Color3.fromRGB(46, 204, 113))
local tpBtn = createButton("TpBtn", "RETURN", UDim2.new(0.05, 0, 0.62, 0), Color3.fromRGB(52, 152, 219))
local clearBtn = createButton("ClearBtn", "CLEAR SLOT", UDim2.new(0.05, 0, 0.82, 0), Color3.fromRGB(231, 76, 60))
-- 2. Visuals Manager
local function updateVisuals(slotIndex)
local data = slots[slotIndex]
if data.waypointPart then data.waypointPart:Destroy() end
if not data.savedCFrame then return end
local pos = data.savedCFrame.Position - Vector3.new(0, 2, 0)
local part = Instance.new("Part", workspace)
part.Size = Vector3.new(1.5, 1.5, 1.5)
part.Position = pos; part.Anchored = true; part.CanCollide = false
part.Transparency = 0.4; part.Color = data.color; part.Material = Enum.Material.Neon
data.waypointPart = part
local bb = Instance.new("BillboardGui", part)
bb.Size = UDim2.new(0, 120, 0, 50); bb.AlwaysOnTop = true; bb.ExtentsOffset = Vector3.new(0, 3, 0)
local label = Instance.new("TextLabel", bb)
label.Size = UDim2.new(1, 0, 1, 0); label.BackgroundTransparency = 1
label.TextColor3 = data.color; label.TextStrokeTransparency = 0; label.Font = Enum.Font.GothamBold
local att0 = Instance.new("Attachment", part)
local att1 = Instance.new("Attachment", rootPart)
local beam = Instance.new("Beam", part)
beam.Attachment0 = att0; beam.Attachment1 = att1; beam.Width0 = 0.15; beam.Width1 = 0.15
beam.Color = ColorSequence.new(data.color); beam.FaceCamera = true; beam.Transparency = NumberSequence.new(0.2)
runService.RenderStepped:Connect(function()
if part.Parent and rootPart then
local dist = math.floor((rootPart.Position - part.Position).Magnitude)
label.Text = "SLOT "..slotIndex.."\n"..dist.." studs"
end
end)
end
-- 3. Input Logic
for i, btn in pairs(slotBtns) do
btn.MouseButton1Click:Connect(function()
currentSlot = i
for j, b in pairs(slotBtns) do
b.BackgroundColor3 = (j == i) and Color3.new(1,1,1) or Color3.new(0.2, 0.2, 0.2)
b.TextColor3 = (j == i) and Color3.new(0,0,0) or Color3.new(1,1,1)
end
end)
end
setBtn.MouseButton1Click:Connect(function()
character = player.Character or player.CharacterAdded:Wait()
rootPart = character:WaitForChild("HumanoidRootPart")
slots[currentSlot].savedCFrame = rootPart.CFrame
updateVisuals(currentSlot)
end)
tpBtn.MouseButton1Click:Connect(function()
local data = slots[currentSlot]
character = player.Character or player.CharacterAdded:Wait()
if data.savedCFrame and character then
character:SetPrimaryPartCFrame(data.savedCFrame + Vector3.new(0, 3, 0))
end
end)
clearBtn.MouseButton1Click:Connect(function()
if slots[currentSlot].waypointPart then slots[currentSlot].waypointPart:Destroy() end
slots[currentSlot].savedCFrame = nil
end)No comments yet for this script.



