-- Full Roblox Script for Murder vs Sheriff (Custom GUI Cheat) -- Modified: No Kill All | Circle Minimize | Persistent on Death & Next Round local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local CoreGui = game:GetService("CoreGui") -- Prevent multiple instances if CoreGui:FindFirstChild("MurderVsSheriffGUI") then CoreGui:FindFirstChild("MurderVsSheriffGUI"):Destroy() end -- Main ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MurderVsSheriffGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = CoreGui -- Settings (Persistent) local Settings = { ESPEnabled = false, HitboxEnabled = false, HitboxSize = 10 } -- Loading Screen local LoadingFrame = Instance.new("Frame") LoadingFrame.Name = "LoadingFrame" LoadingFrame.Size = UDim2.new(0, 400, 0, 200) LoadingFrame.Position = UDim2.new(0.5, -200, 0.5, -100) LoadingFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) LoadingFrame.BorderSizePixel = 0 LoadingFrame.Parent = ScreenGui local UICornerLoad = Instance.new("UICorner") UICornerLoad.CornerRadius = UDim.new(0, 12) UICornerLoad.Parent = LoadingFrame local LoadingText = Instance.new("TextLabel") LoadingText.Size = UDim2.new(1, 0, 0.5, 0) LoadingText.BackgroundTransparency = 1 LoadingText.Text = "Murder vs Sheriff" LoadingText.TextColor3 = Color3.fromRGB(255, 50, 50) LoadingText.TextScaled = true LoadingText.Font = Enum.Font.GothamBold LoadingText.Parent = LoadingFrame local LoadingSub = Instance.new("TextLabel") LoadingSub.Size = UDim2.new(1, 0, 0.3, 0) LoadingSub.Position = UDim2.new(0, 0, 0.5, 0) LoadingSub.BackgroundTransparency = 1 LoadingSub.Text = "Loading... (Persistent)" LoadingSub.TextColor3 = Color3.fromRGB(200, 200, 200) LoadingSub.TextScaled = true LoadingSub.Font = Enum.Font.Gotham LoadingSub.Parent = LoadingFrame local LoadingBarBG = Instance.new("Frame") LoadingBarBG.Size = UDim2.new(0.8, 0, 0.08, 0) LoadingBarBG.Position = UDim2.new(0.1, 0, 0.85, 0) LoadingBarBG.BackgroundColor3 = Color3.fromRGB(40, 40, 40) LoadingBarBG.Parent = LoadingFrame local UICornerBar = Instance.new("UICorner") UICornerBar.CornerRadius = UDim.new(0, 8) UICornerBar.Parent = LoadingBarBG local LoadingBar = Instance.new("Frame") LoadingBar.Size = UDim2.new(0, 0, 1, 0) LoadingBar.BackgroundColor3 = Color3.fromRGB(255, 50, 50) LoadingBar.Parent = LoadingBarBG local UICornerBarFill = Instance.new("UICorner") UICornerBarFill.CornerRadius = UDim.new(0, 8) UICornerBarFill.Parent = LoadingBar -- Animate Loading spawn(function() for i = 0, 100 do LoadingBar.Size = UDim2.new(i/100, 0, 1, 0) wait(0.02) end TweenService:Create(LoadingFrame, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play() wait(0.6) LoadingFrame:Destroy() end) -- Main GUI Frame local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 380, 0, 420) MainFrame.Position = UDim2.new(0.5, -190, 0.5, -210) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BorderSizePixel = 0 MainFrame.Visible = false MainFrame.Parent = ScreenGui 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, 50) TitleBar.BackgroundColor3 = Color3.fromRGB(35, 35, 35) TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainFrame local UICornerTitle = Instance.new("UICorner") UICornerTitle.CornerRadius = UDim.new(0, 12) UICornerTitle.Parent = TitleBar local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(1, -60, 1, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "Murder vs Sheriff Cheat" TitleLabel.TextColor3 = Color3.fromRGB(255, 60, 60) TitleLabel.TextScaled = true TitleLabel.Font = Enum.Font.GothamBold TitleLabel.Parent = TitleBar -- Minimize Button (X) local MinimizeBtn = Instance.new("TextButton") MinimizeBtn.Size = UDim2.new(0, 40, 0, 40) MinimizeBtn.Position = UDim2.new(1, -45, 0, 5) MinimizeBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50) MinimizeBtn.Text = "X" MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeBtn.TextScaled = true MinimizeBtn.Font = Enum.Font.GothamBold MinimizeBtn.Parent = TitleBar local UICornerMin = Instance.new("UICorner") UICornerMin.CornerRadius = UDim.new(0, 8) UICornerMin.Parent = MinimizeBtn -- Draggable local dragging = false local dragStart local startPos TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = MainFrame.Position end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- Mini Circle local MiniCircle = Instance.new("TextButton") MiniCircle.Size = UDim2.new(0, 65, 0, 65) MiniCircle.Position = UDim2.new(1, -85, 0.5, -32) MiniCircle.BackgroundColor3 = Color3.fromRGB(255, 50, 50) MiniCircle.Text = "MVS" MiniCircle.TextColor3 = Color3.fromRGB(255, 255, 255) MiniCircle.TextScaled = true MiniCircle.Font = Enum.Font.GothamBold MiniCircle.Visible = false MiniCircle.Parent = ScreenGui local UICornerCircle = Instance.new("UICorner") UICornerCircle.CornerRadius = UDim.new(1, 0) UICornerCircle.Parent = MiniCircle -- Functions local ESPObjects = {} local Connections = {} local function CreateESP(player) if player == LocalPlayer then return end if ESPObjects[player] then return end local espBox = Drawing.new("Square") espBox.Thickness = 2 espBox.Color = Color3.fromRGB(255, 50, 50) espBox.Filled = false espBox.Transparency = 1 local nameTag = Drawing.new("Text") nameTag.Size = 16 nameTag.Color = Color3.fromRGB(255, 255, 255) nameTag.Outline = true nameTag.Center = true ESPObjects[player] = {Box = espBox, Name = nameTag} end local function UpdateESP() for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then if not ESPObjects[player] then CreateESP(player) end local root = player.Character.HumanoidRootPart local head = player.Character:FindFirstChild("Head") if not head then return end local screenPos, onScreen = Camera:WorldToViewportPoint(root.Position) if onScreen then local top = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 2.5, 0)) local bottom = Camera:WorldToViewportPoint(root.Position - Vector3.new(0, 3, 0)) local height = (bottom.Y - top.Y) local width = height / 2 local box = ESPObjects[player].Box box.Size = Vector2.new(width, height) box.Position = Vector2.new(screenPos.X - width/2, top.Y) box.Visible = Settings.ESPEnabled local name = ESPObjects[player].Name name.Text = player.Name .. " [" .. math.floor((LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and (LocalPlayer.Character.HumanoidRootPart.Position - root.Position).Magnitude or 0)) .. "m]" name.Position = Vector2.new(screenPos.X, top.Y - 20) name.Visible = Settings.ESPEnabled else if ESPObjects[player] then ESPObjects[player].Box.Visible = false ESPObjects[player].Name.Visible = false end end end end end local function ApplyHitbox(player) if player == LocalPlayer or not player.Character then return end local root = player.Character:FindFirstChild("HumanoidRootPart") if root then root.Size = Vector3.new(Settings.HitboxSize, Settings.HitboxSize, Settings.HitboxSize) root.Transparency = 0.7 root.Color = Color3.fromRGB(255, 0, 0) root.Material = Enum.Material.ForceField root.CanCollide = false end end local function ResetHitbox(player) if player == LocalPlayer or not player.Character then return end local root = player.Character:FindFirstChild("HumanoidRootPart") if root then root.Size = Vector3.new(2, 2, 1) root.Transparency = 1 root.Color = Color3.fromRGB(255, 255, 255) root.Material = Enum.Material.Plastic end end -- GUI Elements local ContentFrame = Instance.new("ScrollingFrame") ContentFrame.Size = UDim2.new(1, -20, 1, -70) ContentFrame.Position = UDim2.new(0, 10, 0, 60) ContentFrame.BackgroundTransparency = 1 ContentFrame.ScrollBarThickness = 6 ContentFrame.Parent = MainFrame local UIListLayout = Instance.new("UIListLayout") UIListLayout.Padding = UDim.new(0, 8) UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Parent = ContentFrame -- ESP Toggle local ESPToggleFrame = Instance.new("Frame") ESPToggleFrame.Size = UDim2.new(1, 0, 0, 50) ESPToggleFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) ESPToggleFrame.Parent = ContentFrame local ESPText = Instance.new("TextLabel") ESPText.Size = UDim2.new(0.7, 0, 1, 0) ESPText.BackgroundTransparency = 1 ESPText.Text = "ESP Players" ESPText.TextColor3 = Color3.fromRGB(255, 255, 255) ESPText.TextXAlignment = Enum.TextXAlignment.Left ESPText.Font = Enum.Font.Gotham ESPText.TextScaled = true ESPText.Parent = ESPToggleFrame local ESPToggle = Instance.new("TextButton") ESPToggle.Size = UDim2.new(0.25, 0, 0.7, 0) ESPToggle.Position = UDim2.new(0.72, 0, 0.15, 0) ESPToggle.BackgroundColor3 = Color3.fromRGB(80, 80, 80) ESPToggle.Text = "OFF" ESPToggle.TextColor3 = Color3.fromRGB(255, 100, 100) ESPToggle.TextScaled = true ESPToggle.Font = Enum.Font.GothamBold ESPToggle.Parent = ESPToggleFrame local UICornerESPT = Instance.new("UICorner") UICornerESPT.CornerRadius = UDim.new(0, 10) UICornerESPT.Parent = ESPToggle ESPToggle.MouseButton1Click:Connect(function() Settings.ESPEnabled = not Settings.ESPEnabled ESPToggle.Text = Settings.ESPEnabled and "ON" or "OFF" ESPToggle.BackgroundColor3 = Settings.ESPEnabled and Color3.fromRGB(0, 180, 0) or Color3.fromRGB(80, 80, 80) end) -- Hitbox Toggle + Size local HitboxToggleFrame = Instance.new("Frame") HitboxToggleFrame.Size = UDim2.new(1, 0, 0, 50) HitboxToggleFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) HitboxToggleFrame.Parent = ContentFrame local HitboxText = Instance.new("TextLabel") HitboxText.Size = UDim2.new(0.5, 0, 1, 0) HitboxText.BackgroundTransparency = 1 HitboxText.Text = "Hitbox Expander" HitboxText.TextColor3 = Color3.fromRGB(255, 255, 255) HitboxText.TextXAlignment = Enum.TextXAlignment.Left HitboxText.Font = Enum.Font.Gotham HitboxText.TextScaled = true HitboxText.Parent = HitboxToggleFrame local HitboxToggleBtn = Instance.new("TextButton") HitboxToggleBtn.Size = UDim2.new(0.22, 0, 0.7, 0) HitboxToggleBtn.Position = UDim2.new(0.52, 0, 0.15, 0) HitboxToggleBtn.BackgroundColor3 = Color3.fromRGB(80, 80, 80) HitboxToggleBtn.Text = "OFF" HitboxToggleBtn.TextColor3 = Color3.fromRGB(255, 100, 100) HitboxToggleBtn.TextScaled = true HitboxToggleBtn.Font = Enum.Font.GothamBold HitboxToggleBtn.Parent = HitboxToggleFrame local UICornerHB = Instance.new("UICorner") UICornerHB.CornerRadius = UDim.new(0, 10) UICornerHB.Parent = HitboxToggleBtn local SizeInput = Instance.new("TextBox") SizeInput.Size = UDim2.new(0.2, 0, 0.7, 0) SizeInput.Position = UDim2.new(0.76, 0, 0.15, 0) SizeInput.BackgroundColor3 = Color3.fromRGB(50, 50, 50) SizeInput.Text = tostring(Settings.HitboxSize) SizeInput.TextColor3 = Color3.fromRGB(255, 255, 255) SizeInput.TextScaled = true SizeInput.Font = Enum.Font.Gotham SizeInput.Parent = HitboxToggleFrame local UICornerSize = Instance.new("UICorner") UICornerSize.CornerRadius = UDim.new(0, 8) UICornerSize.Parent = SizeInput HitboxToggleBtn.MouseButton1Click:Connect(function() Settings.HitboxEnabled = not Settings.HitboxEnabled HitboxToggleBtn.Text = Settings.HitboxEnabled and "ON" or "OFF" HitboxToggleBtn.BackgroundColor3 = Settings.HitboxEnabled and Color3.fromRGB(0, 180, 0) or Color3.fromRGB(80, 80, 80) if Settings.HitboxEnabled then for _, p in ipairs(Players:GetPlayers()) do ApplyHitbox(p) end else for _, p in ipairs(Players:GetPlayers()) do ResetHitbox(p) end end end) SizeInput.FocusLost:Connect(function() local num = tonumber(SizeInput.Text) if num and num > 2 and num < 50 then Settings.HitboxSize = num if Settings.HitboxEnabled then for _, p in ipairs(Players:GetPlayers()) do ApplyHitbox(p) end end else SizeInput.Text = tostring(Settings.HitboxSize) end end) -- Master Toggle local MasterFrame = Instance.new("Frame") MasterFrame.Size = UDim2.new(1, 0, 0, 60) MasterFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) MasterFrame.Parent = ContentFrame local MasterLabel = Instance.new("TextLabel") MasterLabel.Size = UDim2.new(0.6, 0, 1, 0) MasterLabel.BackgroundTransparency = 1 MasterLabel.Text = "Master ON/OFF" MasterLabel.TextColor3 = Color3.fromRGB(255, 255, 255) MasterLabel.TextXAlignment = Enum.TextXAlignment.Left MasterLabel.Font = Enum.Font.GothamBold MasterLabel.TextScaled = true MasterLabel.Parent = MasterFrame local MasterToggle = Instance.new("TextButton") MasterToggle.Size = UDim2.new(0.35, 0, 0.7, 0) MasterToggle.Position = UDim2.new(0.62, 0, 0.15, 0) MasterToggle.BackgroundColor3 = Color3.fromRGB(0, 180, 0) MasterToggle.Text = "ALL ON" MasterToggle.TextColor3 = Color3.fromRGB(255, 255, 255) MasterToggle.TextScaled = true MasterToggle.Font = Enum.Font.GothamBold MasterToggle.Parent = MasterFrame local UICornerMaster = Instance.new("UICorner") UICornerMaster.CornerRadius = UDim.new(0, 10) UICornerMaster.Parent = MasterToggle MasterToggle.MouseButton1Click:Connect(function() Settings.ESPEnabled = not Settings.ESPEnabled Settings.HitboxEnabled = not Settings.HitboxEnabled ESPToggle.Text = Settings.ESPEnabled and "ON" or "OFF" ESPToggle.BackgroundColor3 = Settings.ESPEnabled and Color3.fromRGB(0, 180, 0) or Color3.fromRGB(80, 80, 80) HitboxToggleBtn.Text = Settings.HitboxEnabled and "ON" or "OFF" HitboxToggleBtn.BackgroundColor3 = Settings.HitboxEnabled and Color3.fromRGB(0, 180, 0) or Color3.fromRGB(80, 80, 80) if Settings.HitboxEnabled then for _, p in ipairs(Players:GetPlayers()) do ApplyHitbox(p) end else for _, p in ipairs(Players:GetPlayers()) do ResetHitbox(p) end end end) -- Minimize Logic MinimizeBtn.MouseButton1Click:Connect(function() MainFrame.Visible = false MiniCircle.Visible = true end) MiniCircle.MouseButton1Click:Connect(function() MainFrame.Visible = true MiniCircle.Visible = false end) -- Show GUI wait(1.2) MainFrame.Visible = true -- Update Loop table.insert(Connections, RunService.RenderStepped:Connect(UpdateESP)) -- Persistence on Character Respawn / New Players local function SetupCharacter(char) wait(0.5) if Settings.HitboxEnabled then ApplyHitbox(LocalPlayer) end end LocalPlayer.CharacterAdded:Connect(SetupCharacter) if LocalPlayer.Character then SetupCharacter(LocalPlayer.Character) end Players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function() wait(0.5) if Settings.HitboxEnabled then ApplyHitbox(plr) end end) end) -- Cleanup ScreenGui.AncestryChanged:Connect(function() if not ScreenGui.Parent then for _, conn in ipairs(Connections) do conn:Disconnect() end for _, obj in pairs(ESPObjects) do pcall(function() obj.Box:Remove() end) pcall(function() obj.Name:Remove() end) end end end) print("Murder vs Sheriff Cheat Loaded - Persistent Version")