M
Description
aimbot and aimlock anto cheat and good
GAMERIVALS [❄️FREEZE RAY❄️]
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. 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 BloxScripts Risk Notice ]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Lighting = game:GetService("Lighting")
local HttpService = game:GetService("HttpService")
local VirtualUser = game:GetService("VirtualUser")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local LP = Players.LocalPlayer
local Camera = Workspace.CurrentCamera
local RNG = Random.new()
local Config = {
Aimlock = false,
Aimbot = false,
Silent = false,
Wallbang = true,
FOV = 160,
Smooth = 0.4,
TeamCheck = true,
Target = "Head",
Trigger = false,
TrigFOV = 35,
TrigDelay = 0.07,
ESP = false,
Boxes = true,
Names = true,
Distance = true,
ESPTeam = true,
ESPColor = Color3.fromRGB(255, 40, 40),
Speed = false,
SpeedVal = 28,
Fly = false,
FlySpeed = 55,
InfJump = false,
Noclip = false,
NoRecoil = false,
NoSpread = false,
InfAmmo = false,
Hitbox = false,
HitSize = 5,
ThirdP = false,
Fullbright= false,
NoFog = false,
AntiAFK = true
}
local ESPFolder = Instance.new("Folder")
ESPFolder.Name = "R_ESP"
ESPFolder.Parent = CoreGui
local BV, BG
local lastTrig = 0
----------------------------------------------------------------
-- TARGET
----------------------------------------------------------------
local function GetTarget()
local best, part = Config.FOV, nil
local center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
for _, plr in ipairs(Players:GetPlayers()) do
if plr == LP then continue end
local char = plr.Character
if not char then continue end
local hum = char:FindFirstChildOfClass("Humanoid")
local hrp = char:FindFirstChild("HumanoidRootPart")
if not hum or not hrp or hum.Health <= 0 then continue end
if Config.TeamCheck and plr.Team and LP.Team and plr.Team == LP.Team then continue end
local p = char:FindFirstChild(Config.Target) or char:FindFirstChild("Head") or hrp
local sp, on = Camera:WorldToViewportPoint(p.Position)
if not on then continue end
local mag = (Vector2.new(sp.X, sp.Y) - center).Magnitude
if mag >= best then continue end
if not Config.Wallbang then
local rp = RaycastParams.new()
rp.FilterDescendantsInstances = {LP.Character}
rp.FilterType = Enum.RaycastFilterType.Exclude
local hit = Workspace:Raycast(Camera.CFrame.Position, p.Position - Camera.CFrame.Position, rp)
if hit and not hit.Instance:IsDescendantOf(char) then continue end
end
best = mag
part = p
end
return part
end
----------------------------------------------------------------
-- AIM (aimlock kept hard, aimbot + silent fixed)
----------------------------------------------------------------
local function DoAim()
if not (Config.Aimlock or Config.Aimbot or Config.Silent) then return end
local part = GetTarget()
if not part then return end
local goal = CFrame.new(Camera.CFrame.Position, part.Position)
if Config.Aimlock then
Camera.CFrame = goal -- hard lock (the one that worked)
elseif Config.Silent then
Camera.CFrame = Camera.CFrame:Lerp(goal, 0.7)
else
Camera.CFrame = Camera.CFrame:Lerp(goal, Config.Smooth)
end
end
----------------------------------------------------------------
-- TRIGGERBOT (actually fires)
----------------------------------------------------------------
local function DoTrigger()
if not Config.Trigger then return end
if tick() - lastTrig < Config.TrigDelay then return end
local part = GetTarget()
if not part then return end
local sp, on = Camera:WorldToViewportPoint(part.Position)
if not on then return end
local center = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
if (Vector2.new(sp.X, sp.Y) - center).Magnitude > Config.TrigFOV then return end
lastTrig = tick()
local char = LP.Character
if not char then return end
local tool = char:FindFirstChildOfClass("Tool")
if tool then
pcall(function() tool:Activate() end)
end
end
----------------------------------------------------------------
-- ESP (already worked — kept)
----------------------------------------------------------------
local function ClearESP()
ESPFolder:ClearAllChildren()
end
local function MakeESP(plr)
local char = plr.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
if not hrp or not hum then return end
if Config.Boxes then
local hl = Instance.new("Highlight")
hl.Adornee = char
hl.FillColor = Config.ESPColor
hl.OutlineColor = Color3.new(1,1,1)
hl.FillTransparency = 0.6
hl.OutlineTransparency = 0
hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
hl.Parent = ESPFolder
end
if Config.Names or Config.Distance then
local bb = Instance.new("BillboardGui")
bb.Adornee = hrp
bb.Size = UDim2.new(0, 140, 0, 40)
bb.StudsOffset = Vector3.new(0, 3.4, 0)
bb.AlwaysOnTop = true
bb.Parent = ESPFolder
local lab = Instance.new("TextLabel")
lab.Size = UDim2.new(1,0,1,0)
lab.BackgroundTransparency = 1
lab.TextColor3 = Color3.new(1,1,1)
lab.TextStrokeTransparency = 0.2
lab.Font = Enum.Font.GothamBold
lab.TextSize = 14
lab.Parent = bb
local c
c = RunService.RenderStepped:Connect(function()
if not char.Parent or not hrp.Parent or hum.Health <= 0 then
bb:Destroy()
if c then c:Disconnect() end
return
end
local t = ""
if Config.Names then t = plr.DisplayName or plr.Name end
if Config.Distance then
local d = math.floor((hrp.Position - Camera.CFrame.Position).Magnitude)
t = t .. (t ~= "" and "\n" or "") .. d .. "m"
end
lab.Text = t
end)
end
end
local function RefreshESP()
ClearESP()
if not Config.ESP then return end
for _, plr in ipairs(Players:GetPlayers()) do
if plr == LP then continue end
if Config.ESPTeam and plr.Team and LP.Team and plr.Team == LP.Team then continue end
if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
MakeESP(plr)
end
end
end
task.spawn(function()
while task.wait(1) do
if Config.ESP then RefreshESP() else ClearESP() end
end
end)
----------------------------------------------------------------
-- SPEED (forced every frame — fixed)
----------------------------------------------------------------
local function DoSpeed()
local char = LP.Character
if not char then return end
local hum = char:FindFirstChildOfClass("Humanoid")
if not hum then return end
if Config.Speed then
hum.WalkSpeed = Config.SpeedVal
end
end
----------------------------------------------------------------
-- FLY (fixed)
----------------------------------------------------------------
local function DoFly()
local char = LP.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if not hrp then return end
if not Config.Fly then
if BV then BV:Destroy() BV = nil end
if BG then BG:Destroy() BG = nil end
return
end
if not BV then
BV = Instance.new("BodyVelocity")
BV.MaxForce = Vector3.new(9e9, 9e9, 9e9)
BV.Velocity = Vector3.zero
BV.Parent = hrp
BG = Instance.new("BodyGyro")
BG.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
BG.P = 9e4
BG.Parent = hrp
end
local hum = char:FindFirstChildOfClass("Humanoid")
local move = hum and hum.MoveDirection or Vector3.zero
local vel = Vector3.zero
if move.Magnitude > 0.05 then
local dir = (Camera.CFrame.RightVector * move.X + Camera.CFrame.LookVector * move.Z)
if dir.Magnitude > 0 then
vel = dir.Unit * Config.FlySpeed
end
end
BV.Velocity = vel
BG.CFrame = Camera.CFrame
end
----------------------------------------------------------------
-- NOCLIP (fixed)
----------------------------------------------------------------
local function DoNoclip()
if not Config.Noclip then return end
local char = LP.Character
if not char then return end
for _, p in ipairs(char:GetDescendants()) do
if p:IsA("BasePart") then
p.CanCollide = false
end
end
end
----------------------------------------------------------------
-- INF JUMP
----------------------------------------------------------------
UserInputService.JumpRequest:Connect(function()
if Config.InfJump then
local char = LP.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then
hum:ChangeState(Enum.HumanoidStateType.Jumping)
end
end
end)
----------------------------------------------------------------
-- COMBAT HOOKS
----------------------------------------------------------------
local function DoCombat()
local char = LP.Character
if not char then return end
local tool = char:FindFirstChildOfClass("Tool")
if not tool then return end
for _, v in ipairs(tool:GetDescendants()) do
if v:IsA("NumberValue") or v:IsA("IntValue") then
local n = v.Name:lower()
if Config.NoRecoil and (n:find("recoil") or n:find("kick")) then
pcall(function() v.Value = 0 end)
end
if Config.NoSpread and n:find("spread") then
pcall(function() v.Value = 0 end)
end
if Config.InfAmmo and (n:find("ammo") or n:find("clip") or n:find("mag")) then
pcall(function() v.Value = 999 end)
end
end
end
end
local function DoHitbox()
if not Config.Hitbox then return end
for _, plr in ipairs(Players:GetPlayers()) do
if plr ~= LP and plr.Character then
local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.Size = Vector3.new(Config.HitSize, Config.HitSize, Config.HitSize)
hrp.Transparency = 0.75
hrp.CanCollide = false
end
end
end
end
----------------------------------------------------------------
-- VISUALS
----------------------------------------------------------------
local function DoFullbright()
if Config.Fullbright then
Lighting.Brightness = 2
Lighting.ClockTime = 14
Lighting.FogEnd = 1e6
Lighting.GlobalShadows = false
end
end
local function DoNoFog()
if Config.NoFog then Lighting.FogEnd = 1e6 end
end
local function DoThird()
pcall(function()
LP.CameraMode = Config.ThirdP and Enum.CameraMode.Classic or Enum.CameraMode.LockFirstPerson
end)
end
LP.Idled:Connect(function()
if Config.AntiAFK then
pcall(function()
VirtualUser:CaptureController()
VirtualUser:ClickButton2(Vector2.new())
end)
end
end)
----------------------------------------------------------------
-- GUI
----------------------------------------------------------------
local SG = Instance.new("ScreenGui")
SG.Name = "RMob24"
SG.ResetOnSpawn = false
SG.DisplayOrder = 999
SG.IgnoreGuiInset = true
pcall(function() SG.Parent = CoreGui end)
if not SG.Parent then SG.Parent = LP:WaitForChild("PlayerGui") end
local OpenBtn = Instance.new("TextButton")
OpenBtn.Size = UDim2.new(0, 58, 0, 58)
OpenBtn.Position = UDim2.new(1, -72, 0.42, 0)
OpenBtn.BackgroundColor3 = Color3.fromRGB(255, 45, 45)
OpenBtn.Text = "R"
OpenBtn.TextColor3 = Color3.new(1,1,1)
OpenBtn.Font = Enum.Font.GothamBold
OpenBtn.TextSize = 22
OpenBtn.Parent = SG
Instance.new("UICorner", OpenBtn).CornerRadius = UDim.new(1, 0)
local Main = Instance.new("Frame")
Main.Size = UDim2.new(0, 310, 0, 460)
Main.Position = UDim2.new(0.5, -155, 0.5, -230)
Main.BackgroundColor3 = Color3.fromRGB(16, 16, 20)
Main.Visible = false
Main.Parent = SG
Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 12)
local Top = Instance.new("Frame")
Top.Size = UDim2.new(1, 0, 0, 40)
Top.BackgroundColor3 = Color3.fromRGB(26, 26, 32)
Top.Parent = Main
Instance.new("UICorner", Top).CornerRadius = UDim.new(0, 12)
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -50, 1, 0)
Title.Position = UDim2.new(0, 12, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "RIVAL v2.4"
Title.TextColor3 = Color3.fromRGB(255, 60, 60)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 16
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Top
local Close = Instance.new("TextButton")
Close.Size = UDim2.new(0, 34, 0, 34)
Close.Position = UDim2.new(1, -38, 0, 3)
Close.BackgroundColor3 = Color3.fromRGB(40, 40, 48)
Close.Text = "X"
Close.TextColor3 = Color3.fromRGB(255, 80, 80)
Close.Font = Enum.Font.GothamBold
Close.TextSize = 15
Close.Parent = Top
Instance.new("UICorner", Close).CornerRadius = UDim.new(0, 8)
local TabBar = Instance.new("ScrollingFrame")
TabBar.Size = UDim2.new(1, -8, 0, 36)
TabBar.Position = UDim2.new(0, 4, 0, 44)
TabBar.BackgroundTransparency = 1
TabBar.ScrollBarThickness = 0
TabBar.CanvasSize = UDim2.new(0, 420, 0, 0)
TabBar.Parent = Main
local TabLay = Instance.new("UIListLayout", TabBar)
TabLay.FillDirection = Enum.FillDirection.Horizontal
TabLay.Padding = UDim.new(0, 5)
local Content = Instance.new("ScrollingFrame")
Content.Size = UDim2.new(1, -12, 1, -90)
Content.Position = UDim2.new(0, 6, 0, 84)
Content.BackgroundTransparency = 1
Content.ScrollBarThickness = 3
Content.CanvasSize = UDim2.new(0, 0, 0, 800)
Content.Parent = Main
local ContLay = Instance.new("UIListLayout", Content)
ContLay.Padding = UDim.new(0, 6)
local Tabs = {"Combat", "ESP", "Move", "Visual"}
local TabBtns = {}
local Cur = "Combat"
local function Clear()
for _, c in ipairs(Content:GetChildren()) do
if not c:IsA("UIListLayout") then c:Destroy() end
end
end
local function Toggle(txt, val, cb)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, 0, 0, 44)
f.BackgroundColor3 = Color3.fromRGB(28, 28, 34)
f.Parent = Content
Instance.new("UICorner", f).CornerRadius = UDim.new(0, 8)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -70, 1, 0)
l.Position = UDim2.new(0, 10, 0, 0)
l.BackgroundTransparency = 1
l.Text = txt
l.TextColor3 = Color3.fromRGB(230, 230, 230)
l.Font = Enum.Font.Gotham
l.TextSize = 14
l.TextXAlignment = Enum.TextXAlignment.Left
l.Parent = f
local b = Instance.new("TextButton")
b.Size = UDim2.new(0, 54, 0, 28)
b.Position = UDim2.new(1, -62, 0.5, -14)
b.BackgroundColor3 = val and Color3.fromRGB(255, 50, 50) or Color3.fromRGB(55, 55, 65)
b.Text = val and "ON" or "OFF"
b.TextColor3 = Color3.new(1,1,1)
b.Font = Enum.Font.GothamBold
b.TextSize = 12
b.Parent = f
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8)
local on = val
b.MouseButton1Click:Connect(function()
on = not on
b.BackgroundColor3 = on and Color3.fromRGB(255, 50, 50) or Color3.fromRGB(55, 55, 65)
b.Text = on and "ON" or "OFF"
cb(on)
end)
end
local function Slider(txt, min, max, val, cb)
local f = Instance.new("Frame")
f.Size = UDim2.new(1, 0, 0, 58)
f.BackgroundColor3 = Color3.fromRGB(28, 28, 34)
f.Parent = Content
Instance.new("UICorner", f).CornerRadius = UDim.new(0, 8)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -16, 0, 20)
l.Position = UDim2.new(0, 10, 0, 4)
l.BackgroundTransparency = 1
l.Text = txt .. ": " .. val
l.TextColor3 = Color3.fromRGB(230, 230, 230)
l.Font = Enum.Font.Gotham
l.TextSize = 13
l.TextXAlignment = Enum.TextXAlignment.Left
l.Parent = f
local bar = Instance.new("Frame")
bar.Size = UDim2.new(1, -20, 0, 12)
bar.Position = UDim2.new(0, 10, 0, 32)
bar.BackgroundColor3 = Color3.fromRGB(48, 48, 58)
bar.Parent = f
Instance.new("UICorner", bar).CornerRadius = UDim.new(0, 6)
local fill = Instance.new("Frame")
fill.Size = UDim2.new((val-min)/(max-min), 0, 1, 0)
fill.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
fill.Parent = bar
Instance.new("UICorner", fill).CornerRadius = UDim.new(0, 6)
local hold = false
bar.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then hold = true end
end)
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then hold = false end
end)
UserInputService.InputChanged:Connect(function(i)
if hold and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local r = math.clamp((i.Position.X - bar.AbsolutePosition.X) / bar.AbsoluteSize.X, 0, 1)
local v = math.floor(min + (max-min)*r)
fill.Size = UDim2.new(r, 0, 1, 0)
l.Text = txt .. ": " .. v
cb(v)
end
end)
end
local function Build(name)
Clear()
if name == "Combat" then
Toggle("Aimlock (Hard)", Config.Aimlock, function(v) Config.Aimlock = v end)
Toggle("Aimbot (Smooth)", Config.Aimbot, function(v) Config.Aimbot = v end)
Toggle("Silent Aim", Config.Silent, function(v) Config.Silent = v end)
Toggle("Wallbang", Config.Wallbang, function(v) Config.Wallbang = v end)
Toggle("Triggerbot", Config.Trigger, function(v) Config.Trigger = v end)
Slider("Aim FOV", 40, 300, Config.FOV, function(v) Config.FOV = v end)
Slider("Smooth", 10, 70, math.floor(Config.Smooth*100), function(v) Config.Smooth = v/100 end)
Slider("Trigger FOV", 10, 70, Config.TrigFOV, function(v) Config.TrigFOV = v end)
Toggle("Team Check", Config.TeamCheck, function(v) Config.TeamCheck = v end)
Toggle("No Recoil", Config.NoRecoil, function(v) Config.NoRecoil = v end)
Toggle("No Spread", Config.NoSpread, function(v) Config.NoSpread = v end)
Toggle("Infinite Ammo", Config.InfAmmo, function(v) Config.InfAmmo = v end)
Toggle("Hitbox Expand", Config.Hitbox, function(v) Config.Hitbox = v end)
Slider("Hitbox Size", 2, 15, Config.HitSize, function(v) Config.HitSize = v end)
elseif name == "ESP" then
Toggle("ESP", Config.ESP, function(v) Config.ESP = v if v then RefreshESP() else ClearESP() end end)
Toggle("Boxes", Config.Boxes, function(v) Config.Boxes = v if Config.ESP then RefreshESP() end end)
Toggle("Names", Config.Names, function(v) Config.Names = v if Config.ESP then RefreshESP() end end)
Toggle("Distance", Config.Distance, function(v) Config.Distance = v if Config.ESP then RefreshESP() end end)
Toggle("Team Check", Config.ESPTeam, function(v) Config.ESPTeam = v if Config.ESP then RefreshESP() end end)
elseif name == "Move" then
Toggle("Speed", Config.Speed, function(v) Config.Speed = v end)
Slider("Speed Value", 16, 50, Config.SpeedVal, function(v) Config.SpeedVal = v end)
Toggle("Fly", Config.Fly, function(v) Config.Fly = v end)
Slider("Fly Speed", 20, 120, Config.FlySpeed, function(v) Config.FlySpeed = v end)
Toggle("Infinite Jump", Config.InfJump, function(v) Config.InfJump = v end)
Toggle("Noclip", Config.Noclip, function(v) Config.Noclip = v end)
elseif name == "Visual" then
Toggle("Third Person", Config.ThirdP, function(v) Config.ThirdP = v DoThird() end)
Toggle("Fullbright", Config.Fullbright, function(v) Config.Fullbright = v DoFullbright() end)
Toggle("No Fog", Config.NoFog, function(v) Config.NoFog = v DoNoFog() end)
Toggle("Anti-AFK", Config.AntiAFK, function(v) Config.AntiAFK = v end)
end
Content.CanvasSize = UDim2.new(0, 0, 0, ContLay.AbsoluteContentSize.Y + 20)
end
for _, n in ipairs(Tabs) do
local b = Instance.new("TextButton")
b.Size = UDim2.new(0, 78, 0, 30)
b.BackgroundColor3 = n == Cur and Color3.fromRGB(255, 50, 50) or Color3.fromRGB(38, 38, 46)
b.Text = n
b.TextColor3 = Color3.new(1,1,1)
b.Font = Enum.Font.GothamBold
b.TextSize = 12
b.Parent = TabBar
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
TabBtns[n] = b
b.MouseButton1Click:Connect(function()
Cur = n
for k, btn in pairs(TabBtns) do
btn.BackgroundColor3 = k == n and Color3.fromRGB(255, 50, 50) or Color3.fromRGB(38, 38, 46)
end
Build(n)
end)
end
OpenBtn.MouseButton1Click:Connect(function()
Main.Visible = not Main.Visible
if Main.Visible then Build(Cur) end
end)
Close.MouseButton1Click:Connect(function() Main.Visible = false end)
local dragging, d0, p0
Top.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging = true
d0 = i.Position
p0 = Main.Position
end
end)
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
UserInputService.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local d = i.Position - d0
Main.Position = UDim2.new(p0.X.Scale, p0.X.Offset + d.X, p0.Y.Scale, p0.Y.Offset + d.Y)
end
end)
----------------------------------------------------------------
-- MAIN LOOP (speed forced every frame)
----------------------------------------------------------------
RunService.RenderStepped:Connect(function()
DoAim()
DoTrigger()
DoSpeed() -- forced every frame
DoFly()
DoNoclip()
DoCombat()
if Config.Hitbox then DoHitbox() end
end)
-- also force speed on character respawn
LP.CharacterAdded:Connect(function(char)
task.wait(0.3)
local hum = char:WaitForChild("Humanoid", 5)
if hum and Config.Speed then
hum.WalkSpeed = Config.SpeedVal
end
end)
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place