-- 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.")