-- if you use this script credit me !! or I will complain about your script copy. --[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] -- Load the UI library local Library = loadstring(game:HttpGet('https://gist.githubusercontent.com/MjContiga1/5b9535166d60560ac884a871cb0dc418/raw/e7fdb16802d9486d8d04d3e41d3607d89e6b4a1b/Libsuck.lua'))() local camera = workspace.CurrentCamera local RunService = game:GetService("RunService") -- Variables for hitbox management local originalSizes = {} local modifiedParts = {} local hasInitialized = false local currentMultiplier = 2 local currentTransparency = 50 local hitboxChildConnection = nil -- Variables for ESP local espEnabled = false local espObjects = {} local espChildConnection = nil local renderConnection = nil -- Function to update sizes local function updateSizes() if not hasInitialized then return end for i = #modifiedParts, 1, -1 do local obj = modifiedParts[i] if obj and obj.Parent then local multi = currentMultiplier if obj.Name == "Head" then obj.Size = originalSizes[obj] * multi * 1.5 else obj.Size = originalSizes[obj] * multi end else table.remove(modifiedParts, i) end end end -- Function to update transparency local function updateTransparency() if not hasInitialized then return end local trans = currentTransparency / 100 for _, obj in pairs(modifiedParts) do if obj and obj.Parent then obj.Transparency = trans end end end -- Function to process a killer model for hitboxes local function processKiller(model, spawnsFolder) local count = 0 for _, obj in pairs(model:GetDescendants()) do if obj:IsA("BasePart") and (not spawnsFolder or not obj:IsDescendantOf(spawnsFolder)) then originalSizes[obj] = obj.Size obj.CanCollide = false local multi = currentMultiplier if obj.Name == "Head" then obj.Size = originalSizes[obj] * multi * 1.5 else obj.Size = originalSizes[obj] * multi end obj.Transparency = currentTransparency / 100 table.insert(modifiedParts, obj) count = count + 1 end end return count end -- ESP Functions local function createESP(model) local rootPart = model:FindFirstChild("HumanoidRootPart") or model.PrimaryPart if not rootPart then return end local box = Drawing.new("Square") box.Visible = false box.Size = Vector2.new(0, 0) box.Position = Vector2.new(0, 0) box.Color = Color3.fromRGB(255, 0, 0) box.Thickness = 2 box.Filled = false box.Transparency = 0 local text = Drawing.new("Text") text.Visible = false text.Size = 16 text.Center = true text.Outline = true text.Font = 2 text.Color = Color3.fromRGB(255, 255, 255) text.Text = model.Name table.insert(espObjects, { box = box, text = text, root = rootPart, model = model }) end local function updateESP() for i = #espObjects, 1, -1 do local espData = espObjects[i] if not espData.model.Parent or not espData.root.Parent then espData.box:Remove() espData.text:Remove() table.remove(espObjects, i) else local head = espData.model:FindFirstChild("Head") local headPos = head and head.Position or espData.root.Position local legPos = espData.root.Position - Vector3.new(0, 5, 0) local topVector, _ = camera:WorldToViewportPoint(headPos) local bottomVector, _ = camera:WorldToViewportPoint(legPos) if topVector.Z > 0 and bottomVector.Z > 0 then local height = math.abs(topVector.Y - bottomVector.Y) local width = height * 0.5 local centerX = (topVector.X + bottomVector.X) / 2 local topY = math.min(topVector.Y, bottomVector.Y) espData.box.Size = Vector2.new(width, height) espData.box.Position = Vector2.new(centerX - width / 2, topY) espData.box.Visible = true espData.text.Position = Vector2.new(centerX, topY - 20) espData.text.Visible = true else espData.box.Visible = false espData.text.Visible = false end end end end local function clearESP() for i = #espObjects, 1, -1 do local esp = espObjects[i] esp.box:Remove() esp.text:Remove() table.remove(espObjects, i) end end -- Create main window local window = Library:Window('Example UI') -- Create tabs with icons replace ur own icon id local mainTab = window:Tab({"Crafting", "rbxassetid://7734022041"}) local localTab = window:Tab({"LocalPlayer", "rbxassetid://7743875962"}) local hitboxesTab = window:Tab({"Hitboxes", "rbxassetid://7733673987"}) local espTab = window:Tab({"ESP", "rbxassetid://7733673987"}) local changelogTab = window:Tab({"Change Log", "rbxassetid://7733673987"}) local settingsTab = window:Tab({"Reward", "rbxassetid://7733673987"}) -- Main Tab Elements mainTab:Label("Welcome to the UI Library!") -- Button mainTab:Button('Click Me!', function() print("Button clicked!") game.StarterGui:SetCore("SendNotification", { Title = "Notification"; Text = "Button was clicked!"; Duration = 3; }) end) -- Toggle mainTab:Toggle('Auto Clicker', false, function(state) print("Auto Clicker is now:", state and "ON" or "OFF") end) -- Slider mainTab:Slider("Walk Speed", 16, 100, 16, function(value) print("Walk Speed set to:", value) game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = value end) -- Keybind mainTab:Keybind("Toggle UI", Enum.KeyCode.RightShift, function(key) print("Key pressed:", key.Name) end) -- InputBox mainTab:InputBox("Enter Text", "Type something...", function(text) print("Input text:", text) end) -- Single-select dropdown local singleDropdown = mainTab:Dropdown("Select Weapon", {"Sword", "Gun", "Knife"}, function(selected) print("Selected weapon:", selected) end) -- Multi-select dropdown local multiDropdown = mainTab:Dropdown("Select Features", {"ESP", "Aimbot", "Speed", "Jump"}, function(selected) print("Selected features:", table.concat(selected, ", ")) end, true) -- true enables multi-select -- Button to refresh dropdowns mainTab:Button('Refresh Dropdowns', function() singleDropdown:Refresh({"New Sword", "New Gun", "New Knife"}) multiDropdown:Refresh({"New ESP", "New Aimbot", "New Speed", "New Jump", "New Feature"}) end) -- Hitboxes Tab Elements hitboxesTab:Label("Hitbox Settings") -- Button to Initialize and Enlarge Killer Hitboxes (also removes collision) hitboxesTab:Button('Initialize Bigger Hitboxes', function() local killersFolder = workspace:FindFirstChild("Killers") if not killersFolder then game.StarterGui:SetCore("SendNotification", { Title = "Error"; Text = "Killers folder not found!"; Duration = 3; }) return end local spawnsFolder = killersFolder:FindFirstChild("KillerSpawns") originalSizes = {} modifiedParts = {} hasInitialized = true -- Process existing killers local totalCount = 0 for _, child in pairs(killersFolder:GetChildren()) do if child.Name ~= "KillerSpawns" and child:IsA("Model") then totalCount = totalCount + processKiller(child, spawnsFolder) end end -- Connect to new killers if hitboxChildConnection then hitboxChildConnection:Disconnect() end hitboxChildConnection = killersFolder.ChildAdded:Connect(function(child) if child.Name == "KillerSpawns" or not child:IsA("Model") then return end wait(0.1) -- Small delay to allow parts to load processKiller(child, spawnsFolder) game.StarterGui:SetCore("SendNotification", { Title = "New Killer"; Text = "Applied hitbox changes to new killer: " .. child.Name; Duration = 2; }) end) game.StarterGui:SetCore("SendNotification", { Title = "Success"; Text = "Initialized and enlarged hitboxes for " .. totalCount .. " parts! Collision removed."; Duration = 3; }) end) -- Slider for Hitbox Size Multiplier hitboxesTab:Slider("Hitbox Multiplier", 1, 10, 2, function(value) currentMultiplier = value updateSizes() end) -- Slider for Hitbox Transparency (0 = opaque, 100 = invisible) hitboxesTab:Slider("Hitbox Transparency", 0, 100, 50, function(value) currentTransparency = value updateTransparency() end) -- ESP Tab Elements espTab:Label("ESP Settings") espTab:Toggle("Enable Killer ESP", false, function(state) local killersFolder = workspace:FindFirstChild("Killers") if not killersFolder then game.StarterGui:SetCore("SendNotification", { Title = "Error"; Text = "Killers folder not found!"; Duration = 3; }) return end local spawnsFolder = killersFolder:FindFirstChild("KillerSpawns") if state then -- Clear existing ESP clearESP() -- Create for existing killers for _, child in pairs(killersFolder:GetChildren()) do if child.Name ~= "KillerSpawns" and child:IsA("Model") then createESP(child) end end -- Connect to new killers if not espChildConnection then espChildConnection = killersFolder.ChildAdded:Connect(function(child) if child.Name == "KillerSpawns" or not child:IsA("Model") then return end wait(0.1) createESP(child) end) end -- Connect render loop if not renderConnection then renderConnection = RunService.Heartbeat:Connect(updateESP) end game.StarterGui:SetCore("SendNotification", { Title = "ESP"; Text = "Killer ESP enabled!"; Duration = 2; }) else -- Disable clearESP() if espChildConnection then espChildConnection:Disconnect() espChildConnection = nil end if renderConnection then renderConnection:Disconnect() renderConnection = nil end game.StarterGui:SetCore("SendNotification", { Title = "ESP"; Text = "Killer ESP disabled!"; Duration = 2; }) end end) -- Change Log Tab Elements changelogTab:Label("Change Log - Most Recent to Oldest") changelogTab:Label("Version 1.5 - November 1, 2025") changelogTab:Label("- Fixed ESP rendering errors and indexing issues.") changelogTab:Label("Version 1.4 - October 31, 2025") changelogTab:Label("- Added ESP tab with Killer ESP functionality.") changelogTab:Label("- Created separate Hitboxes tab for hitbox controls.") changelogTab:Label("- Fixed notification spam on hitbox multiplier changes.") changelogTab:Label("Version 1.3 - October 30, 2025") changelogTab:Label("- Added support for newly spawned killers to automatically apply hitbox changes.") changelogTab:Label("Version 1.2 - October 29, 2025") changelogTab:Label("- Added slider for dynamic hitbox size multiplier.") changelogTab:Label("- Added slider for hitbox transparency.") changelogTab:Label("- Removed collision for killers with the local player.") changelogTab:Label("Version 1.1 - October 28, 2025") changelogTab:Label("- Initial button to enlarge killer hitboxes, focusing on heads.") changelogTab:Label("Version 1.0 - October 27, 2025") changelogTab:Label("- First release: Basic hitbox enlargement for killers in workspace.Killers.") -- LocalPlayer Tab Elements localTab:Label("Local Player Settings") localTab:Slider("Jump Power", 50, 200, 50, function(value) print("Jump Power set to:", value) game.Players.LocalPlayer.Character.Humanoid.JumpPower = value end) localTab:Toggle("Infinite Jump", false, function(state) print("Infinite Jump:", state and "ON" or "OFF") -- Add infinite jump logic here end) localTab:InputBox("Player Name", "Enter player name...", function(text) print("Looking for player:", text) -- Add player search logic here end) -- Settings Tab Elements settingsTab:Label("UI Settings") settingsTab:Toggle('Dark Mode', true, function(state) print("Dark Mode:", state) -- Add dark mode logic here end) settingsTab:Slider("UI Transparency", 0, 100, 100, function(value) print("UI Transparency:", value) -- Apply transparency to UI elements end) settingsTab:Keybind("Toggle Menu", Enum.KeyCode.Insert, function(key) print("Menu key changed to:", key.Name) -- Update menu toggle key here end) settingsTab:InputBox("Custom Title", "Enter title...", function(text) print("Custom title:", text) -- Update UI title here end)