
Keyless

local CoreGui = game:GetService("CoreGui")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
local monsterPaths = {
ReplicatedStorage:WaitForChild("MutatedMonsters"),
ReplicatedStorage:WaitForChild("Monsters")
}
local useAbility = ReplicatedStorage:WaitForChild("Events"):WaitForChild("UseAbility")
local monsterNames = {}
for _, path in pairs(monsterPaths) do
for _, monster in pairs(path:GetChildren()) do
monsterNames[monster.Name] = true
end
end
local GUI = Instance.new("ScreenGui")
GUI.Name = "HexSH_Hub"
GUI.Parent = CoreGui
GUI.ResetOnSpawn = false
GUI.IgnoreGuiInset = true
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainFrame"
MainFrame.Size = UDim2.new(0, 600, 0, 400)
MainFrame.Position = UDim2.new(0.5, -300, 0.5, -200)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.BorderSizePixel = 0
MainFrame.ClipsDescendants = true
MainFrame.Parent = GUI
local UIPadding_Main = Instance.new("UIPadding")
UIPadding_Main.PaddingTop = UDim.new(0, 10)
UIPadding_Main.PaddingLeft = UDim.new(0, 10)
UIPadding_Main.PaddingRight = UDim.new(0, 10)
UIPadding_Main.PaddingBottom = UDim.new(0, 10)
UIPadding_Main.Parent = MainFrame
local RainbowBorder = Instance.new("Frame")
RainbowBorder.Name = "RainbowBorder"
RainbowBorder.Size = UDim2.new(1, 2, 1, 2)
RainbowBorder.Position = UDim2.new(0, -1, 0, -1)
RainbowBorder.BackgroundTransparency = 1
RainbowBorder.BorderSizePixel = 0
RainbowBorder.Parent = MainFrame
local BorderGradient = Instance.new("UIGradient")
BorderGradient.Rotation = 45
BorderGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.2, Color3.fromRGB(255, 165, 0)),
ColorSequenceKeypoint.new(0.4, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(0.6, Color3.fromRGB(0, 255, 0)),
ColorSequenceKeypoint.new(0.8, Color3.fromRGB(0, 0, 255)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(128, 0, 128))
})
BorderGradient.Parent = RainbowBorder
local RainbowStroke = Instance.new("UIStroke")
RainbowStroke.Color = Color3.new(1, 1, 1)
RainbowStroke.Thickness = 1.5
RainbowStroke.Parent = RainbowBorder
task.spawn(function()
local phase = 0
while true do
phase = (phase + 0.005) % 1
BorderGradient.Offset = Vector2.new(phase, 0)
task.wait()
end
end)
local SnowContainer = Instance.new("Frame")
SnowContainer.Name = "SnowContainer"
SnowContainer.Size = UDim2.new(1, 0, 1, 0)
SnowContainer.BackgroundTransparency = 1
SnowContainer.ClipsDescendants = true
SnowContainer.Parent = MainFrame
local snowParticles = {}
for i = 1, 80 do
local dot = Instance.new("Frame")
dot.Size = UDim2.new(0, 2, 0, 2)
dot.Position = UDim2.new(math.random(), math.random() * -0.5, 0, 0)
dot.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
dot.BackgroundTransparency = 0.3
dot.Parent = SnowContainer
table.insert(snowParticles, {
frame = dot,
speed = 0.5 + math.random() * 1.5,
startX = dot.Position.X.Scale,
offsetY = dot.Position.Y.Scale
})
end
RunService.RenderStepped:Connect(function()
for _, p in ipairs(snowParticles) do
p.offsetY = p.offsetY + (p.speed * 0.002)
if p.offsetY > 1.2 then
p.offsetY = -0.2
p.startX = math.random()
end
p.frame.Position = UDim2.new(p.startX, 0, p.offsetY, 0)
end
end)
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 40)
Title.Position = UDim2.new(0, 0, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "HexSH hub"
Title.TextColor3 = Color3.fromRGB(220, 220, 220)
Title.TextSize = 28
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = MainFrame
local UIPadding_Title = Instance.new("UIPadding")
UIPadding_Title.PaddingLeft = UDim.new(0, 10)
UIPadding_Title.Parent = Title
local TabContainer = Instance.new("Frame")
TabContainer.Size = UDim2.new(1, 0, 0, 30)
TabContainer.Position = UDim2.new(0, 0, 0, 50)
TabContainer.BackgroundTransparency = 1
TabContainer.Parent = MainFrame
local TabContent = Instance.new("Frame")
TabContent.Size = UDim2.new(1, 0, 1, -90)
TabContent.Position = UDim2.new(0, 0, 0, 90)
TabContent.BackgroundTransparency = 1
TabContent.ClipsDescendants = true
TabContent.Parent = MainFrame
local tabs = {}
local tabNames = {"Main", "Perfect class", "Protect", "Auto farm", "ESP"}
local tabButtons = {}
for i, name in ipairs(tabNames) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 120, 1, 0)
btn.Position = UDim2.new((i-1)*0.2, 0, 0, 0)
btn.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
btn.Text = name
btn.TextColor3 = Color3.fromRGB(180, 180, 180)
btn.TextSize = 14
btn.Font = Enum.Font.GothamBold
btn.BorderSizePixel = 0
btn.Parent = TabContainer
table.insert(tabButtons, btn)
local content = Instance.new("Frame")
content.Size = UDim2.new(1, 0, 1, 0)
content.BackgroundTransparency = 1
content.Visible = (i == 1)
content.Parent = TabContent
table.insert(tabs, content)
btn.MouseButton1Click:Connect(function()
for j, c in ipairs(tabs) do
c.Visible = (j == i)
end
for j, b in ipairs(tabButtons) do
b.BackgroundColor3 = (j == i) and Color3.fromRGB(40, 40, 40) or Color3.fromRGB(25, 25, 25)
b.TextColor3 = (j == i) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(180, 180, 180)
end
end)
btn.TouchTap:Connect(function()
for j, c in ipairs(tabs) do
c.Visible = (j == i)
end
for j, b in ipairs(tabButtons) do
b.BackgroundColor3 = (j == i) and Color3.fromRGB(40, 40, 40) or Color3.fromRGB(25, 25, 25)
b.TextColor3 = (j == i) and Color3.fromRGB(255, 255, 255) or Color3.fromRGB(180, 180, 180)
end
end)
end
local function makeToggle(parent, yPos, label, onFunction, offFunction)
local container = Instance.new("Frame")
container.Size = UDim2.new(1, -20, 0, 40)
container.Position = UDim2.new(0, 10, 0, yPos)
container.BackgroundTransparency = 1
container.Parent = parent
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.5, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Text = label
lbl.TextColor3 = Color3.fromRGB(200, 200, 200)
lbl.TextSize = 14
lbl.Font = Enum.Font.GothamBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = container
local track = Instance.new("Frame")
track.Size = UDim2.new(0, 80, 0, 24)
track.Position = UDim2.new(1, -80, 0.5, -12)
track.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
track.BorderSizePixel = 0
track.Parent = container
local thumb = Instance.new("Frame")
thumb.Size = UDim2.new(0, 30, 1, 0)
thumb.Position = UDim2.new(0, 0, 0, 0)
thumb.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
thumb.BorderSizePixel = 0
thumb.Parent = track
local state = false
local function toggle()
state = not state
local targetPos = state and UDim2.new(1, -30, 0, 0) or UDim2.new(0, 0, 0, 0)
local targetColor = state and Color3.fromRGB(80, 200, 80) or Color3.fromRGB(60, 60, 60)
TweenService:Create(thumb, TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Position = targetPos, BackgroundColor3 = targetColor}):Play()
if state then
if onFunction then onFunction() end
else
if offFunction then offFunction() end
end
end
track.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
toggle()
end
end)
track.TouchTap:Connect(toggle)
end
local errorOverlay = Instance.new("Frame")
errorOverlay.Size = UDim2.new(1, 0, 1, 0)
errorOverlay.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
errorOverlay.BackgroundTransparency = 0.65
errorOverlay.BorderSizePixel = 0
errorOverlay.Visible = false
errorOverlay.Parent = GUI
local errorFrame = Instance.new("Frame")
errorFrame.Size = UDim2.new(0, 520, 0, 320)
errorFrame.Position = UDim2.new(0.5, -260, 0.5, -160)
errorFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
errorFrame.BorderSizePixel = 2
errorFrame.BorderColor3 = Color3.fromRGB(40, 40, 40)
errorFrame.ClipsDescendants = true
errorFrame.Visible = false
errorFrame.Parent = errorOverlay
local erRainbowBorder = Instance.new("Frame")
erRainbowBorder.Size = UDim2.new(1, 4, 1, 4)
erRainbowBorder.Position = UDim2.new(0, -2, 0, -2)
erRainbowBorder.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
erRainbowBorder.BorderSizePixel = 0
erRainbowBorder.Parent = errorFrame
local erBorderGradient = Instance.new("UIGradient")
erBorderGradient.Rotation = 45
erBorderGradient.Offset = Vector2.new(0, 0)
erBorderGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.25, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 255, 255)),
ColorSequenceKeypoint.new(0.75, Color3.fromRGB(255, 0, 255)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0))
})
erBorderGradient.Parent = erRainbowBorder
local erSnowContainer = Instance.new("Frame")
erSnowContainer.Size = UDim2.new(1, 0, 1, 0)
erSnowContainer.BackgroundTransparency = 1
erSnowContainer.BorderSizePixel = 0
erSnowContainer.ClipsDescendants = true
erSnowContainer.Parent = errorFrame
local erCloseButton = Instance.new("TextButton")
erCloseButton.Size = UDim2.new(0, 36, 0, 36)
erCloseButton.Position = UDim2.new(1, -44, 0, 6)
erCloseButton.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
erCloseButton.BorderSizePixel = 1
erCloseButton.BorderColor3 = Color3.fromRGB(60, 60, 60)
erCloseButton.Text = "X"
erCloseButton.TextColor3 = Color3.fromRGB(200, 200, 200)
erCloseButton.TextSize = 20
erCloseButton.Font = Enum.Font.SourceSansBold
erCloseButton.Parent = errorFrame
erCloseButton.MouseEnter:Connect(function()
erCloseButton.BackgroundColor3 = Color3.fromRGB(60, 20, 20)
erCloseButton.BorderColor3 = Color3.fromRGB(180, 40, 40)
end)
erCloseButton.MouseLeave:Connect(function()
erCloseButton.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
erCloseButton.BorderColor3 = Color3.fromRGB(60, 60, 60)
end)
erCloseButton.MouseButton1Click:Connect(function()
errorOverlay.Visible = false
errorFrame.Visible = false
end)
local erTitle = Instance.new("TextLabel")
erTitle.Size = UDim2.new(0.9, 0, 0, 44)
erTitle.Position = UDim2.new(0.05, 0, 0, 10)
erTitle.BackgroundTransparency = 1
erTitle.Text = "CRITICAL ERROR"
erTitle.TextColor3 = Color3.fromRGB(255, 80, 80)
erTitle.TextSize = 24
erTitle.Font = Enum.Font.SourceSansBold
erTitle.TextXAlignment = Enum.TextXAlignment.Left
erTitle.Parent = errorFrame
local erMessage = Instance.new("TextLabel")
erMessage.Size = UDim2.new(0.9, 0, 0, 120)
erMessage.Position = UDim2.new(0.05, 0, 0, 70)
erMessage.BackgroundTransparency = 1
erMessage.TextColor3 = Color3.fromRGB(200, 200, 200)
erMessage.TextSize = 16
erMessage.Font = Enum.Font.SourceSans
erMessage.TextWrapped = true
erMessage.TextXAlignment = Enum.TextXAlignment.Left
erMessage.TextYAlignment = Enum.TextYAlignment.Top
erMessage.Parent = errorFrame
local erCode = Instance.new("TextLabel")
erCode.Size = UDim2.new(0.9, 0, 0, 24)
erCode.Position = UDim2.new(0.05, 0, 0, 200)
erCode.BackgroundTransparency = 1
erCode.TextColor3 = Color3.fromRGB(150, 150, 150)
erCode.TextSize = 14
erCode.Font = Enum.Font.SourceSans
erCode.TextXAlignment = Enum.TextXAlignment.Left
erCode.Parent = errorFrame
local erTime = Instance.new("TextLabel")
erTime.Size = UDim2.new(0.5, 0, 0, 20)
erTime.Position = UDim2.new(0.05, 0, 1, -30)
erTime.BackgroundTransparency = 1
erTime.Text = os.date("%H:%M:%S")
erTime.TextColor3 = Color3.fromRGB(100, 100, 100)
erTime.TextSize = 12
erTime.Font = Enum.Font.SourceSans
erTime.TextXAlignment = Enum.TextXAlignment.Left
erTime.Parent = errorFrame
local erSnowParticles = {}
for i = 1, 85 do
local p = Instance.new("Frame")
p.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4))
p.Position = UDim2.new(math.random() / 1.2, 0, math.random() / 1.2, 0)
p.BackgroundColor3 = Color3.fromRGB(220, 220, 220)
p.BackgroundTransparency = 0.2 + math.random() * 0.3
p.BorderSizePixel = 0
p.Parent = erSnowContainer
table.insert(erSnowParticles, {
Object = p,
Speed = 35 + math.random() * 65,
Wobble = math.random() * 20 - 10,
StartX = p.Position.X.Scale,
Size = p.Size.X.Offset
})
end
local erConnection
erConnection = RunService.RenderStepped:Connect(function(dt)
for _, p in ipairs(erSnowParticles) do
local newY = p.Object.Position.Y.Scale + (p.Speed * dt / 1200)
if newY > 1.2 then
newY = -0.2
p.StartX = math.random() / 1.2
p.Object.Size = UDim2.new(0, math.random(2, 4), 0, math.random(2, 4))
p.Size = p.Object.Size.X.Offset
end
local wobbleOffset = math.sin(tick() * 2 + p.StartX * 100) * p.Wobble * dt * 4
p.Object.Position = UDim2.new(p.StartX + wobbleOffset / 1000, 0, newY, 0)
end
local borderOffset = (borderOffset + dt * 0.2) % 1
erBorderGradient.Offset = Vector2.new(borderOffset, borderOffset * 0.5)
end)
local function showErrorPopup(message)
erMessage.Text = message
erTime.Text = os.date("%H:%M:%S")
errorOverlay.Visible = true
errorFrame.Visible = true
TweenService:Create(errorFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 520, 0, 320)
}):Play()
end
local isSpeedHack = false
local speedHackLoop
local speedValue = 1.0
local function toggleSpeedHack(state)
isSpeedHack = state
if state then
showErrorPopup("DO NOT USE THIS FUNCTION IF YOU HAVE LAGGY PHONE! IT CAN KICK YOU")
speedHackLoop = task.spawn(function()
while isSpeedHack do
task.wait(0.1)
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.WalkSpeed = speedValue
end
end
end
end)
else
if speedHackLoop then task.cancel(speedHackLoop) end
local char = LocalPlayer.Character
if char and char:FindFirstChild("Humanoid") then
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.WalkSpeed = 16
end
end
end
end
local function makeSpeedInput(parent, yPos)
local container = Instance.new("Frame")
container.Size = UDim2.new(1, -20, 0, 40)
container.Position = UDim2.new(0, 10, 0, yPos)
container.BackgroundTransparency = 1
container.Parent = parent
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.4, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Text = "Speed value (max 1.5)"
lbl.TextColor3 = Color3.fromRGB(200, 200, 200)
lbl.TextSize = 13
lbl.Font = Enum.Font.GothamBold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = container
local input = Instance.new("TextBox")
input.Size = UDim2.new(0, 60, 0, 24)
input.Position = UDim2.new(0.7, 0, 0.5, -12)
input.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
input.TextColor3 = Color3.fromRGB(255, 255, 255)
input.TextSize = 14
input.Font = Enum.Font.GothamBold
input.Text = "1.0"
input.Parent = container
input.FocusLost:Connect(function()
local val = tonumber(input.Text)
if val and val > 0 and val <= 1.5 then
speedValue = val
else
input.Text = "1.0"
speedValue = 1.0
end
end)
return container
end
local isSlowSmartPunch = false
local isFastSmartPunch = false
local isESPPlayer = false
local isESPMonster = false
local isKiller = false
local isGodmode = false
local isTeleport = false
local slowSmartPunchLoop, fastSmartPunchLoop, espPlayerLoop, espMonsterLoop, killerLoop, godmodeLoop, teleportLoop
local function toggleSlowSmartPunch(state)
isSlowSmartPunch = state
if state then
slowSmartPunchLoop = task.spawn(function()
while isSlowSmartPunch do
task.wait(0.5)
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then continue end
local root = char.HumanoidRootPart
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone and clone:FindFirstChild("HumanoidRootPart") then
local monsterRoot = clone.HumanoidRootPart
local dist = (monsterRoot.Position - root.Position).Magnitude
if dist < 15 then
local direction = (monsterRoot.Position - root.Position).Unit
local ray = Ray.new(root.Position, direction * dist)
local hit, pos, normal = Workspace:FindPartOnRayWithIgnoreList(ray, {char, clone})
if hit then
local canPass = hit.CanCollide == false or hit.Transparency > 0.5
if not canPass then
local distanceToHit = (pos - root.Position).Magnitude
if distanceToHit < dist then continue end
end
end
local lookVector = root.CFrame.LookVector
local angle = math.deg(math.acos(lookVector:Dot(direction) / (lookVector.Magnitude * direction.Magnitude)))
if angle < 60 then
useAbility:FireServer()
break
end
end
end
end
end
end)
else
if slowSmartPunchLoop then task.cancel(slowSmartPunchLoop) end
end
end
local function toggleFastSmartPunch(state)
isFastSmartPunch = state
if state then
fastSmartPunchLoop = task.spawn(function()
while isFastSmartPunch do
task.wait(0.001)
local char = LocalPlayer.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then continue end
local root = char.HumanoidRootPart
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone and clone:FindFirstChild("HumanoidRootPart") then
local monsterRoot = clone.HumanoidRootPart
local dist = (monsterRoot.Position - root.Position).Magnitude
if dist < 15 then
local direction = (monsterRoot.Position - root.Position).Unit
local ray = Ray.new(root.Position, direction * dist)
local hit, pos, normal = Workspace:FindPartOnRayWithIgnoreList(ray, {char, clone})
if hit then
local canPass = hit.CanCollide == false or hit.Transparency > 0.5
if not canPass then
local distanceToHit = (pos - root.Position).Magnitude
if distanceToHit < dist then continue end
end
end
local lookVector = root.CFrame.LookVector
local angle = math.deg(math.acos(lookVector:Dot(direction) / (lookVector.Magnitude * direction.Magnitude)))
if angle < 60 then
useAbility:FireServer()
break
end
end
end
end
end
end)
else
if fastSmartPunchLoop then task.cancel(fastSmartPunchLoop) end
end
end
local function toggleESPPlayer(state)
isESPPlayer = state
if state then
espPlayerLoop = task.spawn(function()
while isESPPlayer do
task.wait(0.5)
for _, player in pairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
local char = player.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then continue end
local root = char.HumanoidRootPart
local head = char:FindFirstChild("Head")
if not head then continue end
local displayName = player.DisplayName
local humanoid = char:FindFirstChildOfClass("Humanoid")
local hp = humanoid and math.floor(humanoid.Health) or 0
local maxHp = humanoid and math.floor(humanoid.MaxHealth) or 100
local billboard = root:FindFirstChild("ESPBillboard")
if not billboard then
billboard = Instance.new("BillboardGui")
billboard.Name = "ESPBillboard"
billboard.Size = UDim2.new(0, 120, 0, 50)
billboard.StudsOffset = Vector3.new(0, 3, 0)
billboard.AlwaysOnTop = true
billboard.Parent = root
local nameLabel = Instance.new("TextLabel")
nameLabel.Name = "NameLabel"
nameLabel.Size = UDim2.new(1, 0, 0, 25)
nameLabel.Position = UDim2.new(0, 0, 0, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.Text = displayName
nameLabel.TextColor3 = Color3.new(1, 1, 1)
nameLabel.TextSize = 14
nameLabel.Font = Enum.Font.SourceSansBold
nameLabel.Parent = billboard
local hpLabel = Instance.new("TextLabel")
hpLabel.Name = "HPLabel"
hpLabel.Size = UDim2.new(1, 0, 0, 20)
hpLabel.Position = UDim2.new(0, 0, 0, 25)
hpLabel.BackgroundTransparency = 1
hpLabel.Text = hp .. "/" .. maxHp
hpLabel.TextColor3 = Color3.new(0, 1, 0)
hpLabel.TextSize = 12
hpLabel.Font = Enum.Font.SourceSans
hpLabel.Parent = billboard
else
billboard:FindFirstChild("NameLabel").Text = displayName
local hpLabel = billboard:FindFirstChild("HPLabel")
hpLabel.Text = hp .. "/" .. maxHp
local ratio = hp / maxHp
hpLabel.TextColor3 = ratio > 0.5 and Color3.new(0, 1, 0) or ratio > 0.25 and Color3.new(1, 1, 0) or Color3.new(1, 0, 0)
end
end
end
end)
else
if espPlayerLoop then task.cancel(espPlayerLoop) end
for _, player in pairs(Players:GetPlayers()) do
if player == LocalPlayer then continue end
local char = player.Character
if char and char:FindFirstChild("HumanoidRootPart") then
local billboard = char.HumanoidRootPart:FindFirstChild("ESPBillboard")
if billboard then billboard:Destroy() end
end
end
end
end
local function toggleESPMonster(state)
isESPMonster = state
if state then
espMonsterLoop = task.spawn(function()
while isESPMonster do
task.wait(0.5)
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone and clone:FindFirstChild("HumanoidRootPart") then
local highlight = clone:FindFirstChild("Highlight")
if not highlight then
highlight = Instance.new("Highlight")
highlight.Name = "Highlight"
highlight.Parent = clone
end
highlight.FillTransparency = 1
highlight.OutlineColor = Color3.fromHSV((tick() / 10 + 0.5) % 1, 1, 1)
highlight.OutlineTransparency = 0
end
end
end
end)
else
if espMonsterLoop then task.cancel(espMonsterLoop) end
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone then
local highlight = clone:FindFirstChild("Highlight")
if highlight then highlight:Destroy() end
end
end
end
end
local function toggleKiller(state)
isKiller = state
if state then
showErrorPopup("ITS MAY NOT WORK IF SERVER HAVE HIGH PING OR HAVE SO LAGGY PLAYER IN MATCH. ALSO IF SOMEONE ELSE SUMMON ITS NOT GONNA WORK AND KILLER WORK ONLY 5 SECOUND WHEN MONSTER SPAWN(also can make monster invisible and not work on skinless and bobblehead)")
killerLoop = task.spawn(function()
while isKiller do
task.wait(0.001)
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone and clone:FindFirstChild("HumanoidRootPart") then
local root = clone.HumanoidRootPart
local ball = clone:FindFirstChild("MonsterBall")
if not ball then
ball = Instance.new("Part")
ball.Name = "MonsterBall"
ball.Size = Vector3.new(5, 5, 5)
ball.Position = root.Position
ball.Anchored = true
ball.CanCollide = true
ball.Transparency = 0.5
ball.Color = Color3.new(1, 0, 0)
ball.Parent = clone
ball.Touched:Connect(function(hit)
if hit.Parent == LocalPlayer.Character then
local charRoot = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if charRoot then
local dir = (charRoot.Position - ball.Position).Unit
charRoot.Velocity = dir * 20
end
end
if hit.Parent == clone then
local monsterRoot = clone:FindFirstChild("HumanoidRootPart")
if monsterRoot then
local dir = (monsterRoot.Position - ball.Position).Unit
monsterRoot.Velocity = dir * 5000
task.wait(0.1)
if (monsterRoot.Position.Magnitude > 1000) then
clone:Destroy()
else
for i = 1, 10 do
local randomDir = Vector3.new(math.random(-1,1), math.random(-1,1), math.random(-1,1)).Unit
monsterRoot.Velocity = randomDir * 2000
task.wait(0.05)
end
end
end
end
end)
else
ball.Position = root.Position
if (root.Position.Magnitude > 1000) then
clone:Destroy()
end
end
end
end
end
end)
else
if killerLoop then task.cancel(killerLoop) end
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone then
local ball = clone:FindFirstChild("MonsterBall")
if ball then ball:Destroy() end
end
end
end
end
local function toggleGodmode(state)
isGodmode = state
if state then
showErrorPopup("ITS FICTION MAY NOT WORK WITH BAD PING!!! AND ITS IN BETA")
godmodeLoop = task.spawn(function()
while isGodmode do
task.wait(0.001)
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone and clone:FindFirstChild("HumanoidRootPart") then
local shield = clone:FindFirstChild("GodShield")
if not shield then
shield = Instance.new("Part")
shield.Name = "GodShield"
shield.Size = Vector3.new(15, 15, 15)
shield.Position = clone.HumanoidRootPart.Position
shield.Anchored = true
shield.CanCollide = true
shield.Transparency = 0.3
shield.Color = Color3.new(1, 1, 0)
shield.Material = Enum.Material.SmoothPlastic
shield.Parent = clone
shield.Touched:Connect(function(hit)
if hit.Parent == LocalPlayer.Character then
local charRoot = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if charRoot then
local dir = (charRoot.Position - shield.Position).Unit
charRoot.Velocity = dir * 30
end
end
end)
else
shield.Position = clone.HumanoidRootPart.Position
end
end
end
end
end)
else
if godmodeLoop then task.cancel(godmodeLoop) end
for name, _ in pairs(monsterNames) do
local clone = Workspace:FindFirstChild(name)
if clone then
local shield = clone:FindFirstChild("GodShield")
if shield then shield:Destroy() end
end
end
end
end
local function toggleTeleport(state)
isTeleport = state
if state then
teleportLoop = task.spawn(function()
while isTeleport do
task.wait(0.1)
local spawns = Workspace:FindFirstChild("SpawnLocation")
if spawns then
LocalPlayer.Character.HumanoidRootPart.CFrame = spawns.CFrame
end
end
end)
else
if teleportLoop then task.cancel(teleportLoop) end
end
end
makeToggle(tabs[1], 10, "Speed hack (DO NOT USE IF YOU LAGGING)",
function() toggleSpeedHack(true) end,
function() toggleSpeedHack(false) end
)
makeSpeedInput(tabs[1], 60)
makeToggle(tabs[2], 10, "Slow Smart Punch",
function() toggleSlowSmartPunch(true) end,
function() toggleSlowSmartPunch(false) end
)
makeToggle(tabs[2], 60, "Fast Smart Punch",
function() toggleFastSmartPunch(true) end,
function() toggleFastSmartPunch(false) end
)
makeToggle(tabs[3], 10, "Godmode",
function() toggleGodmode(true) end,
function() toggleGodmode(false) end
)
makeToggle(tabs[4], 10, "Monster Killer (TOO OP)",
function() toggleKiller(true) end,
function() toggleKiller(false) end
)
makeToggle(tabs[5], 10, "ESP Players",
function() toggleESPPlayer(true) end,
function() toggleESPPlayer(false) end
)
makeToggle(tabs[5], 60, "ESP Monster",
function() toggleESPMonster(true) end,
function() toggleESPMonster(false) end
)
local DestroyBtn = Instance.new("TextButton")
DestroyBtn.Size = UDim2.new(0.5, 0, 0, 36)
DestroyBtn.Position = UDim2.new(0.25, 0, 1, -46)
DestroyBtn.BackgroundColor3 = Color3.fromRGB(40, 10, 10)
DestroyBtn.Text = "Destroy UI"
DestroyBtn.TextColor3 = Color3.fromRGB(255, 80, 80)
DestroyBtn.TextSize = 14
DestroyBtn.Font = Enum.Font.GothamBold
DestroyBtn.BorderSizePixel = 0
DestroyBtn.Parent = MainFrame
local destroyStroke = Instance.new("UIStroke")
destroyStroke.Color = Color3.fromRGB(150, 50, 50)
destroyStroke.Thickness = 1
destroyStroke.Parent = DestroyBtn
DestroyBtn.MouseButton1Click:Connect(function() GUI:Destroy() end)
DestroyBtn.TouchTap:Connect(function() GUI:Destroy() end)
local dragging = false
local dragInput = nil
local dragStart = nil
local startPos = nil
MainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = MainFrame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
MainFrame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = input.Position - dragStart
MainFrame.Position = UDim2.new(startPos.X.Scale + (delta.X / GUI.AbsoluteSize.X), 0, startPos.Y.Scale + (delta.Y / GUI.AbsoluteSize.Y), 0)
end
end)
local minimized = false
local MinSquare = Instance.new("Frame")
MinSquare.Size = UDim2.new(0, 50, 0, 50)
MinSquare.Position = UDim2.new(0.95, 0, 0.5, -25)
MinSquare.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MinSquare.BorderSizePixel = 0
MinSquare.Visible = false
MinSquare.Parent = GUI
local MinGradient = Instance.new("UIGradient")
MinGradient.Rotation = 45
MinGradient.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0, 0)),
ColorSequenceKeypoint.new(0.25, Color3.fromRGB(0, 255, 0)),
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(0, 0, 255)),
ColorSequenceKeypoint.new(0.75, Color3.fromRGB(255, 255, 0)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(255, 0, 0))
})
MinGradient.Parent = MinSquare
local MinStroke = Instance.new("UIStroke")
MinStroke.Color = Color3.new(1, 1, 1)
MinStroke.Thickness = 2
MinStroke.Parent = MinSquare
task.spawn(function()
local phase = 0
while true do
phase = (phase + 0.01) % 1
MinGradient.Offset = Vector2.new(phase, 0)
task.wait()
end
end)
local MinBtn = Instance.new("TextButton")
MinBtn.Size = UDim2.new(0, 30, 0, 20)
MinBtn.Position = UDim2.new(1, -35, 0, 5)
MinBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
MinBtn.Text = "--"
MinBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
MinBtn.TextSize = 12
MinBtn.Font = Enum.Font.GothamBold
MinBtn.BorderSizePixel = 0
MinBtn.Parent = MainFrame
local function toggleMinimize()
minimized = not minimized
if minimized then
MainFrame.Visible = false
MinSquare.Visible = true
MinSquare.Position = UDim2.new(0.95, 0, 0.5, -25)
else
MainFrame.Visible = true
MinSquare.Visible = false
end
end
MinBtn.MouseButton1Click:Connect(toggleMinimize)
MinBtn.TouchTap:Connect(toggleMinimize)
MinSquare.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
minimized = false
MainFrame.Visible = true
MinSquare.Visible = false
end
end)
MinSquare.TouchTap:Connect(function()
minimized = false
MainFrame.Visible = true
MinSquare.Visible = false
end)
local minDragging = false
local minDragInput = nil
local minDragStart = nil
local minStartPos = nil
MinSquare.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
minDragging = true
minDragStart = input.Position
minStartPos = MinSquare.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
minDragging = false
end
end)
end
end)
MinSquare.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
minDragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == minDragInput and minDragging then
local delta = input.Position - minDragStart
MinSquare.Position = UDim2.new(minStartPos.X.Scale + (delta.X / GUI.AbsoluteSize.X), 0, minStartPos.Y.Scale + (delta.Y / GUI.AbsoluteSize.Y), 0)
end
end)No comments yet for this script.



