Updated Menu Zombie Survival Garrys mod Gmod
Key Required

Updated Menu Zombie Survival Garrys mod Gmod

Zombie Survival Garry's Mod [Old]KingCipHerVonKingCipHerVon 471 views 6.8K executesUpdated Jul 19, 2026
Unrated
00
Lua Script•983 lines (43864 chars)
-- KingCip V1
-- (PC + Mobile fully supported).
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local TeamsService = game:GetService("Teams")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local REMOTES = ReplicatedStorage:WaitForChild("REMOTES")
local REMOTE_ARSENAL = REMOTES:WaitForChild("REMOTE_ARSENAL")
local GrabRemote = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("GrabRemote")
local REMOTE_ZOMBIE_SELECTION = REMOTES:WaitForChild("REMOTE_ZOMBIE_SELECTION")
local PropsFolder = Workspace:WaitForChild("Props")
local PropsModelFolder = PropsFolder:WaitForChild("Model")
local MODULES = ReplicatedStorage:WaitForChild("MODULES")
local MODULE_SHOP = MODULES:WaitForChild("MODULE_SHOP")
local ITEM_TYPES = MODULE_SHOP:WaitForChild("ITEM_TYPES")
local FRAME_WEAPON_ITEM = ITEM_TYPES:WaitForChild("FRAME_WEAPON_ITEM")
local WeaponsFolder = ReplicatedStorage:WaitForChild("Weapons")
local AmmoTypeFolder = ReplicatedStorage:WaitForChild("AmmoType")
local ZombiesFolder = ReplicatedStorage:WaitForChild("Zombies")
local BossesFolder = ReplicatedStorage:WaitForChild("Bosses")

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "KingCip V1"
ScreenGui.ResetOnSpawn = false
ScreenGui.Enabled = true
ScreenGui.Parent = playerGui

local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 540, 0, 400)
MainFrame.Position = UDim2.new(0.5, -270, 0.5, -200)
MainFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 32)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Visible = true
MainFrame.Parent = ScreenGui

local MainGradient = Instance.new("UIGradient")
MainGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(40, 20, 70)), ColorSequenceKeypoint.new(1, Color3.fromRGB(10, 50, 90))}
MainGradient.Rotation = 135
MainGradient.Parent = MainFrame

local UICornerMain = Instance.new("UICorner")
UICornerMain.CornerRadius = UDim.new(0, 12)
UICornerMain.Parent = MainFrame

local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 38)
TitleBar.BackgroundColor3 = Color3.fromRGB(25, 25, 45)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainFrame

local TitleGradient = Instance.new("UIGradient")
TitleGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(120, 60, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 220, 255))}
TitleGradient.Parent = TitleBar

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -50, 1, 0)
Title.Position = UDim2.new(0, 16, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "KingCip V1"
Title.TextColor3 = Color3.fromRGB(220, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 21
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = TitleBar

local TitleStroke = Instance.new("UIStroke")
TitleStroke.Thickness = 1.5
TitleStroke.Color = Color3.fromRGB(0, 255, 200)
TitleStroke.Parent = Title

local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 34, 0, 34)
CloseBtn.Position = UDim2.new(1, -38, 0, 2)
CloseBtn.BackgroundColor3 = Color3.fromRGB(220, 60, 60)
CloseBtn.Text = "X"
CloseBtn.TextColor3 = Color3.new(1,1,1)
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextSize = 22
CloseBtn.Parent = TitleBar
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0,8)

local CloseStroke = Instance.new("UIStroke")
CloseStroke.Thickness = 2
CloseStroke.Color = Color3.fromRGB(255, 100, 100)
CloseStroke.Parent = CloseBtn

local TabBar = Instance.new("Frame")
TabBar.Size = UDim2.new(1, 0, 0, 42)
TabBar.Position = UDim2.new(0, 0, 0, 38)
TabBar.BackgroundColor3 = Color3.fromRGB(22, 22, 38)
TabBar.BorderSizePixel = 0
TabBar.Parent = MainFrame

local TabGradient = Instance.new("UIGradient")
TabGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0, Color3.fromRGB(50, 30, 90)), ColorSequenceKeypoint.new(1, Color3.fromRGB(20, 60, 120))}
TabGradient.Parent = TabBar

local tabNames = {"Instant Buy", "Props", "List & Buy", "Ammo", "SpZo", "SpBosses", "Misc", "OP!!"}
local tabs = {}
local tabWidth = 1 / #tabNames
for i, name in ipairs(tabNames) do
    local tab = Instance.new("TextButton")
    tab.Size = UDim2.new(tabWidth, -4, 1, -4)
    tab.Position = UDim2.new((i-1) * tabWidth, 2, 0, 2)
    tab.BackgroundColor3 = (i == 1) and Color3.fromRGB(70,55,120) or Color3.fromRGB(35,35,65)
    tab.Text = name
    tab.TextColor3 = (i == 1) and Color3.new(1,1,1) or Color3.fromRGB(180,220,255)
    tab.Font = Enum.Font.GothamSemibold
    tab.TextSize = 14
    tab.TextScaled = true
    tab.Parent = TabBar
    Instance.new("UICorner", tab).CornerRadius = UDim.new(0,8)
    local tabStroke = Instance.new("UIStroke")
    tabStroke.Thickness = 1.2
    tabStroke.Color = Color3.fromRGB(100, 200, 255)
    tabStroke.Parent = tab
    table.insert(tabs, tab)
end

local Content = Instance.new("Frame")
Content.Size = UDim2.new(1, 0, 1, -80)
Content.Position = UDim2.new(0, 0, 0, 80)
Content.BackgroundTransparency = 1
Content.Parent = MainFrame

local pages = {}
local scrollFrames = {}
for i = 1, #tabNames do
    local page = Instance.new("Frame")
    page.Size = UDim2.new(1,0,1,0)
    page.BackgroundTransparency = 1
    page.Visible = (i == 1)
    page.Parent = Content
    table.insert(pages, page)
    local scroll = Instance.new("ScrollingFrame")
    scroll.Size = UDim2.new(1, -16, 1, -16)
    scroll.Position = UDim2.new(0, 8, 0, 8)
    scroll.BackgroundTransparency = 1
    scroll.ScrollBarThickness = 5
    scroll.ScrollingDirection = Enum.ScrollingDirection.Y
    scroll.CanvasSize = UDim2.new(0,0,0,0)
    scroll.Parent = page
    table.insert(scrollFrames, scroll)
    local layout = Instance.new("UIListLayout")
    layout.Padding = UDim.new(0,8)
    layout.SortOrder = Enum.SortOrder.LayoutOrder
    layout.Parent = scroll
