-- 🌸 Full KorpseBunny KAT Script v2 — working UI + Aimbot + ESP + Tracers + Auto Throw/Shoot + Behind You Warning local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UIS = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local lp = Players.LocalPlayer local Mouse = lp:GetMouse() -- Prevent duplicate GUI if game.CoreGui:FindFirstChild("KorpseBunnyUI") then game.CoreGui.KorpseBunnyUI:Destroy() end -- Settings local AimPart = "Head" local AimbotEnabled = true local ESPEnabled = true local TracersEnabled = true local AutoThrow = false local AutoShoot = false local SilentAim = false local TeamCheck = true local Prediction = 0.15 local FOV = 120 -- UI Setup local ScreenGui = Instance.new("ScreenGui", game.CoreGui) ScreenGui.Name = "KorpseBunnyUI" local Frame = Instance.new("Frame", ScreenGui) Frame.Size = UDim2.new(0, 300, 0, 380) Frame.Position = UDim2.new(0, 20, 0, 20) Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Frame.BackgroundTransparency = 0.2 Frame.Active = true Frame.Draggable = true Instance.new("UICorner", Frame).CornerRadius = UDim.new(0, 12) local stroke = Instance.new("UIStroke", Frame) stroke.Color = Color3.fromRGB(255, 105, 180) stroke.Thickness = 2 local Title = Instance.new("TextLabel", Frame) Title.Text = "💖 KorpseBunny KAT Script" Title.Font = Enum.Font.GothamBold Title.TextSize = 16 Title.TextColor3 = Color3.new(1, 1, 1) Title.BackgroundTransparency = 1 Title.Size = UDim2.new(1, 0, 0, 40) local CloseBtn = Instance.new("TextButton", Frame) CloseBtn.Text = "X" CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 18 CloseBtn.Size = UDim2.new(0, 30, 0, 30) CloseBtn.Position = UDim2.new(1, -35, 0, 5) CloseBtn.BackgroundColor3 = Color3.fromRGB(255, 105, 180) CloseBtn.TextColor3 = Color3.new(1, 1, 1) local minimized = false CloseBtn.MouseButton1Click:Connect(function() if minimized then Frame.Size = UDim2.new(0, 300, 0, 380) CloseBtn.Text = "X" minimized = false else Frame.Size = UDim2.new(0, 300, 0, 40) CloseBtn.Text = "-" minimized = true end end) -- FOV Circle local circle = Drawing.new("Circle") circle.Color = Color3.fromRGB(255, 105, 180) circle.Thickness = 1.5 circle.Filled = false circle.Transparency = 0.5 circle.Radius = FOV circle.Visible = true RunService.RenderStepped:Connect(function() circle.Position = Vector2.new(Mouse.X, Mouse.Y) circle.Visible = AimbotEnabled end) -- Helper: Toggle Button local function createToggle(name, y, default, callback) local btn = Instance.new("TextButton", Frame) btn.Text = name .. ": " .. (default and "ON" or "OFF") btn.Font = Enum.Font.Gotham btn.TextSize = 14 btn.Size = UDim2.new(0, 280, 0, 30) btn.Position = UDim2.new(0, 10, 0, y) btn.BackgroundColor3 = Color3.fromRGB(40, 40, 40) btn.TextColor3 = Color3.new(1, 1, 1) Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) local state = default btn.MouseButton1Click:Connect(function() state = not state btn.Text = name .. ": " .. (state and "ON" or "OFF") callback(state) end) return btn end -- Helper: Slider local function createSlider(name, y, min, max, default, callback) local lbl = Instance.new("TextLabel", Frame) lbl.Text = name .. ": " .. tostring(default) lbl.Font = Enum.Font.Gotham lbl.TextSize = 14 lbl.Position = UDim2.new(0, 10, 0, y) lbl.Size = UDim2.new(0, 280, 0, 20) lbl.TextColor3 = Color3.new(1, 1, 1) lbl.BackgroundTransparency = 1 local slider = Instance.new("TextButton", Frame) slider.Text = "" slider.Position = UDim2.new(0, 10, 0, y + 20) slider.Size = UDim2.new(0, 280, 0, 8) slider.BackgroundColor3 = Color3.fromRGB(60, 60, 60) local fill = Instance.new("Frame", slider) fill.BackgroundColor3 = Color3.fromRGB(255, 105, 180) fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) fill.BorderSizePixel = 0 local dragging = false slider.MouseButton1Down:Connect(function() dragging = true end) UIS.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) RunService.RenderStepped:Connect(function() if dragging then local mouseX = UIS:GetMouseLocation().X local rel = (mouseX - slider.AbsolutePosition.X) / slider.AbsoluteSize.X rel = math.clamp(rel, 0, 1) fill.Size = UDim2.new(rel, 0, 1, 0) local val = math.floor(min + (max - min) * rel) lbl.Text = name .. ": " .. val callback(val) end end) return lbl, slider, fill end -- Toggles and Slider local toggles = {} toggles.aimbot = createToggle("Aimbot", 50, AimbotEnabled, function(v) AimbotEnabled = v end) toggles.esp = createToggle("ESP", 90, ESPEnabled, function(v) ESPEnabled = v end) toggles.tracers = createToggle("Tracers", 130, TracersEnabled, function(v) TracersEnabled = v end) toggles.autothrow = createToggle("Auto Throw", 170, AutoThrow, function(v) AutoThrow = v end) toggles.autoshoot = createToggle("Auto Shoot", 210, AutoShoot, function(v) AutoShoot = v end) toggles.silentaim = createToggle("Silent Aim", 250, SilentAim, function(v) SilentAim = v end) toggles.teamcheck = createToggle("Team Check", 290, TeamCheck, function(v) TeamCheck = v end) local sliderFOV = createSlider("FOV Radius", 330, 50, 300, FOV, function(v) FOV = v circle.Radius = v end) -- ESP and Tracers Setup local ESPs = {} local Tracers = {} local function createESP(player) if ESPs[player] then return end local box = Drawing.new("Square") box.Thickness = 1 box.Transparency = 0.8 box.Color = Color3.fromRGB(255, 105, 180) box.Filled = false ESPs[player] = box end local function createTracer(player) if Tracers[player] then return end local line = Drawing.new("Line") line.Thickness = 1 line.Color = Color3.fromRGB(255, 105, 180) line.Transparency = 0.8 Tracers[player] = line end local function updateESP() for player, box in pairs(ESPs) do if player.Character and player.Character:FindFirstChild("Head") and player.Character:FindFirstChild("HumanoidRootPart") and ESPEnabled then local pos, onScreen = Camera:WorldToViewportPoint(player.Character.Head.Position) if onScreen then box.Size = Vector2.new(40, 60) box.Position = Vector2.new(pos.X - 20, pos.Y - 30) box.Visible = true else box.Visible = false end else box.Visible = false end end end local function updateTracers() for player, line in pairs(Tracers) do if player.Character and player.Character:FindFirstChild("Head") and player.Character:FindFirstChild("HumanoidRootPart") and TracersEnabled then local pos, onScreen = Camera:WorldToViewportPoint(player.Character.Head.Position) if onScreen then line.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) line.To = Vector2.new(pos.X, pos.Y) line.Visible = true else line.Visible = false end else line.Visible = false end end end Players.PlayerAdded:Connect(function(player) createESP(player) createTracer(player) end) for _, player in pairs(Players:GetPlayers()) do if player ~= lp then createESP(player) createTracer(player) end end -- Closest Player Finder with fixed TeamCheck local function getClosestPlayer() local closest = nil local shortestDist = FOV for _, player in pairs(Players:GetPlayers()) do if player ~= lp and player.Character and player.Character:FindFirstChild(AimPart) then if not (TeamCheck and lp.Team == player.Team) then local pos, onScreen = Camera:WorldToViewportPoint(player.Character[AimPart].Position) if onScreen then local dist = (Vector2.new(Mouse.X, Mouse.Y) - Vector2.new(pos.X, pos.Y)).Magnitude if dist < shortestDist then shortestDist = dist closest = player end end end end end return closest end -- Predict position for moving targets local function predictPosition(player) local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if not hrp then return nil end local vel = hrp.Velocity return hrp.Position + (vel * Prediction) end -- Aimbot + Auto Throw + Auto Shoot Logic RunService.RenderStepped:Connect(function() updateESP() updateTracers() if AimbotEnabled and UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then local target = getClosestPlayer() if target and target.Character and target.Character:FindFirstChild(AimPart) then local posToAim if SilentAim then posToAim = predictPosition(target) or target.Character[AimPart].Position else posToAim = target.Character[AimPart].Position end if posToAim then if not SilentAim then Camera.CFrame = CFrame.new(Camera.CFrame.Position, posToAim) end -- Auto Throw if AutoThrow and lp.Character then local tool = lp.Character:FindFirstChildOfClass("Tool") if tool and tool:FindFirstChild("Remote") then pcall(function() tool.Remote:FireServer(posToAim) end) end end -- Auto Shoot if AutoShoot and lp.Character then local tool = lp.Character:FindFirstChildOfClass("Tool") if tool and tool:FindFirstChild("Shoot") then pcall(function() tool.Shoot:FireServer(posToAim) end) end end end end end end) -- Warning Label for Player Behind You local WarningLabel = Instance.new("TextLabel", Frame) WarningLabel.Size = UDim2.new(1, 0, 0, 30) WarningLabel.Position = UDim2.new(0, 0, 1, -35) WarningLabel.BackgroundTransparency = 1 WarningLabel.Font = Enum.Font.GothamBold WarningLabel.TextSize = 14 WarningLabel.TextColor3 = Color3.fromRGB(255, 105, 180) WarningLabel.Text = "" RunService.RenderStepped:Connect(function() local playerBehind = false for _, player in pairs(Players:GetPlayers()) do if player ~= lp and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local hrp = player.Character.HumanoidRootPart local dirToPlayer = (hrp.Position - Camera.CFrame.Position).Unit local dot = dirToPlayer:Dot(Camera.CFrame.LookVector) if dot < -0.7 then -- behind threshold playerBehind = true break end end end WarningLabel.Text = playerBehind and "⚠️ Player behind you! Be careful!" or "" end)