local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "MainMenu"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = game.CoreGui
local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 220, 0, 260)
Frame.Position = UDim2.new(0.5, -110, 0.5, -130)
Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Frame.Active = true
Frame.Draggable = true
Frame.Parent = ScreenGui
Instance.new("UICorner", Frame).CornerRadius = UDim.new(0, 12)
local ToggleButton = Instance.new("TextButton", Frame)
ToggleButton.Size = UDim2.new(1, 0, 0, 25)
ToggleButton.Position = UDim2.new(0, 0, 0, 0)
ToggleButton.Text = "▲"
ToggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
ToggleButton.TextColor3 = Color3.fromRGB(0, 255, 0)
ToggleButton.Font = Enum.Font.GothamBold
ToggleButton.TextSize = 20
local function makeButton(text, color, order)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, -20, 0, 35)
btn.Position = UDim2.new(0, 10, 0, 30 + (order - 1) * 45)
btn.BackgroundColor3 = color
btn.TextColor3 = Color3.fromRGB(0, 0, 0)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 18
btn.Text = text
btn.Parent = Frame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
return btn
end
local ESPButton = makeButton("ESP", Color3.fromRGB(0, 255, 0), 1)
local HealButton = makeButton("AutoHeal", Color3.fromRGB(0, 255, 0), 2)
local DrillButton = makeButton("Drill", Color3.fromRGB(0, 255, 0), 3)
local BreakButton = makeButton("Break Map", Color3.fromRGB(255, 0, 0), 4)
local espEnabled = false
local highlights = {}
local spiderColors = {
["Arachnid"] = Color3.fromRGB(255, 255, 255),
["Jumper"] = Color3.fromRGB(255, 255, 0),
["Bomber"] = Color3.fromRGB(255, 0, 0)
}
local function createHighlight(model, color)
if not model or highlights[model] then return end
local h = Instance.new("Highlight")
h.FillColor = color
h.OutlineColor = color
h.FillTransparency = 0.7
h.OutlineTransparency = 0
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
h.Parent = model
highlights[model] = h
end
local function refreshESP()
for m,h in pairs(highlights) do
if not h.Parent then highlights[m] = nil end
end
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("Model") then
for name, col in pairs(spiderColors) do
if string.find(obj.Name, name) then
createHighlight(obj, col)
end
end
end
end
end
workspace.DescendantAdded:Connect(function(obj)
if espEnabled and obj:IsA("Model") then
for name, col in pairs(spiderColors) do
if string.find(obj.Name, name) then
createHighlight(obj, col)
end
end
end
end)
ESPButton.MouseButton1Click:Connect(function()
espEnabled = not espEnabled
ESPButton.BackgroundColor3 = espEnabled and Color3.fromRGB(255, 255, 0) or Color3.fromRGB(0, 255, 0)
if espEnabled then
task.spawn(function()
while espEnabled do
refreshESP()
task.wait(1)
end
end)
else
for _, h in pairs(highlights) do
if h then h:Destroy() end
end
highlights = {}
end
end)
local healEnabled = false
local function startHealLoop()
task.spawn(function()
while healEnabled do
local pl = player
local char = pl and pl.Character
if char then
local bp = pl:FindFirstChild("Backpack")
local med = char:FindFirstChild("Medkit") or (bp and bp:FindFirstChild("Medkit"))
if med then
if bp and med.Parent == bp and char:FindFirstChild("Humanoid") then
char.Humanoid:EquipTool(med)
task.wait(0.05)
end
local remote = med:FindFirstChild("RemoteEvent")
if remote then
pcall(function() remote:FireServer() end)
end
end
end
task.wait(0.05)
end
end)
end
HealButton.MouseButton1Click:Connect(function()
healEnabled = not healEnabled
HealButton.BackgroundColor3 = healEnabled and Color3.fromRGB(255, 255, 0) or Color3.fromRGB(0, 255, 0)
if healEnabled then
startHealLoop()
end
end)
local drillEnabled = false
local function startDrillLoop()
task.spawn(function()
while drillEnabled do
local char = player and player.Character
if char and char:FindFirstChild("HumanoidRootPart") then
local bp = player:FindFirstChild("Backpack")
local drill = char:FindFirstChild("Drill") or (bp and bp:FindFirstChild("Drill"))
if drill then
if bp and drill.Parent == bp and char:FindFirstChild("Humanoid") then
char.Humanoid:EquipTool(drill)
task.wait(0.05)
end
local remote = drill:FindFirstChild("RemoteEvent")
if remote and char:FindFirstChild("HumanoidRootPart") then
local root = char.HumanoidRootPart
local forward = root.CFrame.LookVector
local center = root.Position + forward * 4.5
local boxCFrame = CFrame.new(center, center + forward)
local parts = workspace:GetPartBoundsInBox(boxCFrame, Vector3.new(9, 9, 6))
for _, part in ipairs(parts) do
if part and part.Name == "Dirt" and not part:IsDescendantOf(char) then
pcall(function() remote:FireServer(part) end)
end
end
end
end
end
RunService.Heartbeat:Wait()
end
end)
end
DrillButton.MouseButton1Click:Connect(function()
drillEnabled = not drillEnabled
DrillButton.BackgroundColor3 = drillEnabled and Color3.fromRGB(255, 255, 0) or Color3.fromRGB(0, 255, 0)
if drillEnabled then
startDrillLoop()
end
end)
local function startBreakMap()
local a, b = 0.015, 0.02
local function findRemote()
local function checkIn(obj)
for _, y in ipairs(obj:GetChildren()) do
if y:IsA("Tool") then
local r = y:FindFirstChildWhichIsA("RemoteEvent", true)
if r then return r end
end
end
return nil
end
local ch = player.Character
if ch then local r = checkIn(ch) if r then return r end end
local bp = player:FindFirstChild("Backpack")
if bp then local r = checkIn(bp) if r then return r end end
return nil
end
local function getParts()
local t = {}
for _, v in ipairs(workspace:GetDescendants()) do
if v:IsA("BasePart") and not v:IsDescendantOf(player.Character or {}) then
table.insert(t, v)
end
end
return t
end
task.spawn(function()
while true do
local r = findRemote()
if r then
local parts = getParts()
for _, p in ipairs(parts) do
pcall(function() r:FireServer(p) end)
task.wait(a)
end
end
task.wait(b)
end
end)
end
BreakButton.MouseButton1Click:Connect(function()
startBreakMap()
end)
local collapsed = false
ToggleButton.MouseButton1Click:Connect(function()
collapsed = not collapsed
ToggleButton.Text = collapsed and "▼" or "▲"
for _, child in ipairs(Frame:GetChildren()) do
if child:IsA("TextButton") and child ~= ToggleButton then
child.Visible = not collapsed
end
end
Frame.Size = collapsed and UDim2.new(0, 220, 0, 25) or UDim2.new(0, 220, 0, 260)
end)