Kit Hub
Key Required

Kit Hub

Playbreakcattheo5cattheo5 1.4K views 1.5K executesUpdated Apr 26, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•153 lines (9047 chars)
-- // KIT HUB v.30981.098 - FIX PLAYER ESP & SURVIVORS
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

if CoreGui:FindFirstChild("KitHub") then CoreGui.KitHub:Destroy() end
local ScreenGui = Instance.new("ScreenGui", CoreGui); ScreenGui.Name = "KitHub"

local Cheat = { Aimlock = false, ESP = false, PuzzleESP = false, AutoDodge = false, Killers = false, BoxyBoo = false, DashLock = false, WallHop = false }
local Settings = { DodgeDistance = 20, DodgeMode = "InFront", DodgePower = 30, MaxDashLockDist = 250, Smoothness = 0.2 }

-- // WALL HOP
UserInputService.JumpRequest:Connect(function()
    if Cheat.WallHop and LocalPlayer.Character then
        local root = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
        local hum = LocalPlayer.Character:FindFirstChild("Humanoid")
        if root and hum then
            local ray = Ray.new(root.Position, root.CFrame.LookVector * 3)
            if workspace:FindPartOnRay(ray, LocalPlayer.Character) then
                hum:ChangeState(Enum.HumanoidStateType.Jumping)
            end
        end
    end
end)

-- // PLAYER ESP FIX
local function UpdatePlayerESP()
    for _, p in ipairs(Players:GetPlayers()) do
        if p ~= LocalPlayer and p.Character then
            local high = p.Character:FindFirstChild("KitESP")
            if Cheat.ESP then
                if not high then
                    local h = Instance.new("Highlight", p.Character)
                    h.Name = "KitESP"
                    h.FillColor = Color3.new(1, 0, 0)
                    h.OutlineColor = Color3.new(1, 1, 1)
                end
            else
                if high then high:Destroy() end
            end
        end
    end
end

-- // TARGET SELECTOR
local function GetTarget()
    local char = LocalPlayer.Character
    if not char or not char:FindFirstChild("HumanoidRootPart") then return nil end
    local myPos = char.HumanoidRootPart.Position
    local target, dist = nil, math.huge

    if Cheat.DashLock then
        for _, obj in ipairs(workspace:GetDescendants()) do
            if obj.Name == "Hitbox" and obj.Parent.Name == "DashHandle" and obj:FindFirstChild("interactable") and not obj:FindFirstChild("cooldownlolz") then
                local d = (obj.Position - myPos).Magnitude
                if d < dist and d < Settings.MaxDashLockDist then dist = d; target = obj end
            end
        end
    end
    if not target then
        for _, p in ipairs(Players:GetPlayers()) do
            if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("Head") then
                local isKiller = p.Character:FindFirstChild("Killer") or p.Name:lower():find("killer")
                if Cheat.Aimlock or (Cheat.Killers and isKiller) or (Cheat.BoxyBoo and p.Name:lower():find("boxy")) then
                    local d = (p.Character.Head.Position - myPos).Magnitude
                    if d < dist then dist = d; target = p.Character.Head end
                end
            end
        end
    end
    return target
end

-- // RENDER LOOP
RunService.RenderStepped:Connect(function()
    local target = GetTarget()
    if target then
        Camera.CFrame = Camera.CFrame:Lerp(CFrame.new(Camera.CFrame.Position, target.Position), Settings.Smoothness)
    end
    
    if Cheat.AutoDodge and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        local root = LocalPlayer.Character.HumanoidRootPart
        for _, p in ipairs(Players:GetPlayers()) do
            if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
                if (p.Character.HumanoidRootPart.Position - root.Position).Magnitude < Settings.DodgeDistance then
                    local dir = (Settings.DodgeMode == "InFront") and root.CFrame.LookVector or -root.CFrame.RightVector
                    root.CFrame = root.CFrame + (dir * Settings.DodgePower)
                end
            end
        end
    end
    UpdatePlayerESP()
end)

-- // UI CONSTRUCTION
local Main = Instance.new("Frame", ScreenGui); Main.Size = UDim2.new(0, 500, 0, 350); Main.Position = UDim2.new(0.5, -250, 0.5, -175); Main.BackgroundColor3 = Color3.fromRGB(20, 20, 20); Main.Active = true; Main.Draggable = true; Instance.new("UICorner", Main)
local Sidebar = Instance.new("ScrollingFrame", Main); Sidebar.Size = UDim2.new(0, 150, 1, -40); Sidebar.Position = UDim2.new(0,0,0,40); Sidebar.BackgroundColor3 = Color3.fromRGB(15, 15, 15); Sidebar.ScrollBarThickness = 0; Instance.new("UICorner", Sidebar)
local Content = Instance.new("Frame", Main); Content.Size = UDim2.new(0, 350, 1, 0); Content.Position = UDim2.new(0, 150, 0, 0); Content.BackgroundTransparency = 1
local function Clear() for _, c in pairs(Content:GetChildren()) do if not c:IsA("UICorner") then c:Destroy() end end end

