
Key Required
BYPASS INSTANT STEAL ONLY FOR MODDEDS or others
Lua Script•412 lines (12563 chars)
-- Hub "lmaoh2" Roblox con Key System y GUI decorada
-- Author: Lmaohp2
-- Github: https://gist.github.com/Lmaohp2
-- Note: This script is public. You can use it, but please give credit to the author.
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local plr = Players.LocalPlayer
local savedPos = nil
local noclip = false
local hubVisible = true
-- ===== KEY SYSTEM =====
local correctKey = "LMAOH2"
local enteredKey = ""
-- Key input GUI
local function requestKey()
local gui = Instance.new("ScreenGui")
gui.Name = "KeySystem"
gui.ResetOnSpawn = false
gui.Parent = plr:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 400, 0, 150) -- más grande
frame.Position = UDim2.new(0.5, -200, 0.5, -75)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 2
frame.Parent = gui
frame.BackgroundTransparency = 0.1
frame.BorderColor3 = Color3.fromRGB(255,255,255)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -20, 0, 40)
title.Position = UDim2.new(0, 10, 0, 10)
title.BackgroundTransparency = 1
title.Text = "ENTER HUB KEY"
title.Font = Enum.Font.SourceSansBold
title.TextScaled = true
title.TextColor3 = Color3.fromRGB(255,255,255)
title.Parent = frame
local textbox = Instance.new("TextBox")
textbox.Size = UDim2.new(0, 380, 0, 40)
textbox.Position = UDim2.new(0, 10, 0, 60)
textbox.PlaceholderText = "Enter Key..."
textbox.ClearTextOnFocus = true
textbox.Parent = frame
textbox.TextScaled = true
textbox.TextColor3 = Color3.fromRGB(255,255,255)
textbox.BackgroundColor3 = Color3.fromRGB(60,60,60)
textbox.BorderSizePixel = 1
local button = Instance.new("TextButton")
button.Size = UDim2.new(0, 380, 0, 40)
button.Position = UDim2.new(0, 10, 0, 110)
button.Text = "Submit"
button.TextScaled = true
button.TextColor3 = Color3.fromRGB(255,255,255)
button.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
button.BorderSizePixel = 1
button.Parent = frame
local completed = Instance.new("BoolValue")
completed.Value = false
completed.Name = "KeyCompleted"
completed.Parent = gui
button.MouseButton1Click:Connect(function()
enteredKey = textbox.Text
if enteredKey == correctKey then
completed.Value = true
gui:Destroy()
else
textbox.Text = ""
textbox.PlaceholderText = "Wrong Key!"
end
end)
return completed
end
local keyCheck = requestKey()
keyCheck.Changed:Wait() -- espera hasta que el jugador ingrese la key correcta
-- ===== HUB GUI =====
local function getChar()
if not plr.Character or not plr.Character:FindFirstChild("HumanoidRootPart") then
plr.CharacterAdded:Wait()
end
return plr.Character
end
local function getPlayerGui()
return plr:WaitForChild("PlayerGui")
end
-- ScreenGui
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "lmaoh2"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = getPlayerGui()
-- Frame
local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 250, 0, 220) -- más alto
Frame.Position = UDim2.new(0.5, -125, 0.5, -110)
Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Frame.BorderSizePixel = 2
Frame.Parent = ScreenGui
Frame.BackgroundTransparency = 0.05
Frame.BorderColor3 = Color3.fromRGB(255,255,255)
Frame.Rotation = 0
Frame.ClipsDescendants = true
Frame.AnchorPoint = Vector2.new(0.5,0.5)
-- Drag functionality
local dragging = false
local dragInput, dragStart, startPos
Frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = Frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
Frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
RunService.RenderStepped:Connect(function()
if dragging and dragInput then
local delta = dragInput.Position - dragStart
Frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
-- Button creation
local function makeButton(text, posY)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 220, 0, 40)
btn.Position = UDim2.new(0, 15, 0, posY)
btn.Text = text
btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.SourceSansBold
btn.TextScaled = true
btn.Parent = Frame
btn.BorderSizePixel = 1
btn.AutoButtonColor = true
btn.ClipsDescendants = true
return btn
end
local TPButton = makeButton("TP (Save Pos)", 15)
local TP2Button = makeButton("TP2 (Go To Saved Pos)", 65)
local TrasButton = makeButton("TRAS (Noclip)", 115)
-- Author label below TRAS
local AuthorLabel = Instance.new("TextLabel")
AuthorLabel.Size = UDim2.new(0, 220, 0, 30)
AuthorLabel.Position = UDim2.new(0, 15, 0, 175)
AuthorLabel.BackgroundTransparency = 1
AuthorLabel.Text = "AUTHOR: lmaoh2"
AuthorLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
AuthorLabel.Font = Enum.Font.SourceSansBold
AuthorLabel.TextScaled = true
AuthorLabel.Parent = Frame
-- TP functionality
TPButton.MouseButton1Click:Connect(function()
local char = getChar()
local hrp = char:WaitForChild("HumanoidRootPart")
savedPos = hrp.CFrame
TPButton.Text = "Pos Saved!"
task.wait(1)
TPButton.Text = "TP (Save Pos)"
end)
-- TP2 functionality
TP2Button.MouseButton1Click:Connect(function()
if savedPos then
local char = getChar()
local hrp = char:WaitForChild("HumanoidRootPart")
hrp.CFrame = savedPos
end
end)
-- TRAS (noclip)
TrasButton.MouseButton1Click:Connect(function()
noclip = not noclip
if noclip then
TrasButton.Text = "TRAS (ON)"
else
TrasButton.Text = "TRAS (OFF)"
end
end)
-- Noclip loop
RunService.Stepped:Connect(function()
local char = plr.Character
if noclip and char then
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end
end)
-- Toggle GUI with K
UIS.InputBegan:Connect(function(input, gp)
if not gp and input.KeyCode == Enum.KeyCode.K then
hubVisible = not hubVisible
Frame.Visible = hubVisible
end
end)
-- RGB text and frame
local rainbowSpeed = 2
RunService.RenderStepped:Connect(function()
local t = tick() * rainbowSpeed
local r = math.floor((math.sin(t) * 127 + 128))
local g = math.floor((math.sin(t + 2) * 127 + 128))
local b = math.floor((math.sin(t + 4) * 127 + 128))
local color = Color3.fromRGB(r, g, b)
TPButton.TextColor3 = color
TP2Button.TextColor3 = color
TrasButton.TextColor3 = color
AuthorLabel.TextColor3 = color
Frame.BackgroundColor3 = Color3.fromRGB(255-r, 255-g, 255-b)
end)
--[[
WORKING PLAYER ESP: Rainbow Name + Distance + Small Rainbow Line
Place this LocalScript in StarterPlayer -> StarterPlayerScripts
- BillboardGui parented to LocalPlayer.PlayerGui (must be there to display)
- Single RenderStepped loop updates all players (no per-player loops)
- Ignores NPCs and ignores local player
--]]
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
-- Helpers
local function rainbowColor(t)
return Color3.fromHSV((t % 5) / 5, 1, 1)
end
-- Storage for ESP items
-- keys = Player, value = {billboard = BillboardGui, nameLabel = TextLabel, distLabel = TextLabel, line = Frame}
local espItems = {}
local function makeBillboardForCharacter(player, character)
if not character then return end
local head = character:FindFirstChild("Head")
local hrp = character:FindFirstChild("HumanoidRootPart")
local hum = character:FindFirstChild("Humanoid")
if not head or not hrp or not hum then return end
-- Create root folder inside PlayerGui to hold the billboard
local container = Instance.new("Folder")
container.Name = "ESP_Container_" .. player.UserId
container.Parent = PlayerGui
local billboard = Instance.new("BillboardGui")
billboard.Name = "ESP_Billboard"
billboard.Adornee = head
billboard.AlwaysOnTop = true
billboard.Size = UDim2.new(4, 0, 2, 0)
billboard.StudsOffset = Vector3.new(0, 1.8, 0)
billboard.Parent = container
-- Name label (top)
local nameLabel = Instance.new("TextLabel")
nameLabel.Name = "ESP_Name"
nameLabel.Size = UDim2.new(1, 0, 0.6, 0)
nameLabel.Position = UDim2.new(0, 0, 0, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.TextScaled = true
nameLabel.Font = Enum.Font.GothamBold
nameLabel.TextStrokeTransparency = 0.6
nameLabel.Parent = billboard
-- Distance label (under name)
local distLabel = Instance.new("TextLabel")
distLabel.Name = "ESP_Distance"
distLabel.Size = UDim2.new(1, 0, 0.35, 0)
distLabel.Position = UDim2.new(0, 0, 0.62, 0)
distLabel.BackgroundTransparency = 1
distLabel.TextScaled = true
distLabel.Font = Enum.Font.Gotham
distLabel.TextColor3 = Color3.new(1,1,1)
distLabel.TextStrokeTransparency = 0.6
distLabel.Parent = billboard
-- small line (frame) under everything
local line = Instance.new("Frame")
line.Name = "ESP_Line"
line.Size = UDim2.new(0.8, 0, 0.08, 0)
line.Position = UDim2.new(0.1, 0, 0.95, 0)
line.AnchorPoint = Vector2.new(0, 1)
line.BorderSizePixel = 0
line.Parent = billboard
espItems[player] = {
container = container,
billboard = billboard,
nameLabel = nameLabel,
distLabel = distLabel,
line = line
}
end
local function removeESP(player)
local it = espItems[player]
if it then
if it.container and it.container.Parent then it.container:Destroy() end
espItems[player] = nil
end
end
-- When a player's character spawns, create the billboard (but ignore localplayer)
local function onCharacterAddedForPlayer(player)
if player == LocalPlayer then return end
local character = player.Character
if not character then return end
-- small delay to allow parts to exist
task.delay(0.15, function()
-- safety: ensure still valid
if not player.Character then return end
-- create or recreate ESP
removeESP(player)
makeBillboardForCharacter(player, player.Character)
end)
end
-- Player added / removed handlers
Players.PlayerAdded:Connect(function(plr)
if plr == LocalPlayer then return end
plr.CharacterAdded:Connect(function() onCharacterAddedForPlayer(plr) end)
-- If character already exists (rare), create immediately
if plr.Character then onCharacterAddedForPlayer(plr) end
end)
Players.PlayerRemoving:Connect(function(plr)
removeESP(plr)
end)
-- Initialize existing players
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LocalPlayer then
if plr.Character then
onCharacterAddedForPlayer(plr)
end
plr.CharacterAdded:Connect(function() onCharacterAddedForPlayer(plr) end)
end
end
-- Single RenderStepped to update rainbow and distance
RunService.RenderStepped:Connect(function()
local now = tick()
local myRoot = (LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart"))
for plr, data in pairs(espItems) do
-- validate
if not plr or not plr.Parent then
removeESP(plr)
else
local char = plr.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then
removeESP(plr)
else
local hrp = char.HumanoidRootPart
-- update name rainbow
local color = rainbowColor(now + (plr.UserId % 10) * 0.1) -- small offset per player
data.nameLabel.TextColor3 = color
data.line.BackgroundColor3 = color
-- update name text and distance
data.nameLabel.Text = plr.Name
if myRoot then
local dist = math.floor((myRoot.Position - hrp.Position).Magnitude)
data.distLabel.Text = tostring(dist) .. "m"
else
data.distLabel.Text = "--m"
end
end
end
end
end)Features & Information
bypass instant steal
noclip
script made for me
KEY: LMAOH2
ESP ADDED

Try in steal a latamrot!
if that kicks you, try rejoin is the anticheat from game
and wait loading he menu