local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- ====================== CONFIG ====================== local Config = ({ Aimbot = { Enabled = false, Key = Enum.KeyCode.E, FOV = 65, ShowFOV = true, Smooth = 0.1, TargetPart = "Head", Mode = "Smooth" -- "Smooth" alebo "Fast" }, ESP = { Box = false, Tracers = false, Names = false, Color = Color3.fromRGB(0, 255, 50) } }) -- ====================== WINDOW ====================== local Window = Rayfield:CreateWindow({ Name = "[FPS]flick - By GOXm", Icon = 9835676498, LoadingTitle = "GOXm's script", LoadingSubtitle = "by GOXm", Theme = "AmberGlow", ToggleUIKeybind = "K", ConfigurationSaving = { Enabled = true, FolderName = "GOXm_FPS", FileName = "Config" } }) -- ====================== SERVICES ====================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local aiming = false -- ====================== DRAWING ====================== local fovCircle = Drawing.new("Circle") fovCircle.Thickness = 1.6 fovCircle.Transparency = 0.6 fovCircle.Color = Color3.fromRGB(255, 0, 0) fovCircle.Filled = false fovCircle.Visible = false local function NewLine() local l = Drawing.new("Line") l.Thickness = 1.5 l.Transparency = 1 l.Color = Config.ESP.Color l.Visible = false return l end local function NewText() local t = Drawing.new("Text") t.Size = 16 t.Center = true t.Outline = true t.Font = 2 t.Transparency = 1 t.Color = Config.ESP.Color t.Visible = false return t end -- ====================== AIMBOT LOGIC ====================== local function getClosest() local closest, shortest = nil, math.huge for _, v in pairs(Players:GetPlayers()) do if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("Humanoid") and v.Character.Humanoid.Health > 0 then local target = v.Character:FindFirstChild(Config.Aimbot.TargetPart) if target then local screenPos, onScreen = Camera:WorldToViewportPoint(target.Position) if onScreen then local distFromCenter = (Vector2.new(screenPos.X, screenPos.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude if distFromCenter <= Config.Aimbot.FOV and distFromCenter < shortest then shortest = distFromCenter closest = target end end end end end return closest end RunService.RenderStepped:Connect(function() -- FOV Circle fovCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) fovCircle.Radius = Config.Aimbot.FOV fovCircle.Visible = Config.Aimbot.Enabled and Config.Aimbot.ShowFOV -- Aimbot if Config.Aimbot.Enabled and aiming then local target = getClosest() if target then local lookAt = CFrame.new(Camera.CFrame.Position, target.Position) if Config.Aimbot.Mode == "Fast" then Camera.CFrame = lookAt else local smoothAmount = math.clamp(1 - Config.Aimbot.Smooth, 0.01, 1) Camera.CFrame = Camera.CFrame:Lerp(lookAt, smoothAmount) end end end end) UserInputService.InputBegan:Connect(function(input, gpe) if not gpe and input.KeyCode == Config.Aimbot.Key then aiming = true end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == Config.Aimbot.Key then aiming = false end end) -- ====================== 3D ESP ====================== local function CreateESP(player) local lines = {} for i = 1, 12 do lines[i] = NewLine() end local tracer = NewLine() local nameTag = NewText() local connection = RunService.RenderStepped:Connect(function() if not player or not player.Parent then for _, v in pairs(lines) do v:Remove() end tracer:Remove() nameTag:Remove() connection:Disconnect() return end local char = player.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local hum = char and char:FindFirstChild("Humanoid") if hrp and hum and hum.Health > 0 then local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position) -- 3D Box if Config.ESP.Box and onScreen then local size = Vector3.new(2, 3, 1.5) local cf = hrp.CFrame local p = { Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, size.Y, -size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new( size.X, size.Y, -size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new( size.X, size.Y, size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, size.Y, size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, -size.Y, -size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new( size.X, -size.Y, -size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new( size.X, -size.Y, size.Z)).Position), Camera:WorldToViewportPoint((cf * CFrame.new(-size.X, -size.Y, size.Z)).Position) } local connections = {{1,2},{2,3},{3,4},{4,1},{5,6},{6,7},{7,8},{8,5},{1,5},{2,6},{3,7},{4,8}} for i, conn in pairs(connections) do lines[i].From = Vector2.new(p[conn[1]].X, p[conn[1]].Y) lines[i].To = Vector2.new(p[conn[2]].X, p[conn[2]].Y) lines[i].Visible = true end else for _, v in pairs(lines) do v.Visible = false end end -- Tracers if Config.ESP.Tracers and onScreen then tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) tracer.To = Vector2.new(pos.X, pos.Y) tracer.Visible = true else tracer.Visible = false end -- Name Tags if Config.ESP.Names and onScreen then nameTag.Text = player.Name nameTag.Position = Vector2.new(pos.X, pos.Y - 40) nameTag.Visible = true else nameTag.Visible = false end else for _, v in pairs(lines) do v.Visible = false end tracer.Visible = false nameTag.Visible = false end end) end for _, plr in pairs(Players:GetPlayers()) do if plr ~= LocalPlayer then CreateESP(plr) end end Players.PlayerAdded:Connect(function(plr) if plr ~= LocalPlayer then CreateESP(plr) end end) -- ====================== UI TABS ====================== -- AIMBOT TAB local AimbotTab = Window:CreateTab("🔫 Aimbot", nil) AimbotTab:CreateToggle({ Name = "Enable Aimbot (Hold E)", CurrentValue = false, Callback = function(v) Config.Aimbot.Enabled = v end }) AimbotTab:CreateToggle({ Name = "Show FOV Circle", CurrentValue = true, Callback = function(v) Config.Aimbot.ShowFOV = v end }) AimbotTab:CreateDropdown({ Name = "Target Part", Options = {"Head", "Torso"}, CurrentOption = {"Head"}, Callback = function(Option) Config.Aimbot.TargetPart = (Option[1] == "Torso" and "HumanoidRootPart" or "Head") end }) AimbotTab:CreateDropdown({ Name = "Aimbot Mode", Options = {"Smooth", "Fast"}, CurrentOption = {"Smooth"}, Callback = function(Option) Config.Aimbot.Mode = Option[1] end }) AimbotTab:CreateSlider({ Name = "Smoothness", Range = {0, 0.95}, Increment = 0.01, CurrentValue = 0.1, Callback = function(v) Config.Aimbot.Smooth = v end }) AimbotTab:CreateSlider({ Name = "FOV Radius", Range = {30, 250}, Increment = 1, CurrentValue = 65, Callback = function(v) Config.Aimbot.FOV = v end }) -- ESP TAB local EspTab = Window:CreateTab("👁️ ESP", nil) local BoxToggle = EspTab:CreateToggle({ Name = "3D Box ESP", CurrentValue = false, Callback = function(v) Config.ESP.Box = v end }) EspTab:CreateKeybind({ Name = "Toggle Box ESP", CurrentKeybind = "None", Callback = function() Config.ESP.Box = not Config.ESP.Box; BoxToggle:Set(Config.ESP.Box) end }) local TracerToggle = EspTab:CreateToggle({ Name = "Tracers", CurrentValue = false, Callback = function(v) Config.ESP.Tracers = v end }) EspTab:CreateKeybind({ Name = "Toggle Tracers", CurrentKeybind = "None", Callback = function() Config.ESP.Tracers = not Config.ESP.Tracers; TracerToggle:Set(Config.ESP.Tracers) end }) local NameToggle = EspTab:CreateToggle({ Name = "Name Tags", CurrentValue = false, Callback = function(v) Config.ESP.Names = v end }) EspTab:CreateKeybind({ Name = "Toggle Name Tags", CurrentKeybind = "None", Callback = function() Config.ESP.Names = not Config.ESP.Names; NameToggle:Set(Config.ESP.Names) end }) -- Destroy button (ak chceš nechať) local SettingsTab = Window:CreateTab("⚙️ Settings", nil) SettingsTab:CreateButton({ Name = "Destroy Script", Callback = function() Rayfield:Destroy() end })