Country Game Mod Menu
Key RequiredUniversal

Country Game Mod Menu

Universal ScriptCountryGameCountryGame 1.8K views 1K executesUpdated Mar 18, 2026
Unrated
00
Lua Script•780 lines (25944 chars)
-- MOD MENU - Country Game's Mod Menu (Updated with Noclip + Chat + Voice + FIXED WalkSpeed + Reverb + JumpPower + R6 Toggle)
-- LocalScript → StarterPlayer > StarterPlayerScripts

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local TextChatService = game:GetService("TextChatService")
local VoiceChatService = game:GetService("VoiceChatService")
local SoundService = game:GetService("SoundService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- ScreenGui
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CountryGameModMenu"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

-- Main Frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 310, 0, 460)
mainFrame.Position = UDim2.new(0.5, -155, 0.5, -230)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

local mainCorner = Instance.new("UICorner")
mainCorner.CornerRadius = UDim.new(0, 16)
mainCorner.Parent = mainFrame

-- Rainbow Title Bar
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 46)
titleBar.BackgroundColor3 = Color3.fromRGB(220, 20, 20)
titleBar.BorderSizePixel = 0
titleBar.Parent = mainFrame
titleBar.Active = false

local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 16)
titleCorner.Parent = titleBar

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 1, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Country Game’s Mod Menu"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextScaled = true
titleLabel.FontFace = Font.new("rbxasset://fonts/families/BuilderExtended.json", Enum.FontWeight.Bold)
titleLabel.Parent = titleBar

-- Rainbow animation for title bar
local hue = 0
RunService.Heartbeat:Connect(function(dt)
    hue = (hue + dt * 0.6) % 1
    titleBar.BackgroundColor3 = Color3.fromHSV(hue, 1, 1)
end)

-- Scrolling Frame
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Size = UDim2.new(1, -20, 1, -110)
scrollFrame.Position = UDim2.new(0, 10, 0, 55)
scrollFrame.BackgroundTransparency = 1
scrollFrame.BorderSizePixel = 0
scrollFrame.ScrollBarThickness = 6
scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(220, 20, 20)
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
scrollFrame.Parent = mainFrame

local uiListLayout = Instance.new("UIListLayout")
uiListLayout.SortOrder = Enum.SortOrder.LayoutOrder
uiListLayout.Padding = UDim.new(0, 9)
uiListLayout.Parent = scrollFrame

local builderFont = Font.new("rbxasset://fonts/families/BuilderExtended.json", Enum.FontWeight.SemiBold)

-- Rounded Button Creator
local function createButton(text)
    local button = Instance.new("TextButton")
    button.Size = UDim2.new(1, 0, 0, 48)
    button.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    button.Text = text
    button.TextColor3 = Color3.fromRGB(255, 255, 255)
    button.TextScaled = true
    button.FontFace = builderFont
    button.BorderSizePixel = 0
    button.Parent = scrollFrame

    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 12)
    corner.Parent = button

    button.MouseEnter:Connect(function()
        TweenService:Create(button, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(70, 70, 70)}):Play()
    end)
    button.MouseLeave:Connect(function()
        TweenService:Create(button, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(45, 45, 45)}):Play()
    end)

    return button
end

-- ==================== MOD BUTTONS ====================

-- Noclip Toggle
local noclipButton = createButton("Noclip: OFF")
local noclipEnabled = false
local noclipConnection = nil

noclipButton.MouseButton1Click:Connect(function()
    noclipEnabled = not noclipEnabled
    if noclipEnabled then
        noclipButton.Text = "Noclip: ON"
        noclipButton.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
        if noclipConnection then noclipConnection:Disconnect() end
        noclipConnection = RunService.Stepped:Connect(function()
            if player.Character then
                for _, part in ipairs(player.Character:GetDescendants()) do
                    if part:IsA("BasePart") then
                        part.CanCollide = false
                    end
                end
            end
        end)
    else
        noclipButton.Text = "Noclip: OFF"
        noclipButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        if noclipConnection then
            noclipConnection:Disconnect()
            noclipConnection = nil
        end
        if player.Character then
            for _, part in ipairs(player.Character:GetDescendants()) do
                if part:IsA("BasePart") then
                    part.CanCollide = true
                end
            end
        end
    end
end)

