good ai version of destroy thy npcs
Key Required

good ai version of destroy thy npcs

Beat The Robloxian!opi_Xxploitzzopi_Xxploitzz 371 views 373 executesUpdated Oct 3, 2026
Unrated
00
Lua Script•856 lines (28138 chars)
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!")

Features & Information

Credit to someone
#beat#the#robloxian#good#keyless

Community Comments (0)

No comments yet for this script.

More Scripts for Beat The Robloxian!