What's new
Heapleak - Scripthub

Get the most out of HeapLeak by creating a free account! Once signed in, you’ll gain full access to restricted content, be able to share your own scripts, and participate in our member-only discussions.

MatsHub Best Hub universal 900 SUPPORTED GAMES

Version / Update: v1.0.0
Download / Script Link
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

-- Auto copy key link on startup
setclipboard("https://direct-link.net/3712130/V5ZDSmTwgagh")

local Window = Rayfield:CreateWindow({
Name = "MatsHub",
LoadingTitle = "Universal",
LoadingSubtitle = "by 1_F0",
ConfigurationSaving = {
Enabled = false,
FolderName = nil,
FileName = "Example Hub"
},
Discord = {
Enabled = false,
Invite = "noinvitelink",
RememberJoins = true
},
KeySystem = true,
KeySettings = {
Title = "Key | MatsHub",
Subtitle = "Key System",
Note = "✅ The key link has been automatically copied to your clipboard! Paste it in your browser to get the key.",
FileName = "MatsHubKey1",
SaveKey = false,
GrabKeyFromSite = true,
Key = {"https://pastebin.com/raw/R7pCUamW"}
}
})

Rayfield:Notify({
Title = "🔑 Key Link Copied!",
Content = "The key link has been copied to your clipboard! Paste it in your browser.",
Duration = 8,
Image = 4483362458,
})

-- 🔑 Key Tab
local KeyTab = Window:CreateTab("🔑 Key", nil)
local KeySection = KeyTab:CreateSection("Get Your Key")

local KeyButton = KeyTab:CreateButton({
Name = "📋 Copy Key Link",
Callback = function()
setclipboard("https://direct-link.net/3712130/V5ZDSmTwgagh")
Rayfield:Notify({
Title = "🔑 Key Link Copied!",
Content = "Paste the link in your browser to get the key.",
Duration = 5,
Image = 4483362458,
})
end,
})

-- 🏠 Home Tab
local MainTab = Window:CreateTab("🏠 Home", nil)
local MainSection = MainTab:CreateSection("Main")

Rayfield:Notify({
Title = "Script Executed! 🎉",
Content = "Welcome to MatsHub! Enjoy! 😎",
Duration = 5,
Image = 13047715178,
Actions = {
Ignore = {
Name = "Okay!",
Callback = function()
print("The user tapped Okay!")
end
},
},
})

-- Infinite Jump
local Button = MainTab:CreateButton({
Name = "Infinite Jump Toggle",
Callback = function()
_G.infinjump = not _G.infinjump

if _G.infinJumpStarted == nil then
_G.infinJumpStarted = true
game.StarterGui:SetCore("SendNotification", {Title="MatsHub"; Text="Infinite Jump Activated!"; Duration=5;})

local plr = game:GetService('Players').LocalPlayer
local m = plr:GetMouse()
m.KeyDown:connect(function(k)
if _G.infinjump then
if k:byte() == 32 then
local humanoid = game:GetService('Players').LocalPlayer.Character:FindFirstChildOfClass('Humanoid')
humanoid:ChangeState('Jumping')
wait()
humanoid:ChangeState('Seated')
end
end
end)
end
end,
})

-- WalkSpeed Slider
local Slider = MainTab:CreateSlider({
Name = "WalkSpeed Slider",
Range = {1, 350},
Increment = 1,
Suffix = "Speed",
CurrentValue = 16,
Flag = "sliderws",
Callback = function(Value)
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = Value
end,
})

-- JumpPower Slider
local Slider2 = MainTab:CreateSlider({
Name = "JumpPower Slider",
Range = {1, 350},
Increment = 1,
Suffix = "Power",
CurrentValue = 16,
Flag = "sliderjp",
Callback = function(Value)
game.Players.LocalPlayer.Character.Humanoid.JumpPower = Value
end,
})

-- Walkspeed Input
local Input = MainTab:CreateInput({
Name = "Walkspeed",
PlaceholderText = "1-500",
RemoveTextAfterFocusLost = true,
Callback = function(Text)
game.Players.LocalPlayer.Character.Humanoid.WalkSpeed = Text
end,
})

-- ⚔️ Movement & Combat Tab
local CombatTab = Window:CreateTab("⚔️ Movement & Combat", nil)
local MovementSection = CombatTab:CreateSection("Movement")