-- See Everyone's Chat Status
local chatStatusButton = Instance.new("TextButton")
chatStatusButton.Size = UDim2.new(1, 0, 0, 64)
chatStatusButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
chatStatusButton.Text = ""
chatStatusButton.BorderSizePixel = 0
chatStatusButton.Parent = scrollFrame

local chatCorner = Instance.new("UICorner")
chatCorner.CornerRadius = UDim.new(0, 16)
chatCorner.Parent = chatStatusButton

local rainbowGradChat = Instance.new("UIGradient")
rainbowGradChat.Color = ColorSequence.new{
    ColorSequenceKeypoint.new(0.00, Color3.fromHSV(0/6,1,1)),
    ColorSequenceKeypoint.new(0.17, Color3.fromHSV(1/6,1,1)),
    ColorSequenceKeypoint.new(0.33, Color3.fromHSV(2/6,1,1)),
    ColorSequenceKeypoint.new(0.50, Color3.fromHSV(3/6,1,1)),
    ColorSequenceKeypoint.new(0.67, Color3.fromHSV(4/6,1,1)),
    ColorSequenceKeypoint.new(0.83, Color3.fromHSV(5/6,1,1)),
    ColorSequenceKeypoint.new(1.00, Color3.fromHSV(6/6,1,1))
}
rainbowGradChat.Rotation = 45
rainbowGradChat.Parent = chatStatusButton

local mainLblChat = Instance.new("TextLabel")
mainLblChat.Size = UDim2.new(1,0,0.65,0)
mainLblChat.BackgroundTransparency = 1
mainLblChat.Text = "See Everyone's Chat Status"
mainLblChat.TextColor3 = Color3.new(1,1,1)
mainLblChat.TextScaled = true
mainLblChat.FontFace = builderFont
mainLblChat.Parent = chatStatusButton

local wipLblChat = Instance.new("TextLabel")
wipLblChat.Size = UDim2.new(1,0,0.35,0)
wipLblChat.Position = UDim2.new(0,0,0.65,0)
wipLblChat.BackgroundTransparency = 1
wipLblChat.Text = "WIP!"
wipLblChat.TextColor3 = Color3.fromRGB(255, 200, 80)
wipLblChat.TextScaled = true
wipLblChat.FontFace = builderFont
wipLblChat.Parent = chatStatusButton

local showingChatStatus = false
local chatStatusGuis = {}

local function updateChatStatusLabels()
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr == player then continue end
        local char = plr.Character
        if not char then continue end
        local head = char:FindFirstChild("Head")
        if not head then continue end
       
        if chatStatusGuis[plr] then chatStatusGuis[plr]:Destroy() chatStatusGuis[plr] = nil end
       
        if showingChatStatus then
            local bb = Instance.new("BillboardGui")
            bb.Name = "ChatStatus"
            bb.Adornee = head
            bb.Size = UDim2.new(0, 90, 0, 45)
            bb.StudsOffset = Vector3.new(0, 3.6, 0)
            bb.AlwaysOnTop = true
            bb.Parent = head
            local txt = Instance.new("TextLabel")
            txt.Size = UDim2.new(1,0,1,0)
            txt.BackgroundTransparency = 1
            txt.Text = "💬"
            txt.TextColor3 = Color3.fromRGB(100, 255, 100)
            txt.TextScaled = true
            txt.Font = Enum.Font.GothamBlack
            txt.TextStrokeTransparency = 0.6
            txt.TextStrokeColor3 = Color3.new(0,0,0)
            txt.Parent = bb
            chatStatusGuis[plr] = bb
        end
    end