local Title = Instance.new("TextLabel", Main); Title.Size = UDim2.new(0, 250, 0, 30); Title.Position = UDim2.new(0, 15, 0, 5); Title.Text = "KIT HUB v.30981.098"; Title.TextColor3 = Color3.fromRGB(150, 100, 255); Title.TextSize = 14; Title.BackgroundTransparency = 1; Title.Font = "GothamBold"; Title.TextXAlignment = "Left"

local OpenBtn = Instance.new("TextButton", ScreenGui); OpenBtn.Size = UDim2.new(0, 140, 0, 40); OpenBtn.Position = UDim2.new(0, 10, 0.5, 0); OpenBtn.Text = "Open Kit Hub"; OpenBtn.BackgroundColor3 = Color3.fromRGB(150, 100, 255); OpenBtn.TextColor3 = Color3.new(1,1,1); OpenBtn.Visible = false; Instance.new("UICorner", OpenBtn)
local HideBtn = Instance.new("TextButton", Main); HideBtn.Size = UDim2.new(0, 25, 0, 25); HideBtn.Position = UDim2.new(1, -35, 0, 10); HideBtn.Text = "-"; HideBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50); HideBtn.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", HideBtn)

HideBtn.MouseButton1Click:Connect(function() Main.Visible = false; OpenBtn.Visible = true end)
OpenBtn.MouseButton1Click:Connect(function() Main.Visible = true; OpenBtn.Visible = false end)

local function CreateButton(name, y, callback)
    local b = Instance.new("TextButton", Content); b.Size = UDim2.new(0, 300, 0, 40); b.Position = UDim2.new(0, 25, 0, y); b.Text = name .. " : OFF"; b.BackgroundColor3 = Color3.fromRGB(40,40,40); b.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", b)
    local state = false; b.MouseButton1Click:Connect(function() state = not state; b.Text = name .. (state and " : ON" or " : OFF"); b.BackgroundColor3 = state and Color3.fromRGB(0, 150, 0) or Color3.fromRGB(40,40,40); callback(state) end)
end

local function AddTab(name, y, action)
    local b = Instance.new("TextButton", Sidebar); b.Size = UDim2.new(0, 130, 0, 40); b.Position = UDim2.new(0, 10, 0, y); b.Text = name; b.BackgroundColor3 = Color3.fromRGB(40,40,40); b.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", b); b.MouseButton1Click:Connect(action)
end

-- TABS
AddTab("Updates", 10, function() 
    Clear()
    local t = Instance.new("TextLabel", Content)
    t.Size = UDim2.new(1,0,1,0); t.BackgroundTransparency = 1; t.TextColor3 = Color3.new(1,1,1); t.TextSize = 14; t.TextXAlignment = "Center"
    t.Text = "Lastest Update:\nOnly added Puzzle ESP\n...\nYEAH SMALL UPADATE AND?"
end)

AddTab("Player", 60, function() 
    Clear()
    CreateButton("Dash Lock", 10, function(s) Cheat.DashLock = s end)
    CreateButton("Wall Hop", 60, function(s) Cheat.WallHop = s end)
end)

AddTab("Aimbots", 110, function() 
    Clear()
    CreateButton("Aim Players", 10, function(s) Cheat.Aimlock = s end)
    CreateButton("Aim Killers", 60, function(s) Cheat.Killers = s end)
    CreateButton("Boxy Boo", 110, function(s) Cheat.BoxyBoo = s end)
end)

AddTab("Survivors", 160, function() 
    Clear()
    CreateButton("Auto-Dodge", 10, function(s) Cheat.AutoDodge = s end)
    -- BOUTON MODE
    local m = Instance.new("TextButton", Content); m.Size = UDim2.new(0, 300, 0, 40); m.Position = UDim2.new(0, 25, 0, 60); m.Text = "Mode: InFront"; m.BackgroundColor3 = Color3.fromRGB(45, 45, 45); m.TextColor3 = Color3.new(1,1,1); Instance.new("UICorner", m); m.Parent = Content
    m.MouseButton1Click:Connect(function() Settings.DodgeMode = (Settings.DodgeMode == "InFront" and "Left" or "InFront"); m.Text = "Mode: "..Settings.DodgeMode end)
    -- LA NOTE
    local n = Instance.new("TextLabel", Content); n.Size = UDim2.new(0,300,0,40); n.Position = UDim2.new(0,25,0,110); n.Text = "Note: I perfer InFront mode so try it it's better"; n.BackgroundTransparency = 1; n.TextColor3 = Color3.fromRGB(150,100,255); n.Font = "GothamItalic"; n.TextSize = 11; n.Parent = Content
end)

AddTab("ESP", 210, function() Clear(); CreateButton("ESP Players", 10, function(s) Cheat.ESP = s end); CreateButton("Puzzles ESP", 60, function(s) Cheat.PuzzleESP = s end) end)
AddTab("Misc", 260, function() Clear(); CreateButton("PANIC BUTTON", 10, function() ScreenGui:Destroy() end) end)

Features & Information

Auto Dodge, grab aimbot boxy boo, ESP, Dash Handle Aimlock, and MORE!

Community Comments (0)

No comments yet for this script.

More Scripts for Playbreak