-- Fly Toggle
local flyToggle = false
local flySpeed = 50
local bodyVelocity, bodyGyro

local FlyToggle = CombatTab:CreateToggle({
Name = "Fly 🚀",
CurrentValue = false,
Flag = "FlyToggle",
Callback = function(Value)
flyToggle = Value
local plr = game:GetService("Players").LocalPlayer
local char = plr.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")

if Value then
bodyVelocity = Instance.new("BodyVelocity")
bodyVelocity.Velocity = Vector3.new(0,0,0)
bodyVelocity.MaxForce = Vector3.new(1e9,1e9,1e9)
bodyVelocity.Parent = hrp

bodyGyro = Instance.new("BodyGyro")
bodyGyro.MaxTorque = Vector3.new(1e9,1e9,1e9)
bodyGyro.P = 1e9
bodyGyro.Parent = hrp

char.Humanoid.PlatformStand = true

game:GetService("RunService").RenderStepped:Connect(function()
if flyToggle and hrp then
local cam = workspace.CurrentCamera
local direction = Vector3.new(0,0,0)

if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.W) then
direction = direction + cam.CFrame.LookVector
end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.S) then
direction = direction - cam.CFrame.LookVector
end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.A) then
direction = direction - cam.CFrame.RightVector
end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.D) then
direction = direction + cam.CFrame.RightVector
end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.Space) then
direction = direction + Vector3.new(0,1,0)
end
if game:GetService("UserInputService"):IsKeyDown(Enum.KeyCode.LeftControl) then
direction = direction - Vector3.new(0,1,0)
end

bodyVelocity.Velocity = direction * flySpeed
bodyGyro.CFrame = cam.CFrame
end
end)