end

chatStatusButton.MouseButton1Click:Connect(function()
    showingChatStatus = not showingChatStatus
    if showingChatStatus then
        chatStatusButton.BackgroundColor3 = Color3.fromRGB(0, 180, 0)
        updateChatStatusLabels()
    else
        chatStatusButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        for _, g in pairs(chatStatusGuis) do if g then g:Destroy() end end
        chatStatusGuis = {}
    end
end)

-- Show Everyone's Voice Chat Status
local voiceStatusButton = Instance.new("TextButton")
voiceStatusButton.Size = UDim2.new(1, 0, 0, 64)
voiceStatusButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
voiceStatusButton.Text = ""
voiceStatusButton.BorderSizePixel = 0
voiceStatusButton.Parent = scrollFrame

local voiceCorner = Instance.new("UICorner")
voiceCorner.CornerRadius = UDim.new(0, 16)
voiceCorner.Parent = voiceStatusButton

local rainbowGradVoice = Instance.new("UIGradient")
rainbowGradVoice.Color = ColorSequence.new{
    ColorSequenceKeypoint.new(0.00, Color3.fromHSV(0/6,1,1)),
    ColorSequenceKeypoint.new(0.17, Color3.fromHSV(1/6,1,1)),
    ColorSequenceKeypoint.new(0.33, Color3.fromHSV(2/6,1,1)),
    ColorSequenceKeypoint.new(0.50, Color3.fromHSV(3/6,1,1)),
    ColorSequenceKeypoint.new(0.67, Color3.fromHSV(4/6,1,1)),
    ColorSequenceKeypoint.new(0.83, Color3.fromHSV(5/6,1,1)),
    ColorSequenceKeypoint.new(1.00, Color3.fromHSV(6/6,1,1))
}
rainbowGradVoice.Rotation = 45
rainbowGradVoice.Parent = voiceStatusButton

local mainLblVoice = Instance.new("TextLabel")
mainLblVoice.Size = UDim2.new(1,0,0.65,0)
mainLblVoice.BackgroundTransparency = 1
mainLblVoice.Text = "Show Everyone's Voice Chat Status"
mainLblVoice.TextColor3 = Color3.new(1,1,1)
mainLblVoice.TextScaled = true
mainLblVoice.FontFace = builderFont
mainLblVoice.Parent = voiceStatusButton

local wipLblVoice = Instance.new("TextLabel")
wipLblVoice.Size = UDim2.new(1,0,0.35,0)
wipLblVoice.Position = UDim2.new(0,0,0.65,0)
wipLblVoice.BackgroundTransparency = 1
wipLblVoice.Text = "WIP!"
wipLblVoice.TextColor3 = Color3.fromRGB(255, 200, 80)
wipLblVoice.TextScaled = true
wipLblVoice.FontFace = builderFont
wipLblVoice.Parent = voiceStatusButton

local showingVoiceStatus = false
local voiceStatusGuis = {}

local function updateVoiceStatusLabels()
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr == player then continue end
        local char = plr.Character
        if not char then continue end
        local head = char:FindFirstChild("Head")
        if not head then continue end
       
        if voiceStatusGuis[plr] then voiceStatusGuis[plr]:Destroy() voiceStatusGuis[plr] = nil end
       
        if showingVoiceStatus then
            local hasVoice = false
            pcall(function()
                hasVoice = VoiceChatService:IsVoiceEnabledForUserIdAsync(plr.UserId)
            end)
           
            local bb = Instance.new("BillboardGui")
            bb.Name = "VoiceStatus"
            bb.Adornee = head
            bb.Size = UDim2.new(0, 90, 0, 45)
            bb.StudsOffset = Vector3.new(0, 4.0, 0)
            bb.AlwaysOnTop = true
            bb.Parent = head
           
            local txt = Instance.new("TextLabel")
            txt.Size = UDim2.new(1,0,1,0)
            txt.BackgroundTransparency = 1
            txt.Text = hasVoice and "🔈" or "🔈❌"
            txt.TextColor3 = hasVoice and Color3.fromRGB(80, 220, 255) or Color3.fromRGB(255, 80, 80)
            txt.TextScaled = true
            txt.Font = Enum.Font.GothamBlack
            txt.TextStrokeTransparency = 0.6
            txt.TextStrokeColor3 = Color3.new(0,0,0)
            txt.Parent = bb
           
            voiceStatusGuis[plr] = bb
        end
    end
