
KeylessUniversal

-- SERVICES
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
-- GUI SETUP
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ExclamationMarkGui"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = game.CoreGui
-- RE-ADD GUI AFTER RESPAWN
LocalPlayer.CharacterAdded:Connect(function()
if not screenGui.Parent then
screenGui.Parent = game.CoreGui
end
end)
-- Main GUI Frame
local mainFrame = Instance.new("Frame", screenGui)
mainFrame.Size = UDim2.new(0, 400, 0, 300)
mainFrame.Position = UDim2.new(0.5, -200, 0.5, -150)
mainFrame.BackgroundColor3 = Color3.new(0, 0, 0)
mainFrame.BorderSizePixel = 0
-- Rainbow Title
local rainbowLabel = Instance.new("TextLabel", mainFrame)
rainbowLabel.Size = UDim2.new(1, 0, 0, 50)
rainbowLabel.Position = UDim2.new(0, 0, 0, 0)
rainbowLabel.BackgroundTransparency = 1
rainbowLabel.Text = "ExclamationMark Gui V1"
rainbowLabel.Font = Enum.Font.SourceSansBold
rainbowLabel.TextSize = 28
rainbowLabel.TextStrokeTransparency = 0.7
rainbowLabel.TextColor3 = Color3.new(1, 0, 0)
spawn(function()
local t = 0
while true do
t = t + 0.01
rainbowLabel.TextColor3 = Color3.fromHSV(t % 1, 1, 1)
wait(0.05)
end
end)
-- Drag support for mainFrame
do
local dragging, dragInput, dragStart, startPos
local function update(input)
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
mainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
mainFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UIS.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
end
-- ESP Button (center)
local espButton = Instance.new("TextButton", mainFrame)
espButton.Size = UDim2.new(0, 100, 0, 40)
espButton.Position = UDim2.new(0.5, -50, 0.6, 0)
espButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
espButton.Text = "ESP"
espButton.TextColor3 = Color3.new(1, 1, 1)
espButton.Font = Enum.Font.SourceSansBold
espButton.TextSize = 24
espButton.BorderSizePixel = 0
-- Infinite Yield Button (right)
local infiniteYieldButton = Instance.new("TextButton", mainFrame)
infiniteYieldButton.Size = UDim2.new(0, 100, 0, 40)
infiniteYieldButton.Position = UDim2.new(1, -110, 0.6, 0)
infiniteYieldButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
infiniteYieldButton.Text = "Infinite Yield"
infiniteYieldButton.TextColor3 = Color3.new(1, 1, 1)
infiniteYieldButton.Font = Enum.Font.SourceSansBold
infiniteYieldButton.TextSize = 20
infiniteYieldButton.BorderSizePixel = 0
infiniteYieldButton.MouseButton1Click:Connect(function()
loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
end)
-- Teleport Menu Button (left)
local teleportButton = Instance.new("TextButton", mainFrame)
teleportButton.Size = UDim2.new(0, 100, 0, 40)
teleportButton.Position = UDim2.new(0, 10, 0.6, 0)
teleportButton.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
teleportButton.Text = "Teleport Menu"
teleportButton.TextColor3 = Color3.new(1, 1, 1)
teleportButton.Font = Enum.Font.SourceSansBold
teleportButton.TextSize = 20
teleportButton.BorderSizePixel = 0
-- Teleport Menu Logic
teleportButton.MouseButton1Click:Connect(function()
local tg = Instance.new("ScreenGui", game.CoreGui)
tg.Name = "TeleportMenuGui"
tg.ResetOnSpawn = false
tg.IgnoreGuiInset = true
local tf = Instance.new("Frame", tg)
tf.Size = UDim2.new(0, 250, 0, 300)
tf.Position = UDim2.new(0.5, -125, 0.5, -150)
tf.BackgroundColor3 = Color3.new(0, 0, 0)
tf.BorderSizePixel = 0
-- Title
local title = Instance.new("TextLabel", tf)
title.Size = UDim2.new(1, 0, 0, 40)
title.BackgroundTransparency = 1
title.Text = "Teleport Menu"
title.Font = Enum.Font.SourceSansBold
title.TextSize = 24
title.TextColor3 = Color3.new(1, 0, 0)
title.TextStrokeTransparency = 0.7
-- Scroll list
local sc = Instance.new("ScrollingFrame", tf)
sc.Size = UDim2.new(1, 0, 1, -40)
sc.Position = UDim2.new(0, 0, 0, 40)
sc.BackgroundTransparency = 1
sc.ScrollBarThickness = 8
sc.AutomaticCanvasSize = Enum.AutomaticSize.Y
sc.ClipsDescendants = true
local layout = Instance.new("UIListLayout", sc)
layout.Padding = UDim.new(0, 5)
layout.SortOrder = Enum.SortOrder.Name
local btns = {}
local function makeBtn(plr)
if plr == LocalPlayer or btns[plr] then return end
local b = Instance.new("TextButton", sc)
b.Size = UDim2.new(1, -10, 0, 40)
b.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
b.Text = plr.Name
b.TextColor3 = Color3.new(1, 1, 1)
b.Font = Enum.Font.SourceSansBold
b.TextSize = 18
b.BorderSizePixel = 0
b.MouseButton1Click:Connect(function()
if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
and LocalPlayer.Character and LocalPlayer.Character.PrimaryPart then
LocalPlayer.Character:SetPrimaryPartCFrame(
plr.Character.HumanoidRootPart.CFrame
)
end
end)
btns[plr] = b
end
local function removeBtn(plr)
if btns[plr] then
btns[plr]:Destroy()
btns[plr] = nil
end
end
for _, plr in pairs(Players:GetPlayers()) do makeBtn(plr) end
Players.PlayerAdded:Connect(makeBtn)
Players.PlayerRemoving:Connect(removeBtn)
-- Dragging for teleportFrame
do
local d, di, ds, sp
local function up(inp)
local dt = inp.Position - ds
tf.Position = UDim2.new(sp.X.Scale, sp.X.Offset+dt.X,
sp.Y.Scale, sp.Y.Offset+dt.Y)
end
tf.InputBegan:Connect(function(inp)
if inp.UserInputType==Enum.UserInputType.MouseButton1
or inp.UserInputType==Enum.UserInputType.Touch then
d = true; ds = inp.Position; sp = tf.Position
inp.Changed:Connect(function()
if inp.UserInputState==Enum.UserInputState.End then d=false end
end)
end
end)
tf.InputChanged:Connect(function(inp)
if inp.UserInputType==Enum.UserInputType.MouseMovement
or inp.UserInputType==Enum.UserInputType.Touch then di=inp end
end)
UIS.InputChanged:Connect(function(inp)
if inp==di and d then up(inp) end
end)
end
end)
-- ESP Logic
local espOn = false
local function highlight(plr)
if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
and not plr.Character:FindFirstChild("ESPHighlight") then
local h = Instance.new("Highlight", plr.Character)
h.Adornee = plr.Character
h.FillColor = Color3.fromRGB(255, 0, 0)
h.OutlineColor = Color3.new(1,1,1)
h.FillTransparency = 0.5
h.OutlineTransparency = 0
h.Name = "ESPHighlight"
end
end
local function runESP()
while espOn do
for _, plr in pairs(Players:GetPlayers()) do
if plr~=LocalPlayer then highlight(plr) end
end
wait(1)
end
end
espButton.MouseButton1Click:Connect(function()
espOn = not espOn
espButton.Text = espOn and "ESP: ON" or "ESP"
if espOn then
runESP()
end
end)



Script made by ExclamationMark (TeamAstralX) on Roblox