local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "UNIVERSAL AIMBOT AND ESP", LoadingTitle = "Universal Cheat", LoadingSubtitle = "loading...", ConfigurationSaving = { Enabled = true, FolderName = nil, FileName = "universalcheat" }, KeySystem = true, KeySettings = { Title = "UNIVERSAL CHEAT", Subtitle = "Enter key", Note = "DM gw_jayy0161 for key", FileName = "universal_key", SaveKey = true, GrabKeyFromSite = false, Key = {"simonisgay"} } }) local AimbotTab = Window:CreateTab("Aimbot", "target") local VisualsTab = Window:CreateTab("Visuals", "eye") local CreditsTab = Window:CreateTab("Credits", "heart") local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local aimEnabled = false local fov = 120 local smoothing = 4 local wallcheck = true local fovCircle = Drawing.new("Circle") fovCircle.Thickness = 2 fovCircle.NumSides = 100 fovCircle.Radius = fov fovCircle.Color = Color3.fromRGB(255, 0, 0) fovCircle.Transparency = 0.8 fovCircle.Visible = false fovCircle.Filled = false local function updateFovCircle() fovCircle.Radius = fov fovCircle.Visible = aimEnabled fovCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) end AimbotTab:CreateToggle({ Name = "Enable Aimbot (RMB hold)", CurrentValue = false, Callback = function(Value) aimEnabled = Value updateFovCircle() end }) AimbotTab:CreateToggle({ Name = "Wall Check (no wall lock)", CurrentValue = true, Callback = function(Value) wallcheck = Value end }) AimbotTab:CreateSlider({ Name = "FOV", Range = {0, 300}, Increment = 1, Suffix = "", CurrentValue = 120, Callback = function(Value) fov = Value updateFovCircle() end }) AimbotTab:CreateSlider({ Name = "Smoothing (1=strong, 10=light)", Range = {1, 10}, Increment = 1, Suffix = "", CurrentValue = 4, Callback = function(Value) smoothing = Value end }) local aiming = false UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.UserInputType == Enum.UserInputType.MouseButton2 then aiming = true end end) UserInputService.InputEnded:Connect(function(input, gpe) if gpe then return end if input.UserInputType == Enum.UserInputType.MouseButton2 then aiming = false end end) local function isVisible(targetHead) if not wallcheck then return true end local origin = Camera.CFrame.Position local direction = targetHead.Position - origin local rayParams = RaycastParams.new() rayParams.FilterDescendantsInstances = {LocalPlayer.Character or {}} rayParams.FilterType = Enum.RaycastFilterType.Exclude rayParams.IgnoreWater = true local result = workspace:Raycast(origin, direction, rayParams) return result == nil or result.Instance:IsDescendantOf(targetHead.Parent) end local function getClosestInFov() local closest, dist = nil, fov local center = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) for _, plr in Players:GetPlayers() do if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("Humanoid") and plr.Character.Humanoid.Health > 0 and plr.Character:FindFirstChild("Head") then local head = plr.Character.Head local screen, onScreen = Camera:WorldToViewportPoint(head.Position) if onScreen then local mag = (Vector2.new(screen.X, screen.Y) - center).Magnitude if mag < dist and isVisible(head) then dist = mag closest = plr end end end end return closest end RunService.RenderStepped:Connect(function() updateFovCircle() if not aimEnabled or not aiming then return end local target = getClosestInFov() if not target or not target.Character or not target.Character:FindFirstChild("Head") then return end local headPos = target.Character.Head.Position local targetCFrame = CFrame.new(Camera.CFrame.Position, headPos) local lerpAlpha = 1 / smoothing Camera.CFrame = Camera.CFrame:Lerp(targetCFrame, lerpAlpha) end) -- ESP local espEnabled = false local showBox = true local showSkeleton = true local showDistance = true local showName = true local teamCheck = true local showTracers = true local espDrawings = {} local function addEsp(plr) if plr == LocalPlayer then return end local box = Drawing.new("Square") box.Thickness = 2 box.Color = Color3.fromRGB(255, 255, 255) box.Transparency = 1 box.Filled = false box.Visible = false local nameText = Drawing.new("Text") nameText.Size = 14 nameText.Color = Color3.fromRGB(255, 255, 255) nameText.Outline = true nameText.Center = true nameText.Visible = false local distText = Drawing.new("Text") distText.Size = 13 distText.Color = Color3.fromRGB(255, 255, 255) distText.Outline = true distText.Center = true distText.Visible = false local tracer = Drawing.new("Line") tracer.Color = Color3.fromRGB(255, 255, 255) tracer.Thickness = 2 tracer.Transparency = 1 tracer.Visible = false local skeletonLines = {} for i = 1, 8 do local line = Drawing.new("Line") line.Color = Color3.fromRGB(255, 255, 255) line.Thickness = 2 line.Transparency = 1 line.Visible = false table.insert(skeletonLines, line) end espDrawings[plr] = {box = box, name = nameText, dist = distText, tracer = tracer, skeleton = skeletonLines} end for _, plr in Players:GetPlayers() do addEsp(plr) end Players.PlayerAdded:Connect(addEsp) RunService.RenderStepped:Connect(function() if not espEnabled then for _, d in espDrawings do d.box.Visible = false d.name.Visible = false d.dist.Visible = false d.tracer.Visible = false for _, line in d.skeleton do line.Visible = false end end return end local screenBottom = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) for plr, d in espDrawings do if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") and plr.Character:FindFirstChild("Head") and plr.Character.Humanoid.Health > 0 then if teamCheck and plr.Team == LocalPlayer.Team then d.box.Visible = false d.name.Visible = false d.dist.Visible = false d.tracer.Visible = false for _, line in d.skeleton do line.Visible = false end continue end local root = plr.Character.HumanoidRootPart local head = plr.Character.Head local rootPos, onScreen = Camera:WorldToViewportPoint(root.Position) local headPos = Camera:WorldToViewportPoint(head.Position) if onScreen then local size = (Camera:WorldToViewportPoint(root.Position - Vector3.new(0, 3, 0)).Y - headPos.Y) * 1.5 if showBox then d.box.Size = Vector2.new(size * 1.2, size * 2.5) d.box.Position = Vector2.new(rootPos.X - d.box.Size.X / 2, headPos.Y - 20) d.box.Visible = true else d.box.Visible = false end if showName then d.name.Text = plr.Name d.name.Position = Vector2.new(rootPos.X, headPos.Y - 50) d.name.Visible = true else d.name.Visible = false end if showDistance then local dist = (LocalPlayer.Character.HumanoidRootPart.Position - root.Position).Magnitude / 3.281 d.dist.Text = string.format("%.1f M", dist) d.dist.Position = Vector2.new(rootPos.X, headPos.Y - 35) d.dist.Visible = true else d.dist.Visible = false end if showTracers then d.tracer.From = screenBottom d.tracer.To = Vector2.new(rootPos.X, rootPos.Y) d.tracer.Visible = true else d.tracer.Visible = false end if showSkeleton then local parts = { {head.Position, head.Position + Vector3.new(0, -1, 0)}, {head.Position + Vector3.new(0, -1, 0), root.Position}, {root.Position, root.Position + Vector3.new(-1, -2, 0)}, {root.Position, root.Position + Vector3.new(1, -2, 0)}, {root.Position + Vector3.new(-1, -1, 0), root.Position + Vector3.new(-2, -2, 0)}, {root.Position + Vector3.new(1, -1, 0), root.Position + Vector3.new(2, -2, 0)} } for i, pair in ipairs(parts) do local p1 = Camera:WorldToViewportPoint(pair[1]) local p2 = Camera:WorldToViewportPoint(pair[2]) local line = d.skeleton[i] line.From = Vector2.new(p1.X, p1.Y) line.To = Vector2.new(p2.X, p2.Y) line.Visible = true end else for _, line in d.skeleton do line.Visible = false end end else d.box.Visible = false d.name.Visible = false d.dist.Visible = false d.tracer.Visible = false for _, line in d.skeleton do line.Visible = false end end else d.box.Visible = false d.name.Visible = false d.dist.Visible = false d.tracer.Visible = false for _, line in d.skeleton do line.Visible = false end end end end) Players.PlayerRemoving:Connect(function(plr) if espDrawings[plr] then espDrawings[plr].box:Remove() espDrawings[plr].name:Remove() espDrawings[plr].dist:Remove() espDrawings[plr].tracer:Remove() for _, line in espDrawings[plr].skeleton do line:Remove() end espDrawings[plr] = nil end end) VisualsTab:CreateToggle({ Name = "Enable ESP", CurrentValue = false, Callback = function(Value) espEnabled = Value end }) VisualsTab:CreateToggle({ Name = "Show Box", CurrentValue = true, Callback = function(Value) showBox = Value end }) VisualsTab:CreateToggle({ Name = "Show Skeleton", CurrentValue = true, Callback = function(Value) showSkeleton = Value end }) VisualsTab:CreateToggle({ Name = "Show Distance (M)", CurrentValue = true, Callback = function(Value) showDistance = Value end }) VisualsTab:CreateToggle({ Name = "Show Player Name", CurrentValue = true, Callback = function(Value) showName = Value end }) VisualsTab:CreateToggle({ Name = "Show Tracers", CurrentValue = true, Callback = function(Value) showTracers = Value end }) VisualsTab:CreateToggle({ Name = "Team Check", CurrentValue = true, Callback = function(Value) teamCheck = Value end }) CreditsTab:CreateLabel("Made with love by gw_jayy0161")