
Credits: Rylvns
TESTED ON XENO.No gui, no key system, just run the script and hold aim to lock onto a target.
--rivals aimbot
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local lp = Players.LocalPlayer
local camera = workspace.CurrentCamera
-- STATE
_G.Aimbot = true
_G.TeamCheck = false
_G.SkelESP = true
_G.FOV = 400
_G.Smoothness = 1.0
_G.AimAssistStrength = 0.5
_G.MainColor = Color3.fromRGB(255, 0, 0)
-- HELPERS
local function isAlive(p)
return p.Character
and p.Character:FindFirstChild("Humanoid")
and p.Character.Humanoid.Health > 0
end
local function isEnemy(p)
if not _G.TeamCheck then return true end
if lp.Team and p.Team then
return lp.Team ~= p.Team
end
return true
end
local function getClosestInFOV()
local target, dist = nil, _G.FOV
local center = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
for _, p in ipairs(Players:GetPlayers()) do
if p ~= lp and isAlive(p) and isEnemy(p) then
local head = p.Character:FindFirstChild("Head") or p.Character:FindFirstChild("HumanoidRootPart")
if head then
local pos, vis = camera:WorldToViewportPoint(head.Position)
if vis then
local d = (center - Vector2.new(pos.X, pos.Y)).Magnitude
if d < dist then dist = d; target = p end
end
end
end
end
return target
end
-- AIMBOT
RunService.RenderStepped:Connect(function()
if _G.Aimbot and UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
local target = getClosestInFOV()
if target and isAlive(target) then
local head = target.Character:FindFirstChild("Head") or target.Character:FindFirstChild("HumanoidRootPart")
if head then
local pos, vis = camera:WorldToViewportPoint(head.Position)
if vis then
local center = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
local dx = pos.X - center.X
local dy = pos.Y - center.Y
local power = (_G.Smoothness ^ 1.5) * _G.AimAssistStrength * 0.4
if mousemoverel then
mousemoverel(dx * power, dy * power)
end
end
end
end
end
end)
-- SKELETON ESP
local function createBone(name, parent)
local b = Instance.new("CylinderHandleAdornment")
b.Name = name; b.Radius = 0.15; b.AlwaysOnTop = true
b.ZIndex = 10; b.Color3 = _G.MainColor
b.Adornee = workspace.Terrain; b.Parent = parent
return b
end
local BONE_PAIRS = {
{"Head","UpperTorso"},{"UpperTorso","LowerTorso"},
{"UpperTorso","LeftUpperArm"},{"UpperTorso","RightUpperArm"},
{"LowerTorso","LeftUpperLeg"},{"LowerTorso","RightUpperLeg"},
-- R6 fallbacks
{"Head","Torso"},{"Torso","Left Arm"},{"Torso","Right Arm"},
{"Torso","Left Leg"},{"Torso","Right Leg"}
}
RunService.Heartbeat:Connect(function()
for _, p in ipairs(Players:GetPlayers()) do
if p ~= lp and p.Character then
local char = p.Character
if _G.SkelESP and isAlive(p) and isEnemy(p) then
local f = char:FindFirstChild("VSkel") or Instance.new("Folder", char)
f.Name = "VSkel"
for _, pair in ipairs(BONE_PAIRS) do
local p1, p2 = char:FindFirstChild(pair[1]), char:FindFirstChild(pair[2])
if p1 and p2 then
local bone = f:FindFirstChild(pair[1]..pair[2]) or createBone(pair[1]..pair[2], f)
bone.Color3 = _G.MainColor
bone.Height = (p1.Position - p2.Position).Magnitude
bone.CFrame = CFrame.lookAt(p1.Position, p2.Position) * CFrame.new(0, 0, -bone.Height / 2)
end
end
else
if char:FindFirstChild("VSkel") then char.VSkel:Destroy() end
end
end
end
end)Comments section coming soon...
To use this script, you need a Roblox Executor. Simply copy the script from this page, paste it into your executor, and run it while you are in the RIVALS game.
This script may require a payment or subscription. Please check the script's description for more details.
Yes, this script has a key system. You may need to complete a task or join a Discord server to get a key.
Yes, this script is designed to be compatible with mobile executors.