-- 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")