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