-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] -- Services local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Remove existing GUI if already open if playerGui:FindFirstChild("MissionAutoFarmGUI") then playerGui.MissionAutoFarmGUI:Destroy() end -- Create ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "MissionAutoFarmGUI" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Create Main Frame local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 220, 0, 160) mainFrame.Position = UDim2.new(0.5, -110, 0.4, -80) mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = mainFrame -- Title Bar / Drag Header local titleBar = Instance.new("TextLabel") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 35) titleBar.BackgroundColor3 = Color3.fromRGB(45, 45, 45) titleBar.Text = "Mission Auto-Farm" titleBar.TextColor3 = Color3.fromRGB(255, 255, 255) titleBar.TextSize = 14 titleBar.Font = Enum.Font.GothamBold titleBar.Active = true titleBar.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 8) titleCorner.Parent = titleBar local titleCover = Instance.new("Frame") titleCover.Size = UDim2.new(1, 0, 0, 5) titleCover.Position = UDim2.new(0, 0, 1, -5) titleCover.BackgroundColor3 = Color3.fromRGB(45, 45, 45) titleCover.BorderSizePixel = 0 titleCover.Parent = titleBar -- Close Button local closeButton = Instance.new("TextButton") closeButton.Name = "CloseButton" closeButton.Size = UDim2.new(0, 25, 0, 25) closeButton.Position = UDim2.new(1, -30, 0, 5) closeButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeButton.Text = "X" closeButton.TextColor3 = Color3.fromRGB(255, 255, 255) closeButton.TextSize = 12 closeButton.Font = Enum.Font.GothamBold closeButton.Parent = titleBar local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 6) closeCorner.Parent = closeButton -- Toggle Button local toggleButton = Instance.new("TextButton") toggleButton.Name = "ToggleButton" toggleButton.Size = UDim2.new(0.85, 0, 0, 45) toggleButton.Position = UDim2.new(0.075, 0, 0, 55) toggleButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) toggleButton.Text = "Status: OFF" toggleButton.TextColor3 = Color3.fromRGB(255, 100, 100) toggleButton.TextSize = 14 toggleButton.Font = Enum.Font.GothamBold toggleButton.Parent = mainFrame local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(0, 6) toggleCorner.Parent = toggleButton -- --- DRAGGABLE LOGIC --- local dragging = false local dragInput, dragStart, startPos titleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) titleBar.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging 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) -- --- MISSION LOGIC --- local isRunning = false local function getTargets() local targets = {} local success, missionFolder = pcall(function() return workspace.Map.Mission end) if success and missionFolder then local children = missionFolder:GetChildren() if children[10] then table.insert(targets, children[10]) end if children[11] then table.insert(targets, children[11]) end local clue = missionFolder:FindFirstChild("Clue") if clue then table.insert(targets, clue) end end return targets end -- Helper function to find a ProximityPrompt safely local function findPrompt(target) if not target or not target.Parent then return nil end return target:FindFirstChildWhichIsA("ProximityPrompt", true) end -- Auto-Replay using your exact RemoteEvent path local function triggerAutoReplay() local success, replayVoteGui = pcall(function() return player.PlayerGui.MissionHUD.ReplayVote end) -- If the ReplayVote GUI is visible, fire the server remote event directly! if success and replayVoteGui and replayVoteGui.Visible then pcall(function() local voteReplayEvent = ReplicatedStorage:FindFirstChild("Network") and ReplicatedStorage.Network:FindFirstChild("Missions") and ReplicatedStorage.Network.Missions:FindFirstChild("VoteReplay") if voteReplayEvent then voteReplayEvent:FireServer() end end) return true end return false end -- Main Loop Thread task.spawn(function() while true do if isRunning then -- Check if replay screen is active right away if triggerAutoReplay() then task.wait(4) -- Wait for transition continue end local targets = getTargets() -- Wait until mission items populate for the current round while isRunning and #targets == 0 do if triggerAutoReplay() then task.wait(4) end task.wait(0.5) targets = getTargets() end for _, target in ipairs(targets) do if not isRunning then break end if triggerAutoReplay() then task.wait(4) break end local prompt = findPrompt(target) while isRunning and (not target or not target.Parent or not prompt) do if triggerAutoReplay() then task.wait(4) break end task.wait(0.5) local freshTargets = getTargets() if #freshTargets == 0 then break end prompt = findPrompt(target) end if not isRunning then break end if not target or not target.Parent then break end local character = player.Character or player.CharacterAdded:Wait() local hrp = character:FindFirstChild("HumanoidRootPart") if hrp and target and prompt then local targetCFrame if target:IsA("Model") then targetCFrame = target:GetPivot() elseif target:IsA("BasePart") then targetCFrame = target.CFrame end if targetCFrame then hrp.CFrame = targetCFrame + Vector3.new(0, 3, 0) task.wait(0.3) local oldDuration = prompt.HoldDuration prompt.HoldDuration = 0 if fireproximityprompt then fireproximityprompt(prompt) else prompt:InputHoldBegin() task.wait(0.1) prompt:InputHoldEnd() end prompt.HoldDuration = oldDuration task.wait(0.5) end end end end task.wait(0.5) end end) -- --- BUTTON ACTIONS --- toggleButton.MouseButton1Click:Connect(function() isRunning = not isRunning if isRunning then toggleButton.Text = "Status: ON" toggleButton.TextColor3 = Color3.fromRGB(100, 255, 100) else toggleButton.Text = "Status: OFF" toggleButton.TextColor3 = Color3.fromRGB(255, 100, 100) end end) closeButton.MouseButton1Click:Connect(function() isRunning = false screenGui:Destroy() end)