end

voiceStatusButton.MouseButton1Click:Connect(function()
    showingVoiceStatus = not showingVoiceStatus
    if showingVoiceStatus then
        voiceStatusButton.BackgroundColor3 = Color3.fromRGB(0, 180, 0)
        updateVoiceStatusLabels()
    else
        voiceStatusButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        for _, g in pairs(voiceStatusGuis) do if g then g:Destroy() end end
        voiceStatusGuis = {}
    end
end)

-- Music Mode Toggle (loops audio ID 122075745783906)
local musicButton = createButton("Music Mode: OFF")
local musicEnabled = false
local musicSound = nil

musicButton.MouseButton1Click:Connect(function()
    musicEnabled = not musicEnabled
    
    if musicEnabled then
        musicButton.Text = "Music Mode: ON"
        musicButton.BackgroundColor3 = Color3.fromRGB(200, 0, 200)  -- purple-ish when active
        
        if not musicSound then
            musicSound = Instance.new("Sound")
            musicSound.SoundId = "rbxassetid://122075745783906"
            musicSound.Looped = true
            musicSound.Volume = 0.6          -- reasonable default volume (adjust if needed)
            musicSound.Parent = SoundService  -- global music → plays everywhere
        end
        
        musicSound:Play()
    else
        musicButton.Text = "Music Mode: OFF"
        musicButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        
        if musicSound then
            musicSound:Stop()
        end
    end
end)

-- Change To Reverb (Cave)
local reverbButton = createButton("Change To Reverb")
local reverbActive = false

reverbButton.MouseButton1Click:Connect(function()
    reverbActive = not reverbActive
   
    if reverbActive then
        SoundService.AmbientReverb = Enum.ReverbType.Cave
        reverbButton.Text = "Reverb: Cave"
        reverbButton.BackgroundColor3 = Color3.fromRGB(120, 80, 200)
    else
        SoundService.AmbientReverb = Enum.ReverbType.NoReverb
        reverbButton.Text = "Change To Reverb"
        reverbButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    end
end)

-- WalkSpeed – persistent
local wsFrame = Instance.new("Frame")
wsFrame.Size = UDim2.new(1, 0, 0, 48)
wsFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
wsFrame.BorderSizePixel = 0
wsFrame.Parent = scrollFrame

local wsCorner = Instance.new("UICorner")
wsCorner.CornerRadius = UDim.new(0,12)
wsCorner.Parent = wsFrame

local wsLabel = Instance.new("TextLabel")
wsLabel.Size = UDim2.new(0.58,0,1,0)
wsLabel.BackgroundTransparency = 1
wsLabel.Text = "WalkSpeed:"
wsLabel.TextColor3 = Color3.new(1,1,1)
wsLabel.TextScaled = true
wsLabel.FontFace = builderFont
wsLabel.TextXAlignment = Enum.TextXAlignment.Left
wsLabel.Parent = wsFrame

local wsBox = Instance.new("TextBox")
wsBox.Size = UDim2.new(0.37,0,0.7,0)
wsBox.Position = UDim2.new(0.60,0,0.15,0)
wsBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
wsBox.Text = "16"
wsBox.TextColor3 = Color3.new(1,1,1)
wsBox.TextScaled = true
wsBox.FontFace = builderFont
wsBox.Parent = wsFrame

local wsTbCorner = Instance.new("UICorner")
wsTbCorner.CornerRadius = UDim.new(0,8)
wsTbCorner.Parent = wsBox

