local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local OPTIONS = { InfiniteAmmo = true, Highlight = true, } local highlights = {} local connections = {} local minimized = false local running = true local function getWeapon() if LocalPlayer.Character then for _, tool in ipairs(LocalPlayer.Character:GetChildren()) do if tool:IsA("Tool") then return tool end end end end local ammoConn = RunService.Heartbeat:Connect(function() if not OPTIONS.InfiniteAmmo then return end local weapon = getWeapon() if not weapon then return end local ammoFolder = weapon:FindFirstChild("Ammo") if ammoFolder then local magAmmo = ammoFolder:FindFirstChild("MagAmmo") if magAmmo and magAmmo:IsA("IntValue") then local mx = 9999 pcall(function() mx = magAmmo.Max end) if magAmmo.Value < mx then magAmmo.Value = mx end end local arcadePool = ammoFolder:FindFirstChild("ArcadeAmmoPool") if arcadePool and arcadePool:IsA("IntValue") then local mx = 3000 pcall(function() mx = arcadePool.Max end) if arcadePool.Value < mx then arcadePool.Value = mx end end end local chambered = weapon:FindFirstChild("Chambered") if chambered and chambered:IsA("BoolValue") then chambered.Value = true end local boltReady = weapon:FindFirstChild("BoltReady") if boltReady and boltReady:IsA("BoolValue") then boltReady.Value = true end end) local function isTeammate(player) return LocalPlayer.Team and player.Team == LocalPlayer.Team end local function getTeamColor(player) if player.Team then return player.Team.TeamColor.Color end return Color3.fromRGB(255, 0, 0) end local function removeHighlight(player) if highlights[player] then pcall(function() highlights[player]:Destroy() end) highlights[player] = nil end end local function createHighlight(player) if player == LocalPlayer or not player.Character then return end removeHighlight(player) local hl = Instance.new("Highlight") hl.Name = "MODHighlight" hl.Adornee = player.Character if isTeammate(player) then hl.FillColor = Color3.fromRGB(0, 255, 0) hl.OutlineColor = Color3.fromRGB(0, 200, 0) else local c = getTeamColor(player) hl.FillColor = c hl.OutlineColor = c end hl.FillTransparency = 0.6 hl.OutlineTransparency = 0 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = player.Character highlights[player] = hl end local function clearAllHighlights() for player in pairs(highlights) do removeHighlight(player) end end local function initHighlights() for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then if player.Character then createHighlight(player) end local c = player.CharacterAdded:Connect(function() task.wait(0.5) if OPTIONS.Highlight then createHighlight(player) end end) table.insert(connections, c) end end end table.insert(connections, Players.PlayerAdded:Connect(function(player) local c = player.CharacterAdded:Connect(function() task.wait(0.5) if OPTIONS.Highlight then createHighlight(player) end end) table.insert(connections, c) end)) table.insert(connections, Players.PlayerRemoving:Connect(removeHighlight)) task.spawn(function() while running do task.wait(5) if OPTIONS.Highlight then for player, hl in pairs(highlights) do if hl and hl.Parent and player.Character then if isTeammate(player) then hl.FillColor = Color3.fromRGB(0, 255, 0) hl.OutlineColor = Color3.fromRGB(0, 200, 0) else local c = getTeamColor(player) hl.FillColor = c hl.OutlineColor = c end else removeHighlight(player) end end end end end) local function stopScript() running = false pcall(function() ammoConn:Disconnect() end) for _, c in pairs(connections) do pcall(function() c:Disconnect() end) end clearAllHighlights() local gui = LocalPlayer.PlayerGui:FindFirstChild("SPHGunModifier") if gui then gui:Destroy() end end if LocalPlayer.PlayerGui:FindFirstChild("SPHGunModifier") then LocalPlayer.PlayerGui.SPHGunModifier:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "SPHGunModifier" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = LocalPlayer.PlayerGui local Frame = Instance.new("Frame") Frame.Name = "MainFrame" Frame.Size = UDim2.new(0, 200, 0, 160) Frame.Position = UDim2.new(0, 10, 0.4, 0) Frame.BackgroundColor3 = Color3.fromRGB(45, 45, 45) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true Frame.Parent = ScreenGui Instance.new("UICorner", Frame).CornerRadius = UDim.new(0, 6) local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 30) TitleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35) TitleBar.BorderSizePixel = 0 TitleBar.Parent = Frame Instance.new("UICorner", TitleBar).CornerRadius = UDim.new(0, 6) local TitleText = Instance.new("TextLabel") TitleText.Size = UDim2.new(1, -60, 1, 0) TitleText.Position = UDim2.new(0, 10, 0, 0) TitleText.BackgroundTransparency = 1 TitleText.TextColor3 = Color3.fromRGB(200, 200, 200) TitleText.Text = "SPH Gun Modifier" TitleText.Font = Enum.Font.GothamBold TitleText.TextSize = 13 TitleText.TextXAlignment = Enum.TextXAlignment.Left TitleText.Parent = TitleBar local MinBtn = Instance.new("TextButton") MinBtn.Size = UDim2.new(0, 24, 0, 24) MinBtn.Position = UDim2.new(1, -54, 0, 3) MinBtn.BackgroundColor3 = Color3.fromRGB(70, 70, 70) MinBtn.TextColor3 = Color3.fromRGB(200, 200, 200) MinBtn.Text = "-" MinBtn.Font = Enum.Font.GothamBold MinBtn.TextSize = 16 MinBtn.BorderSizePixel = 0 MinBtn.Parent = TitleBar Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(0, 4) local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 24, 0, 24) CloseBtn.Position = UDim2.new(1, -27, 0, 3) CloseBtn.BackgroundColor3 = Color3.fromRGB(90, 45, 45) CloseBtn.TextColor3 = Color3.fromRGB(200, 200, 200) CloseBtn.Text = "×" CloseBtn.Font = Enum.Font.GothamBold CloseBtn.TextSize = 13 CloseBtn.BorderSizePixel = 0 CloseBtn.Parent = TitleBar Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 4) local ContentFrame = Instance.new("Frame") ContentFrame.Size = UDim2.new(1, 0, 1, -30) ContentFrame.Position = UDim2.new(0, 0, 0, 30) ContentFrame.BackgroundTransparency = 1 ContentFrame.Parent = Frame local Divider = Instance.new("Frame") Divider.Size = UDim2.new(1, -20, 0, 1) Divider.Position = UDim2.new(0, 10, 0, 0) Divider.BackgroundColor3 = Color3.fromRGB(60, 60, 60) Divider.BorderSizePixel = 0 Divider.Parent = ContentFrame local buttonData = { {name = "Infinite Ammo", option = "InfiniteAmmo", y = 10}, {name = "Highlight ESP", option = "Highlight", y = 65}, } local function makeButton(data) local container = Instance.new("Frame") container.Size = UDim2.new(1, -20, 0, 46) container.Position = UDim2.new(0, 10, 0, data.y) container.BackgroundColor3 = Color3.fromRGB(38, 38, 38) container.BorderSizePixel = 0 container.Parent = ContentFrame Instance.new("UICorner", container).CornerRadius = UDim.new(0, 5) local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -60, 1, 0) label.Position = UDim2.new(0, 12, 0, 0) label.BackgroundTransparency = 1 label.TextColor3 = Color3.fromRGB(210, 210, 210) label.Text = data.name label.Font = Enum.Font.Gotham label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = container local toggleBg = Instance.new("Frame") toggleBg.Size = UDim2.new(0, 36, 0, 20) toggleBg.Position = UDim2.new(1, -46, 0.5, -10) toggleBg.BackgroundColor3 = OPTIONS[data.option] and Color3.fromRGB(80, 80, 80) or Color3.fromRGB(55, 55, 55) toggleBg.BorderSizePixel = 0 toggleBg.Parent = container Instance.new("UICorner", toggleBg).CornerRadius = UDim.new(1, 0) local toggleDot = Instance.new("Frame") toggleDot.Size = UDim2.new(0, 14, 0, 14) toggleDot.Position = OPTIONS[data.option] and UDim2.new(1, -17, 0.5, -7) or UDim2.new(0, 3, 0.5, -7) toggleDot.BackgroundColor3 = OPTIONS[data.option] and Color3.fromRGB(220, 220, 220) or Color3.fromRGB(120, 120, 120) toggleDot.BorderSizePixel = 0 toggleDot.Parent = toggleBg Instance.new("UICorner", toggleDot).CornerRadius = UDim.new(1, 0) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 1, 0) btn.BackgroundTransparency = 1 btn.Text = "" btn.Parent = container btn.MouseButton1Click:Connect(function() OPTIONS[data.option] = not OPTIONS[data.option] local on = OPTIONS[data.option] toggleBg.BackgroundColor3 = on and Color3.fromRGB(80, 80, 80) or Color3.fromRGB(55, 55, 55) toggleDot.Position = on and UDim2.new(1, -17, 0.5, -7) or UDim2.new(0, 3, 0.5, -7) toggleDot.BackgroundColor3 = on and Color3.fromRGB(220, 220, 220) or Color3.fromRGB(120, 120, 120) if data.option == "Highlight" then if on then initHighlights() else clearAllHighlights() end end end) end for _, data in ipairs(buttonData) do makeButton(data) end MinBtn.MouseButton1Click:Connect(function() minimized = not minimized ContentFrame.Visible = not minimized Frame.Size = minimized and UDim2.new(0, 200, 0, 30) or UDim2.new(0, 200, 0, 160) MinBtn.Text = minimized and "+" or "-" end) CloseBtn.MouseButton1Click:Connect(stopScript) initHighlights()