print("[Debug] Script execution started...") local successRayfield, Rayfield = pcall(function() return loadstring(game:HttpGet('https://sirius.menu/rayfield'))() end) if not successRayfield or not Rayfield then warn("[Error] Failed to load Rayfield UI library!") return end print("[Debug] Rayfield loaded successfully.") local Window = Rayfield:CreateWindow({ Name = "Beat your meat", LoadingTitle = "Beat your meat Hub", LoadingSubtitle = "by Script Hub", ConfigurationSaving = { Enabled = true, FolderName = "RayfieldV1Configs", FileName = "MainConfig" }, Discord = { Enabled = false }, KeySystem = false }) print("[Debug] Window created.") -------------------------------------------------------------------------------- -- TABS SETUP -------------------------------------------------------------------------------- local MainTab = Window:CreateTab("Main / Autos", 4483362458) local GunModsTab = Window:CreateTab("Gun Mods", 4483362458) local MeleeModsTab = Window:CreateTab("Melee Mods", 4483362458) local AutoSpawnTab = Window:CreateTab("AutoSpawn", 4483362458) -------------------------------------------------------------------------------- -- TAB 1: MAIN / AUTOS -------------------------------------------------------------------------------- _G.MilitantFarm = false _G.DarkAges = false _G.AutoWDM = false _G.AutoParry = false _G.AutoSFOTH = false _G.KillTargets = false _G.Desert = false _G.Park = false local EnemyTargets = {} local function CannonDamage(NPC) local backpack = game.Players.LocalPlayer:FindFirstChild("Backpack") local cannon = backpack and backpack:FindFirstChild("Hand Cannon") if cannon then local args = { [1] = cannon, [2] = NPC } game:GetService("ReplicatedStorage").Remotes.GunHit:FireServer(unpack(args)) end end local function SimulateAttack() local char = game:GetService("Players").LocalPlayer.Character local sword = char and char:FindFirstChild("Sword") if sword then local args = { [1] = sword, [2] = 1 } game:GetService("ReplicatedStorage").Remotes.MeleeAttacked:FireServer(unpack(args)) end end MainTab:CreateSection("Automations") MainTab:CreateToggle({ Name = "AutoParry (face target, hold sword)", CurrentValue = false, Flag = "AutoParryFlag", Callback = function(Value) _G.AutoParry = Value end, }) spawn(function() while task.wait(0.1) do if _G.AutoParry then SimulateAttack() end end end) MainTab:CreateLabel("All auto functions require hand cannon.") MainTab:CreateToggle({ Name = "Auto Militant", CurrentValue = false, Flag = "AutoMilitantFlag", Callback = function(Value) _G.MilitantFarm = Value end, }) MainTab:CreateToggle({ Name = "Auto SFOTH", CurrentValue = false, Flag = "AutoSFOTHFlag", Callback = function(Value) _G.AutoSFOTH = Value end, }) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.AutoSFOTH then for _, v in pairs(game.Workspace:GetChildren()) do if v.Name:match("Fighter") or table.find({"Sword Master", "Shedletsky"}, v.Name) then local hrp = v:FindFirstChild("HumanoidRootPart") if hrp then CannonDamage(hrp.Position) end end end end end) end) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.MilitantFarm then for _, v in pairs(game.Workspace:GetChildren()) do if table.find({"Meleer Militant", "Gunner Militant", "Grenader Militant", "Medic Militant", "Combatant Militant", "Brute Militant", "Viper", "Juggernaut"}, v.Name) then local hrp = v:FindFirstChild("HumanoidRootPart") if hrp then CannonDamage(hrp.Position) end end end end end) end) MainTab:CreateToggle({ Name = "Auto Dark Ages", CurrentValue = false, Flag = "AutoDarkAgesFlag", Callback = function(Value) _G.DarkAges = Value end, }) MainTab:CreateToggle({ Name = "Auto Desert", CurrentValue = false, Flag = "AutoDesertFlag", Callback = function(Value) _G.Desert = Value end, }) MainTab:CreateToggle({ Name = "Auto Park", CurrentValue = false, Flag = "AutoParkFlag", Callback = function(Value) _G.Park = Value end, }) MainTab:CreateToggle({ Name = "Auto WDM", CurrentValue = false, Flag = "AutoWDMFlag", Callback = function(Value) _G.AutoWDM = Value end, }) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.AutoWDM then local npcFolder = game:GetService("ReplicatedStorage"):FindFirstChild("Miscs") and game:GetService("ReplicatedStorage").Miscs:FindFirstChild("NPCs") if npcFolder then for _, npc in pairs(npcFolder:GetChildren()) do if npc.Name:lower():match("destructive") and npc.Name ~= "Slugcat" and not npc.Name:match("Civilian") then local workspaceNPC = game.Workspace:FindFirstChild(npc.Name) if workspaceNPC and workspaceNPC:FindFirstChild("HumanoidRootPart") then CannonDamage(workspaceNPC.HumanoidRootPart.Position) end end end end end end) end) MainTab:CreateSection("Target Selector") MainTab:CreateDropdown({ Name = "Enemy Targets", Options = {"Robloxian", "Angry Robloxian", "Tiny Robloxian", "Gunner Robloxian", "Giant Robloxian", "Rich Robloxian", "Tiny Angry Robloxian", "Raging Robloxian", "Rox The Destroyer", "Crazy Robloxian", "Mummy", "Tiny Mummy", "Fast Mummy", "Strong Mummy", "Sandstone", "Carium", "Camel", "Goblin", "Orc", "Buster Goblin", "Skeleton", "Red Fungus", "Blue Fungus", "Yellow Fungus", "Green Fungus", "Gavin The Wizard", "Adalwolf", "Meleer Militant", "Gunner Militant", "Grenader Militant", "Medic Militant", "Combatant Militant", "Brute Militant", "Viper", "Juggernaut"}, CurrentOption = "Robloxian", Flag = "EnemyTargetsDropdown", Callback = function(Option) table.insert(EnemyTargets, Option) end, }) MainTab:CreateToggle({ Name = "AutoKill Targets", CurrentValue = false, Flag = "AutoKillTargetsFlag", Callback = function(Value) _G.KillTargets = Value end, }) MainTab:CreateButton({ Name = "Clear EnemyTargets", Callback = function() EnemyTargets = {} end, }) MainTab:CreateButton({ Name = "WIP Button", Callback = function() Rayfield:Notify({ Title = "Notice", Content = "This button does nothing yet.", Duration = 3, Image = 4483362458, }) end, }) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.KillTargets then for _, v in pairs(game.Workspace:GetChildren()) do if table.find(EnemyTargets, v.Name) and v:FindFirstChild("Torso") then CannonDamage(v.Torso.Position) end end end end) end) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.Desert then for _, v in pairs(game.Workspace:GetChildren()) do if table.find({"Mummy", "Fast Mummy", "Strong Mummy", "Sandstone", "Camel", "Carium"}, v.Name) and v:FindFirstChild("Torso") then CannonDamage(v.Torso.Position) end end end end) end) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.Park then for _, v in pairs(game.Workspace:GetChildren()) do if (v.Name:match("Robloxian") or v.Name:match("Rox")) and v:FindFirstChild("Torso") then CannonDamage(v.Torso.Position) end end end end) end) spawn(function() game:GetService("RunService").RenderStepped:Connect(function() if _G.DarkAges then for _, v in pairs(game.Workspace:GetChildren()) do if table.find({"Goblin", "Orc", "Buster Goblin", "Skeleton", "Adalwolf", "Gavin The Wizard", "Red Fungus", "Blue Fungus", "Green Fungus", "Yellow Fungus"}, v.Name) and v:FindFirstChild("Torso") then CannonDamage(v.Torso.Position) end end end end) end) print("[Debug] Main tab loaded.") -------------------------------------------------------------------------------- -- TAB 2: GUN MODS -------------------------------------------------------------------------------- GunModsTab:CreateSection("Player Gun Modifications") local gunSettingsFolder = game:GetService("ReplicatedStorage"):WaitForChild("Modules", 5) and game:GetService("ReplicatedStorage").Modules:WaitForChild("Tools", 5) and game:GetService("ReplicatedStorage").Modules.Tools:WaitForChild("Gun", 5) and game:GetService("ReplicatedStorage").Modules.Tools.Gun:WaitForChild("Settings", 5) local OriginalGunSettings = {} if gunSettingsFolder then local ExcludedModules = { "Minigun", "Suppressor Minigun", "Golden Minigun", "Weedwhacker", "Melee", "Armor", "Throwable", "Item" } local function isGunScript(moduleScript) if not moduleScript:IsA("ModuleScript") then return false end if table.find(ExcludedModules, moduleScript.Name) then return false end local success, settings = pcall(require, moduleScript) if success and typeof(settings) == "table" then return settings.AmmoPerMag ~= nil or settings.FireRate ~= nil or settings.ProjectileObject ~= nil end return false end for _, v in pairs(gunSettingsFolder:GetChildren()) do if isGunScript(v) then local success, settings = pcall(require, v) if success and settings then OriginalGunSettings[v.Name] = { AmmoPerMag = settings.AmmoPerMag, FireRate = settings.FireRate, Automatic = settings.Automatic, Spread = settings.Spread, MaxPierce = settings.MaxPierce, ProjectilesPerShot = settings.ProjectilesPerShot or 1, ProjectileSpeed = settings.ProjectileSpeed or 100, ReloadTime = settings.ReloadTime, WindUp = settings.WindUp, HeadshotDamageMultiplier = settings.HeadshotDamageMultiplier, EquipTime = settings.EquipTime, WalkSpeedMultiplier = settings.WalkSpeedMultiplier or 1, CrossExpansion = settings.CrossExpansion, PumpTime = settings.PumpTime, ShotgunPreReloadTime = settings.ShotgunPreReloadTime, ShotgunClipinTime = settings.ShotgunClipinTime } end end end end local CustomBulletsAmount = 30 local CustomHeadshotMultiplier = 50 local CustomFireRateValue = 0.05 local CustomBulletsEnabled = false local HeadshotBuffEnabled = false local CustomFireRateEnabled = false local function applyGunMod(gunName, modifierFunc) if not gunSettingsFolder then return end local mod = gunSettingsFolder:FindFirstChild(gunName) if mod then local success, a = pcall(require, mod) local orig = OriginalGunSettings[gunName] if success and a and orig then modifierFunc(a, orig) end end end GunModsTab:CreateToggle({ Name = "Infinite Ammo", CurrentValue = false, Flag = "InfAmmoToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.AmmoPerMag = Value and 9999 or orig.AmmoPerMag end) end end, }) GunModsTab:CreateInput({ Name = "Custom Fire Rate Amount", PlaceholderText = "0.05", RemoveTextOnFocus = false, Callback = function(Text) local num = tonumber(Text) if num then CustomFireRateValue = num if CustomFireRateEnabled then for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.FireRate = CustomFireRateValue end) end end end end, }) GunModsTab:CreateToggle({ Name = "Custom Fire Rate Mode", CurrentValue = false, Flag = "CustomFireRateToggle", Callback = function(Value) CustomFireRateEnabled = Value for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.FireRate = Value and CustomFireRateValue or orig.FireRate end) end end, }) GunModsTab:CreateToggle({ Name = "No Spread & Zero Crosshair Expansion", CurrentValue = false, Flag = "NoSpreadToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.Spread = Value and 0 or orig.Spread a.CrossExpansion = Value and 0 or orig.CrossExpansion end) end end, }) GunModsTab:CreateToggle({ Name = "Max Pierce (Infinite Penetration)", CurrentValue = false, Flag = "MaxPierceToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.MaxPierce = Value and 999 or orig.MaxPierce end) end end, }) GunModsTab:CreateToggle({ Name = "Instant Reload", CurrentValue = false, Flag = "InstaReloadToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.ReloadTime = Value and 0 or orig.ReloadTime end) end end, }) GunModsTab:CreateToggle({ Name = "Shotgun Instant Reload / Pump", CurrentValue = false, Flag = "ShotgunInstaReloadToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) if Value then if a.ShotgunPreReloadTime ~= nil then a.ShotgunPreReloadTime = 0 end if a.ShotgunClipinTime ~= nil then a.ShotgunClipinTime = 0 end if a.PumpTime ~= nil then a.PumpTime = 0 end else if orig.ShotgunPreReloadTime ~= nil then a.ShotgunPreReloadTime = orig.ShotgunPreReloadTime end if orig.ShotgunClipinTime ~= nil then a.ShotgunClipinTime = orig.ShotgunClipinTime end if orig.PumpTime ~= nil then a.PumpTime = orig.PumpTime end end end) end end, }) GunModsTab:CreateToggle({ Name = "Instant Equip", CurrentValue = false, Flag = "InstantEquipToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.EquipTime = Value and 0 or orig.EquipTime end) end end, }) GunModsTab:CreateToggle({ Name = "2x Gun WalkSpeed Multiplier", CurrentValue = false, Flag = "WalkSpeedToggle", Callback = function(Value) for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.WalkSpeedMultiplier = Value and 2.0 or orig.WalkSpeedMultiplier end) end end, }) GunModsTab:CreateSection("Enemy / Custom Gun Modifications") GunModsTab:CreateInput({ Name = "Bullets Per Shot Amount", PlaceholderText = "30", RemoveTextOnFocus = false, Callback = function(Text) local num = tonumber(Text) if num then CustomBulletsAmount = num if CustomBulletsEnabled then for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.ProjectilesPerShot = CustomBulletsAmount a.ProjectileSpeed = 999 end) end end end end, }) GunModsTab:CreateToggle({ Name = "Custom Bullets Per Shot", CurrentValue = false, Flag = "CustomBulletsToggle", Callback = function(Value) CustomBulletsEnabled = Value for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.ProjectilesPerShot = Value and CustomBulletsAmount or orig.ProjectilesPerShot a.ProjectileSpeed = Value and 999 or orig.ProjectileSpeed end) end end, }) GunModsTab:CreateInput({ Name = "Custom Headshot Multiplier Amount", PlaceholderText = "50", RemoveTextOnFocus = false, Callback = function(Text) local num = tonumber(Text) if num then CustomHeadshotMultiplier = num if HeadshotBuffEnabled then for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.HeadshotDamageMultiplier = CustomHeadshotMultiplier end) end end end end, }) GunModsTab:CreateToggle({ Name = "Custom Headshot Multiplier Only", CurrentValue = false, Flag = "CustomDamageToggle", Callback = function(Value) HeadshotBuffEnabled = Value for gunName, _ in pairs(OriginalGunSettings) do applyGunMod(gunName, function(a, orig) a.HeadshotDamageMultiplier = Value and CustomHeadshotMultiplier or orig.HeadshotDamageMultiplier end) end end, }) GunModsTab:CreateToggle({ Name = "Minigun Buff", CurrentValue = false, Flag = "MinigunBuffToggle", Callback = function(Value) local minigunModules = {"Minigun", "Suppressor Minigun", "Golden Minigun", "Weedwhacker"} for _, gun in ipairs(minigunModules) do local mod = gunSettingsFolder and gunSettingsFolder:FindFirstChild(gun) if mod then local success, a = pcall(require, mod) local orig = OriginalGunSettings[gun] if success and a and orig then if Value then a.WindUp = 0 a.AmmoPerMag = 9999 a.ReloadTime = 0 a.HeadshotDamageMultiplier = 5 a.MaxPierce = 50 a.ProjectilesPerShot = 50 a.Spread = 1 a.ProjectileSpeed = 9999 else a.WindUp = orig.WindUp a.AmmoPerMag = orig.AmmoPerMag a.ReloadTime = orig.ReloadTime a.HeadshotDamageMultiplier = orig.HeadshotDamageMultiplier a.MaxPierce = orig.MaxPierce a.ProjectilesPerShot = orig.ProjectilesPerShot a.Spread = orig.Spread a.ProjectileSpeed = orig.ProjectileSpeed end end end end end, }) GunModsTab:CreateLabel("NPC Gun Modifications") GunModsTab:CreateToggle({ Name = "Disable Most Enemy Guns", CurrentValue = false, Flag = "DisableEnemyGunsToggle", Callback = function(Value) local enemyGuns = {"EnemyShotgun", "EnemySniperRifle", "EnemyMinigun", "EnemyHuntingRifle"} for _, gunName in ipairs(enemyGuns) do local mod = gunSettingsFolder and gunSettingsFolder:FindFirstChild(gunName) if mod then local success, a = pcall(require, mod) local orig = OriginalGunSettings[gunName] if success and a and orig then if Value then a.AmmoPerMag = 1 a.ProjectilesPerShot = 0 a.ReloadTime = 999 else a.AmmoPerMag = orig.AmmoPerMag a.ProjectilesPerShot = orig.ProjectilesPerShot a.ReloadTime = orig.ReloadTime end end end end end, }) print("[Debug] Gun mods loaded.") -------------------------------------------------------------------------------- -- TAB 3: MELEE MODS -------------------------------------------------------------------------------- MeleeModsTab:CreateSection("Melee & Ability Modifications") local meleeSettingsFolder = game:GetService("ReplicatedStorage"):FindFirstChild("Modules") and game:GetService("ReplicatedStorage").Modules:FindFirstChild("Tools") and game:GetService("ReplicatedStorage").Modules.Tools:FindFirstChild("Melee") and game:GetService("ReplicatedStorage").Modules.Tools.Melee:FindFirstChild("Settings") local OriginalMeleeSettings = {} if meleeSettingsFolder then for _, moduleScript in pairs(meleeSettingsFolder:GetChildren()) do if moduleScript:IsA("ModuleScript") then local success, settings = pcall(require, moduleScript) if success and typeof(settings) == "table" then OriginalMeleeSettings[moduleScript.Name] = { EquipTime = settings.EquipTime, WalkSpeedMultiplier = settings.WalkSpeedMultiplier, MeleeParryHealthRegenAmount = settings.MeleeParryHealthRegenAmount, Attacks = {} } if settings.Attacks then for k, atk in pairs(settings.Attacks) do OriginalMeleeSettings[moduleScript.Name].Attacks[k] = { Cooldown = atk.Cooldown, Knockback = atk.Knockback, ParryStart = atk.ParryStart, ParryTime = atk.ParryTime } end end end end end end MeleeModsTab:CreateToggle({ Name = "Zero Melee Attack Cooldown", CurrentValue = false, Flag = "ZeroMeleeCooldown", Callback = function(Value) if not meleeSettingsFolder then return end for _, mod in pairs(meleeSettingsFolder:GetChildren()) do if mod:IsA("ModuleScript") then local success, a = pcall(require, mod) local orig = OriginalMeleeSettings[mod.Name] if success and a and a.Attacks then for k, atk in pairs(a.Attacks) do if Value then atk.Cooldown = 0 elseif orig and orig.Attacks[k] then atk.Cooldown = orig.Attacks[k].Cooldown end end end end end end, }) MeleeModsTab:CreateToggle({ Name = "Instant Equip Melee", CurrentValue = false, Flag = "MeleeInstaEquip", Callback = function(Value) if not meleeSettingsFolder then return end for _, mod in pairs(meleeSettingsFolder:GetChildren()) do if mod:IsA("ModuleScript") then local success, a = pcall(require, mod) local orig = OriginalMeleeSettings[mod.Name] if success and a then a.EquipTime = Value and 0 or (orig and orig.EquipTime or a.EquipTime) end end end end, }) MeleeModsTab:CreateToggle({ Name = "2x Melee WalkSpeed Multiplier", CurrentValue = false, Flag = "MeleeSpeedToggle", Callback = function(Value) if not meleeSettingsFolder then return end for _, mod in pairs(meleeSettingsFolder:GetChildren()) do if mod:IsA("ModuleScript") then local success, a = pcall(require, mod) local orig = OriginalMeleeSettings[mod.Name] if success and a then a.WalkSpeedMultiplier = Value and 3.0 or (orig and orig.WalkSpeedMultiplier or a.WalkSpeedMultiplier) end end end end, }) MeleeModsTab:CreateToggle({ Name = "Infinite Parry / Block Window", CurrentValue = false, Flag = "InfParryWindow", Callback = function(Value) if not meleeSettingsFolder then return end for _, mod in pairs(meleeSettingsFolder:GetChildren()) do if mod:IsA("ModuleScript") then local success, a = pcall(require, mod) local orig = OriginalMeleeSettings[mod.Name] if success and a and a.Attacks then for k, atk in pairs(a.Attacks) do if Value then atk.ParryStart = 0 atk.ParryTime = 999 elseif orig and orig.Attacks[k] then atk.ParryStart = orig.Attacks[k].ParryStart atk.ParryTime = orig.Attacks[k].ParryTime end end end end end end, }) MeleeModsTab:CreateToggle({ Name = "Extreme Knockback", CurrentValue = false, Flag = "ExtremeKnockback", Callback = function(Value) if not meleeSettingsFolder then return end for _, mod in pairs(meleeSettingsFolder:GetChildren()) do if mod:IsA("ModuleScript") then local success, a = pcall(require, mod) local orig = OriginalMeleeSettings[mod.Name] if success and a and a.Attacks then for k, atk in pairs(a.Attacks) do if Value then atk.Knockback = 100 elseif orig and orig.Attacks[k] then atk.Knockback = orig.Attacks[k].Knockback end end end end end end, }) MeleeModsTab:CreateToggle({ Name = "Super Parry Health Regen (+5000 HP)", CurrentValue = false, Flag = "SuperParryHeal", Callback = function(Value) if not meleeSettingsFolder then return end for _, mod in pairs(meleeSettingsFolder:GetChildren()) do if mod:IsA("ModuleScript") then local success, a = pcall(require, mod) local orig = OriginalMeleeSettings[mod.Name] if success and a then a.MeleeParryHealthRegenAmount = Value and 5000 or (orig and orig.MeleeParryHealthRegenAmount or a.MeleeParryHealthRegenAmount) end end end end, }) print("[Debug] Melee mods loaded.") -------------------------------------------------------------------------------- -- TAB 4: AUTOSPAWN -------------------------------------------------------------------------------- AutoSpawnTab:CreateSection("NPC AutoSpawner") local enemies = {} local function SpawnEnemy(EnemyName) local remotes = game:GetService("ReplicatedStorage"):FindFirstChild("Remotes") local spawnRemote = remotes and remotes:FindFirstChild("SpawnNPC") if spawnRemote then spawnRemote:InvokeServer(EnemyName) end end AutoSpawnTab:CreateInput({ Name = "Enter enemy to autospawn", PlaceholderText = "Enemy Name", RemoveTextOnFocus = false, Callback = function(Text) if Text ~= "" then table.insert(enemies, Text) end end, }) local AutoSpawning = false AutoSpawnTab:CreateToggle({ Name = "Spawn Enemies (USES SP)", CurrentValue = false, Flag = "AutoSpawnToggleFlag", Callback = function(Value) AutoSpawning = Value end, }) spawn(function() game:GetService("RunService").Heartbeat:Connect(function() if AutoSpawning then for _, v in ipairs(enemies) do SpawnEnemy(v) end end end) end) AutoSpawnTab:CreateButton({ Name = "Clear Enemies", Callback = function() table.clear(enemies) end, }) print("[Debug] Script fully loaded with no errors!")