local desiredWalkSpeed = 16

local function applyWalkSpeed(char)
    if not char then return end
    local humanoid = char:FindFirstChildOfClass("Humanoid") or char:WaitForChild("Humanoid", 5)
    if humanoid then
        humanoid.WalkSpeed = desiredWalkSpeed
    end
end

wsBox.FocusLost:Connect(function(enter)
    if enter then
        local val = tonumber(wsBox.Text)
        if val and val > 0 then
            desiredWalkSpeed = val
            if player.Character then
                applyWalkSpeed(player.Character)
            end
            print("WalkSpeed set to: " .. val)
        else
            wsBox.Text = tostring(desiredWalkSpeed)
        end
    end
end)

player.CharacterAdded:Connect(function(newChar)
    applyWalkSpeed(newChar)
end)

if player.Character then
    applyWalkSpeed(player.Character)
end

-- JumpPower – persistent
local jumpFrame = Instance.new("Frame")
jumpFrame.Size = UDim2.new(1, 0, 0, 48)
jumpFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
jumpFrame.BorderSizePixel = 0
jumpFrame.Parent = scrollFrame

local jumpCorner = Instance.new("UICorner")
jumpCorner.CornerRadius = UDim.new(0,12)
jumpCorner.Parent = jumpFrame

local jumpLabel = Instance.new("TextLabel")
jumpLabel.Size = UDim2.new(0.58,0,1,0)
jumpLabel.BackgroundTransparency = 1
jumpLabel.Text = "JumpPower:"
jumpLabel.TextColor3 = Color3.new(1,1,1)
jumpLabel.TextScaled = true
jumpLabel.FontFace = builderFont
jumpLabel.TextXAlignment = Enum.TextXAlignment.Left
jumpLabel.Parent = jumpFrame

local jumpBox = Instance.new("TextBox")
jumpBox.Size = UDim2.new(0.37,0,0.7,0)
jumpBox.Position = UDim2.new(0.60,0,0.15,0)
jumpBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
jumpBox.Text = "50"
jumpBox.TextColor3 = Color3.new(1,1,1)
jumpBox.TextScaled = true
jumpBox.FontFace = builderFont
jumpBox.Parent = jumpFrame

local jumpTbCorner = Instance.new("UICorner")
jumpTbCorner.CornerRadius = UDim.new(0,8)
jumpTbCorner.Parent = jumpBox

local desiredJumpPower = 50

local function applyJumpPower(char)
    if not char then return end
    local humanoid = char:FindFirstChildOfClass("Humanoid") or char:WaitForChild("Humanoid", 5)
    if humanoid then
        humanoid.JumpPower = desiredJumpPower
        humanoid.UseJumpPower = true
    end
end

jumpBox.FocusLost:Connect(function(enter)
    if enter then
        local val = tonumber(jumpBox.Text)
        if val and val >= 0 then
            desiredJumpPower = val
            if player.Character then
                applyJumpPower(player.Character)
            end
            print("JumpPower set to: " .. val)
        else
            jumpBox.Text = tostring(desiredJumpPower)
        end
    end
end)

player.CharacterAdded:Connect(function(newChar)
    applyJumpPower(newChar)
end)

if player.Character then
    applyJumpPower(player.Character)
end

-- God Mode
local godButton = createButton("God Mode (Infinite FF)")
local godEnabled = false
local currentFF = nil

godButton.MouseButton1Click:Connect(function()
    godEnabled = not godEnabled
    if godEnabled then
        if player.Character then
            currentFF = Instance.new("ForceField")
            currentFF.Name = "GodFF"
            currentFF.Parent = player.Character
        end
        godButton.Text = "God Mode: ON"
        godButton.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
    else
        if currentFF then currentFF:Destroy() currentFF = nil end
        godButton.Text = "God Mode (Infinite FF)"
        godButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    end
end)

