
Key Required
ESP and Hitboxes expander
Lua Script•403 lines (13158 chars)
-- 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)Features & Information
ESP
Hitboxes expander & changer
Walkspeed changer & Inf Jump
Credit me if going to use this script!!

Nice ye roblox is cooked what's next counter brainrot global offensive a csgo ripoff!? Counter brainrot 2 a cs2 ripoff!? Welcome to brainrotburg!? Why is there so many copy of other games but brainrot edition 😭😭