LOADING...

Rivals Sem Key e OP Silent aim, rage bot, fly, ESP, e etc...

1008 VISUALIZAÇÕES
26/10/2025
[🎃] RIVALS
Rivals  Sem Key e OP Silent aim, rage bot, fly, ESP, e etc...
AUTOR
avatarThemiga
AVALIAÇÃO DOS USUÁRIOS
100%APROVAÇÃO

Descrição

Esse script acabou de passar por um dos maiores reworks eu mesmo criei ele,

ENTRA NO DISCORD PLS: https://discord.gg/eand3NY9sq

NÃO TEM KEY >:))))))

Código do Script
1--[[
2	Rivals Cheat v2.2 - Rayfield UI
3	Optional Mobile Buttons + Fixed Config System + Fixed Aimbot Checks
4]]
5
6local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
7
8local RunService = game:GetService("RunService")
9local Players = game:GetService("Players")
10local LocalPlayer = Players.LocalPlayer
11local Workspace = game:GetService("Workspace")
12local ReplicatedStorage = game:GetService("ReplicatedStorage")
13local UserInputService = game:GetService("UserInputService")
14local Camera = Workspace.CurrentCamera
15
16-- Connection storage for proper cleanup
17local connections = {}
18local mobileButtons = {}
19local mobileButtonsEnabled = {
20	Aimbot = false,
21	Fly = false,
22	NoClip = false
23}
24
25local Window = Rayfield:CreateWindow({
26	Name = "Rivals - thegxx v2.2",
27	LoadingTitle = "Rivals Cheat",
28	LoadingSubtitle = "by thegxx",
29	ConfigurationSaving = {
30		Enabled = true,
31		FolderName = "RivalsCheat",
32		FileName = "RivalsConfig"
33	},
34	Discord = {
35		Enabled = false,
36		Invite = "noinvite",
37		RememberJoins = true
38	},
39	KeySystem = false,
40})
41
42local Tabs = {
43	Aimbot = Window:CreateTab("🎯 Aimbot & Precision", 4483362458),
44	Visuals = Window:CreateTab("👁️ Visuals & ESP", 4483362458),
45	Movement = Window:CreateTab("🏃 Movement & Mobility", 4483362458),
46	Protection = Window:CreateTab("🛡️ Protection & Survival", 4483362458),
47	Extras = Window:CreateTab("⚙️ UI & Extras", 4483362458),
48	Settings = Window:CreateTab("⚙️ Settings", 4483362458),
49}
50
51-- Utility functions
52local function getCharacter()
53	return LocalPlayer.Character
54end
55
56local function getHumanoid()
57	local character = getCharacter()
58	return character and character:FindFirstChild("Humanoid")
59end
60
61local function getRoot()
62	local character = getCharacter()
63	return character and character:FindFirstChild("HumanoidRootPart")
64end
65
66-- Mobile Button Creator
67local function createMobileButton(name, position, callback)
68	local ScreenGui = LocalPlayer.PlayerGui:FindFirstChild("MobileButtons") or Instance.new("ScreenGui")
69	ScreenGui.Name = "MobileButtons"
70	ScreenGui.ResetOnSpawn = false
71	ScreenGui.Parent = LocalPlayer.PlayerGui
72	
73	local button = Instance.new("TextButton")
74	button.Name = name
75	button.Size = UDim2.new(0, 80, 0, 80)
76	button.Position = position
77	button.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
78	button.BorderSizePixel = 2
79	button.BorderColor3 = Color3.fromRGB(255, 255, 255)
80	button.Text = name
81	button.TextColor3 = Color3.fromRGB(255, 255, 255)
82	button.TextSize = 14
83	button.Font = Enum.Font.GothamBold
84	button.Visible = false
85	button.Parent = ScreenGui
86	
87	local corner = Instance.new("UICorner")
88	corner.CornerRadius = UDim.new(0, 10)
89	corner.Parent = button
90	
91	local toggled = false
92	button.MouseButton1Click:Connect(function()
93		if not mobileButtonsEnabled[name] then return end
94		toggled = not toggled
95		button.BackgroundColor3 = toggled and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(40, 40, 40)
96		callback(toggled)
97	end)
98	
99	mobileButtons[name] = button
100	return button
101end
102
103local function updateMobileButtonVisibility(buttonName, shouldShow)
104	if mobileButtons[buttonName] then
105		mobileButtons[buttonName].Visible = shouldShow and mobileButtonsEnabled[buttonName]
106	end
107end
108
109-- ========== Aimbot / Silent Aim / Trigger / Settings ==========
110
111-- Aimbot Variables
112local aimbotEnabled = false
113local aimbotLock = "Head"
114local aimbotPrediction = false
115local aimbotAutoLock = false
116local aimbotShowFOV = false
117local aimbotFOVColor = Color3.fromRGB(255, 255, 255)
118local fovCircle = nil
119
120-- Keybinds (fixed handling)
121local aimbotKeyEnum = Enum.KeyCode.Q
122local flyKeyEnum = Enum.KeyCode.F
123
124local function parseKeybindInput(k)
125	-- Supports Enum.KeyCode, string ("Q") or table return types from UI
126	if typeof(k) == "EnumItem" and k.EnumType == Enum.KeyCode then
127		return k
128	elseif typeof(k) == "string" then
129		local name = k:upper()
130		if Enum.KeyCode[name] then
131			return Enum.KeyCode[name]
132		end
133	elseif type(k) == "table" and #k > 0 then
134		-- Rayfield sometimes returns table like {"Q"} or similar
135		local first = k[1]
136		if typeof(first) == "EnumItem" and first.EnumType == Enum.KeyCode then
137			return first
138		elseif type(first) == "string" then
139			local name = first:upper()
140			if Enum.KeyCode[name] then return Enum.KeyCode[name] end
141		end
142	end
143	return nil
144end
145
146-- Sections
147local AimbotSection = Tabs.Aimbot:CreateSection("Rage Aimbot")
148
149local AimbotToggle = Tabs.Aimbot:CreateToggle({
150	Name = "Enable Rage Aimbot",
151	CurrentValue = false,
152	Flag = "AimbotToggle",
153	Callback = function(Value)
154		aimbotEnabled = Value
155		if mobileButtons["Aimbot"] then
156			mobileButtons["Aimbot"].BackgroundColor3 = Value and Color3.fromRGB(0, 255, 0) or Color3.fromRGB(40, 40, 40)
157		end
158	end,
159})
160
161local AimbotKeybind = Tabs.Aimbot:CreateKeybind({
162	Name = "Rage Aimbot Keybind",
163	CurrentKeybind = "Q",
164	HoldToInteract = false,
165	Flag = "AimbotKeybind",
166	Callback = function(Keybind)
167		local parsed = parseKeybindInput(Keybind)
168		if parsed then
169			aimbotKeyEnum = parsed
170		end
171		-- Rayfield handles displaying/storing the config key; we just cache the Enum.KeyCode here
172	end,
173})
174
175local AimbotLockDropdown = Tabs.Aimbot:CreateDropdown({
176	Name = "Lock Target",
177	Options = {"Head", "Torso"},
178	CurrentOption = {"Head"},
179	MultipleOptions = false,
180	Flag = "AimbotLock",
181	Callback = function(Option)
182		aimbotLock = Option[1] == "Head" and "Head" or "UpperTorso"
183	end,
184})
185
186local AimbotPredictionToggle = Tabs.Aimbot:CreateToggle({
187	Name = "Movement Prediction",
188	CurrentValue = false,
189	Flag = "AimbotPrediction",
190	Callback = function(Value)
191		aimbotPrediction = Value
192	end,
193})
194
195local AimbotAutoLockToggle = Tabs.Aimbot:CreateToggle({
196	Name = "Auto Lock",
197	CurrentValue = false,
198	Flag = "AimbotAutoLock",
199	Callback = function(Value)
200		aimbotAutoLock = Value
201	end,
202})
203
204-- Silent Aim Section
205local SilentSection = Tabs.Aimbot:CreateSection("Silent Aim")
206
207local silentAimEnabled = false
208local silentAimHitchance = 100
209local silentAimLock = "Head"
210
211local SilentAimToggle = Tabs.Aimbot:CreateToggle({
212	Name = "Silent Aim",
213	CurrentValue = false,
214	Flag = "SilentAim",
215	Callback = function(Value)
216		silentAimEnabled = Value
217	end,
218})
219
220local SilentAimHitchanceSlider = Tabs.Aimbot:CreateSlider({
221	Name = "Hitchance (%)",
222	Range = {0, 100},
223	Increment = 1,
224	Suffix = "%",
225	CurrentValue = 100,
226	Flag = "SilentHitchance",
227	Callback = function(Value)
228		silentAimHitchance = Value
229	end,
230})
231
232local SilentAimLockDropdown = Tabs.Aimbot:CreateDropdown({
233	Name = "Lock Target",
234	Options = {"Head", "Torso"},
235	CurrentOption = {"Head"},
236	MultipleOptions = false,
237	Flag = "SilentAimLock",
238	Callback = function(Option)
239		silentAimLock = Option[1] == "Head" and "Head" or "UpperTorso"
240	end,
241})
242
243-- Trigger Bot Section
244local TriggerSection = Tabs.Aimbot:CreateSection("Trigger Bot")
245
246local triggerEnabled = false
247local triggerDelay = 0
248
249local TriggerToggle = Tabs.Aimbot:CreateToggle({
250	Name = "Trigger Bot",
251	CurrentValue = false,
252	Flag = "TriggerBot",
253	Callback = function(Value)
254		triggerEnabled = Value
255	end,
256})
257
258local TriggerDelaySlider = Tabs.Aimbot:CreateSlider({
259	Name = "Trigger Delay (ms)",
260	Range = {0, 500},
261	Increment = 10,
262	Suffix = "ms",
263	CurrentValue = 0,
264	Flag = "TriggerDelay",
265	Callback = function(Value)
266		triggerDelay = Value / 1000
267	end,
268})
269
270-- Aimbot Settings Section
271local SettingsSection = Tabs.Aimbot:CreateSection("Aimbot Settings")
272
273local aimDeadCheck = true
274local aimWallCheck = true
275local aimPriority = "Distance"
276local aimFOV = 500
277local aimMaxDistance = 0
278
279local AimPriorityDropdown = Tabs.Aimbot:CreateDropdown({
280	Name = "Priority",
281	Options = {"Distance", "Health"},
282	CurrentOption = {"Distance"},
283	MultipleOptions = false,
284	Flag = "AimPriority",
285	Callback = function(Option)
286		aimPriority = Option[1]
287	end,
288})
289
290local AimFOVSlider = Tabs.Aimbot:CreateSlider({
291	Name = "Aimbot FOV",
292	Range = {100, 1000},
293	Increment = 10,
294	CurrentValue = 500,
295	Flag = "AimFOV",
296	Callback = function(Value)
297		aimFOV = Value
298		if fovCircle then
299			fovCircle.Radius = Value
300		end
301	end,
302})
303
304local ShowFOVToggle = Tabs.Aimbot:CreateToggle({
305	Name = "Show FOV Circle",
306	CurrentValue = false,
307	Flag = "ShowFOV",
308	Callback = function(Value)
309		aimbotShowFOV = Value
310		if fovCircle then
311			fovCircle.Visible = Value
312		end
313	end,
314})
315
316local MaxDistanceSlider = Tabs.Aimbot:CreateSlider({
317	Name = "Max Distance (0 = unlimited)",
318	Range = {0, 1000},
319	Increment = 10,
320	Suffix = " studs",
321	CurrentValue = 0,
322	Flag = "MaxDistance",
323	Callback = function(Value)
324		aimMaxDistance = Value
325	end,
326})
327
328local DeadCheckToggle = Tabs.Aimbot:CreateToggle({
329	Name = "Dead Check",
330	CurrentValue = true,
331	Flag = "DeadCheck",
332	Callback = function(Value)
333		aimDeadCheck = Value
334	end,
335})
336
337local WallCheckToggle = Tabs.Aimbot:CreateToggle({
338	Name = "Wall Check",
339	CurrentValue = true,
340	Flag = "WallCheck",
341	Callback = function(Value)
342		aimWallCheck = Value
343	end,
344})
345
346-- Create FOV Circle
347fovCircle = Drawing.new("Circle")
348fovCircle.Thickness = 2
349fovCircle.NumSides = 100
350fovCircle.Radius = aimFOV
351fovCircle.Filled = false
352fovCircle.Visible = false
353fovCircle.ZIndex = 999
354fovCircle.Transparency = 1
355fovCircle.Color = aimbotFOVColor
356
357-- Helper: FIXED target validation with proper checks
358local function isValidTarget(player)
359	-- Basic existence checks
360	if not player then return false end
361	if player == LocalPlayer then return false end
362	if not player.Parent then return false end
363	
364	-- Character checks
365	local character = player.Character
366	if not character then return false end
367	if not character.Parent then return false end
368	
369	-- Humanoid checks
370	local humanoid = character:FindFirstChild("Humanoid")
371	if not humanoid then return false end
372	
373	-- Dead check
374	if aimDeadCheck then
375		if humanoid.Health <= 0 then return false end
376		if humanoid:GetState() == Enum.HumanoidStateType.Dead then return false end
377	end
378	
379	-- Target part existence
380	local targetPartName = aimbotLock or "Head"
381	local targetPart = character:FindFirstChild(targetPartName)
382	if not targetPart then return false end
383	
384	-- Distance check
385	if aimMaxDistance > 0 then
386		local myRoot = getRoot()
387		if myRoot then
388			local distance = (myRoot.Position - targetPart.Position).Magnitude
389			if distance > aimMaxDistance then
390				return false
391			end
392		else
393			return false
394		end
395	end
396	
397	-- Wall check (visibility check)
398	if aimWallCheck then
399		local myRoot = getRoot()
400		if not myRoot then return false end
401		
402		local origin = Camera.CFrame.Position
403		local direction = (targetPart.Position - origin)
404		local distance = direction.Magnitude
405		
406		local ray = Ray.new(origin, direction.Unit * distance)
407		local ignoreList = {getCharacter(), character}
408		
409		local hit, hitPosition = Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList)
410		
411		-- If we hit something and it's not the target's character, they're behind a wall
412		if hit then
413			if not hit:IsDescendantOf(character) then
414				return false
415			end
416		end
417	end
418	
419	return true
420end
421
422local function getClosestPlayer(fov)
423	local closest, closestValue = nil, math.huge
424	local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
425	
426	for _, player in ipairs(Players:GetPlayers()) do
427		if not isValidTarget(player) then continue end
428		
429		local character = player.Character
430		if not character then continue end
431		
432		local targetPartName = aimbotLock or "Head"
433		local targetPart = character:FindFirstChild(targetPartName)
434		if not targetPart then continue end
435		
436		local pos, onScreen = Camera:WorldToViewportPoint(targetPart.Position)
437		if not onScreen then continue end
438		
439		local screenPos = Vector2.new(pos.X, pos.Y)
440		local dist = (center - screenPos).Magnitude
441		
442		if fov and dist > fov then continue end
443		
444		local value
445		if aimPriority == "Distance" then
446			value = dist
447		else
448			local humanoid = character:FindFirstChild("Humanoid")
449			if humanoid then
450				value = humanoid.Health
451			else
452				value = math.huge
453			end
454		end
455		
456		if value < closestValue then
457			closestValue = value
458			closest = player
459		end
460	end
461	
462	return closest
463end
464
465-- Keep track of locked target
466local currentlyLockedTarget = nil
467local lastTriggerShot = 0
468
469-- Aimbot Render loop with Auto Lock and Smoothness
470connections["Aimbot"] = RunService:BindToRenderStep("Aimbot", Enum.RenderPriority.Camera.Value, function(dt)
471	-- Update FOV circle position
472	if fovCircle then
473		fovCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
474		fovCircle.Radius = aimFOV
475		fovCircle.Visible = aimbotShowFOV
476		fovCircle.Color = aimbotFOVColor
477	end
478
479	if not aimbotEnabled then
480		currentlyLockedTarget = nil
481		return
482	end
483
484	local targetToAim = nil
485
486	-- Auto Lock logic with validation
487	if aimbotAutoLock and currentlyLockedTarget then
488		if isValidTarget(currentlyLockedTarget) then
489			targetToAim = currentlyLockedTarget
490		else
491			currentlyLockedTarget = nil
492		end
493	end
494
495	-- Find new target if needed
496	if not targetToAim then
497		targetToAim = getClosestPlayer(aimFOV)
498		currentlyLockedTarget = targetToAim
499	end
500
501
502-- [[ SCRIPT RECORTADO PARA PERFORMANCE ]]
503-- O código é muito grande para renderizar completamente.
504-- Use o botão 'Copy Script' ou 'Download' para pegar o código completo.

ScriptHUB

O melhor site para procurar, compartilhar e achar os melhores scripts com máxima segurança e desempenho.

© 2026 ScriptHub. Todos os direitos reservados.
ScriptHUB