Rayfield:Notify({Title="Fly 🚀", Content="Fly enabled! Use WASD + Space/Ctrl to fly!", Duration=4, Image=13047715178})
else
if bodyVelocity then bodyVelocity:Destroy() end
if bodyGyro then bodyGyro:Destroy() end
char.Humanoid.PlatformStand = false
Rayfield:Notify({Title="Fly 🚀", Content="Fly disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Fly Speed Slider
local FlySpeedSlider = CombatTab:CreateSlider({
Name = "Fly Speed",
Range = {10, 300},
Increment = 5,
Suffix = "Speed",
CurrentValue = 50,
Flag = "flyspeed",
Callback = function(Value)
flySpeed = Value
end,
})

-- Speed Boost Toggle
local speedBoostToggle = false

local SpeedBoostToggle = CombatTab:CreateToggle({
Name = "Speed Boost 🌀",
CurrentValue = false,
Flag = "SpeedBoostToggle",
Callback = function(Value)
speedBoostToggle = Value
local hum = game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if Value then
hum.WalkSpeed = 150
Rayfield:Notify({Title="Speed Boost 🌀", Content="Speed Boost enabled! You are super fast!", Duration=4, Image=13047715178})
else
hum.WalkSpeed = 16
Rayfield:Notify({Title="Speed Boost 🌀", Content="Speed Boost disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Super Jump Toggle
local superJumpToggle = false

local SuperJumpToggle = CombatTab:CreateToggle({
Name = "Super Jump 🦘",
CurrentValue = false,
Flag = "SuperJumpToggle",
Callback = function(Value)
superJumpToggle = Value
local hum = game:GetService("Players").LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
if Value then
hum.JumpPower = 250
Rayfield:Notify({Title="Super Jump 🦘", Content="Super Jump enabled! Jump to the moon!", Duration=4, Image=13047715178})
else
hum.JumpPower = 50
Rayfield:Notify({Title="Super Jump 🦘", Content="Super Jump disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Dash Button
local DashButton = CombatTab:CreateButton({
Name = "Dash 💨",
Callback = function()
local plr = game:GetService("Players").LocalPlayer
local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
if hrp then
local dashVelocity = Instance.new("BodyVelocity")
dashVelocity.Velocity = hrp.CFrame.LookVector * 200
dashVelocity.MaxForce = Vector3.new(1e9, 1e9, 1e9)
dashVelocity.Parent = hrp
game:GetService("Debris"):AddItem(dashVelocity, 0.2)
Rayfield:Notify({Title="Dash 💨", Content="Dashed forward!", Duration=2, Image=13047715178})
end
end,
})

local CombatSection = CombatTab:CreateSection("Combat")

-- Noclip Toggle
local noclipToggle = false

local NoclipToggle = CombatTab:CreateToggle({
Name = "Noclip 👻",
CurrentValue = false,
Flag = "NoclipToggle",
Callback = function(Value)
noclipToggle = Value

if Value then
game:GetService("RunService").Stepped:Connect(function()
if noclipToggle then
local char = game:GetService("Players").LocalPlayer.Character
if char then
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
end
end
end)
Rayfield:Notify({Title="Noclip 👻", Content="Noclip enabled! Walk through walls!", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="Noclip 👻", Content="Noclip disabled.", Duration=3, Image=13047715178})
end
end,
})

-- ESP Toggle
local espToggle = false
local espBoxes = {}

local function createESP(player)
if player == game:GetService("Players").LocalPlayer then return end

local highlight = Instance.new("Highlight")
highlight.Name = "ESP_Highlight"
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.FillTransparency = 0.6
highlight.OutlineTransparency = 0

local function applyESP()
if player.Character then
highlight.Adornee = player.Character
highlight.Parent = player.Character
espBoxes[player] = highlight
end
end

applyESP()
player.CharacterAdded:Connect(function()
wait(1)
applyESP()
end)
end

local function removeESP(player)
if espBoxes[player] then
espBoxes[player]:Destroy()
espBoxes[player] = nil
end
end

local ESPToggle = CombatTab:CreateToggle({
Name = "ESP (Wallhack) 👁️",
CurrentValue = false,
Flag = "ESPToggle",
Callback = function(Value)
espToggle = Value

if Value then
for _, player in pairs(game:GetService("Players"):GetPlayers()) do
createESP(player)
end
game:GetService("Players").PlayerAdded:Connect(function(player)
if espToggle then createESP(player) end
end)
Rayfield:Notify({Title="ESP 👁️", Content="ESP enabled! See all players through walls!", Duration=4, Image=13047715178})
else
for _, player in pairs(game:GetService("Players"):GetPlayers()) do
removeESP(player)
end
Rayfield:Notify({Title="ESP 👁️", Content="ESP disabled.", Duration=3, Image=13047715178})
end
end,
})

-- God Mode Toggle
local godModeToggle = false

local GodModeToggle = CombatTab:CreateToggle({
Name = "God Mode 🛡️",
CurrentValue = false,
Flag = "GodModeToggle",
Callback = function(Value)
godModeToggle = Value

if Value then
spawn(function()
while godModeToggle do
local char = game:GetService("Players").LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
hum.Health = hum.MaxHealth
end
wait(0.1)
end
end)
Rayfield:Notify({Title="God Mode 🛡️", Content="God Mode enabled! You cannot die!", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="God Mode 🛡️", Content="God Mode disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Auto Heal Toggle
local autoHealToggle = false

local AutoHealToggle = CombatTab:CreateToggle({
Name = "Auto Heal 💊",
CurrentValue = false,
Flag = "AutoHealToggle",
Callback = function(Value)
autoHealToggle = Value

if Value then
spawn(function()
while autoHealToggle do
local char = game:GetService("Players").LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum and hum.Health < hum.MaxHealth * 0.5 then
hum.Health = hum.Health + 10
end
wait(0.5)
end
end)
Rayfield:Notify({Title="Auto Heal 💊", Content="Auto Heal enabled! Heals when below 50% HP!", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="Auto Heal 💊", Content="Auto Heal disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Kill Aura Toggle
local killAuraToggle = false
local killAuraRange = 15

local KillAuraToggle = CombatTab:CreateToggle({
Name = "Kill Aura 💀",
CurrentValue = false,
Flag = "KillAuraToggle",
Callback = function(Value)
killAuraToggle = Value

if Value then
spawn(function()
while killAuraToggle do
local plr = game:GetService("Players").LocalPlayer
local char = plr.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")

if hrp then
for _, target in pairs(game:GetService("Players"):GetPlayers()) do
if target ~= plr and target.Character then
local targetHRP = target.Character:FindFirstChild("HumanoidRootPart")
local targetHum = target.Character:FindFirstChildOfClass("Humanoid")

if targetHRP and targetHum then
local distance = (hrp.Position - targetHRP.Position).Magnitude
if distance <= killAuraRange then
targetHum:TakeDamage(10)
end
end
end
end
end
wait(0.1)
end
end)
Rayfield:Notify({Title="Kill Aura 💀", Content="Kill Aura enabled! Enemies nearby take damage!", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="Kill Aura 💀", Content="Kill Aura disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Kill Aura Range Slider
local KillAuraSlider = CombatTab:CreateSlider({
Name = "Kill Aura Range",
Range = {5, 100},
Increment = 5,
Suffix = "Studs",
CurrentValue = 15,
Flag = "killaurarange",
Callback = function(Value)
killAuraRange = Value
end,
})

-- 🌍 Players Tab
local PlayerTab = Window:CreateTab("🌍 Players", nil)
local PlayerSection = PlayerTab:CreateSection("Goto Player")

local function getPlayerNames()
local names = {}
for _, player in pairs(game:GetService("Players"):GetPlayers()) do
if player ~= game:GetService("Players").LocalPlayer then
table.insert(names, player.Name)
end
end
if #names == 0 then
table.insert(names, "No players found")
end
return names
end

local selectedPlayer = nil

local PlayerDropdown = PlayerTab:CreateDropdown({
Name = "Select Player",
Options = getPlayerNames(),
CurrentOption = {getPlayerNames()[1]},
MultipleOptions = false,
Flag = "playerdropdown",
Callback = function(Option)
selectedPlayer = Option
Rayfield:Notify({Title="Player Selected 🎯", Content="Selected: " .. Option, Duration=3, Image=13047715178})
end,
})

local TeleportButton = PlayerTab:CreateButton({
Name = "⚡ Teleport to Player",
Callback = function()
if selectedPlayer == nil or selectedPlayer == "No players found" then
Rayfield:Notify({Title="Error ❌", Content="Please select a player first!", Duration=4, Image=13047715178})
return
end

local plr = game:GetService("Players").LocalPlayer
local char = plr.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
local target = game:GetService("Players"):FindFirstChild(selectedPlayer)

if target and target.Character then
local targetHRP = target.Character:FindFirstChild("HumanoidRootPart")
if targetHRP and hrp then
hrp.CFrame = targetHRP.CFrame + Vector3.new(0, 3, 0)
Rayfield:Notify({Title="Teleported! 🚀", Content="Teleported to " .. selectedPlayer .. "!", Duration=4, Image=13047715178})
end
else
Rayfield:Notify({Title="Error ❌", Content="Player not found or has no character!", Duration=4, Image=13047715178})
end
end,
})

local RefreshButton = PlayerTab:CreateButton({
Name = "🔄 Refresh Player List",
Callback = function()
Rayfield:Notify({Title="Refreshed! 🔄", Content="Please reopen the dropdown to see updated players!", Duration=4, Image=13047715178})
end,
})

-- 😈 Troll Tab
local TrollTab = Window:CreateTab("😈 Troll", nil)
local TrollSection = TrollTab:CreateSection("Troll Players")

local flingSelectedPlayer = nil

local FlingDropdown = TrollTab:CreateDropdown({
Name = "Select Player to Fling",
Options = getPlayerNames(),
CurrentOption = {getPlayerNames()[1]},
MultipleOptions = false,
Flag = "flingdropdown",
Callback = function(Option)
flingSelectedPlayer = Option
end,
})

local FlingButton = TrollTab:CreateButton({
Name = "🌪️ Fling Player",
Callback = function()
if flingSelectedPlayer == nil or flingSelectedPlayer == "No players found" then
Rayfield:Notify({Title="Error ❌", Content="Please select a player first!", Duration=4, Image=13047715178})
return
end

local target = game:GetService("Players"):FindFirstChild(flingSelectedPlayer)
if target and target.Character then
local targetHRP = target.Character:FindFirstChild("HumanoidRootPart")
if targetHRP then
local flingVelocity = Instance.new("BodyVelocity")
flingVelocity.Velocity = Vector3.new(math.random(-500,500), 1000, math.random(-500,500))
flingVelocity.MaxForce = Vector3.new(1e9,1e9,1e9)
flingVelocity.Parent = targetHRP
game:GetService("Debris"):AddItem(flingVelocity, 0.3)
Rayfield:Notify({Title="Flinged! 🌪️", Content=flingSelectedPlayer .. " got flung into the sky! 😂", Duration=4, Image=13047715178})
end
else
Rayfield:Notify({Title="Error ❌", Content="Player not found!", Duration=4, Image=13047715178})
end
end,
})

-- Spin Bot Toggle
local spinBotToggle = false

local SpinBotToggle = TrollTab:CreateToggle({
Name = "Spin Bot 🔄",
CurrentValue = false,
Flag = "SpinBotToggle",
Callback = function(Value)
spinBotToggle = Value

if Value then
spawn(function()
while spinBotToggle do
local hrp = game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.CFrame = hrp.CFrame * CFrame.Angles(0, math.rad(30), 0)
end
wait(0.01)
end
end)
Rayfield:Notify({Title="Spin Bot 🔄", Content="Spin Bot enabled! Spinning like crazy! 😂", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="Spin Bot 🔄", Content="Spin Bot disabled.", Duration=3, Image=13047715178})
end
end,
})

-- Spam Chat Toggle
local spamChatToggle = false
local spamMessage = "MatsHub is the best! 😎🔥"

local SpamChatToggle = TrollTab:CreateToggle({
Name = "Spam Chat 💬",
CurrentValue = false,
Flag = "SpamChatToggle",
Callback = function(Value)
spamChatToggle = Value

if Value then
spawn(function()
while spamChatToggle do
game:GetService("ReplicatedStorage").DefaultChatSystemChatEvents.SayMessageRequest:FireServer(spamMessage, "All")
wait(3)
end
end)
Rayfield:Notify({Title="Spam Chat 💬", Content="Spam Chat enabled! Spamming the chat! 😂", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="Spam Chat 💬", Content="Spam Chat disabled.", Duration=3, Image=13047715178})
end
end,
})

local SpamInput = TrollTab:CreateInput({
Name = "Spam Message",
PlaceholderText = "Enter your spam message...",
RemoveTextAfterFocusLost = false,
Callback = function(Text)
spamMessage = Text
end,
})

-- Big Head Slider
local HeadSection = TrollTab:CreateSection("Big Head 🗿")

local HeadSlider = TrollTab:CreateSlider({
Name = "Head Size 🗿",
Range = {1, 20},
Increment = 1,
Suffix = "Size",
CurrentValue = 1,
Flag = "headsize",
Callback = function(Value)
local char = game:GetService("Players").LocalPlayer.Character
if char then
local head = char:FindFirstChild("Head")
if head then
head.Size = Vector3.new(Value, Value, Value)
local neck = char:FindFirstChild("Neck", true)
if neck then
neck.C0 = CFrame.new(0, 1 + (Value / 2), 0) * CFrame.Angles(math.pi / 2, 0, math.pi)
end
end
end
Rayfield:Notify({Title="Big Head 🗿", Content="Head size set to " .. Value .. "! Looking huge! 😂", Duration=3, Image=13047715178})
end,
})

-- 🛠️ Utility Tab
local UtilityTab = Window:CreateTab("🛠️ Utility", nil)
local UtilitySection = UtilityTab:CreateSection("Utility")

-- Anti AFK Toggle
local antiAFKToggle = false

local AntiAFKToggle = UtilityTab:CreateToggle({
Name = "Anti AFK ⏱️",
CurrentValue = false,
Flag = "AntiAFKToggle",
Callback = function(Value)
antiAFKToggle = Value

if Value then
local VirtualUser = game:GetService("VirtualUser")
game:GetService("Players").LocalPlayer.Idled:Connect(function()
if antiAFKToggle then
VirtualUser:Button2Down(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
wait(1)
VirtualUser:Button2Up(Vector2.new(0,0), workspace.CurrentCamera.CFrame)
end
end)
Rayfield:Notify({Title="Anti AFK ⏱️", Content="Anti AFK enabled! You wont get kicked!", Duration=4, Image=13047715178})
else
Rayfield:Notify({Title="Anti AFK ⏱️", Content="Anti AFK disabled.", Duration=3, Image=13047715178})
end
end,
})

-- 🎲 Misc Tab
local MiscTab = Window:CreateTab("🎲 Misc", nil)
[ View More ]
4e273434-bd1b-4b3a-bab1-7996ff1432f3.webp


TrollFlingTeleportWallhacksAND MORE
 
Has Key System
  1. Yes
Works on mobile
  1. Yes
Back
Top