Gui Toggle Antilag
Key Required

Gui Toggle Antilag

Forge a weapon! [ALPHA]_JAI_JAI 9.8K views 38 executesUpdated Aug 26, 2025
Unrated
00
Lua Script•249 lines (8041 chars)
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")

local function safeCall(fn, ...)
    local ok, res = pcall(fn, ...)
    return ok, res
end

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "SynapseAutoCollectGui"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = game:GetService("CoreGui")

local Frame = Instance.new("Frame")
Frame.Size = UDim2.new(0, 360, 0, 220)
Frame.Position = UDim2.new(0.5, -180, 0.5, -110)
Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Frame.Visible = false
Frame.Parent = ScreenGui

local UIPadding = Instance.new("UIPadding")
UIPadding.PaddingLeft = UDim.new(0, 12)
UIPadding.PaddingRight = UDim.new(0, 12)
UIPadding.PaddingTop = UDim.new(0, 12)
UIPadding.PaddingBottom = UDim.new(0, 12)
UIPadding.Parent = Frame

local UIListLayout = Instance.new("UIListLayout")
UIListLayout.Padding = UDim.new(0, 14)
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Parent = Frame

local function createOption(name)
    local optionFrame = Instance.new("Frame")
    optionFrame.Size = UDim2.new(1, 0, 0, 44)
    optionFrame.BackgroundTransparency = 1
    optionFrame.Parent = Frame

    local label = Instance.new("TextLabel")
    label.Text = name
    label.Size = UDim2.new(0.7, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.TextColor3 = Color3.new(1, 1, 1)
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Font = Enum.Font.SourceSansBold
    label.TextSize = 20
    label.Parent = optionFrame

    local toggle = Instance.new("TextButton")
    toggle.Size = UDim2.new(0.3, 0, 1, 0)
    toggle.Position = UDim2.new(0.7, 0, 0, 0)
    toggle.Text = "False"
    toggle.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
    toggle.TextColor3 = Color3.new(1, 1, 1)
    toggle.Font = Enum.Font.SourceSansBold
    toggle.TextSize = 18
    toggle.Parent = optionFrame

    return toggle
end

local ToggleButton = Instance.new("TextButton")
ToggleButton.Size = UDim2.new(0, 100, 0, 34)
ToggleButton.Position = UDim2.new(0, 12, 0, 12)
ToggleButton.Text = "Toggle GUI"
ToggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
ToggleButton.TextColor3 = Color3.new(1, 1, 1)
ToggleButton.Parent = ScreenGui

local HideTycoonsCheckbox = createOption("Hide Other Tycoons")
local RemovePlayersCheckbox = createOption("Remove Players")
local AutoCollectCheckbox = createOption("AutoCollect (fireproximityprompt)")

local hideTycoonsEnabled = false
local hideTycoonsWasEnabled = false
local removePlayersEnabled = false
local autoCollectEnabled = false

local function getAllFurnaces()
    local furnaces = {}
    local Map = Workspace:FindFirstChild("Map")
    if not Map then return furnaces end
    local Tycoons = Map:FindFirstChild("Tycoons")
    if not Tycoons then return furnaces end
    for i = 1, 6 do
        local tycoon = Tycoons:FindFirstChild("Tycoon" .. i)
        if tycoon then
            local furnaceFolder = tycoon:FindFirstChild("Furnaces")
            if furnaceFolder then
                for j = 0, 11 do
                    local fname = (j == 0) and "Furnace" or ("Furnace" .. j)
                    local f = furnaceFolder:FindFirstChild(fname)
                    if f then
                        table.insert(furnaces, f)
                    end
                end
            end
        end
    end
    return furnaces
end

local function clearTycoonVisuals()
    local Map = Workspace:FindFirstChild("Map")
    if not Map then return end
    local Tycoons = Map:FindFirstChild("Tycoons")
    if not Tycoons then return end
    for i = 1, 6 do
        local tycoon = Tycoons:FindFirstChild("Tycoon" .. i)
        if tycoon and tycoon:GetAttribute("Owner") ~= LocalPlayer.Name then
            for _, obj in pairs(tycoon:GetChildren()) do
                if obj:IsA("Model") and Players:GetPlayerFromCharacter(obj) then
                else
                    pcall(function() obj:Destroy() end)
                end
            end
        end
    end
end

local function rejoin()
    local TeleportService = game:GetService("TeleportService")
    pcall(function() TeleportService:Teleport(game.PlaceId, LocalPlayer) end)
end

local function setPlayersVisibility(visible)
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            for _, part in pairs(player.Character:GetDescendants()) do
                if part:IsA("BasePart") then
                    pcall(function() part.Transparency = visible and 0 or 1 end)
                elseif part:IsA("Decal") then
                    pcall(function() part.Transparency = visible and 0 or 1 end)
                elseif part:IsA("ParticleEmitter") or part:IsA("Trail") then
                    pcall(function() part.Enabled = visible end)
                elseif part:IsA("BillboardGui") or part:IsA("SurfaceGui") then
                    pcall(function() part.Enabled = visible end)
                end
            end
        end
    end
end

Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:Connect(function()
        if removePlayersEnabled and player ~= LocalPlayer then
            task.wait(0.5)
            setPlayersVisibility(false)
        end
    end)
end)

