Rivals Script
Key RequiredUniversal

Rivals Script

Universal ScriptfscripterrExploitsfscripterrExploits 91 views 586 executesUpdated Jul 29, 2026
Unrated
00
Lua Script•141 lines (5166 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")

local localPlayer = Players.LocalPlayer
local camera = Workspace.CurrentCamera

-- --- CONFIGURATION ---
local AIM_SETTINGS = {
    Enabled = true,
    FOV = 150,          -- Radius of the FOV circle (in pixels)
    Smoothness = 0.15,   -- Lower = smoother/slower, Higher = snappier (Value between 0 and 1)
}

local FOV_SETTINGS = {
    Visible = true,
    Color = Color3.fromRGB(0, 0, 0), -- Black Circle
    Thickness = 1.5,
    NumSides = 64,      -- Makes the circle look smooth
}

local ESP_SETTINGS = {
    BoxColor = Color3.fromRGB(0, 0, 0),        -- Black border outline
    HighlightColor = Color3.fromRGB(186, 85, 211) -- Purple fill/highlight
}

-- --- INITIALIZATION ---
-- Create the FOV Circle using the Drawing API
local fovCircle = Drawing.new("Circle")
fovCircle.Visible = FOV_SETTINGS.Visible
fovCircle.Color = FOV_SETTINGS.Color
fovCircle.Thickness = FOV_SETTINGS.Thickness
fovCircle.NumSides = FOV_SETTINGS.NumSides
fovCircle.Radius = AIM_SETTINGS.FOV
fovCircle.Filled = false

-- Table to keep track of Highlights for ESP
local playerHighlights = {}

-- --- FUNCTIONS ---

-- Function to check if a target is valid and alive
local function isValidTarget(player)
    return player ~= localPlayer 
        and player.Character 
        and player.Character:FindFirstChild("HumanoidRootPart") 
        and player.Character:FindFirstChild("Humanoid") 
        and player.Character.Humanoid.Health > 0
end

-- Function to find the closest player inside the FOV circle
local function getClosestPlayerToCursor()
    local closestPlayer = nil
    local shortestDistance = AIM_SETTINGS.FOV
    local mousePosition = UserInputService:GetMouseLocation()

    for _, player in ipairs(Players:GetPlayers()) do
        if isValidTarget(player) then
            local rootPart = player.Character.HumanoidRootPart
            -- Convert the 3D world position of the player to 2D screen space
            local screenPosition, onScreen = camera:WorldToViewportPoint(rootPart.Position)

            if onScreen then
                -- Calculate how far the target is from the center of the screen/mouse
                local distance = (Vector2.new(screenPosition.X, screenPosition.Y) - mousePosition).Magnitude
                if distance < shortestDistance then
                    shortestDistance = distance
                    closestPlayer = player
                end
            end
        end
    end
    return closestPlayer
end

-- Manage modern Highlights for the purple character glow
local function updateESP()
    for _, player in ipairs(Players:GetPlayers()) do
        if isValidTarget(player) then
            local character = player.Character
            local highlight = playerHighlights[player]

            if not highlight then
                -- Create a new Highlight object if it doesn't exist
                highlight = Instance.new("Highlight")
                highlight.Name = "ESPHighlight"
                highlight.FillColor = ESP_SETTINGS.HighlightColor
                highlight.FillTransparency = 0.5 -- Semi-transparent purple fill
                highlight.OutlineColor = ESP_SETTINGS.BoxColor
                highlight.OutlineTransparency = 0 -- Solid black outline
                highlight.Parent = character
                playerHighlights[player] = highlight
            else
                -- Ensure it stays parented correctly if the character updates
                if highlight.Parent ~= character then
                    highlight.Parent = character
                end
            end
        else
            -- Clean up if the player leaves or dies
            if playerHighlights[player] then
                playerHighlights[player]:Destroy()
                playerHighlights[player] = nil
            end
        end
    end
end

-- Clean up highlights when a player leaves the game
Players.PlayerRemoving:Connect(function(player)
    if playerHighlights[player] then
        playerHighlights[player]:Destroy()
        playerHighlights[player] = nil
    end
end)

-- --- MAIN LOOP ---
RunService.RenderStepped:Connect(function()
    local mousePosition = UserInputService:GetMouseLocation()
    
    -- Update the FOV Circle position to match the mouse cursor
    fovCircle.Position = mousePosition

    -- ESP Box/Highlight Update
    updateESP()

    -- Smooth Aim Logic
    if AIM_SETTINGS.Enabled then
        local target = getClosestPlayerToCursor()
        if target and target.Character and target.Character:FindFirstChild("HumanoidRootPart") then
            local targetPosition = target.Character.HumanoidRootPart.Position
            
            -- Generate a LookAt orientation facing the target
            local targetCFrame = CFrame.new(camera.CFrame.Position, targetPosition)
            
            -- Smoothly interpolate (Lerp) the camera's rotation toward the target
            camera.CFrame = camera.CFrame:Lerp(targetCFrame, AIM_SETTINGS.Smoothness)
        end
    end
end)

Features & Information

It gives you Aimbot I tested it and it literally Destroyed the guy

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts