print(string.char(98, 121, 32, 114, 117, 108, 101, 32, 124, 32, 120, 117, 113, 111, 114))

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local function fixGCTables()
    for _, v in pairs(getgc(true)) do
        if type(v) == "table" then
            if rawget(v, "AmmoPerShot") ~= nil then
                rawset(v, "AmmoPerShot", 0)
            end
            if rawget(v, "MagSize") ~= nil then
                rawset(v, "MagSize", 999999)
            end
            if rawget(v, "Reserve") ~= nil and type(rawget(v, "Reserve")) == "number" then
                rawset(v, "Reserve", 999999)
            end
        end
    end
end

local function processTool(tool)
    if not tool or not tool:IsA("Tool") then return end
    
    for _, child in ipairs(tool:GetChildren()) do
        if child:IsA("ModuleScript") and child.Name:lower():find("setting") then
            pcall(function()
                local settingsMod = require(child)
                if type(settingsMod) == "table" then
                    settingsMod.AmmoPerShot = 0
                    if settingsMod.MagSize then settingsMod.MagSize = 999999 end
                    if settingsMod.Reserve then settingsMod.Reserve = 999999 end
                end
            end)
        end
    end
    
    for _, desc in ipairs(tool:GetDescendants()) do
        if desc:IsA("ValueBase") then
            local name = desc.Name:lower()
            if name == "ammo" or name == "clip" or name == "mag" or name == "reserve" or name == "defaultreserve" then
                pcall(function() desc.Value = 999999 end)
                desc.Changed:Connect(function(newVal)
                    if type(newVal) == "number" and newVal < 999999 then
                        pcall(function() desc.Value = 999999 end)
                    end
                end)
            end
        end
    end

    for attr, val in pairs(tool:GetAttributes()) do
        local lowerAttr = attr:lower()
        if type(val) == "number" and (lowerAttr == "ammo" or lowerAttr == "clip" or lowerAttr == "reserve" or lowerAttr == "mag") then
            pcall(function() tool:SetAttribute(attr, 999999) end)
            tool:GetAttributeChangedSignal(attr):Connect(function()
                local current = tool:GetAttribute(attr)
                if type(current) == "number" and current < 999999 then
                    pcall(function() tool:SetAttribute(attr, 999999) end)
                end
            end)
        end
    end
end

local function scanAll()
    fixGCTables()
    if LocalPlayer.Character then
        for _, child in ipairs(LocalPlayer.Character:GetChildren()) do
            if child:IsA("Tool") then processTool(child) end
        end
    end
    if LocalPlayer.Backpack then
        for _, child in ipairs(LocalPlayer.Backpack:GetChildren()) do
            if child:IsA("Tool") then processTool(child) end
        end
    end
end

if LocalPlayer.Backpack then
    LocalPlayer.Backpack.ChildAdded:Connect(function(child)
        if child:IsA("Tool") then processTool(child) end
    end)
end

LocalPlayer.CharacterAdded:Connect(function(char)
    char.ChildAdded:Connect(function(child)
        if child:IsA("Tool") then processTool(child) end
    end)
end)

if LocalPlayer.Character then
    LocalPlayer.Character.ChildAdded:Connect(function(child)
        if child:IsA("Tool") then processTool(child) end
    end)
end

task.spawn(function()
    while true do
        scanAll()
        task.wait(0.3)
    end
end)
[SUMMER] Randomizer: Redux inf ammo open source
Mobile Friendly
1,292 views
2 months ago

inf ammo open source

WORKING
Free

Description

inf ammo nothinh more lol

Features

  • inf ammo
  • ammo
  • inf

Related Scripts