-- [[ 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 ]] --[[ RIVALS FPS SCRIPT v2.0 Features: Unlock All Skins, Unlock All Emotes, Mobile Aimbot Made for Delta Executor ]] -- Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local GuiService = game:GetService("GuiService") local TweenService = game:GetService("TweenService") local LocalPlayer = Players.LocalPlayer -- Wait for game load repeat wait() until game:IsLoaded() -- Check if it's Rivals if not game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name:find("Rivals") then warn("This script is for Rivals only!") return end -- Configuration local Config = { AimbotEnabled = false, AimbotSmoothness = 5, AimbotFOV = 90, AimbotHitPart = "Head", ShowFOV = true, UnlockSkins = true, UnlockEmotes = true, TeamCheck = true, VisibleCheck = true } -- Create UI Library (Mobile Optimized) local Library = {} do local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "RivalsUI" ScreenGui.ResetOnSpawn = false ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") -- Main Frame local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 350, 0, 450) MainFrame.Position = UDim2.new(0, 10, 0, 10) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) MainFrame.BackgroundTransparency = 0.1 MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 12) UICorner.Parent = MainFrame -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 40) Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30) Title.Text = "RIVALS HUB" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.Font = Enum.Font.GothamBold Title.TextSize = 18 Title.Parent = MainFrame -- Minimize Button local MinimizeBtn = Instance.new("TextButton") MinimizeBtn.Size = UDim2.new(0, 30, 0, 30) MinimizeBtn.Position = UDim2.new(1, -35, 0, 5) MinimizeBtn.Text = "−" MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MinimizeBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 50) MinimizeBtn.Font = Enum.Font.GothamBold MinimizeBtn.TextSize = 20 MinimizeBtn.Parent = MainFrame -- Content Frame local ContentFrame = Instance.new("ScrollingFrame") ContentFrame.Size = UDim2.new(1, -20, 1, -50) ContentFrame.Position = UDim2.new(0, 10, 0, 45) ContentFrame.BackgroundTransparency = 1 ContentFrame.ScrollBarThickness = 4 ContentFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y ContentFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ContentFrame.Parent = MainFrame local UIListLayout = Instance.new("UIListLayout") UIListLayout.Padding = UDim.new(0, 8) UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Parent = ContentFrame -- Toggle Button Creator function Library:Toggle(text, default, callback) local ToggleFrame = Instance.new("Frame") ToggleFrame.Size = UDim2.new(1, 0, 0, 35) ToggleFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) ToggleFrame.BorderSizePixel = 0 ToggleFrame.Parent = ContentFrame local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 8) ToggleCorner.Parent = ToggleFrame local Label = Instance.new("TextLabel") Label.Size = UDim2.new(0, 180, 1, 0) Label.Position = UDim2.new(0, 10, 0, 0) Label.BackgroundTransparency = 1 Label.Text = text Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.Font = Enum.Font.Gotham Label.TextSize = 14 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = ToggleFrame local ToggleBtn = Instance.new("TextButton") ToggleBtn.Size = UDim2.new(0, 50, 0, 25) ToggleBtn.Position = UDim2.new(1, -60, 0.5, -12.5) ToggleBtn.Text = default and "ON" or "OFF" ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleBtn.BackgroundColor3 = default and Color3.fromRGB(0, 170, 0) or Color3.fromRGB(170, 0, 0) ToggleBtn.Font = Enum.Font.GothamBold ToggleBtn.TextSize = 12 ToggleBtn.Parent = ToggleFrame local enabled = default ToggleBtn.MouseButton1Click:Connect(function() enabled = not enabled ToggleBtn.Text = enabled and "ON" or "OFF" ToggleBtn.BackgroundColor3 = enabled and Color3.fromRGB(0, 170, 0) or Color3.fromRGB(170, 0, 0) callback(enabled) end) return ToggleBtn end -- Slider Creator function Library:Slider(text, min, max, default, callback) local SliderFrame = Instance.new("Frame") SliderFrame.Size = UDim2.new(1, 0, 0, 45) SliderFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) SliderFrame.BorderSizePixel = 0 SliderFrame.Parent = ContentFrame local SliderCorner = Instance.new("UICorner") SliderCorner.CornerRadius = UDim.new(0, 8) SliderCorner.Parent = SliderFrame local Label = Instance.new("TextLabel") Label.Size = UDim2.new(1, -20, 0, 20) Label.Position = UDim2.new(0, 10, 0, 2) Label.BackgroundTransparency = 1 Label.Text = text .. ": " .. default Label.TextColor3 = Color3.fromRGB(255, 255, 255) Label.Font = Enum.Font.Gotham Label.TextSize = 13 Label.TextXAlignment = Enum.TextXAlignment.Left Label.Parent = SliderFrame local SliderBar = Instance.new("Frame") SliderBar.Size = UDim2.new(1, -40, 0, 4) SliderBar.Position = UDim2.new(0, 20, 0, 25) SliderBar.BackgroundColor3 = Color3.fromRGB(60, 60, 60) SliderBar.BorderSizePixel = 0 SliderBar.Parent = SliderFrame local SliderFill = Instance.new("Frame") SliderFill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) SliderFill.BackgroundColor3 = Color3.fromRGB(0, 170, 255) SliderFill.BorderSizePixel = 0 SliderFill.Parent = SliderBar local SliderBtn = Instance.new("TextButton") SliderBtn.Size = UDim2.new(0, 20, 0, 20) SliderBtn.Position = UDim2.new((default - min) / (max - min), -10, 0, -8) SliderBtn.Text = "" SliderBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 255) SliderBtn.BorderSizePixel = 0 SliderBtn.Parent = SliderBar local SliderCorner2 = Instance.new("UICorner") SliderCorner2.CornerRadius = UDim.new(1, 0) SliderCorner2.Parent = SliderBtn local dragging = false SliderBtn.MouseButton1Down:Connect(function() dragging = true end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging then local pos = UserInputService:GetMouseLocation() local relative = pos.X - SliderBar.AbsolutePosition.X local percent = math.clamp(relative / SliderBar.AbsoluteSize.X, 0, 1) local value = math.floor(min + (max - min) * percent) SliderFill.Size = UDim2.new(percent, 0, 1, 0) SliderBtn.Position = UDim2.new(percent, -10, 0, -8) Label.Text = text .. ": " .. value callback(value) end end) end -- Button Creator function Library:Button(text, callback) local Btn = Instance.new("TextButton") Btn.Size = UDim2.new(1, 0, 0, 35) Btn.BackgroundColor3 = Color3.fromRGB(0, 120, 255) Btn.BorderSizePixel = 0 Btn.Text = text Btn.TextColor3 = Color3.fromRGB(255, 255, 255) Btn.Font = Enum.Font.GothamBold Btn.TextSize = 14 Btn.Parent = ContentFrame local BtnCorner = Instance.new("UICorner") BtnCorner.CornerRadius = UDim.new(0, 8) BtnCorner.Parent = Btn Btn.MouseButton1Click:Connect(callback) return Btn end -- Minimize functionality local minimized = false MinimizeBtn.MouseButton1Click:Connect(function() minimized = not minimized ContentFrame.Visible = not minimized MainFrame.Size = minimized and UDim2.new(0, 350, 0, 40) or UDim2.new(0, 350, 0, 450) MinimizeBtn.Text = minimized and "+" or "−" end) end -- Unlock All Skins if Config.UnlockSkins then local function unlockSkins() local args = { [1] = "unlock_all_skins" } local success, err = pcall(function() game:GetService("ReplicatedStorage"):FindFirstChild("Remotes"):FindFirstChild("UnlockAll"):FireServer(unpack(args)) end) -- Alternative method if not success then pcall(function() for _, v in pairs(game:GetService("ReplicatedStorage"):GetChildren()) do if v.Name:find("Skin") or v.Name:find("Unlock") then v:FireServer("All") end end end) end end -- Try to unlock immediately unlockSkins() -- Also unlock when respawning LocalPlayer.CharacterAdded:Connect(function() task.wait(1) unlockSkins() end) end -- Unlock All Emotes if Config.UnlockEmotes then local function unlockEmotes() local success, err = pcall(function() game:GetService("ReplicatedStorage"):FindFirstChild("Remotes"):FindFirstChild("UnlockEmotes"):FireServer("All") end) if not success then pcall(function() for _, v in pairs(game:GetService("ReplicatedStorage"):GetChildren()) do if v.Name:find("Emote") or v.Name:find("Unlock") then v:FireServer("All") end end end) end end unlockEmotes() end -- Aimbot System local function getClosestPlayer() local closest = nil local shortestDistance = Config.AimbotFOV local camera = workspace.CurrentCamera local character = LocalPlayer.Character if not character then return nil end local playerPos = camera.CFrame.Position for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then local targetChar = player.Character if targetChar and targetChar:FindFirstChild("HumanoidRootPart") then local humanoid = targetChar:FindFirstChildOfClass("Humanoid") if humanoid and humanoid.Health > 0 then -- Team check if Config.TeamCheck then local playerTeam = LocalPlayer.Team local targetTeam = player.Team if playerTeam and targetTeam and playerTeam == targetTeam then continue end end -- Get screen position local screenPos, onScreen = camera:WorldToScreenPoint(targetChar.HumanoidRootPart.Position) if onScreen then local distance = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)).Magnitude if distance < shortestDistance then -- Visibility check if Config.VisibleCheck then local ray = Ray.new(camera.CFrame.Position, targetChar.HumanoidRootPart.Position - camera.CFrame.Position) local hit, _ = workspace:Raycast(camera.CFrame.Position, targetChar.HumanoidRootPart.Position - camera.CFrame.Position) if hit and hit.Parent:IsDescendantOf(targetChar) then shortestDistance = distance closest = player end else shortestDistance = distance closest = player end end end end end end end return closest end -- FOV Circle local FOVCircle = nil if Config.ShowFOV then local ScreenGui = LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("RivalsUI") if not ScreenGui then ScreenGui = Instance.new("ScreenGui") ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end FOVCircle = Instance.new("Frame") FOVCircle.Size = UDim2.new(0, Config.AimbotFOV * 2, 0, Config.AimbotFOV * 2) FOVCircle.Position = UDim2.new(0.5, -Config.AimbotFOV, 0.5, -Config.AimbotFOV) FOVCircle.BackgroundTransparency = 1 FOVCircle.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(1, 0) UICorner.Parent = FOVCircle local Stroke = Instance.new("UIStroke") Stroke.Thickness = 2 Stroke.Color = Color3.fromRGB(255, 0, 0) Stroke.Transparency = 0.5 Stroke.Parent = FOVCircle end -- Aimbot Connection RunService.RenderStepped:Connect(function() if Config.AimbotEnabled then local target = getClosestPlayer() if target then local targetChar = target.Character if targetChar then local camera = workspace.CurrentCamera local hitPart = targetChar:FindFirstChild(Config.AimbotHitPart) or targetChar:FindFirstChild("Head") if hitPart then local targetPos = hitPart.Position local cameraPos = camera.CFrame.Position -- Calculate direction local direction = (targetPos - cameraPos).Unit local newCFrame = CFrame.lookAt(cameraPos, targetPos) -- Smoothing local smoothness = Config.AimbotSmoothness / 10 local currentCFrame = camera.CFrame local lerpedCFrame = currentCFrame:Lerp(newCFrame, smoothness) -- Apply rotation only (for mobile compatibility) camera.CFrame = CFrame.new(cameraPos, cameraPos + (lerpedCFrame.LookVector * 10)) end end end end end) -- UI Elements Library:Toggle("Aimbot", false, function(value) Config.AimbotEnabled = value end) Library:Slider("Smoothness", 1, 10, Config.AimbotSmoothness, function(value) Config.AimbotSmoothness = value end) Library:Slider("FOV", 30, 180, Config.AimbotFOV, function(value) Config.AimbotFOV = value if FOVCircle then FOVCircle.Size = UDim2.new(0, value * 2, 0, value * 2) FOVCircle.Position = UDim2.new(0.5, -value, 0.5, -value) end end) Library:Toggle("Team Check", true, function(value) Config.TeamCheck = value end) Library:Toggle("Visible Check", true, function(value) Config.VisibleCheck = value end) Library:Toggle("Show FOV", true, function(value) Config.ShowFOV = value if FOVCircle then FOVCircle.Visible = value end end) Library:Button("Unlock All Skins", function() unlockSkins() end) Library:Button("Unlock All Emotes", function() unlockEmotes() end) Library:Button("Teleport to Random Player", function() local players = Players:GetPlayers() local randomPlayer = players[math.random(1, #players)] if randomPlayer and randomPlayer.Character and randomPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character:SetPrimaryPartCFrame(randomPlayer.Character.HumanoidRootPart.CFrame) end end) -- Notify game:GetService("StarterGui"):SetCore("SendNotification", { Title = "RIVALS HUB", Text = "Script loaded successfully!", Duration = 3 })