Universal MatsHub 900 SUPPORTED GAMES
Key RequiredUniversal

Universal MatsHub 900 SUPPORTED GAMES

Universal Scriptmhaalboom13mhaalboom13 392 views 76 executesUpdated Feb 25, 2026
2.5/ 5(2 votes)
1150% Positive
Lua Script•705 lines (23102 chars)
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)

Features & Information

Troll Movement AND MORE (im so sorry it has a key)
#xeno#key

Community Comments (1)

mhaalboom13mhaalboom13Feb 25, 2026

Might be glitchy, its the game some game work

More Scripts for Universal Scripts