-- [[ 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 (Roblox) - Silent Aim + ESP Custom GUI for Delta Executor -- Fully optimized for mobile Delta. No external dependencies. local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer -- ===== SETTINGS ===== local Settings = { SilentAim = true, AimFOV = 120, -- FOV in degrees AimPart = "Head", -- "Head", "HumanoidRootPart", "Torso" ShowFOVCircle = true, ESP = true, ESPBox = true, ESPName = true, ESPDistance = true, TeamCheck = false, VisibleCheck = true, -- Only aim at visible players Smoothness = 0.5, -- 0-1 (lower = snappier) } -- ===== CUSTOM GUI ===== local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "RivalsGUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") -- Main Frame local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 250, 0, 350) MainFrame.Position = UDim2.new(0, 10, 0, 100) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) MainFrame.BackgroundTransparency = 0.2 MainFrame.BorderSizePixel = 2 MainFrame.BorderColor3 = Color3.fromRGB(255, 0, 0) MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = ScreenGui -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Title.Text = "RIVALS | DELTA" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.Font = Enum.Font.GothamBold Title.Parent = MainFrame -- Toggle buttons local function CreateToggle(parent, name, setting, yPos) local Toggle = Instance.new("TextButton") Toggle.Size = UDim2.new(1, -20, 0, 30) Toggle.Position = UDim2.new(0, 10, 0, yPos) Toggle.BackgroundColor3 = Color3.fromRGB(50, 50, 50) Toggle.TextColor3 = Color3.fromRGB(0, 255, 0) Toggle.Text = name .. ": ON" Toggle.TextSize = 14 Toggle.Font = Enum.Font.Gotham Toggle.Parent = parent Toggle.MouseButton1Click:Connect(function() Settings[setting] = not Settings[setting] Toggle.Text = name .. ": " .. (Settings[setting] and "ON" or "OFF") Toggle.TextColor3 = Settings[setting] and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(255, 0, 0) end) end CreateToggle(MainFrame, "Silent Aim", "SilentAim", 40) CreateToggle(MainFrame, "ESP", "ESP", 80) CreateToggle(MainFrame, "ESP Box", "ESPBox", 120) CreateToggle(MainFrame, "ESP Name", "ESPName", 160) CreateToggle(MainFrame, "ESP Distance", "ESPDistance", 200) CreateToggle(MainFrame, "Team Check", "TeamCheck", 240) CreateToggle(MainFrame, "Visible Check", "VisibleCheck", 280) -- FOV Slider label local FOVLabel = Instance.new("TextLabel") FOVLabel.Size = UDim2.new(1, -20, 0, 20) FOVLabel.Position = UDim2.new(0, 10, 0, 320) FOVLabel.BackgroundTransparency = 1 FOVLabel.Text = "FOV: " .. Settings.AimFOV FOVLabel.TextColor3 = Color3.fromRGB(255, 255, 255) FOVLabel.TextSize = 14 FOVLabel.Parent = MainFrame -- ===== FOV CIRCLE ===== local FOVCircle = Drawing.new("Circle") FOVCircle.Thickness = 2 FOVCircle.Radius = Settings.AimFOV FOVCircle.Color = Color3.fromRGB(255, 0, 0) FOVCircle.Transparency = 0.5 FOVCircle.Visible = Settings.ShowFOVCircle -- ===== ESP DRAWINGS ===== local ESPObjects = {} local function CreateESP(player) if player == LocalPlayer then return end local esp = { Box = Drawing.new("Square"), Name = Drawing.new("Text"), Distance = Drawing.new("Text") } esp.Box.Visible = false esp.Box.Color = Color3.fromRGB(255, 0, 0) esp.Box.Thickness = 2 esp.Box.Filled = false esp.Name.Visible = false esp.Name.Color = Color3.fromRGB(255, 255, 255) esp.Name.Size = 14 esp.Name.Center = true esp.Name.Outline = true esp.Distance.Visible = false esp.Distance.Color = Color3.fromRGB(0, 255, 0) esp.Distance.Size = 12 esp.Distance.Center = true esp.Distance.Outline = true ESPObjects[player] = esp end local function RemoveESP(player) local esp = ESPObjects[player] if esp then esp.Box:Remove() esp.Name:Remove() esp.Distance:Remove() ESPObjects[player] = nil end end Players.PlayerAdded:Connect(CreateESP) Players.PlayerRemoving:Connect(RemoveESP) for _, player in ipairs(Players:GetPlayers()) do CreateESP(player) end -- ===== SILENT AIM LOGIC ===== local function IsVisible(character) if not Settings.VisibleCheck then return true end local origin = Camera.CFrame.Position local target = character.HumanoidRootPart.Position local ray = Ray.new(origin, (target - origin).Unit * (target - origin).Magnitude) local hit, _ = workspace:FindPartOnRayWithIgnoreList(ray, {LocalPlayer.Character, character}) return hit == nil or hit:IsDescendantOf(character) end local function GetClosestTarget() local closest = nil local closestAngle = Settings.AimFOV for _, player in pairs(Players:GetPlayers()) do if player == LocalPlayer then continue end if Settings.TeamCheck and player.Team == LocalPlayer.Team then continue end local character = player.Character if not character or not character:FindFirstChild("HumanoidRootPart") then continue end if not character:FindFirstChild("Humanoid") or character.Humanoid.Health <= 0 then continue end if not IsVisible(character) then continue end local aimPart = character:FindFirstChild(Settings.AimPart) or character.HumanoidRootPart local screenPos, onScreen = Camera:WorldToScreenPoint(aimPart.Position) if not onScreen then continue end local mousePos = UserInputService:GetMouseLocation() local angle = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude if angle < closestAngle then closestAngle = angle closest = aimPart end end return closest end -- Hook mouse movement local oldMousePos = Vector2.new(0, 0) RunService.RenderStepped:Connect(function() -- FOV circle update FOVCircle.Radius = Settings.AimFOV FOVCircle.Visible = Settings.ShowFOVCircle FOVCircle.Position = UserInputService:GetMouseLocation() -- Silent aim if Settings.SilentAim then local target = GetClosestTarget() if target then local screenPos = Camera:WorldToScreenPoint(target.Position) local mousePos = UserInputService:GetMouseLocation() -- Smooth movement local newPos = mousePos:Lerp(Vector2.new(screenPos.X, screenPos.Y), Settings.Smoothness) UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter -- This is the silent aim part - we move the mouse invisibly -- For Delta, we use mousemoverel or direct position set local delta = newPos - mousePos if delta.Magnitude > 0.5 then mousemoverel(delta.X, delta.Y) end end end -- ESP rendering if Settings.ESP then for player, esp in pairs(ESPObjects) do local character = player.Character if character and character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 then if Settings.TeamCheck and player.Team == LocalPlayer.Team then esp.Box.Visible = false esp.Name.Visible = false esp.Distance.Visible = false continue end local rootPart = character.HumanoidRootPart local screenPos, onScreen = Camera:WorldToScreenPoint(rootPart.Position) if onScreen then -- Box if Settings.ESPBox then local size = Vector2.new(4, 6) * (1000 / (screenPos.Z or 1)) esp.Box.Size = size esp.Box.Position = Vector2.new(screenPos.X - size.X/2, screenPos.Y - size.Y/2) esp.Box.Visible = true else esp.Box.Visible = false end -- Name if Settings.ESPName then esp.Name.Position = Vector2.new(screenPos.X, screenPos.Y - 30) esp.Name.Text = player.Name esp.Name.Visible = true else esp.Name.Visible = false end -- Distance if Settings.ESPDistance then local dist = math.floor((LocalPlayer.Character.HumanoidRootPart.Position - rootPart.Position).Magnitude) esp.Distance.Position = Vector2.new(screenPos.X, screenPos.Y + 20) esp.Distance.Text = tostring(dist) .. "m" esp.Distance.Visible = true else esp.Distance.Visible = false end else esp.Box.Visible = false esp.Name.Visible = false esp.Distance.Visible = false end else esp.Box.Visible = false esp.Name.Visible = false esp.Distance.Visible = false end end else for _, esp in pairs(ESPObjects) do esp.Box.Visible = false esp.Name.Visible = false esp.Distance.Visible = false end end end) -- Cleanup on leave LocalPlayer.OnTeleport:Connect(function() FOVCircle:Remove() for _, esp in pairs(ESPObjects) do esp.Box:Remove() esp.Name:Remove() esp.Distance:Remove() end end) print("RIVALS Delta Script loaded - Silent Aim + ESP ready!")