end

local InstantPage = pages[1]
local PropsPage = pages[2]
local ListPage = pages[3]
local AmmoPage = pages[4]
local SpZoPage = pages[5]
local SpBossesPage = pages[6]
local MiscPage = pages[7]
local OPPage = pages[8]
local ListScroll = scrollFrames[3]
local AmmoScroll = scrollFrames[4]
local SpZoScroll = scrollFrames[5]
local SpBossesScroll = scrollFrames[6]
local MiscScroll = scrollFrames[7]
local OPScroll = scrollFrames[8]

-- Instant Buy FULL ORIGINAL RESTORED
local ItemInput = Instance.new("TextBox")
ItemInput.Size = UDim2.new(0.9,0,0,40)
ItemInput.Position = UDim2.new(0.05,0,0.1,0)
ItemInput.BackgroundColor3 = Color3.fromRGB(45,45,58)
ItemInput.PlaceholderText = "Enter weapon/tool name"
ItemInput.TextColor3 = Color3.new(1,1,1)
ItemInput.Font = Enum.Font.Gotham
ItemInput.TextSize = 16
ItemInput.Parent = InstantPage
Instance.new("UICorner", ItemInput).CornerRadius = UDim.new(0,8)
local BuyBtn = Instance.new("TextButton")
BuyBtn.Size = UDim2.new(0.9,0,0,50)
BuyBtn.Position = UDim2.new(0.05,0,0.3,0)
BuyBtn.BackgroundColor3 = Color3.fromRGB(50,180,90)
BuyBtn.Text = "BUY FOR ≈0 CASH"
BuyBtn.TextColor3 = Color3.new(1,1,1)
BuyBtn.Font = Enum.Font.GothamBold
BuyBtn.TextSize = 18
BuyBtn.Parent = InstantPage
Instance.new("UICorner", BuyBtn).CornerRadius = UDim.new(0,10)
local function attemptInstantBuy()
    local name = ItemInput.Text
    if name == "" then return end
    local tool = WeaponsFolder:FindFirstChild(name)
    if not tool then return end
    pcall(function()
        local payload = {TYPE = FRAME_WEAPON_ITEM, AMMO = 999, COST = 100000e-123, AMMO_TYPE = {TYPE = FRAME_WEAPON_ITEM, AMMO = "Default", COST = 0, WORTH = false, IMAGE_ID = "rbxassetid://14793880027", FORCE_PURCHASE = true, IMAGE_COLOR = Color3.new(1,1,1), ORDER = 10, WORTH_COST = 15, AMOUNT = 999}, WORTH = false, IMAGE_ID = "rbxassetid://14673183012", FORCE_PURCHASE = true, IMAGE_COLOR = Color3.new(1,1,1), ORDER = 2, WORTH_COST = 35, TOOL = tool, STAT = {}}
        REMOTE_ARSENAL:FireServer(payload)
    end)
end
BuyBtn.MouseButton1Click:Connect(attemptInstantBuy)
ItemInput.FocusLost:Connect(function(enterPressed) if enterPressed then attemptInstantBuy() end end)

