
Key Required VerifiedUniversal

-- MONOCROMA HUB
local P=game:GetService("Players")
local L=game:GetService("Lighting")
local R=game:GetService("RunService")
local U=game:GetService("UserInputService")
local T=game:GetService("TeleportService")
local TS=game:GetService("TweenService")
local CS=game:GetService("CollectionService")
local plr=P.LocalPlayer
local pg=plr:WaitForChild("PlayerGui")
local old=pg:FindFirstChild("MonocromaHub")
if old then old:Destroy() end
local C={
bg=Color3.fromRGB(10,10,12),panel=Color3.fromRGB(17,17,20),
el=Color3.fromRGB(25,25,29),hover=Color3.fromRGB(35,35,40),
white=Color3.fromRGB(240,240,240),gray=Color3.fromRGB(150,150,155),
green=Color3.fromRGB(0,255,100),red=Color3.fromRGB(255,65,65)
}
local gui=Instance.new("ScreenGui",pg)
gui.Name="MonocromaHub"
gui.ResetOnSpawn=false
gui.IgnoreGuiInset=true
gui.ZIndexBehavior=Enum.ZIndexBehavior.Sibling
local main=Instance.new("Frame",gui)
main.Size=UDim2.fromOffset(600,390)
main.Position=UDim2.new(.5,-300,.5,-195)
main.BackgroundColor3=C.bg
main.BorderSizePixel=0
main.Active=true
Instance.new("UICorner",main).CornerRadius=UDim.new(0,12)
local stroke=Instance.new("UIStroke",main)
stroke.Color=Color3.fromRGB(48,48,53)
local head=Instance.new("Frame",main)
head.Size=UDim2.new(1,0,0,55)
head.BackgroundColor3=C.panel
head.BorderSizePixel=0
local title=Instance.new("TextLabel",head)
title.BackgroundTransparency=1
title.Position=UDim2.fromOffset(17,7)
title.Size=UDim2.new(1,-140,0,25)
title.Text="MONOCROMA"
title.TextColor3=C.white
title.TextSize=18
title.Font=Enum.Font.GothamBold
title.TextXAlignment=Enum.TextXAlignment.Left
local sub=Instance.new("TextLabel",head)
sub.BackgroundTransparency=1
sub.Position=UDim2.fromOffset(18,31)
sub.Size=UDim2.new(1,-140,0,16)
sub.Text="Universal Hub"
sub.TextColor3=C.gray
sub.TextSize=10
sub.Font=Enum.Font.Gotham
local min=Instance.new("TextButton",head)
min.Size=UDim2.fromOffset(34,30)
min.Position=UDim2.new(1,-80,0,12)
min.Text="—"
min.TextColor3=C.white
min.TextSize=18
min.BackgroundColor3=C.el
Instance.new("UICorner",min).CornerRadius=UDim.new(0,7)
local close=Instance.new("TextButton",head)
close.Size=UDim2.fromOffset(34,30)
close.Position=UDim2.new(1,-40,0,12)
close.Text="×"
close.TextColor3=C.red
close.TextSize=20
close.BackgroundColor3=C.el
Instance.new("UICorner",close).CornerRadius=UDim.new(0,7)
local side=Instance.new("Frame",main)
side.Position=UDim2.fromOffset(0,55)
side.Size=UDim2.new(0,140,1,-55)
side.BackgroundColor3=C.panel
side.BorderSizePixel=0
local pad=Instance.new("UIPadding",side)
pad.PaddingTop=UDim.new(0,15)
pad.PaddingLeft=UDim.new(0,8)
pad.PaddingRight=UDim.new(0,8)
local sl=Instance.new("UIListLayout",side)
sl.Padding=UDim.new(0,7)
local content=Instance.new("Frame",main)
content.Position=UDim2.fromOffset(140,55)
content.Size=UDim2.new(1,-140,1,-55)
content.BackgroundTransparency=1
local pages={}
local tabs={}
local function page(n)
local f=Instance.new("ScrollingFrame",content)
f.Name=n
f.Position=UDim2.fromOffset(12,12)
f.Size=UDim2.new(1,-24,1,-24)
f.BackgroundTransparency=1
f.BorderSizePixel=0
f.ScrollBarThickness=3
f.ScrollBarImageColor3=C.green
f.Visible=false
local l=Instance.new("UIListLayout",f)
l.Padding=UDim.new(0,8)
l:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
f.CanvasSize=UDim2.fromOffset(0,l.AbsoluteContentSize.Y+15)
end)
pages[n]=f
return f
end
local visual=page("Visual")
local playerPage=page("Player")
local teleport=page("Teleport")
local function tab(txt,n)
local b=Instance.new("TextButton",side)
b.Size=UDim2.new(1,0,0,38)
b.BackgroundColor3=C.panel
b.Text=txt
b.TextColor3=C.gray
b.TextSize=12
b.Font=Enum.Font.GothamSemibold
b.AutoButtonColor=false
Instance.new("UICorner",b).CornerRadius=UDim.new(0,8)
tabs[n]=b
b.MouseButton1Click:Connect(function()
for k,v in pairs(pages) do
v.Visible=false
tabs[k].BackgroundColor3=C.panel
tabs[k].TextColor3=C.gray
end
pages[n].Visible=true
b.BackgroundColor3=C.el
b.TextColor3=C.green
end)
end
tab("◈ Visual","Visual")
tab("◉ Player","Player")
tab("⌖ Teleport","Teleport")
local function section(p,txt)
local x=Instance.new("TextLabel",p)
x.Size=UDim2.new(1,0,0,27)
x.BackgroundTransparency=1
x.Text=txt
x.TextColor3=C.green
x.TextSize=13
x.Font=Enum.Font.GothamBold
x.TextXAlignment=Enum.TextXAlignment.Left
end
local function button(p,txt,fn)
local b=Instance.new("TextButton",p)
b.Size=UDim2.new(1,0,0,43)
b.BackgroundColor3=C.el
b.Text=txt
b.TextColor3=C.white
b.TextSize=13
b.Font=Enum.Font.GothamMedium
b.AutoButtonColor=false
Instance.new("UICorner",b).CornerRadius=UDim.new(0,8)
b.MouseEnter:Connect(function()
b.BackgroundColor3=C.hover
end)
b.MouseLeave:Connect(function()
b.BackgroundColor3=C.el
end)
b.MouseButton1Click:Connect(fn)
return b
end
local function toggle(p,txt,fn)
local b=button(p,txt.." [OFF]",function() end)
local on=false
b.MouseButton1Click:Connect(function()
on=not on
b.Text=txt.." ["..(on and "ON" or "OFF").."]"
fn(on)
end)
return b
end
--==================================================
-- VISUAL
--==================================================
section(visual,"VISUAL")
local night
local oldClock,oldBright
toggle(visual,"Vision nocturna",function(on)
if on then
oldClock=L.ClockTime
oldBright=L.Brightness
night=Instance.new("ColorCorrectionEffect",L)
night.Name="MonocromaNight"
night.TintColor=Color3.fromRGB(80,255,80)
night.Brightness=.15
L.ClockTime=0
L.Brightness=3
else
if night then night:Destroy() end
night=nil
L.ClockTime=oldClock or 14
L.Brightness=oldBright or 1
end
end)
local walls={}
toggle(visual,"Ver paredes",function(on)
for _,p in ipairs(CS:GetTagged("SeeThroughWall")) do
if p:IsA("BasePart") then
if on then
walls[p]=p.LocalTransparencyModifier
p.LocalTransparencyModifier=.85
elseif walls[p] then
p.LocalTransparencyModifier=walls[p]
walls[p]=nil
end
end
end
end)
--==================================================
-- KEY ESP
--==================================================
local keyESP=false
local keyObjects={}
local function clearKeys()
for _,x in ipairs(keyObjects) do
if x then x:Destroy() end
end
table.clear(keyObjects)
end
local function getPart(o)
if o:IsA("BasePart") then
return o
end
if o:IsA("Model") then
return o.PrimaryPart
or o:FindFirstChild("HumanoidRootPart")
or o:FindFirstChildWhichIsA("BasePart",true)
end
end
local function updateKeys()
clearKeys()
if not keyESP then return end
local n=0
for _,o in ipairs(workspace:GetDescendants()) do
if o.Name:lower()=="key"
and (o:IsA("Model") or o:IsA("BasePart")) then
n+=1
local h=Instance.new("Highlight",gui)
h.Adornee=o
h.DepthMode=Enum.HighlightDepthMode.AlwaysOnTop
h.FillColor=Color3.fromRGB(255,220,0)
h.OutlineColor=C.white
h.FillTransparency=.45
table.insert(keyObjects,h)
local p=getPart(o)
if p then
local bb=Instance.new("BillboardGui",gui)
bb.Adornee=p
bb.Size=UDim2.fromOffset(130,35)
bb.StudsOffset=Vector3.new(0,2.5,0)
bb.AlwaysOnTop=true
bb.MaxDistance=2000
local t=Instance.new("TextLabel",bb)
t.Size=UDim2.fromScale(1,1)
t.BackgroundTransparency=1
t.Text="KEY "..n
t.TextColor3=Color3.fromRGB(255,230,50)
t.TextStrokeColor3=Color3.new(0,0,0)
t.TextStrokeTransparency=0
t.TextSize=16
t.Font=Enum.Font.GothamBold
table.insert(keyObjects,bb)
end
end
end
end
toggle(visual,"Key ESP",function(on)
keyESP=on
updateKeys()
end)
--==================================================
-- POLE / SCREWDRIVER ESP
--==================================================
local itemESP=false
local itemObjects={}
local function clearItems()
for _,x in ipairs(itemObjects) do
if x then x:Destroy() end
end
table.clear(itemObjects)
end
local function isRealItem(o)
if not (o:IsA("Model") or o:IsA("BasePart")) then
return false
end
local n=o.Name:lower()
return n=="pole" or n=="screwdriver"
end
local function updateItems()
clearItems()
if not itemESP then return end
local detected={}
for _,o in ipairs(workspace:GetDescendants()) do
if isRealItem(o) then
local p=getPart(o)
if p then
local duplicate=false
for _,d in ipairs(detected) do
if o:IsDescendantOf(d) or d:IsDescendantOf(o) then
duplicate=true
break
end
end
if not duplicate then
table.insert(detected,o)
local name=o.Name:lower()=="pole"
and "POLE"
or "SCREWDRIVER"
local h=Instance.new("Highlight",gui)
h.Adornee=o
h.DepthMode=Enum.HighlightDepthMode.AlwaysOnTop
h.FillColor=Color3.fromRGB(0,255,120)
h.OutlineColor=C.white
h.FillTransparency=.45
table.insert(itemObjects,h)
local bb=Instance.new("BillboardGui",gui)
bb.Adornee=p
bb.Size=UDim2.fromOffset(160,35)
bb.StudsOffset=Vector3.new(0,2.5,0)
bb.AlwaysOnTop=true
bb.MaxDistance=2000
bb.Parent=gui
table.insert(itemObjects,bb)
local text=Instance.new("TextLabel",bb)
text.Size=UDim2.fromScale(1,1)
text.BackgroundTransparency=1
text.Text=name
text.TextColor3=Color3.fromRGB(80,255,120)
text.TextStrokeColor3=Color3.new(0,0,0)
text.TextStrokeTransparency=0
text.TextSize=15
text.Font=Enum.Font.GothamBold
end
end
end
end
end
toggle(visual,"Pole / Screwdriver ESP",function(on)
itemESP=on
updateItems()
end)
--==================================================
-- ESP VER (MONOCROMA)
--==================================================
local verESP=false
local verObjects={}
local function clearVER()
for _,v in ipairs(verObjects) do
if v then v:Destroy() end
end
table.clear(verObjects)
end
local function updateVER()
clearVER()
if not verESP then return end
local detected={}
for _,obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Model") then
local n=obj.Name:lower()
local isVER=(n=="ver")
local isMonster=n=="monster" or n:match("^monster[%w_%.%-]*$")~=nil
local hum=obj:FindFirstChildOfClass("Humanoid")
local root=obj:FindFirstChild("HumanoidRootPart")
local moving=false
if hum and root then
moving=root.AssemblyLinearVelocity.Magnitude>2
end
if isVER or (isMonster and moving) then
local part=getPart(obj)
if part and not detected[obj] then
detected[obj]=true
local h=Instance.new("Highlight",gui)
h.Adornee=obj
h.DepthMode=Enum.HighlightDepthMode.AlwaysOnTop
h.FillColor=Color3.fromRGB(255,40,40)
h.OutlineColor=C.white
h.FillTransparency=.35
table.insert(verObjects,h)
local bb=Instance.new("BillboardGui",gui)
bb.Adornee=part
bb.Size=UDim2.fromOffset(180,38)
bb.StudsOffset=Vector3.new(0,3,0)
bb.AlwaysOnTop=true
bb.MaxDistance=2500
bb.Parent=gui
table.insert(verObjects,bb)
local txt=Instance.new("TextLabel",bb)
txt.Size=UDim2.fromScale(1,1)
txt.BackgroundTransparency=1
txt.Text=isVER and "VER" or "MOVING MONSTER"
txt.TextColor3=Color3.fromRGB(255,60,60)
txt.TextStrokeColor3=Color3.new(0,0,0)
txt.TextStrokeTransparency=0
txt.TextSize=16
txt.Font=Enum.Font.GothamBold
end
end
end
end
end
toggle(visual,"ESP VER (Monocroma)",function(on)
verESP=on
updateVER()
end)
-- ACTUALIZACIÓN DE ESP
task.spawn(function()
while gui.Parent do
if keyESP then
updateKeys()
end
if itemESP then
updateItems()
end
if verESP then
updateVER()
end
task.wait(.5)
end
end)
--==================================================
-- PLAYER
--==================================================
section(playerPage,"PLAYER")
local speed=16
local speedBtn
speedBtn=button(playerPage,"Velocidad • 16",function()
speed+=8
if speed>64 then
speed=16
end
speedBtn.Text="Velocidad • "..speed
local h=plr.Character and
plr.Character:FindFirstChildOfClass("Humanoid")
if h then
h.WalkSpeed=speed
end
end)
plr.CharacterAdded:Connect(function(c)
local h=c:WaitForChild("Humanoid",10)
if h then
h.WalkSpeed=speed
end
end)
local noclip=false
local oldCol={}
toggle(playerPage,"No Clip",function(on)
noclip=on
if not on then
for p,v in pairs(oldCol) do
if p.Parent then
p.CanCollide=v
end
end
table.clear(oldCol)
end
end)
R.Stepped:Connect(function()
if not noclip then return end
local c=plr.Character
if not c then return end
for _,p in ipairs(c:GetDescendants()) do
if p:IsA("BasePart") then
if oldCol[p]==nil then
oldCol[p]=p.CanCollide
end
p.CanCollide=false
end
end
end)
--==================================================
-- TELEPORT
--==================================================
section(teleport,"TELEPORT")
local saved
button(teleport,"TP1 • GUARDAR POSICIÓN",function()
local r=plr.Character and
plr.Character:FindFirstChild("HumanoidRootPart")
if r then
saved=r.CFrame
end
end)
button(teleport,"TP2 • IR A POSICIÓN",function()
local r=plr.Character and
plr.Character:FindFirstChild("HumanoidRootPart")
if r and saved then
r.CFrame=saved+Vector3.new(0,2,0)
end
end)
button(teleport,"↩ RETURN TO LOBBY",function()
T:Teleport(134208374070897,plr)
end)
--==================================================
-- TAB INICIAL
--==================================================
visual.Visible=true
tabs.Visual.BackgroundColor3=C.el
tabs.Visual.TextColor3=C.green
--==================================================
-- DRAG
--==================================================
local dragging=false
local dragStart,startPos
head.InputBegan:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1
or i.UserInputType==Enum.UserInputType.Touch then
dragging=true
dragStart=i.Position
startPos=main.Position
end
end)
U.InputChanged:Connect(function(i)
if dragging and (
i.UserInputType==Enum.UserInputType.MouseMovement
or i.UserInputType==Enum.UserInputType.Touch
) then
local d=i.Position-dragStart
main.Position=UDim2.new(
startPos.X.Scale,
startPos.X.Offset+d.X,
startPos.Y.Scale,
startPos.Y.Offset+d.Y
)
end
end)
U.InputEnded:Connect(function(i)
if i.UserInputType==Enum.UserInputType.MouseButton1
or i.UserInputType==Enum.UserInputType.Touch then
dragging=false
end
end)
--==================================================
-- MINIMIZAR
--==================================================
local minimized=false
min.MouseButton1Click:Connect(function()
minimized=not minimized
side.Visible=not minimized
content.Visible=not minimized
TS:Create(main,TweenInfo.new(.2),{
Size=minimized
and UDim2.fromOffset(600,55)
or UDim2.fromOffset(600,390)
}):Play()
min.Text=minimized and "+" or "—"
end)
--==================================================
-- CERRAR
--==================================================
close.MouseButton1Click:Connect(function()
gui:Destroy()
end)
--==================================================
-- ANIMACIÓN
--==================================================
main.Size=UDim2.fromOffset(0,0)
TS:Create(
main,
TweenInfo.new(.35,Enum.EasingStyle.Back,Enum.EasingDirection.Out),
{Size=UDim2.fromOffset(600,390)}
):Play()
print("MONOCROMA HUB cargado")No comments yet for this script.