for _, p in pairs(Players:GetPlayers()) do
    p.CharacterAdded:Connect(function()
        if removePlayersEnabled and p ~= LocalPlayer then
            task.wait(0.5)
            setPlayersVisibility(false)
        end
    end)
end

local debounce = {}
local DEBOUNCE_TIME = 0.8
local SCAN_INTERVAL = 0.32

local function tryFireProximityPrompt(prox)
    if type(fireproximityprompt) ~= "function" then
        return false
    end
    local ok, res = pcall(function()
        fireproximityprompt(prox)
    end)
    return ok
end

local function scanAndAutoCollect()
    local furnaces = getAllFurnaces()
    for _, furnace in ipairs(furnaces) do
        local skript = furnace:FindFirstChild("Skript")
        if skript then
            local proxFolder = skript:FindFirstChild("Proximity")
            if proxFolder then
                local prox = proxFolder:FindFirstChild("TakeOutMetal")
                if prox and prox:IsA("ProximityPrompt") and prox.Enabled then
                    local id = tostring(prox)
                    if (not debounce[id]) or (tick() - debounce[id] > DEBOUNCE_TIME) then
                        debounce[id] = tick()
                        safeCall(tryFireProximityPrompt, prox)
                    end
                end
            end
        end
    end
end

local autoCollectThread
local function startAutoCollectLoop()
    if autoCollectThread then return end
    autoCollectThread = task.spawn(function()
        while autoCollectEnabled do
            scanAndAutoCollect()
            task.wait(SCAN_INTERVAL)
        end
        autoCollectThread = nil
    end)
end

local function stopAutoCollectLoop()
    autoCollectEnabled = false
end

HideTycoonsCheckbox.MouseButton1Click:Connect(function()
    hideTycoonsEnabled = not hideTycoonsEnabled
    HideTycoonsCheckbox.Text = tostring(hideTycoonsEnabled)
    if hideTycoonsEnabled then
        clearTycoonVisuals()
        hideTycoonsWasEnabled = true
    else
        if hideTycoonsWasEnabled then
            rejoin()
        end
    end
end)

RemovePlayersCheckbox.MouseButton1Click:Connect(function()
    removePlayersEnabled = not removePlayersEnabled
    RemovePlayersCheckbox.Text = tostring(removePlayersEnabled)
    if removePlayersEnabled then
        setPlayersVisibility(false)
    else
        setPlayersVisibility(true)
    end
end)

AutoCollectCheckbox.MouseButton1Click:Connect(function()
    autoCollectEnabled = not autoCollectEnabled
    AutoCollectCheckbox.Text = tostring(autoCollectEnabled)
    if autoCollectEnabled then
        startAutoCollectLoop()
    else
        stopAutoCollectLoop()
    end
end)

ToggleButton.MouseButton1Click:Connect(function()
    Frame.Visible = not Frame.Visible
end)

Features & Information

GUI
#forgeaweapon#jai#rblx

Community Comments (0)

No comments yet for this script.