-- Props tab FULL ORIGINAL RESTORED
local PropsSearchBox = Instance.new("TextBox")
PropsSearchBox.Size = UDim2.new(0.9,0,0,35)
PropsSearchBox.Position = UDim2.new(0.05,0,0.05,0)
PropsSearchBox.BackgroundColor3 = Color3.fromRGB(45,45,58)
PropsSearchBox.PlaceholderText = "Search props..."
PropsSearchBox.TextColor3 = Color3.new(1,1,1)
PropsSearchBox.Font = Enum.Font.Gotham
PropsSearchBox.TextSize = 16
PropsSearchBox.ClearTextOnFocus = false
PropsSearchBox.Parent = PropsPage
Instance.new("UICorner", PropsSearchBox).CornerRadius = UDim.new(0,8)
local RefreshPropsBtn = Instance.new("TextButton")
RefreshPropsBtn.Size = UDim2.new(0.9,0,0,40)
RefreshPropsBtn.Position = UDim2.new(0.05,0,0.12,0)
RefreshPropsBtn.BackgroundColor3 = Color3.fromRGB(70,70,100)
RefreshPropsBtn.Text = "Refresh Prop List"
RefreshPropsBtn.TextColor3 = Color3.new(1,1,1)
RefreshPropsBtn.Font = Enum.Font.GothamSemibold
RefreshPropsBtn.TextSize = 16
RefreshPropsBtn.Parent = PropsPage
Instance.new("UICorner", RefreshPropsBtn).CornerRadius = UDim.new(0,8)
local PropsList = Instance.new("ScrollingFrame")
PropsList.Size = UDim2.new(0.9,0,0.65,0)
PropsList.Position = UDim2.new(0.05,0,0.20,0)
PropsList.BackgroundTransparency = 1
PropsList.ScrollBarThickness = 5
PropsList.ScrollingDirection = Enum.ScrollingDirection.Y
PropsList.CanvasSize = UDim2.new(0,0,0,0)
PropsList.Parent = PropsPage
local PropsLayout = Instance.new("UIListLayout")
PropsLayout.Padding = UDim.new(0,8)
PropsLayout.SortOrder = Enum.SortOrder.LayoutOrder
PropsLayout.Parent = PropsList
local selectedProp = nil
local OptionsFrame = Instance.new("Frame")
OptionsFrame.Size = UDim2.new(0.9,0,0,140)
OptionsFrame.Position = UDim2.new(0.05,0,0.88,0)
OptionsFrame.BackgroundColor3 = Color3.fromRGB(45,45,58)
OptionsFrame.Visible = false
OptionsFrame.Parent = PropsPage
Instance.new("UICorner", OptionsFrame).CornerRadius = UDim.new(0,12)
local OptionLayout = Instance.new("UIListLayout")
OptionLayout.Padding = UDim.new(0,8)
OptionLayout.SortOrder = Enum.SortOrder.LayoutOrder
OptionLayout.Parent = OptionsFrame
local TP1Btn = Instance.new("TextButton")
TP1Btn.Size = UDim2.new(1, -20, 0, 40)
TP1Btn.BackgroundColor3 = Color3.fromRGB(60, 140, 60)
TP1Btn.Text = "TP 1 - No Nail (stays in front)"
TP1Btn.TextColor3 = Color3.new(1,1,1)
TP1Btn.Font = Enum.Font.GothamBold
TP1Btn.TextSize = 16
TP1Btn.Parent = OptionsFrame
Instance.new("UICorner", TP1Btn).CornerRadius = UDim.new(0,8)
local DupeBtn = Instance.new("TextButton")
DupeBtn.Size = UDim2.new(1, -20, 0, 40)
DupeBtn.BackgroundColor3 = Color3.fromRGB(50,180,90)
DupeBtn.Text = "Dupe (keep original + nail after 0.5s)"
DupeBtn.TextColor3 = Color3.new(1,1,1)
DupeBtn.Font = Enum.Font.GothamBold
DupeBtn.TextSize = 16
DupeBtn.Parent = OptionsFrame
Instance.new("UICorner", DupeBtn).CornerRadius = UDim.new(0,8)
local TP2Btn = Instance.new("TextButton")
TP2Btn.Size = UDim2.new(1, -20, 0, 40)
TP2Btn.BackgroundColor3 = Color3.fromRGB(180,60,60)
TP2Btn.Text = "TP 2 - With Nail after 0.5s"
TP2Btn.TextColor3 = Color3.new(1,1,1)
TP2Btn.Font = Enum.Font.GothamBold
TP2Btn.TextSize = 16
TP2Btn.Parent = OptionsFrame
Instance.new("UICorner", TP2Btn).CornerRadius = UDim.new(0,8)
local function populatePropsList(searchTerm)
    searchTerm = (searchTerm or ""):lower()
    for _, child in ipairs(PropsList:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    local candidates = {}
    for _, obj in ipairs(PropsModelFolder:GetDescendants()) do
        if (obj:IsA("Model") or obj:IsA("BasePart")) then
            local part = obj:IsA("BasePart") and obj or obj:FindFirstChildWhichIsA("BasePart")
            if part and obj.Name:lower():find(searchTerm) then table.insert(candidates, obj) end
        end
    end
    if #candidates == 0 then return end
    local playerPos = player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character.HumanoidRootPart.Position or Vector3.new()
    for _, prop in ipairs(candidates) do
        local part = prop:IsA("BasePart") and prop or prop:FindFirstChildWhichIsA("BasePart")
        local dist = part and (part.Position - playerPos).Magnitude or 9999
        local btn = Instance.new("TextButton")
        btn.Size = UDim2.new(1, -20, 0, 42)
        btn.BackgroundColor3 = Color3.fromRGB(55,55,75)
        btn.Text = prop.Name .. " (" .. math.floor(dist) .. " studs)"
        btn.TextColor3 = Color3.new(1,1,1)
        btn.Font = Enum.Font.Gotham
        btn.TextSize = 15
        btn.TextXAlignment = Enum.TextXAlignment.Left
        btn.Parent = PropsList
        Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
        local pad = Instance.new("UIPadding")
        pad.PaddingLeft = UDim.new(0,14)
        pad.Parent = btn
        btn.MouseButton1Click:Connect(function()
            selectedProp = prop
            OptionsFrame.Visible = true
        end)
    end
    PropsList.CanvasSize = UDim2.new(0,0,0, #candidates * 50 + 100)
end
PropsSearchBox:GetPropertyChangedSignal("Text"):Connect(function() populatePropsList(PropsSearchBox.Text) end)
RefreshPropsBtn.MouseButton1Click:Connect(function() PropsSearchBox.Text = "" populatePropsList() end)
task.spawn(function() while true do if PropsSearchBox.Text == "" then populatePropsList() end task.wait(15) end end)
task.spawn(function() task.wait(2) populatePropsList() end)
TP1Btn.MouseButton1Click:Connect(function()
    if not selectedProp then return end
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root then return end
    local targetPart = selectedProp:IsA("BasePart") and selectedProp or selectedProp.PrimaryPart or selectedProp:FindFirstChildWhichIsA("BasePart")
    if targetPart then
        local frontPos = root.CFrame * CFrame.new(0, 3, -6)
        targetPart.CFrame = frontPos
        task.wait(0.1)
        pcall(function() GrabRemote:FireServer(selectedProp, true) end)
        local startTime = tick()
        local connection
        connection = RunService.Heartbeat:Connect(function()
            if tick() - startTime > 2 then connection:Disconnect() return end
            targetPart.CFrame = frontPos
        end)
    end
    OptionsFrame.Visible = false
end)
DupeBtn.MouseButton1Click:Connect(function()
    if not selectedProp then return end
    local clone = selectedProp:Clone()
    clone.Parent = workspace
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if root then
        local targetPart = clone:IsA("BasePart") and clone or clone.PrimaryPart or clone:FindFirstChildWhichIsA("BasePart")
        if targetPart then
            local frontPos = root.CFrame * CFrame.new(0, 3, -6)
            targetPart.CFrame = frontPos
            task.wait(0.1)
            pcall(function() GrabRemote:FireServer(clone, true) end)
            local startTime = tick()
            local connection
            connection = RunService.Heartbeat:Connect(function()
                if tick() - startTime > 2 then connection:Disconnect() return end
                targetPart.CFrame = frontPos
            end)
        end
    end
    task.wait(0.5)
    local hammer = player.Character:FindFirstChild("Carpenter's Hammer")
    if hammer then
        local targetPart = clone:IsA("BasePart") and clone or clone.PrimaryPart or clone:FindFirstChildWhichIsA("BasePart")
        if targetPart then
            local nailArgs = {hammer, targetPart, Vector3.new(47.189857482910156, 38.7602653503418, 26.864206314086914), Vector3.new(0.7436227798461914, -0.43425044417381287, 0.5083815455436707), 35}
            pcall(function() ReplicatedStorage:WaitForChild("Barricade"):FireServer(unpack(nailArgs)) end)
        end
    end
    OptionsFrame.Visible = false
end)
TP2Btn.MouseButton1Click:Connect(function()
    if not selectedProp then return end
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root then return end
    local targetPart = selectedProp:IsA("BasePart") and selectedProp or selectedProp.PrimaryPart or selectedProp:FindFirstChildWhichIsA("BasePart")
    if targetPart then
        local frontPos = root.CFrame * CFrame.new(0, 3, -6)
        targetPart.CFrame = frontPos
        task.wait(0.1)
        pcall(function() GrabRemote:FireServer(selectedProp, true) end)
        local startTime = tick()
        local connection
        connection = RunService.Heartbeat:Connect(function()
            if tick() - startTime > 2 then connection:Disconnect() return end
            targetPart.CFrame = frontPos
        end)
    end
    task.wait(0.5)
    local hammer = player.Character:FindFirstChild("Carpenter's Hammer")
    if hammer then
        local targetPart = selectedProp:IsA("BasePart") and selectedProp or selectedProp.PrimaryPart or selectedProp:FindFirstChildWhichIsA("BasePart")
        if targetPart then
            local nailArgs = {hammer, targetPart, Vector3.new(47.189857482910156, 38.7602653503418, 26.864206314086914), Vector3.new(0.7436227798461914, -0.43425044417381287, 0.5083815455436707), 35}
            pcall(function() ReplicatedStorage:WaitForChild("Barricade"):FireServer(unpack(nailArgs)) end)
        end
    end
    OptionsFrame.Visible = false
end)

-- List & Buy FULL ORIGINAL RESTORED
local ListStatus = Instance.new("TextLabel")
ListStatus.Size = UDim2.new(0.94,0,0,50)
ListStatus.Position = UDim2.new(0.03,0,0.02,0)
ListStatus.BackgroundTransparency = 1
ListStatus.Text = "Click a weapon to buy"
ListStatus.TextColor3 = Color3.fromRGB(180,180,200)
ListStatus.Font = Enum.Font.Gotham
ListStatus.TextSize = 16
ListStatus.TextWrapped = true
ListStatus.Parent = ListPage
local function populateListBuy()
    for _, child in ipairs(ListScroll:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    local weapons = WeaponsFolder:GetChildren()
    local count = 0
    for _, item in ipairs(weapons) do
        if item:IsA("Tool") then
            count = count + 1
            local btn = Instance.new("TextButton")
            btn.Size = UDim2.new(1, -20, 0, 42)
            btn.BackgroundColor3 = Color3.fromRGB(50, 50, 70)
            btn.Text = item.Name
            btn.TextColor3 = Color3.new(1,1,1)
            btn.Font = Enum.Font.GothamSemibold
            btn.TextSize = 16
            btn.TextXAlignment = Enum.TextXAlignment.Left
            btn.Parent = ListScroll
            Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
            local pad = Instance.new("UIPadding")
            pad.PaddingLeft = UDim.new(0,14)
            pad.Parent = btn
            btn.MouseButton1Click:Connect(function()
                pcall(function()
                    local payload = {TYPE = FRAME_WEAPON_ITEM, AMMO = 999, COST = 100000e-123, AMMO_TYPE = {TYPE = FRAME_WEAPON_ITEM, AMMO = "Nails", COST = 0, WORTH = false, IMAGE_ID = "rbxassetid://14793880027", FORCE_PURCHASE = true, IMAGE_COLOR = Color3.new(1,1,1), ORDER = 10, WORTH_COST = 15, AMOUNT = 999}, WORTH = true, IMAGE_ID = "rbxassetid://14673183012", FORCE_PURCHASE = false, IMAGE_COLOR = Color3.new(1,1,1), ORDER = 2, WORTH_COST = 35, TOOL = item, STAT = {}}
                    REMOTE_ARSENAL:FireServer(payload)
                end)
            end)
        end
    end
    ListScroll.CanvasSize = UDim2.new(0,0,0, count * 50 + 100)
end
task.spawn(function() while true do populateListBuy() task.wait(10) end end)
task.spawn(function() task.wait(2) populateListBuy() end)

-- Ammo tab FULL ORIGINAL RESTORED
local RefreshAmmoBtn = Instance.new("TextButton")
RefreshAmmoBtn.Size = UDim2.new(0.9,0,0,40)
RefreshAmmoBtn.Position = UDim2.new(0.05,0,0.05,0)
RefreshAmmoBtn.BackgroundColor3 = Color3.fromRGB(70,70,100)
RefreshAmmoBtn.Text = "Refresh Ammo List"
RefreshAmmoBtn.TextColor3 = Color3.new(1,1,1)
RefreshAmmoBtn.Font = Enum.Font.GothamSemibold
RefreshAmmoBtn.TextSize = 16
RefreshAmmoBtn.Parent = AmmoPage
Instance.new("UICorner", RefreshAmmoBtn).CornerRadius = UDim.new(0,8)
local function populateAmmoList()
    for _, child in ipairs(AmmoScroll:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    local ammoItems = AmmoTypeFolder:GetChildren()
    local count = 0
    for _, ammo in ipairs(ammoItems) do
        local ammoName = ammo.Name
        count = count + 1
        local btn = Instance.new("TextButton")
        btn.Size = UDim2.new(1, -20, 0, 42)
        btn.BackgroundColor3 = Color3.fromRGB(60, 60, 90)
        btn.Text = ammoName
        btn.TextColor3 = Color3.new(1,1,1)
        btn.Font = Enum.Font.GothamSemibold
        btn.TextSize = 16
        btn.TextXAlignment = Enum.TextXAlignment.Left
        btn.Parent = AmmoScroll
        Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
        local pad = Instance.new("UIPadding")
        pad.PaddingLeft = UDim.new(0,14)
        pad.Parent = btn
        btn.MouseButton1Click:Connect(function()
            pcall(function()
                local payload = {TYPE = FRAME_WEAPON_ITEM, AMMO = ammoName, COST = 100000e-100, WORTH = false, IMAGE_ID = "rbxassetid://14793880027", FORCE_PURCHASE = true, IMAGE_COLOR = Color3.new(1, 1, 1), ORDER = 10, WORTH_COST = 15, AMOUNT = 10000}
                REMOTE_ARSENAL:FireServer(payload)
            end)
        end)
    end
    AmmoScroll.CanvasSize = UDim2.new(0,0,0, count * 50 + 100)
end
RefreshAmmoBtn.MouseButton1Click:Connect(populateAmmoList)
task.spawn(function() while true do populateAmmoList() task.wait(10) end end)
task.spawn(function() task.wait(2) populateAmmoList() end)

-- SpZo FULL ORIGINAL
local function populateSpZoList()
    for _, child in ipairs(SpZoScroll:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    local count = 0
    for _, model in ipairs(ZombiesFolder:GetChildren()) do
        if model:IsA("Model") then
            count += 1
            local btn = Instance.new("TextButton")
            btn.Size = UDim2.new(1, -20, 0, 42)
            btn.BackgroundColor3 = Color3.fromRGB(170,50,50)
            btn.Text = model.Name
            btn.TextColor3 = Color3.new(1,1,1)
            btn.Font = Enum.Font.GothamSemibold
            btn.TextSize = 16
            btn.TextXAlignment = Enum.TextXAlignment.Left
            btn.Parent = SpZoScroll
            Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
            local pad = Instance.new("UIPadding")
            pad.PaddingLeft = UDim.new(0,14)
            pad.Parent = btn
            btn.MouseButton1Click:Connect(function()
                local args = {model.Name, 1, {IMAGE_ID = 14606101074, TYPE = game:GetService("ReplicatedStorage"):WaitForChild("MODULES"):WaitForChild("MODULE_ZOMBIE_CLASSES"):WaitForChild("ITEM_TYPES"):WaitForChild("FRAME_ZOMBIE"), ORDER = 1, IMAGE_COLOR = Color3.new(1, 1, 1)}}
                REMOTE_ZOMBIE_SELECTION:FireServer(unpack(args))
            end)
        end
    end
    SpZoScroll.CanvasSize = UDim2.new(0,0,0, count * 55)
end
task.spawn(function() task.wait(2) populateSpZoList() end)
task.spawn(function() while true do populateSpZoList() task.wait(12) end end)

-- SpBosses FULL ORIGINAL
local function populateSpBossesList()
    for _, child in ipairs(SpBossesScroll:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    local count = 0
    for _, model in ipairs(BossesFolder:GetChildren()) do
        if model:IsA("Model") then
            count += 1
            local btn = Instance.new("TextButton")
            btn.Size = UDim2.new(1, -20, 0, 42)
            btn.BackgroundColor3 = Color3.fromRGB(140,30,140)
            btn.Text = model.Name
            btn.TextColor3 = Color3.new(1,1,1)
            btn.Font = Enum.Font.GothamSemibold
            btn.TextSize = 16
            btn.TextXAlignment = Enum.TextXAlignment.Left
            btn.Parent = SpBossesScroll
            Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
            local pad = Instance.new("UIPadding")
            pad.PaddingLeft = UDim.new(0,14)
            pad.Parent = btn
            btn.MouseButton1Click:Connect(function()
                local args = {model.Name, 2, {IMAGE_ID = 83744133251201, TYPE = game:GetService("ReplicatedStorage"):WaitForChild("MODULES"):WaitForChild("MODULE_ZOMBIE_CLASSES"):WaitForChild("ITEM_TYPES"):WaitForChild("FRAME_ZOMBIE"), ORDER = 3, IMAGE_COLOR = Color3.new(1, 1, 1)}}
                REMOTE_ZOMBIE_SELECTION:FireServer(unpack(args))
            end)
        end
    end
    SpBossesScroll.CanvasSize = UDim2.new(0,0,0, count * 55)
end
task.spawn(function() task.wait(2) populateSpBossesList() end)
task.spawn(function() while true do populateSpBossesList() task.wait(12) end end)

-- Misc FULL ORIGINAL
local InfiniteYieldBtn = Instance.new("TextButton")
InfiniteYieldBtn.Size = UDim2.new(1, -20, 0, 50)
InfiniteYieldBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 90)
InfiniteYieldBtn.Text = "Infinite Yield"
InfiniteYieldBtn.TextColor3 = Color3.new(1,1,1)
InfiniteYieldBtn.Font = Enum.Font.GothamBold
InfiniteYieldBtn.TextSize = 18
InfiniteYieldBtn.Parent = MiscScroll
Instance.new("UICorner", InfiniteYieldBtn).CornerRadius = UDim.new(0,10)
local InfinitePad = Instance.new("UIPadding")
InfinitePad.PaddingLeft = UDim.new(0,14)
InfinitePad.Parent = InfiniteYieldBtn
InfiniteYieldBtn.MouseButton1Click:Connect(function() loadstring(game:HttpGet(('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'),true))() end)

local BossSpBtn = Instance.new("TextButton")
BossSpBtn.Size = UDim2.new(1, -20, 0, 50)
BossSpBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 90)
BossSpBtn.Text = "BossSp"
BossSpBtn.TextColor3 = Color3.new(1,1,1)
BossSpBtn.Font = Enum.Font.GothamBold
BossSpBtn.TextSize = 18
BossSpBtn.Parent = MiscScroll
Instance.new("UICorner", BossSpBtn).CornerRadius = UDim.new(0,10)
local BossSpPad = Instance.new("UIPadding")
BossSpPad.PaddingLeft = UDim.new(0,14)
BossSpPad.Parent = BossSpBtn
BossSpBtn.MouseButton1Click:Connect(function() loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-dev-product-33218"))() end)

local UnnailBtn = Instance.new("TextButton")
UnnailBtn.Size = UDim2.new(1, -20, 0, 50)
UnnailBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 40)
UnnailBtn.Text = "Unnail All Barricades"
UnnailBtn.TextColor3 = Color3.new(1,1,1)
UnnailBtn.Font = Enum.Font.GothamBold
UnnailBtn.TextSize = 18
UnnailBtn.Parent = MiscScroll
Instance.new("UICorner", UnnailBtn).CornerRadius = UDim.new(0,10)
local UnnailPad = Instance.new("UIPadding")
UnnailPad.PaddingLeft = UDim.new(0,14)
UnnailPad.Parent = UnnailBtn
UnnailBtn.MouseButton1Click:Connect(function()
    local barricadesFolder = workspace:WaitForChild("Barricades", 5)
    if not barricadesFolder then return end
    local modelFolder = barricadesFolder:WaitForChild("Model", 5)
    if not modelFolder then return end
    local hammer = player.Character:FindFirstChild("Carpenter's Hammer")
    if not hammer then return end
    for _, barricade in ipairs(modelFolder:GetChildren()) do
        if barricade.Name == "Barricade" or barricade:IsA("BasePart") then
            local args = {hammer, barricade, Vector3.new(42.66450500488281, 28.453189849853516, 27.91872215270996), Vector3.new(0.2717592418193817, -0.6077541708946228, 0.7461782097816467), 35}
            pcall(function() ReplicatedStorage:WaitForChild("Barricade"):FireServer(unpack(args)) end)
        end
    end
end)

local TeleportAllPropBtn = Instance.new("TextButton")
TeleportAllPropBtn.Size = UDim2.new(1, -20, 0, 55)
TeleportAllPropBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 255)
TeleportAllPropBtn.Text = "TELEPORT ALL PROP + NAIL AFTER 2.5s"
TeleportAllPropBtn.TextColor3 = Color3.new(1,1,1)
TeleportAllPropBtn.Font = Enum.Font.GothamBold
TeleportAllPropBtn.TextSize = 17
TeleportAllPropBtn.Parent = MiscScroll
Instance.new("UICorner", TeleportAllPropBtn).CornerRadius = UDim.new(0,12)
local AllPropPad = Instance.new("UIPadding")
AllPropPad.PaddingLeft = UDim.new(0,14)
AllPropPad.Parent = TeleportAllPropBtn
TeleportAllPropBtn.MouseButton1Click:Connect(function()
    local allProps = {}
    for _, obj in ipairs(workspace.Props.Model:GetDescendants()) do
        if (obj:IsA("Model") or obj:IsA("BasePart")) then table.insert(allProps, obj) end
    end
    if #allProps == 0 then return end
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root then return end
    local gridSize = math.ceil(math.sqrt(#allProps))
    local index = 0
    for x = -gridSize/2, gridSize/2 do
        for z = -gridSize/2, gridSize/2 do
            if index < #allProps then
                local prop = allProps[index + 1]
                local targetPart = prop:IsA("BasePart") and prop or prop.PrimaryPart or prop:FindFirstChildWhichIsA("BasePart")
                if targetPart then
                    local groundPos = root.Position + Vector3.new(x * 4, 3, z * 4)
                    targetPart.CFrame = CFrame.new(groundPos) * CFrame.Angles(0, math.rad(90), 0)
                end
                index = index + 1
                task.wait(0.02)
            end
        end
    end
    task.wait(2.5)
    local hammer = player.Character:FindFirstChild("Carpenter's Hammer")
    if hammer then
        for _, prop in ipairs(allProps) do
            local targetPart = prop:IsA("BasePart") and prop or prop.PrimaryPart or prop:FindFirstChildWhichIsA("BasePart")
            if targetPart then
                local nailArgs = {hammer, targetPart, Vector3.new(47.189857482910156, 38.7602653503418, 26.864206314086914), Vector3.new(0.7436227798461914, -0.43425044417381287, 0.5083815455436707), 35}
                pcall(function() ReplicatedStorage:WaitForChild("Barricade"):FireServer(unpack(nailArgs)) end)
            end
        end
    end
end)
MiscScroll.CanvasSize = UDim2.new(0,0,0, 5 * 70)

-- OP!! tab - GodLoop + Spawn Turret Here + Spawn Resupply Here + Ammo All Turrets 500x + HUGE WINDOW + Teams
local godHealingActive = false
local godHealConnection = nil

local GodLoopBtn = Instance.new("TextButton")
GodLoopBtn.Size = UDim2.new(1, -20, 0, 50)
GodLoopBtn.BackgroundColor3 = Color3.fromRGB(40, 220, 80)
GodLoopBtn.Text = "GodLoop (infinite instant heal, no medikit needed)"
GodLoopBtn.TextColor3 = Color3.new(1,1,1)
GodLoopBtn.Font = Enum.Font.GothamBold
GodLoopBtn.TextSize = 18
GodLoopBtn.Parent = OPScroll
Instance.new("UICorner", GodLoopBtn).CornerRadius = UDim.new(0,10)
local GodLoopPad = Instance.new("UIPadding")
GodLoopPad.PaddingLeft = UDim.new(0,14)
GodLoopPad.Parent = GodLoopBtn
local GodLoopStroke = Instance.new("UIStroke")
GodLoopStroke.Thickness = 2
GodLoopStroke.Color = Color3.fromRGB(0, 255, 150)
GodLoopStroke.Parent = GodLoopBtn

local NoGLoopBtn = Instance.new("TextButton")
NoGLoopBtn.Size = UDim2.new(1, -20, 0, 50)
NoGLoopBtn.BackgroundColor3 = Color3.fromRGB(220, 40, 40)
NoGLoopBtn.Text = "NoGLoop (stop all GodHeal loops)"
NoGLoopBtn.TextColor3 = Color3.new(1,1,1)
NoGLoopBtn.Font = Enum.Font.GothamBold
NoGLoopBtn.TextSize = 18
NoGLoopBtn.Parent = OPScroll
Instance.new("UICorner", NoGLoopBtn).CornerRadius = UDim.new(0,10)
local NoGLoopPad = Instance.new("UIPadding")
NoGLoopPad.PaddingLeft = UDim.new(0,14)
NoGLoopPad.Parent = NoGLoopBtn
local NoGLoopStroke = Instance.new("UIStroke")
NoGLoopStroke.Thickness = 2
NoGLoopStroke.Color = Color3.fromRGB(255, 80, 80)
NoGLoopStroke.Parent = NoGLoopBtn

local SpawnTurretBtn = Instance.new("TextButton")
SpawnTurretBtn.Size = UDim2.new(1, -20, 0, 50)
SpawnTurretBtn.BackgroundColor3 = Color3.fromRGB(80, 180, 255)
SpawnTurretBtn.Text = "Spawn Turret Here (at your exact position)"
SpawnTurretBtn.TextColor3 = Color3.new(1,1,1)
SpawnTurretBtn.Font = Enum.Font.GothamBold
SpawnTurretBtn.TextSize = 17
SpawnTurretBtn.Parent = OPScroll
Instance.new("UICorner", SpawnTurretBtn).CornerRadius = UDim.new(0,10)
local SpawnTurretPad = Instance.new("UIPadding")
SpawnTurretPad.PaddingLeft = UDim.new(0,14)
SpawnTurretPad.Parent = SpawnTurretBtn
SpawnTurretBtn.MouseButton1Click:Connect(function()
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root then return end
    local spawnCFrame = root.CFrame
    local args = {"Turret", spawnCFrame, "Turrets"}
    pcall(function() ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("Spawn"):FireServer(unpack(args)) end)
end)

local SpawnResupplyBtn = Instance.new("TextButton")
SpawnResupplyBtn.Size = UDim2.new(1, -20, 0, 50)
SpawnResupplyBtn.BackgroundColor3 = Color3.fromRGB(255, 140, 60)
SpawnResupplyBtn.Text = "Spawn Resupply Here (at your exact position)"
SpawnResupplyBtn.TextColor3 = Color3.new(1,1,1)
SpawnResupplyBtn.Font = Enum.Font.GothamBold
SpawnResupplyBtn.TextSize = 17
SpawnResupplyBtn.Parent = OPScroll
Instance.new("UICorner", SpawnResupplyBtn).CornerRadius = UDim.new(0,10)
local SpawnResupplyPad = Instance.new("UIPadding")
SpawnResupplyPad.PaddingLeft = UDim.new(0,14)
SpawnResupplyPad.Parent = SpawnResupplyBtn
SpawnResupplyBtn.MouseButton1Click:Connect(function()
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root then return end
    local spawnCFrame = root.CFrame
    local args = {"Resupply Box", spawnCFrame, "Resupply Boxes"}
    pcall(function() ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("Spawn"):FireServer(unpack(args)) end)
end)

local AmmoAllTurretsBtn = Instance.new("TextButton")
AmmoAllTurretsBtn.Size = UDim2.new(1, -20, 0, 55)
AmmoAllTurretsBtn.BackgroundColor3 = Color3.fromRGB(255, 215, 0)
AmmoAllTurretsBtn.Text = "Ammo All Turrets 500x Instantly"
AmmoAllTurretsBtn.TextColor3 = Color3.new(0,0,0)
AmmoAllTurretsBtn.Font = Enum.Font.GothamBold
AmmoAllTurretsBtn.TextSize = 17
AmmoAllTurretsBtn.Parent = OPScroll
Instance.new("UICorner", AmmoAllTurretsBtn).CornerRadius = UDim.new(0,12)
local AmmoAllPad = Instance.new("UIPadding")
AmmoAllPad.PaddingLeft = UDim.new(0,14)
AmmoAllPad.Parent = AmmoAllTurretsBtn
local AmmoAllStroke = Instance.new("UIStroke")
AmmoAllStroke.Thickness = 3
AmmoAllStroke.Color = Color3.fromRGB(255, 255, 100)
AmmoAllStroke.Parent = AmmoAllTurretsBtn
AmmoAllTurretsBtn.MouseButton1Click:Connect(function()
    local deployFolder = workspace:WaitForChild("Deployables", 3)
    if not deployFolder then return end
    local modelFolder = deployFolder:WaitForChild("Model", 3)
    if not modelFolder then return end
    local turretRemote = ReplicatedStorage:WaitForChild("REMOTES"):WaitForChild("REMOTE_TURRET")
    for _, obj in ipairs(modelFolder:GetChildren()) do
        if obj.Name:find("Turret") then
            for i = 1, 500 do
                pcall(function()
                    turretRemote:FireServer(obj)
                end)
            end
        end
    end
end)

-- NEW: Huge Window button - breaks big window anywhere on the map
local HugeWindowBtn = Instance.new("TextButton")
HugeWindowBtn.Size = UDim2.new(1, -20, 0, 55)
HugeWindowBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
HugeWindowBtn.Text = "Huge Window (Break Big Window Anywhere)"
HugeWindowBtn.TextColor3 = Color3.new(1,1,1)
HugeWindowBtn.Font = Enum.Font.GothamBold
HugeWindowBtn.TextSize = 17
HugeWindowBtn.Parent = OPScroll
Instance.new("UICorner", HugeWindowBtn).CornerRadius = UDim.new(0,12)
local HugeWindowPad = Instance.new("UIPadding")
HugeWindowPad.PaddingLeft = UDim.new(0,14)
HugeWindowPad.Parent = HugeWindowBtn
local HugeWindowStroke = Instance.new("UIStroke")
HugeWindowStroke.Thickness = 3
HugeWindowStroke.Color = Color3.fromRGB(255, 100, 100)
HugeWindowStroke.Parent = HugeWindowBtn
HugeWindowBtn.MouseButton1Click:Connect(function()
    pcall(function()
        local args = {
            game:GetService("Players").LocalPlayer.Character:WaitForChild("Rebar"),
            workspace:WaitForChild("Map"):WaitForChild("WorldSpawn"):WaitForChild("Glass"):WaitForChild("StaticProp"),
            CFrame.new(13.195996284484863, 32.91156005859375, 45.86640167236328, -0, 0, 1, 0, 1, -0, -1, 0, -0),
            999999999999999
        }
        game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("MeleeKnockback"):FireServer(unpack(args))
    end)
end)

local TeamsToggleBtn = Instance.new("TextButton")
TeamsToggleBtn.Size = UDim2.new(1, -20, 0, 50)
TeamsToggleBtn.BackgroundColor3 = Color3.fromRGB(140, 80, 255)
TeamsToggleBtn.Text = "Teams List (Toggle - 3 options per team)"
TeamsToggleBtn.TextColor3 = Color3.new(1,1,1)
TeamsToggleBtn.Font = Enum.Font.GothamBold
TeamsToggleBtn.TextSize = 17
TeamsToggleBtn.Parent = OPScroll
Instance.new("UICorner", TeamsToggleBtn).CornerRadius = UDim.new(0,10)
local TeamsTogglePad = Instance.new("UIPadding")
TeamsTogglePad.PaddingLeft = UDim.new(0,14)
TeamsTogglePad.Parent = TeamsToggleBtn
local TeamsToggleStroke = Instance.new("UIStroke")
TeamsToggleStroke.Thickness = 2
TeamsToggleStroke.Color = Color3.fromRGB(180, 120, 255)
TeamsToggleStroke.Parent = TeamsToggleBtn

local TeamListFrame = Instance.new("Frame")
TeamListFrame.Size = UDim2.new(0.92, 0, 0.55, 0)
TeamListFrame.Position = UDim2.new(0.04, 0, 0.42, 0)
TeamListFrame.BackgroundColor3 = Color3.fromRGB(28, 28, 48)
TeamListFrame.Visible = false
TeamListFrame.Parent = OPPage
Instance.new("UICorner", TeamListFrame).CornerRadius = UDim.new(0, 14)
local TeamListStroke = Instance.new("UIStroke")
TeamListStroke.Thickness = 2.5
TeamListStroke.Color = Color3.fromRGB(120, 200, 255)
TeamListStroke.Parent = TeamListFrame
local TeamListScroll = Instance.new("ScrollingFrame")
TeamListScroll.Size = UDim2.new(1, -16, 1, -16)
TeamListScroll.Position = UDim2.new(0, 8, 0, 8)
TeamListScroll.BackgroundTransparency = 1
TeamListScroll.ScrollBarThickness = 6
TeamListScroll.CanvasSize = UDim2.new(0,0,0,0)
TeamListScroll.Parent = TeamListFrame
local TeamListLayout = Instance.new("UIListLayout")
TeamListLayout.Padding = UDim.new(0, 6)
TeamListLayout.SortOrder = Enum.SortOrder.LayoutOrder
TeamListLayout.Parent = TeamListScroll

local TeamOptionsFrame = Instance.new("Frame")
TeamOptionsFrame.Size = UDim2.new(0.92, 0, 0.22, 0)
TeamOptionsFrame.Position = UDim2.new(0.04, 0, 0.72, 0)
TeamOptionsFrame.BackgroundColor3 = Color3.fromRGB(35, 25, 55)
TeamOptionsFrame.Visible = false
TeamOptionsFrame.Parent = OPPage
Instance.new("UICorner", TeamOptionsFrame).CornerRadius = UDim.new(0, 12)
local OptionLayout2 = Instance.new("UIListLayout")
OptionLayout2.Padding = UDim.new(0, 8)
OptionLayout2.SortOrder = Enum.SortOrder.LayoutOrder
OptionLayout2.Parent = TeamOptionsFrame

local JoinTeamBtn = Instance.new("TextButton")
JoinTeamBtn.Size = UDim2.new(1, -20, 0, 38)
JoinTeamBtn.BackgroundColor3 = Color3.fromRGB(60, 200, 100)
JoinTeamBtn.Text = "1. Join This Team"
JoinTeamBtn.TextColor3 = Color3.new(1,1,1)
JoinTeamBtn.Font = Enum.Font.GothamBold
JoinTeamBtn.TextSize = 16
JoinTeamBtn.Parent = TeamOptionsFrame
Instance.new("UICorner", JoinTeamBtn).CornerRadius = UDim.new(0,8)
local selectedTeamForOptions = nil
JoinTeamBtn.MouseButton1Click:Connect(function()
    if selectedTeamForOptions then player.Team = selectedTeamForOptions end
    TeamOptionsFrame.Visible = false
end)

local ForceAllBtn = Instance.new("TextButton")
ForceAllBtn.Size = UDim2.new(1, -20, 0, 38)
ForceAllBtn.BackgroundColor3 = Color3.fromRGB(255, 80, 80)
ForceAllBtn.Text = "2. Force ALL Players to Team"
ForceAllBtn.TextColor3 = Color3.new(1,1,1)
ForceAllBtn.Font = Enum.Font.GothamBold
ForceAllBtn.TextSize = 16
ForceAllBtn.Parent = TeamOptionsFrame
Instance.new("UICorner", ForceAllBtn).CornerRadius = UDim.new(0,8)
ForceAllBtn.MouseButton1Click:Connect(function()
    if selectedTeamForOptions then
        for _, plr in ipairs(Players:GetPlayers()) do plr.Team = selectedTeamForOptions end
    end
    TeamOptionsFrame.Visible = false
end)

local RandomColorBtn = Instance.new("TextButton")
RandomColorBtn.Size = UDim2.new(1, -20, 0, 38)
RandomColorBtn.BackgroundColor3 = Color3.fromRGB(180, 100, 255)
RandomColorBtn.Text = "3. Randomize Team Color"
RandomColorBtn.TextColor3 = Color3.new(1,1,1)
RandomColorBtn.Font = Enum.Font.GothamBold
RandomColorBtn.TextSize = 16
RandomColorBtn.Parent = TeamOptionsFrame
Instance.new("UICorner", RandomColorBtn).CornerRadius = UDim.new(0,8)
RandomColorBtn.MouseButton1Click:Connect(function()
    if selectedTeamForOptions then selectedTeamForOptions.TeamColor = BrickColor.Random() end
    TeamOptionsFrame.Visible = false
end)

local function populateTeamsList()
    for _, child in ipairs(TeamListScroll:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end
    local count = 0
    for _, team in ipairs(TeamsService:GetChildren()) do
        if team:IsA("Team") then
            count = count + 1
            local btn = Instance.new("TextButton")
            btn.Size = UDim2.new(1, -16, 0, 42)
            btn.BackgroundColor3 = team.TeamColor.Color
            btn.Text = team.Name
            btn.TextColor3 = Color3.new(1,1,1)
            btn.Font = Enum.Font.GothamBold
            btn.TextSize = 17
            btn.Parent = TeamListScroll
            Instance.new("UICorner", btn).CornerRadius = UDim.new(0,8)
            btn.MouseButton1Click:Connect(function()
                selectedTeamForOptions = team
                TeamOptionsFrame.Visible = true
            end)
        end
    end
    TeamListScroll.CanvasSize = UDim2.new(0,0,0, count * 52)
end

TeamsToggleBtn.MouseButton1Click:Connect(function()
    if TeamListFrame.Visible then
        TeamListFrame.Visible = false
        TeamOptionsFrame.Visible = false
    else
        populateTeamsList()
        TeamListFrame.Visible = true
        TeamOptionsFrame.Visible = false
    end
end)

GodLoopBtn.MouseButton1Click:Connect(function()
    if godHealingActive then return end
    godHealingActive = true
    godHealConnection = RunService.Heartbeat:Connect(function()
        if not godHealingActive then return end
        pcall(function() ReplicatedStorage:WaitForChild("SelfHealing"):FireServer(10, 0) end)
    end)
end)
NoGLoopBtn.MouseButton1Click:Connect(function()
    godHealingActive = false
    if godHealConnection then godHealConnection:Disconnect() godHealConnection = nil end
end)

OPScroll.CanvasSize = UDim2.new(0,0,0, 9 * 65)

-- Tab switching
local function selectTab(index)
    for i, page in ipairs(pages) do page.Visible = (i == index) end
    for i, tab in ipairs(tabs) do
        tab.BackgroundColor3 = (i == index) and Color3.fromRGB(70,55,120) or Color3.fromRGB(35,35,65)
        tab.TextColor3 = (i == index) and Color3.new(1,1,1) or Color3.fromRGB(180,220,255)
    end
end
for i, tab in ipairs(tabs) do tab.MouseButton1Click:Connect(function() selectTab(i) end) end

-- PC Toggle
UserInputService.InputBegan:Connect(function(input, gpe)
    if gpe then return end
    if input.KeyCode == Enum.KeyCode.RightControl then
        MainFrame.Visible = not MainFrame.Visible
    end
end)

-- Mobile Toggle Button (always visible, works on PC too)
local MobileToggle = Instance.new("TextButton")
MobileToggle.Size = UDim2.new(0, 65, 0, 65)
MobileToggle.Position = UDim2.new(1, -80, 1, -90)
MobileToggle.BackgroundColor3 = Color3.fromRGB(0, 255, 200)
MobileToggle.Text = "KC"
MobileToggle.TextColor3 = Color3.fromRGB(0, 0, 0)
MobileToggle.TextScaled = true
MobileToggle.Font = Enum.Font.GothamBold
MobileToggle.Parent = ScreenGui
local MobileCorner = Instance.new("UICorner")
MobileCorner.CornerRadius = UDim.new(1, 0)
MobileCorner.Parent = MobileToggle
local MobileStroke = Instance.new("UIStroke")
MobileStroke.Thickness = 4
MobileStroke.Color = Color3.fromRGB(255, 100, 255)
MobileStroke.Parent = MobileToggle
MobileToggle.MouseButton1Click:Connect(function()
    MainFrame.Visible = not MainFrame.Visible
end)

CloseBtn.MouseButton1Click:Connect(function()
    ScreenGui:Destroy()
end)

selectTab(1)
print("KingCip V1 • All original scripts restored • ")

Features & Information

Public Source Code
#zombiesurvivalgmod#zombiesurvivalgarrysmod#zombiegmod#gmod#garrys mod

Community Comments (1)

Works👍 although some like godmode doesn't or im just wrong

More Scripts for Zombie Survival Garry's Mod [Old]