--================= SERVICES ================= local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Workspace = game:GetService("Workspace") local player = Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local humanoid = character:WaitForChild("Humanoid") local root = character:WaitForChild("HumanoidRootPart") player.CharacterAdded:Connect(function(char) character = char humanoid = char:WaitForChild("Humanoid") root = char:WaitForChild("HumanoidRootPart") end) --================= TARGET MODELS ================= -- Items local itemNames = {} for _,name in ipairs(string.split([[ Key,KeyObtain,Flashlight,FlashlightObtain,Lighter,LighterObtain,Vitamins,VitaminsObtain, Candle,CandleObtain,Lockpick,LockpickObtain,Crucifix,CrucifixObtain,SkeletonKey,SkeletonKeyObtain, Shakelight,ShakelightObtain,NVCS-3000,NVCS-3000Obtain,RoomKey,RoomKeyObtain,ElectricalRoomKey, ElectricalRoomKeyObtain,SolutionPaper,SolutionPaperObtain,LibraryBook,LibraryBookObtain, PuzzlePainting,PuzzlePaintingObtain,Bandages,BandagesObtain,Batteries,BatteriesObtain, BatteryPack,BatteryPackObtain,Bread,BreadObtain,Cheese,CheeseObtain,GweenSoda,GweenSodaObtain, Glowstick,GlowstickObtain,Straplight,StraplightObtain,Bulklight,BulklightObtain,LaserPointer, LaserPointerObtain,BandagePack,BandagePackObtain,AlarmClock,AlarmClockObtain,MoonlightCandle, MoonlightCandleObtain,MoonlightFloat,MoonlightFloatObtain,Smoothie,SmoothieObtain,Compass, CompassObtain,Lantern,LanternObtain,Multitool,MultitoolObtain,Aloe,AloeObtain,Lotus,LotusObtain, LotusPetal,LotusPetalObtain,RiftJar,RiftJarObtain,IronKey,IronKeyObtain,Gold,GoldObtain, Stardust,StardustObtain,Candy,CandyObtain,HolyHandGrenade,HolyHandGrenadeObtain, MiniShieldPotion,MiniShieldPotionObtain,ShieldPotion,ShieldPotionObtain,RetroRoomKey, RetroRoomKeyObtain,Donut,DonutObtain,Bomb,BombObtain,BigBomb,BigBombObtain,Knockbomb, KnockbombObtain,Nanner,NannerObtain,NannerPeel,NannerPeelObtain,HidingBox,HidingBoxObtain, ThrowableProp,ThrowablePropObtain,A-90’sStopSign,A-90’sStopSignObtain,GreenHerb, GreenHerbObtain,BackdoorRoomKey,BackdoorRoomKeyObtain ]],",")) do itemNames[name] = true end -- Monsters local monsterNames = {} for _,name in ipairs(string.split([[ Eyes,Screech,Hide,HaltMoving,GlitchRagdoll,Dupe,Jack,Timothy,Shadow,Window,Void, A60,A90,A120,BlitzMoving,Lookman,Haste,Snare ]],",")) do monsterNames[name] = true end --================= GUI ================= local gui = Instance.new("ScreenGui",player.PlayerGui) gui.ResetOnSpawn = false -- Main Panel local panel = Instance.new("Frame",gui) panel.Size = UDim2.fromScale(0.32,0.45) panel.Position = UDim2.fromScale(0.34,0.25) panel.BackgroundColor3 = Color3.fromRGB(25,25,35) panel.BorderSizePixel = 0 panel.Active = true panel.Draggable = true local corner = Instance.new("UICorner",panel) corner.CornerRadius = UDim.new(0,15) -- Title local title = Instance.new("TextLabel",panel) title.Size = UDim2.fromScale(1,0.12) title.BackgroundTransparency = 1 title.Text = "HenexHub | Doors Panel" title.TextColor3 = Color3.fromRGB(255,255,255) title.Font = Enum.Font.GothamBold title.TextScaled = true -- ===== Speed Section ===== local box = Instance.new("TextBox",panel) box.Position = UDim2.fromScale(0.08,0.15) box.Size = UDim2.fromScale(0.84,0.08) box.PlaceholderText = "Speed (Max 150)" box.Text = "" box.BackgroundColor3 = Color3.fromRGB(50,50,60) box.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner",box) local apply = Instance.new("TextButton",panel) apply.Position = UDim2.fromScale(0.08,0.25) apply.Size = UDim2.fromScale(0.84,0.08) apply.Text = "Apply Speed" apply.BackgroundColor3 = Color3.fromRGB(0,170,255) apply.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner",apply) local lockBtn = Instance.new("TextButton",panel) lockBtn.Position = UDim2.fromScale(0.08,0.35) lockBtn.Size = UDim2.fromScale(0.4,0.08) lockBtn.Text = "🔓 Unlock" lockBtn.BackgroundColor3 = Color3.fromRGB(170,0,0) lockBtn.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner",lockBtn) local resetBtn = Instance.new("TextButton",panel) resetBtn.Position = UDim2.fromScale(0.52,0.35) resetBtn.Size = UDim2.fromScale(0.4,0.08) resetBtn.Text = "Reset" resetBtn.BackgroundColor3 = Color3.fromRGB(100,100,100) resetBtn.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner",resetBtn) local msg = Instance.new("TextLabel",panel) msg.Position = UDim2.fromScale(0.08,0.45) msg.Size = UDim2.fromScale(0.84,0.06) msg.BackgroundTransparency = 1 msg.TextColor3 = Color3.fromRGB(0,255,0) msg.TextScaled = true local MAX_SPEED = 150 local lockedSpeed = nil local speedLocked = false apply.MouseButton1Click:Connect(function() local v = tonumber(box.Text) if v then v = math.clamp(v,1,MAX_SPEED) lockedSpeed = v humanoid.WalkSpeed = v msg.Text = "SpeedChanged" task.delay(1,function() msg.Text="" end) end end) lockBtn.MouseButton1Click:Connect(function() speedLocked = not speedLocked lockBtn.Text = speedLocked and "🔒 Lock" or "🔓 Unlock" lockBtn.BackgroundColor3 = speedLocked and Color3.fromRGB(0,170,0) or Color3.fromRGB(170,0,0) end) resetBtn.MouseButton1Click:Connect(function() speedLocked = false lockedSpeed = nil humanoid.WalkSpeed = 16 box.Text = "16" lockBtn.Text = "🔓 Unlock" lockBtn.BackgroundColor3 = Color3.fromRGB(170,0,0) msg.Text = "Speed Reset" task.delay(1,function() msg.Text="" end) end) humanoid:GetPropertyChangedSignal("WalkSpeed"):Connect(function() if speedLocked and lockedSpeed and humanoid.WalkSpeed ~= lockedSpeed then humanoid.WalkSpeed = lockedSpeed end end) -- ===== ESP Section ===== local espData = {} local espItemsOn, espMonstersOn = false,false local function getPart(model) for _,v in ipairs(model:GetDescendants()) do if v:IsA("BasePart") then return v end end end local function createESP(model) if espData[model] then return end local part = getPart(model) if not part then return end local att0 = Instance.new("Attachment",root) local att1 = Instance.new("Attachment",part) local beam = Instance.new("Beam") beam.Attachment0 = att0 beam.Attachment1 = att1 beam.FaceCamera = true beam.Width0 = 0.08 beam.Width1 = 0.08 beam.Parent = part local bill = Instance.new("BillboardGui",part) bill.Size = UDim2.fromScale(4,1.5) bill.AlwaysOnTop = true local txt = Instance.new("TextLabel",bill) txt.Size = UDim2.fromScale(1,1) txt.BackgroundTransparency = 1 txt.TextScaled = true espData[model] = {beam,att0,att1,bill,txt} end local function removeESP() for _,v in pairs(espData) do for _,i in ipairs(v) do i:Destroy() end end espData = {} end local function updateESP(list) for _,m in ipairs(Workspace:GetDescendants()) do if m:IsA("Model") and list[m.Name] then createESP(m) local data = espData[m] if data then local dist = (root.Position - data[2].Parent.Position).Magnitude data[5].Text = m.Name.." | "..math.floor(dist).."m" local hue = tick()%5/5 local col = Color3.fromHSV(hue,1,1) data[1].Color = ColorSequence.new(col) data[5].TextColor3 = col end end end end -- Buttons local espBtnItems = Instance.new("TextButton",panel) espBtnItems.Position = UDim2.fromScale(0.08,0.55) espBtnItems.Size = UDim2.fromScale(0.4,0.08) espBtnItems.Text = "ESP Items" espBtnItems.BackgroundColor3 = Color3.fromRGB(0,120,255) espBtnItems.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner",espBtnItems) local espBtnMonsters = Instance.new("TextButton",panel) espBtnMonsters.Position = UDim2.fromScale(0.52,0.55) espBtnMonsters.Size = UDim2.fromScale(0.4,0.08) espBtnMonsters.Text = "ESP Monsters" espBtnMonsters.BackgroundColor3 = Color3.fromRGB(255,50,50) espBtnMonsters.TextColor3 = Color3.fromRGB(255,255,255) Instance.new("UICorner",espBtnMonsters) espBtnItems.MouseButton1Click:Connect(function() espItemsOn = not espItemsOn if not espItemsOn then removeESP() end end) espBtnMonsters.MouseButton1Click:Connect(function() espMonstersOn = not espMonstersOn if not espMonstersOn then removeESP() end end) RunService.RenderStepped:Connect(function() if espItemsOn then updateESP(itemNames) end if espMonstersOn then updateESP(monsterNames) end end)