player.CharacterAdded:Connect(function(char)
    task.wait(0.1)
    if godEnabled then
        currentFF = Instance.new("ForceField")
        currentFF.Name = "GodFF"
        currentFF.Parent = char
    end
end)

-- Lock First Person
local lockFPButton = createButton("Lock First Person")
local lockFPEnabled = false

lockFPButton.MouseButton1Click:Connect(function()
    lockFPEnabled = not lockFPEnabled
    if lockFPEnabled then
        player.CameraMode = Enum.CameraMode.LockFirstPerson
        lockFPButton.Text = "Lock First Person: ON"
        lockFPButton.BackgroundColor3 = Color3.fromRGB(0, 170, 0)
    else
        player.CameraMode = Enum.CameraMode.Classic
        lockFPButton.Text = "Lock First Person"
        lockFPButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
    end
end)

-- Fake Chat
local fakeChatButton = createButton("Fake Chat")
fakeChatButton.MouseButton1Click:Connect(function()
    local inputBox = Instance.new("TextBox")
    inputBox.Size = UDim2.new(0.7, 0, 0.08, 0)
    inputBox.Position = UDim2.new(0.15, 0, 0.4, 0)
    inputBox.BackgroundColor3 = Color3.fromRGB(30,30,30)
    inputBox.PlaceholderText = "Type message and press Enter..."
    inputBox.TextColor3 = Color3.new(1,1,1)
    inputBox.TextScaled = true
    inputBox.FontFace = builderFont
    inputBox.Parent = screenGui
    local ibCorner = Instance.new("UICorner")
    ibCorner.CornerRadius = UDim.new(0,10)
    ibCorner.Parent = inputBox
    inputBox:CaptureFocus()
    inputBox.FocusLost:Connect(function(enterPressed)
        if enterPressed and inputBox.Text ~= "" then
            local channel = TextChatService.TextChannels and TextChatService.TextChannels:FindFirstChild("RBXGeneral")
            if channel then
                channel:SendAsync(inputBox.Text)
            end
        end
        inputBox:Destroy()
    end)
end)

-- Show Everyone PlayerID
local idButton = createButton("Show Everyone PlayerID")
local idLabels = {}
local showingIds = false

local function updatePlayerIds()
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr == player then continue end
        local char = plr.Character
        if not char then continue end
        local head = char:FindFirstChild("Head")
        if not head then continue end
       
        if idLabels[plr] then idLabels[plr]:Destroy() end
       
        if showingIds then
            local bb = Instance.new("BillboardGui")
            bb.Name = "PlayerIdGui"
            bb.Adornee = head
            bb.Size = UDim2.new(0, 180, 0, 50)
            bb.StudsOffset = Vector3.new(0, 3.2, 0)
            bb.AlwaysOnTop = true
            bb.Parent = head
           
            local label = Instance.new("TextLabel")
            label.Size = UDim2.new(1,0,1,0)
            label.BackgroundTransparency = 1
            label.Text = tostring(plr.UserId)
            label.TextScaled = true
            label.Font = Enum.Font.SourceSansBold
            label.TextStrokeTransparency = 0.6
            label.TextStrokeColor3 = Color3.new(0,0,0)
            label.TextColor3 = plr.Team and plr.TeamColor.Color or Color3.new(1,1,1)
            label.Parent = bb
           
            idLabels[plr] = bb
        end
    end
end

idButton.MouseButton1Click:Connect(function()
    showingIds = not showingIds
    if showingIds then
        idButton.Text = "Hide Everyone PlayerID"
        idButton.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
        updatePlayerIds()
    else
        idButton.Text = "Show Everyone PlayerID"
        idButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        for _, gui in pairs(idLabels) do if gui then gui:Destroy() end end
        idLabels = {}
    end
end)

Players.PlayerAdded:Connect(function(plr)
    plr.CharacterAdded:Connect(function()
        task.delay(0.6, function()
            if showingIds then updatePlayerIds() end
        end)
    end)
end)

Players.PlayerRemoving:Connect(function(plr)
    if idLabels[plr] then
        idLabels[plr]:Destroy()
        idLabels[plr] = nil
    end
end)

-- ╔════════════════════════════╗
-- ║ NEW FEATURE - PLAYER TRACK ║
-- ╚════════════════════════════╝

local trackButton = createButton("Player Track: OFF")
local trackingEnabled = false
local trackGuis = {}

local function updatePlayerTrack()
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr == player then continue end
        local char = plr.Character
        if not char then continue end
        local head = char:FindFirstChild("Head")
        if not head then continue end
       
        if trackGuis[plr] then
            trackGuis[plr]:Destroy()
            trackGuis[plr] = nil
        end
       
        if trackingEnabled then
            local bb = Instance.new("BillboardGui")
            bb.Name = "PlayerTrackDot"
            bb.Adornee = head
            bb.Size = UDim2.new(0, 60, 0, 60)
            bb.StudsOffset = Vector3.new(0, 3.8, 0)
            bb.AlwaysOnTop = true
            bb.Parent = head
           
            local txt = Instance.new("TextLabel")
            txt.Size = UDim2.new(1, 0, 1, 0)
            txt.BackgroundTransparency = 1
            txt.Text = "•"
            txt.TextScaled = true
            txt.Font = Enum.Font.GothamBlack
            txt.TextStrokeTransparency = 0.4
            txt.TextStrokeColor3 = Color3.new(0,0,0)
            txt.Parent = bb
           
            -- Rainbow animation for the dot
            local dotHue = 0
            local conn
            conn = RunService.Heartbeat:Connect(function(dt)
                if not bb or not bb.Parent then
                    conn:Disconnect()
                    return
                end
                dotHue = (dotHue + dt * 1.2) % 1
                txt.TextColor3 = Color3.fromHSV(dotHue, 1, 1)
            end)
           
            trackGuis[plr] = bb
        end
    end
end

trackButton.MouseButton1Click:Connect(function()
    trackingEnabled = not trackingEnabled
   
    if trackingEnabled then
        trackButton.Text = "Player Track: ON"
        trackButton.BackgroundColor3 = Color3.fromRGB(255, 100, 100)
        updatePlayerTrack()
    else
        trackButton.Text = "Player Track: OFF"
        trackButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
        for _, gui in pairs(trackGuis) do
            if gui then gui:Destroy() end
        end
        trackGuis = {}
    end
end)

-- Handle new players / respawns
Players.PlayerAdded:Connect(function(plr)
    plr.CharacterAdded:Connect(function()
        task.delay(0.5, function()
            if trackingEnabled then
                local char = plr.Character
                if char then
                    local head = char:FindFirstChild("Head")
                    if head and not trackGuis[plr] then
                        updatePlayerTrack() -- full refresh is simpler
                    end
                end
            end
        end)
    end)
end)

Players.PlayerRemoving:Connect(function(plr)
    if trackGuis[plr] then
        trackGuis[plr]:Destroy()
        trackGuis[plr] = nil
    end
end)

-- Auto resize canvas
uiListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    scrollFrame.CanvasSize = UDim2.new(0, 0, 0, uiListLayout.AbsoluteContentSize.Y + 40)
end)

-- Hotkey to toggle menu
local menuVisible = true
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end
    if input.KeyCode == Enum.KeyCode.RightShift then
        menuVisible = not menuVisible
        mainFrame.Visible = menuVisible
    end
end)

print("Country Game’s Mod Menu Loaded! Press RIGHT SHIFT to toggle.")

Features & Information

Country Game Mod Menu (Aka Country Game’s Mod Menu) Is an mod menu that was avilable all roblox games This Mod Menu Is Available On Touchscreens Devices, Pc And Laptop For delta executor users if you find this mod menu but can remember to find just type "Country Game" in search bar and you'll see this mod menu
#mod

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts