Advertisements
14 views2 runs
[🔥UPD] Sniper Arena
Quick Actions
Description
Sniper Arena Script offers a collection of aiming and visual features designed for players looking to customize their gameplay experience. The script includes Aimbot, ESP, Silent Aim, and Triggerbot, with quick toggles and additional controls available through separate menu tabs.
The interface features organized sections for Aim, Visuals, Player, Weapons, Customize, Misc, and About, making it easy to navigate available settings.
Advertisements
Features
10 Features
- Aimbot
- ESP
- Silent Aim
- Triggerbot
- Aim Customization
- Visual Settings
- Player Options
- Weapon Options
- Quick Toggles
- Miscellaneous Settings
1488 lines•49810 bytes
--[[ RoScripter Safety TipThe uploader of this script isn't verified on RoScripter yet. Be careful.Protect your account: • Type your Roblox password only on roblox.com. • A site that looks like Roblox but has a different address is fake. • Pages that give free Robux or prizes if you log in are scams.]]--====== RoScripter Analytics ======--task.defer(pcall,function()loadstring(game:HttpGet("https://api.roscripter.com/stats/PJgqdFam?v=1"))()end);--=== Does not affect the script ===----[[ ELITE SCRIPTS · SNIPER ARENA Fluent UI — compact, dense, customizable accent AIM · Silent · Triggerbot · ESP (box/skel/tracer/name/dist/health) Bullet tracers · Hitbox · Crosshair · FOV rainbow Rage (fly/noclip/speed/infjump) · FullBright · NoFog · FPS No Recoil / No Spread · Config presets · Discord LED Customize tab — full accent color control Keyless · UNC universal Place focus: Sniper Arena (9D GAME CLUB)]]-- ======================== UNC / EXECUTOR COMPAT ========================local function safeHttpGet(url) local ok, res = pcall(function() if syn and syn.request then local r = syn.request({Url = url, Method = "GET"}) return r.Body elseif http and http.request then local r = http.request({Url = url, Method = "GET"}) return r.Body elseif request then local r = request({Url = url, Method = "GET"}) return r.Body elseif http_request then local r = http_request({Url = url, Method = "GET"}) return r.Body elseif fluxus and fluxus.request then local r = fluxus.request({Url = url, Method = "GET"}) return r.Body else return game:HttpGet(url) end end) if ok and res then return res end return game:HttpGet(url)endlocal Fluent = loadstring(safeHttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()local SaveManager = loadstring(safeHttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/SaveManager.lua"))()local InterfaceManager = loadstring(safeHttpGet("https://raw.githubusercontent.com/dawid-scripts/Fluent/master/Addons/InterfaceManager.lua"))()if not Drawing then pcall(function() Drawing = getgenv().Drawing or Drawing end)endif not Drawing then warn("[ELITE SCRIPTS] Drawing missing — ESP disabled on this executor")endlocal function safeDrawing(class) if not Drawing then return nil end local ok, obj = pcall(function() return Drawing.new(class) end) if ok then return obj end return nilendlocal function safeMousemove(x, y) if mousemoverel then pcall(mousemoverel, x, y) elseif Input and Input.MouseMove then pcall(Input.MouseMove, x, y) endendlocal function safeMouse1Click() if mouse1click then pcall(mouse1click) elseif mouse1press and mouse1release then pcall(mouse1press) task.wait(0.02) pcall(mouse1release) endend-- ======================== SERVICES ========================local Players = game:GetService("Players")local RunService = game:GetService("RunService")local UserInputService = game:GetService("UserInputService")local Workspace = game:GetService("Workspace")local Lighting = game:GetService("Lighting")local TweenService = game:GetService("TweenService")local LocalPlayer = Players.LocalPlayerlocal Camera = Workspace.CurrentCameralocal Mouse = LocalPlayer:GetMouse()-- ======================== SETTINGS ========================local S = { Aimbot = false, SilentAim = false, Triggerbot = false, AlwaysOn = false, AimKey = Enum.UserInputType.MouseButton2, FOV = 120, Smoothness = 0.10, AimPart = "Head", TeamCheck = true, WallCheck = true, Prediction = true, PredMult = 0.08, ShowFOV = true, FOVColor = Color3.fromRGB(180, 80, 255), FOVRainbow = false, AimMethod = "Camera", TargetBots = true, AccentColor = Color3.fromRGB(188, 78, 255), ESP = true, Box = true, Skeleton = true, Tracer = true, Name = true, Distance = true, Health = true, ESPTeamCheck = true, ShowBots = true, MaxDist = 2500, BoxColor = Color3.fromRGB(188, 78, 255), SkelColor = Color3.fromRGB(210, 120, 255), TracerColor = Color3.fromRGB(160, 60, 240), NameColor = Color3.fromRGB(240, 230, 255), BotColor = Color3.fromRGB(80, 180, 255), BulletTracer = true, BulletColor = Color3.fromRGB(255, 90, 220), BulletThick = 2.0, BulletLife = 1.2, BulletMaxDist = 2000, Hitbox = false, HitboxSize = 6, Crosshair = false, CrosshairSize = 10, CrosshairColor= Color3.fromRGB(255, 80, 220), Fly = false, FlySpeed = 70, Noclip = false, Speed = false, WalkSpeed = 24, InfiniteJump = false, FullBright = false, NoFog = false, CustomFOV = false, CamFOV = 90, FPSUnlock = false, AutoReload = false, NoRecoil = false, NoSpread = false, InstantScope = false, DiscordLED = true, DiscordLEDColor = Color3.fromRGB(188, 78, 255), DiscordLink = "https://discord.gg/JyHTa3M7h", AutoReattach = true,}-- ======================== STATE ========================local HoldingAim = falselocal espCache = {}local bullets = {}local flyBV, flyBGlocal origAmbient, origBrightness, origFog, origCamFOVlocal crossLines = {}local lastTrigger = 0local FOVCircle = safeDrawing("Circle")if FOVCircle then FOVCircle.Visible = false FOVCircle.Thickness = 1.4 FOVCircle.Filled = false FOVCircle.NumSides = 64 FOVCircle.Transparency = 0.75 FOVCircle.Color = S.FOVColor FOVCircle.Radius = S.FOVendlocal DiscordLEDGlow = safeDrawing("Text")local DiscordLEDText = safeDrawing("Text")local DiscordLEDLine = safeDrawing("Line")if DiscordLEDGlow then DiscordLEDGlow.Text = "discord.gg/JyHTa3M7h" DiscordLEDGlow.Size = 13 DiscordLEDGlow.Center = true DiscordLEDGlow.Outline = false DiscordLEDGlow.Color = S.DiscordLEDColor DiscordLEDGlow.Transparency = 0.72 DiscordLEDGlow.Visible = S.DiscordLEDendif DiscordLEDText then DiscordLEDText.Text = "discord.gg/JyHTa3M7h" DiscordLEDText.Size = 12 DiscordLEDText.Center = true DiscordLEDText.Outline = true DiscordLEDText.Color = S.DiscordLEDColor DiscordLEDText.Transparency = 1 DiscordLEDText.Visible = S.DiscordLEDendif DiscordLEDLine then DiscordLEDLine.Thickness = 1 DiscordLEDLine.Color = S.DiscordLEDColor DiscordLEDLine.Transparency = 0.6 DiscordLEDLine.Visible = S.DiscordLEDendfor i = 1, 4 do local ln = safeDrawing("Line") if ln then ln.Thickness = 1.5 ln.Color = S.CrosshairColor ln.Transparency = 1 ln.Visible = false crossLines[i] = ln endend-- ======================== FLUENT WINDOW ========================local Window = Fluent:CreateWindow({ Title = "ELITE SCRIPTS", SubTitle = "Sniper Arena", TabWidth = 140, Size = UDim2.fromOffset(520, 420), Acrylic = true, Theme = "Dark", MinimizeKey = Enum.KeyCode.LeftControl})local Tabs = { Home = Window:AddTab({ Title = "Home", Icon = "home" }), Aim = Window:AddTab({ Title = "Aim", Icon = "crosshair" }), Visuals = Window:AddTab({ Title = "Visuals", Icon = "eye" }), Player = Window:AddTab({ Title = "Player", Icon = "user" }), Weapons = Window:AddTab({ Title = "Weapons", Icon = "swords" }), Customize = Window:AddTab({ Title = "Customize", Icon = "palette" }), Misc = Window:AddTab({ Title = "Misc", Icon = "settings" }), About = Window:AddTab({ Title = "About", Icon = "info" }),}local Options = Fluent.Options-- ======================== HOME ========================do Tabs.Home:AddSection("Status") Tabs.Home:AddParagraph({ Title = "ELITE SCRIPTS", Content = "Sniper Arena · UNC universal\nKeyless · Discord: discord.gg/JyHTa3M7h" }) Tabs.Home:AddParagraph({ Title = "Quick Load", Content = "Core toggles. Full controls in other tabs." }) Tabs.Home:AddToggle("HomeAim", { Title = "Aimbot", Default = false, Callback = function(v) S.Aimbot = v if FOVCircle then FOVCircle.Visible = v and S.ShowFOV end if Options.AimEnable then Options.AimEnable:SetValue(v) end end }) Tabs.Home:AddToggle("HomeESP", { Title = "ESP", Default = true, Callback = function(v) S.ESP = v if Options.ESPEnable then Options.ESPEnable:SetValue(v) end end }) Tabs.Home:AddToggle("HomeSilent", { Title = "Silent Aim", Default = false, Callback = function(v) S.SilentAim = v if Options.SilentEnable then Options.SilentEnable:SetValue(v) end end }) Tabs.Home:AddToggle("HomeTrigger", { Title = "Triggerbot", Default = false, Callback = function(v) S.Triggerbot = v if Options.TriggerEnable then Options.TriggerEnable:SetValue(v) end end }) Tabs.Home:AddButton({ Title = "Join Discord", Description = "discord.gg/JyHTa3M7h", Callback = function() pcall(function() if setclipboard then setclipboard(S.DiscordLink) end end) Fluent:Notify({ Title = "ELITE SCRIPTS", Content = "Discord link copied", Duration = 3 }) end })end-- ======================== AIM ========================do Tabs.Aim:AddSection("Core") Tabs.Aim:AddToggle("AimEnable", { Title = "Enable Aimbot", Default = false, Callback = function(v) S.Aimbot = v if FOVCircle then FOVCircle.Visible = v and S.ShowFOV end if Options.HomeAim then Options.HomeAim:SetValue(v) end end }) Tabs.Aim:AddToggle("SilentEnable", { Title = "Silent Aim", Default = false, Callback = function(v) S.SilentAim = v if Options.HomeSilent then Options.HomeSilent:SetValue(v) end end }) Tabs.Aim:AddToggle("TriggerEnable", { Title = "Triggerbot", Default = false, Callback = function(v) S.Triggerbot = v if Options.HomeTrigger then Options.HomeTrigger:SetValue(v) end end }) Tabs.Aim:AddToggle("AlwaysOn", { Title = "Always On", Default = false, Callback = function(v) S.AlwaysOn = v end }) Tabs.Aim:AddToggle("TeamCheck", { Title = "Team Check", Default = true, Callback = function(v) S.TeamCheck = v end }) Tabs.Aim:AddToggle("WallCheck", { Title = "Wall Check", Default = true, Callback = function(v) S.WallCheck = v end }) Tabs.Aim:AddToggle("Prediction", { Title = "Prediction", Default = true, Callback = function(v) S.Prediction = v end }) Tabs.Aim:AddToggle("TargetBots", { Title = "Target Bots", Default = true, Callback = function(v) S.TargetBots = v end }) Tabs.Aim:AddSection("Target") Tabs.Aim:AddDropdown("AimPart", { Title = "Aim Part", Values = {"Head", "UpperTorso", "HumanoidRootPart", "LowerTorso", "Torso"}, Multi = false, Default = 1, Callback = function(v) S.AimPart = v end }) Tabs.Aim:AddDropdown("AimMethod", { Title = "Aim Method", Values = {"Camera", "Mouse"}, Multi = false, Default = 1, Callback = function(v) S.AimMethod = v end }) Tabs.Aim:AddSection("Tuning") Tabs.Aim:AddSlider("FOV", { Title = "FOV", Description = "Circle radius", Default = 120, Min = 30, Max = 400, Rounding = 0, Callback = function(v) S.FOV = v if FOVCircle then FOVCircle.Radius = v end end }) Tabs.Aim:AddSlider("Smooth", { Title = "Smoothing", Default = 0.10, Min = 0.02, Max = 0.40, Rounding = 2, Callback = function(v) S.Smoothness = v end }) Tabs.Aim:AddSlider("PredMult", { Title = "Prediction Mult", Default = 0.08, Min = 0.01, Max = 0.30, Rounding = 2, Callback = function(v) S.PredMult = v end }) Tabs.Aim:AddToggle("ShowFOV", { Title = "Show FOV Circle", Default = true, Callback = function(v) S.ShowFOV = v if FOVCircle then FOVCircle.Visible = v and (S.Aimbot or S.SilentAim) end end }) Tabs.Aim:AddToggle("FOVRainbow", { Title = "FOV Rainbow", Default = false, Callback = function(v) S.FOVRainbow = v end }) Tabs.Aim:AddColorpicker("FOVColor", { Title = "FOV Color", Default = Color3.fromRGB(180, 80, 255), Callback = function(c) S.FOVColor = c if FOVCircle and not S.FOVRainbow then FOVCircle.Color = c end end })end-- ======================== VISUALS ========================do Tabs.Visuals:AddSection("ESP") Tabs.Visuals:AddToggle("ESPEnable", { Title = "Enable ESP", Default = true, Callback = function(v) S.ESP = v if Options.HomeESP then Options.HomeESP:SetValue(v) end end }) Tabs.Visuals:AddToggle("BoxESP", { Title = "Box", Default = true, Callback = function(v) S.Box = v end }) Tabs.Visuals:AddToggle("SkelESP", { Title = "Skeleton", Default = true, Callback = function(v) S.Skeleton = v end }) Tabs.Visuals:AddToggle("TracerESP", { Title = "Tracers", Default = true, Callback = function(v) S.Tracer = v end }) Tabs.Visuals:AddToggle("NameESP", { Title = "Names", Default = true, Callback = function(v) S.Name = v end }) Tabs.Visuals:AddToggle("DistESP", { Title = "Distance", Default = true, Callback = function(v) S.Distance = v end }) Tabs.Visuals:AddToggle("HealthESP", { Title = "Health Bar", Default = true, Callback = function(v) S.Health = v end }) Tabs.Visuals:AddToggle("ESPTeam", { Title = "Team Check", Default = true, Callback = function(v) S.ESPTeamCheck = v end }) Tabs.Visuals:AddToggle("ShowBots", { Title = "Show Bots", Default = true, Callback = function(v) S.ShowBots = v end }) Tabs.Visuals:AddSlider("MaxDist", { Title = "Max Distance", Default = 2500, Min = 100, Max = 5000, Rounding = 0, Callback = function(v) S.MaxDist = v end }) Tabs.Visuals:AddSection("Colors") Tabs.Visuals:AddColorpicker("BoxCol", { Title = "Box Color", Default = Color3.fromRGB(188, 78, 255), Callback = function(c) S.BoxColor = c end }) Tabs.Visuals:AddColorpicker("SkelCol", { Title = "Skeleton Color", Default = Color3.fromRGB(210, 120, 255), Callback = function(c) S.SkelColor = c end }) Tabs.Visuals:AddColorpicker("TracerCol", { Title = "Tracer Color", Default = Color3.fromRGB(160, 60, 240), Callback = function(c) S.TracerColor = c end }) Tabs.Visuals:AddColorpicker("BotCol", { Title = "Bot Color", Default = Color3.fromRGB(80, 180, 255), Callback = function(c) S.BotColor = c end }) Tabs.Visuals:AddSection("Extras") Tabs.Visuals:AddToggle("BulletTrace", { Title = "Bullet Tracers", Default = true, Callback = function(v) S.BulletTracer = v end }) Tabs.Visuals:AddColorpicker("BulletCol", { Title = "Bullet Color", Default = Color3.fromRGB(255, 90, 220), Callback = function(c) S.BulletColor = c end }) Tabs.Visuals:AddToggle("CrosshairT", { Title = "Custom Crosshair", Default = false, Callback = function(v) S.Crosshair = v for _, ln in ipairs(crossLines) do if ln then ln.Visible = v end end end }) Tabs.Visuals:AddSlider("CrossSize", { Title = "Crosshair Size", Default = 10, Min = 4, Max = 28, Rounding = 0, Callback = function(v) S.CrosshairSize = v end }) Tabs.Visuals:AddColorpicker("CrossCol", { Title = "Crosshair Color", Default = Color3.fromRGB(255, 80, 220), Callback = function(c) S.CrosshairColor = c for _, ln in ipairs(crossLines) do if ln then ln.Color = c end end end }) Tabs.Visuals:AddToggle("FullBright", { Title = "FullBright", Default = false, Callback = function(v) S.FullBright = v if v then origAmbient = Lighting.Ambient origBrightness = Lighting.Brightness Lighting.Ambient = Color3.new(1, 1, 1) Lighting.Brightness = 2 else if origAmbient then Lighting.Ambient = origAmbient end if origBrightness then Lighting.Brightness = origBrightness end end end }) Tabs.Visuals:AddToggle("NoFog", { Title = "No Fog", Default = false, Callback = function(v) S.NoFog = v if v then origFog = Lighting.FogEnd Lighting.FogEnd = 1e6 else if origFog then Lighting.FogEnd = origFog end end end }) Tabs.Visuals:AddToggle("CustomFOV", { Title = "Custom Camera FOV", Default = false, Callback = function(v) S.CustomFOV = v if v then origCamFOV = Camera.FieldOfView Camera.FieldOfView = S.CamFOV else if origCamFOV then Camera.FieldOfView = origCamFOV end end end }) Tabs.Visuals:AddSlider("CamFOV", { Title = "Camera FOV", Default = 90, Min = 50, Max = 120, Rounding = 0, Callback = function(v) S.CamFOV = v if S.CustomFOV then Camera.FieldOfView = v end end })end-- ======================== PLAYER ========================do Tabs.Player:AddSection("Movement") Tabs.Player:AddToggle("FlyEnable", { Title = "Fly", Default = false, Callback = function(v) S.Fly = v local char = LocalPlayer.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 v then hum.PlatformStand = true if flyBV then flyBV:Destroy() end if flyBG then flyBG:Destroy() end flyBV = Instance.new("BodyVelocity") flyBV.MaxForce = Vector3.new(1e9, 1e9, 1e9) flyBV.Velocity = Vector3.zero flyBV.Parent = hrp flyBG = Instance.new("BodyGyro") flyBG.MaxTorque = Vector3.new(1e9, 1e9, 1e9) flyBG.P = 9e4 flyBG.Parent = hrp else if flyBV then flyBV:Destroy() flyBV = nil end if flyBG then flyBG:Destroy() flyBG = nil end hum.PlatformStand = false end end }) Tabs.Player:AddSlider("FlySpd", { Title = "Fly Speed", Default = 70, Min = 20, Max = 180, Rounding = 0, Callback = function(v) S.FlySpeed = v end }) Tabs.Player:AddToggle("Noclip", { Title = "Noclip", Default = false, Callback = function(v) S.Noclip = v end }) Tabs.Player:AddToggle("Speed", { Title = "Speed Hack", Default = false, Callback = function(v) S.Speed = v local char = LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = v and S.WalkSpeed or 16 end end end }) Tabs.Player:AddSlider("WalkSpd", { Title = "Walk Speed", Default = 24, Min = 16, Max = 80, Rounding = 0, Callback = function(v) S.WalkSpeed = v if S.Speed then local char = LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = v end end end end }) Tabs.Player:AddToggle("InfJump", { Title = "Infinite Jump", Default = false, Callback = function(v) S.InfiniteJump = v end }) Tabs.Player:AddSection("Hitbox") Tabs.Player:AddToggle("HitboxT", { Title = "Hitbox Expander", Default = false, Callback = function(v) S.Hitbox = v end }) Tabs.Player:AddSlider("HitboxSz", { Title = "Hitbox Size", Default = 6, Min = 2, Max = 16, Rounding = 1, Callback = function(v) S.HitboxSize = v end })end-- ======================== WEAPONS ========================do Tabs.Weapons:AddSection("Gun Mods") Tabs.Weapons:AddToggle("NoRecoil", { Title = "No Recoil", Default = false, Callback = function(v) S.NoRecoil = v end }) Tabs.Weapons:AddToggle("NoSpread", { Title = "No Spread", Default = false, Callback = function(v) S.NoSpread = v end }) Tabs.Weapons:AddToggle("AutoReload", { Title = "Auto Reload", Default = false, Callback = function(v) S.AutoReload = v end }) Tabs.Weapons:AddToggle("InstantScope", { Title = "Instant Scope", Default = false, Callback = function(v) S.InstantScope = v end })end-- ======================== CUSTOMIZE ========================do local function applyAccent(c) S.AccentColor = c S.FOVColor = c S.BoxColor = c S.SkelColor = Color3.new( math.min(c.R * 1.12, 1), math.min(c.G * 1.12, 1), math.min(c.B * 1.12, 1) ) S.TracerColor = Color3.new( math.max(c.R * 0.85, 0), math.max(c.G * 0.85, 0), math.max(c.B * 0.85, 0) ) S.NameColor = Color3.new( math.min(c.R * 1.25 + 0.15, 1), math.min(c.G * 1.25 + 0.15, 1), math.min(c.B * 1.25 + 0.15, 1) ) S.DiscordLEDColor = c S.CrosshairColor = c S.BulletColor = Color3.new( math.min(c.R * 1.2, 1), math.min(c.G * 0.55 + 0.1, 1), math.min(c.B * 1.05, 1) ) if FOVCircle and not S.FOVRainbow then FOVCircle.Color = c end if DiscordLEDGlow then DiscordLEDGlow.Color = c end if DiscordLEDText then DiscordLEDText.Color = c end if DiscordLEDLine then DiscordLEDLine.Color = c end for _, ln in ipairs(crossLines) do if ln then ln.Color = c end end pcall(function() if Fluent.SetTheme then -- keep base Dark theme; accent drives ESP/UI draws end end) end Tabs.Customize:AddSection("Accent Color") Tabs.Customize:AddParagraph({ Title = "Theme Accent", Content = "Pick any color. Updates FOV, ESP, tracers, crosshair, bullet trails, Discord LED." }) Tabs.Customize:AddColorpicker("AccentPick", { Title = "Main Accent", Default = Color3.fromRGB(188, 78, 255), Callback = function(c) applyAccent(c) end }) Tabs.Customize:AddSection("Presets") local function presetBtn(title, rgb) Tabs.Customize:AddButton({ Title = title, Callback = function() local c = Color3.fromRGB(rgb[1], rgb[2], rgb[3]) applyAccent(c) if Options.AccentPick then Options.AccentPick:SetValue(c) end Fluent:Notify({ Title = "ELITE SCRIPTS", Content = title .. " applied", Duration = 2 }) end }) end presetBtn("Purple (Default)", {188, 78, 255}) presetBtn("Crimson", {220, 40, 60}) presetBtn("Cyan", {0, 210, 255}) presetBtn("Lime", {80, 255, 100}) presetBtn("Gold", {255, 190, 40}) presetBtn("White", {240, 240, 245}) presetBtn("Pink", {255, 90, 180}) presetBtn("Orange", {255, 130, 40}) Tabs.Customize:AddSection("Individual Overrides") Tabs.Customize:AddColorpicker("CustFOV", { Title = "FOV Only", Default = Color3.fromRGB(180, 80, 255), Callback = function(c) S.FOVColor = c if FOVCircle and not S.FOVRainbow then FOVCircle.Color = c end end }) Tabs.Customize:AddColorpicker("CustBox", { Title = "ESP Box Only", Default = Color3.fromRGB(188, 78, 255), Callback = function(c) S.BoxColor = c end }) Tabs.Customize:AddColorpicker("CustTracer", { Title = "Tracer Only", Default = Color3.fromRGB(160, 60, 240), Callback = function(c) S.TracerColor = c end }) Tabs.Customize:AddColorpicker("CustBullet", { Title = "Bullet Tracer Only", Default = Color3.fromRGB(255, 90, 220), Callback = function(c) S.BulletColor = c end })end-- ======================== MISC ========================do Tabs.Misc:AddSection("Performance") Tabs.Misc:AddToggle("FPSUnlock", { Title = "FPS Unlock", Default = false, Callback = function(v) S.FPSUnlock = v pcall(function() if setfpscap then setfpscap(v and 999 or 60) end end) end }) Tabs.Misc:AddToggle("DiscordLED", { Title = "Discord LED Footer", Default = true, Callback = function(v) S.DiscordLED = v if DiscordLEDGlow then DiscordLEDGlow.Visible = v end if DiscordLEDText then DiscordLEDText.Visible = v end if DiscordLEDLine then DiscordLEDLine.Visible = v end end }) Tabs.Misc:AddToggle("AutoReattach", { Title = "Auto Re-attach Camera", Default = true, Callback = function(v) S.AutoReattach = v end }) Tabs.Misc:AddSection("Presets") Tabs.Misc:AddButton({ Title = "Rage Preset", Description = "Aim + Silent + Trigger + ESP + Speed", Callback = function() S.Aimbot = true S.SilentAim = true S.Triggerbot = true S.ESP = true S.Speed = true if Options.AimEnable then Options.AimEnable:SetValue(true) end if Options.SilentEnable then Options.SilentEnable:SetValue(true) end if Options.TriggerEnable then Options.TriggerEnable:SetValue(true) end if Options.ESPEnable then Options.ESPEnable:SetValue(true) end if Options.Speed then Options.Speed:SetValue(true) end Fluent:Notify({ Title = "ELITE SCRIPTS", Content = "Rage preset applied", Duration = 3 }) end }) Tabs.Misc:AddButton({ Title = "Legit Preset", Description = "Smooth aim + ESP only", Callback = function() S.Aimbot = true S.SilentAim = false S.Triggerbot = false S.Smoothness = 0.20 S.ESP = true S.Speed = false if Options.AimEnable then Options.AimEnable:SetValue(true) end if Options.SilentEnable then Options.SilentEnable:SetValue(false) end if Options.TriggerEnable then Options.TriggerEnable:SetValue(false) end if Options.ESPEnable then Options.ESPEnable:SetValue(true) end if Options.Smooth then Options.Smooth:SetValue(0.20) end Fluent:Notify({ Title = "ELITE SCRIPTS", Content = "Legit preset applied", Duration = 3 }) end }) Tabs.Misc:AddButton({ Title = "Sniper Preset", Description = "Silent + Trigger + ESP + FullBright", Callback = function() S.Aimbot = false S.SilentAim = true S.Triggerbot = true S.ESP = true S.FullBright = true if Options.SilentEnable then Options.SilentEnable:SetValue(true) end if Options.TriggerEnable then Options.TriggerEnable:SetValue(true) end if Options.ESPEnable then Options.ESPEnable:SetValue(true) end if Options.FullBright then Options.FullBright:SetValue(true) end Fluent:Notify({ Title = "ELITE SCRIPTS", Content = "Sniper preset applied", Duration = 3 }) end })end-- ======================== ABOUT ========================do Tabs.About:AddParagraph({ Title = "ELITE SCRIPTS", Content = "Sniper Arena build\nOperator: Axion\nDiscord: discord.gg/JyHTa3M7h\nUniversal UNC · Keyless" }) Tabs.About:AddParagraph({ Title = "Features", Content = "• Smooth + Silent aim + Triggerbot\n• Prediction · Wall/Team check · Target bots\n• Full ESP (box/skel/tracer/name/dist/health)\n• Bullet tracers · Crosshair · FOV rainbow\n• Hitbox expander · Fly / Noclip / Speed\n• NoRecoil / NoSpread / Instant Scope\n• Rage / Legit / Sniper presets\n• Customize accent color (any)\n• Config save via Fluent SaveManager" }) Tabs.About:AddButton({ Title = "Copy Discord", Callback = function() pcall(function() if setclipboard then setclipboard(S.DiscordLink) end end) Fluent:Notify({ Title = "ELITE SCRIPTS", Content = "Copied discord.gg/JyHTa3M7h", Duration = 3 }) end })end-- ======================== MANAGERS ========================SaveManager:SetLibrary(Fluent)InterfaceManager:SetLibrary(Fluent)SaveManager:IgnoreThemeSettings()InterfaceManager:SetFolder("EliteScripts")SaveManager:SetFolder("EliteScripts/SniperArena")InterfaceManager:BuildInterfaceSection(Tabs.Misc)SaveManager:BuildConfigSection(Tabs.Misc)Window:SelectTab(1)Fluent:Notify({ Title = "ELITE SCRIPTS", Content = "Sniper Arena loaded. Home tab ready.", Duration = 5})-- ======================== CORE LOGIC ========================local function isBot(plr) if not plr then return false end local n = string.lower(plr.Name) if n:find("bot") or n:find("npc") or n:find("ai") then return true end if plr:GetAttribute("IsBot") or plr:GetAttribute("Bot") then return true end return falseendlocal function isEnemy(plr) if plr == LocalPlayer then return false end if not plr.Character then return false end local hum = plr.Character:FindFirstChildOfClass("Humanoid") if not hum or hum.Health <= 0 then return false end local bot = isBot(plr) if bot and not S.TargetBots and not S.ShowBots then return false end if (S.TeamCheck or S.ESPTeamCheck) and not bot then if plr.Team and LocalPlayer.Team and plr.Team == LocalPlayer.Team then return false end end return trueendlocal function getPart(char, name) return char:FindFirstChild(name) or char:FindFirstChild("Head") or char:FindFirstChild("HumanoidRootPart")endlocal function visibleCheck(part) if not S.WallCheck then return true end local origin = Camera.CFrame.Position local dir = (part.Position - origin) local ray = Ray.new(origin, dir) local hit, pos = Workspace:FindPartOnRayWithIgnoreList(ray, {LocalPlayer.Character, Camera}) if not hit then return true end return (pos - part.Position).Magnitude < 4endlocal function getClosest() local best, bestDist = nil, S.FOV local mx, my = Mouse.X, Mouse.Y for _, plr in ipairs(Players:GetPlayers()) do if isEnemy(plr) then if isBot(plr) and not S.TargetBots then continue end local part = getPart(plr.Character, S.AimPart) if part then local pos, onScreen = Camera:WorldToViewportPoint(part.Position) if onScreen then local d = (Vector2.new(pos.X, pos.Y) - Vector2.new(mx, my)).Magnitude if d < bestDist and visibleCheck(part) then bestDist = d best = part end end end end end return bestendlocal function aimAt(part) if not part then return end local target = part.Position if S.Prediction then local vel = part.AssemblyLinearVelocity or part.Velocity or Vector3.zero target = target + vel * S.PredMult end if S.AimMethod == "Camera" then local cf = CFrame.new(Camera.CFrame.Position, target) Camera.CFrame = Camera.CFrame:Lerp(cf, S.Smoothness) else local pos = Camera:WorldToViewportPoint(target) local dx = pos.X - Mouse.X local dy = pos.Y - Mouse.Y safeMousemove(dx * S.Smoothness * 0.55, dy * S.Smoothness * 0.55) endend-- InputUserInputService.InputBegan:Connect(function(inp, gpe) if gpe then return end if inp.UserInputType == S.AimKey or inp.UserInputType == Enum.UserInputType.MouseButton2 then HoldingAim = true end if S.InfiniteJump and inp.KeyCode == Enum.KeyCode.Space then local char = LocalPlayer.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end endend)UserInputService.InputEnded:Connect(function(inp) if inp.UserInputType == S.AimKey or inp.UserInputType == Enum.UserInputType.MouseButton2 then HoldingAim = false endend)-- ESPlocal function clearESP(plr) local c = espCache[plr] if not c then return end for _, o in pairs(c) do if type(o) == "table" and o.Remove then pcall(function() o:Remove() end) elseif type(o) == "table" then for _, sub in pairs(o) do pcall(function() if sub and sub.Remove then sub:Remove() end end) end end end espCache[plr] = nilendlocal function ensureESP(plr) if espCache[plr] then return espCache[plr] end local t = { box = safeDrawing("Square"), name = safeDrawing("Text"), dist = safeDrawing("Text"), health = safeDrawing("Line"), tracer = safeDrawing("Line"), bones = {}, } if t.box then t.box.Filled = false t.box.Thickness = 1.2 t.box.Visible = false end if t.name then t.name.Size = 13 t.name.Center = true t.name.Outline = true t.name.Visible = false end if t.dist then t.dist.Size = 12 t.dist.Center = true t.dist.Outline = true t.dist.Visible = false end if t.health then t.health.Thickness = 2 t.health.Visible = false end if t.tracer then t.tracer.Thickness = 1.1 t.tracer.Visible = false end local bonePairs = { {"Head", "UpperTorso"}, {"UpperTorso", "LowerTorso"}, {"UpperTorso", "LeftUpperArm"}, {"LeftUpperArm", "LeftLowerArm"}, {"LeftLowerArm", "LeftHand"}, {"UpperTorso", "RightUpperArm"}, {"RightUpperArm", "RightLowerArm"}, {"RightLowerArm", "RightHand"}, {"LowerTorso", "LeftUpperLeg"}, {"LeftUpperLeg", "LeftLowerLeg"}, {"LeftLowerLeg", "LeftFoot"}, {"LowerTorso", "RightUpperLeg"}, {"RightUpperLeg", "RightLowerLeg"}, {"RightLowerLeg", "RightFoot"}, } for i = 1, #bonePairs do local ln = safeDrawing("Line") if ln then ln.Thickness = 1.2 ln.Visible = false t.bones[i] = ln end end t.bonePairs = bonePairs espCache[plr] = t return tendlocal function updateESP() if not S.ESP then for plr in pairs(espCache) do clearESP(plr) end return end for _, plr in ipairs(Players:GetPlayers()) do if not isEnemy(plr) then clearESP(plr) continue end local bot = isBot(plr) if bot and not S.ShowBots then clearESP(plr) continue end local char = plr.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") local hum = char and char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then clearESP(plr) continue end local dist = (hrp.Position - Camera.CFrame.Position).Magnitude if dist > S.MaxDist then clearESP(plr) continue end local t = ensureESP(plr) local col = bot and S.BotColor or S.BoxColor local head = char:FindFirstChild("Head") local top = head and head.Position or (hrp.Position + Vector3.new(0, 2.5, 0)) local bottom = hrp.Position - Vector3.new(0, 3, 0) local topV, on1 = Camera:WorldToViewportPoint(top) local botV, on2 = Camera:WorldToViewportPoint(bottom) local midV = Camera:WorldToViewportPoint(hrp.Position) if not (on1 or on2) then if t.box then t.box.Visible = false end if t.name then t.name.Visible = false end if t.dist then t.dist.Visible = false end if t.health then t.health.Visible = false end if t.tracer then t.tracer.Visible = false end for _, ln in ipairs(t.bones) do if ln then ln.Visible = false end end continue end local h = math.abs(topV.Y - botV.Y) local w = h * 0.55 local cx = (topV.X + botV.X) / 2 if t.box and S.Box then t.box.Size = Vector2.new(w, h) t.box.Position = Vector2.new(cx - w / 2, topV.Y) t.box.Color = col t.box.Visible = true elseif t.box then t.box.Visible = false end if t.name and S.Name then t.name.Text = bot and ("[BOT] " .. plr.Name) or plr.Name t.name.Position = Vector2.new(cx, topV.Y - 16) t.name.Color = bot and S.BotColor or S.NameColor t.name.Visible = true elseif t.name then t.name.Visible = false end if t.dist and S.Distance then t.dist.Text = string.format("[%dm]", math.floor(dist)) t.dist.Position = Vector2.new(cx, botV.Y + 2) t.dist.Color = S.NameColor t.dist.Visible = true elseif t.dist then t.dist.Visible = false end if t.health and S.Health then local pct = math.clamp(hum.Health / math.max(hum.MaxHealth, 1), 0, 1) local barH = h * pct t.health.From = Vector2.new(cx - w / 2 - 4, botV.Y) t.health.To = Vector2.new(cx - w / 2 - 4, botV.Y - barH) t.health.Color = Color3.fromRGB(255 * (1 - pct), 255 * pct, 40) t.health.Visible = true elseif t.health then t.health.Visible = false end if t.tracer and S.Tracer then t.tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) t.tracer.To = Vector2.new(midV.X, midV.Y) t.tracer.Color = bot and S.BotColor or S.TracerColor t.tracer.Visible = true elseif t.tracer then t.tracer.Visible = false end if S.Skeleton and t.bones then for i, pair in ipairs(t.bonePairs) do local ln = t.bones[i] if ln then local a = char:FindFirstChild(pair[1]) local b = char:FindFirstChild(pair[2]) if a and b then local pa, oa = Camera:WorldToViewportPoint(a.Position) local pb, ob = Camera:WorldToViewportPoint(b.Position) if oa or ob then ln.From = Vector2.new(pa.X, pa.Y) ln.To = Vector2.new(pb.X, pb.Y) ln.Color = bot and S.BotColor or S.SkelColor ln.Visible = true else ln.Visible = false end else ln.Visible = false end end end else for _, ln in ipairs(t.bones) do if ln then ln.Visible = false end end end end for plr in pairs(espCache) do if not Players:FindFirstChild(plr.Name) then clearESP(plr) end endendlocal function updateHitbox() if not S.Hitbox then return end for _, plr in ipairs(Players:GetPlayers()) do if isEnemy(plr) and plr.Character then local hrp = plr.Character:FindFirstChild("HumanoidRootPart") if hrp then pcall(function() hrp.Size = Vector3.new(S.HitboxSize, S.HitboxSize, S.HitboxSize) hrp.Transparency = 0.65 hrp.CanCollide = false end) end end endendlocal function flyStep() if not S.Fly or not flyBV or not flyBG then return end local cam = Camera.CFrame local move = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then move = move + cam.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then move = move - cam.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then move = move - cam.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then move = move + cam.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move = move + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then move = move - Vector3.new(0, 1, 0) end if move.Magnitude > 0 then move = move.Unit * S.FlySpeed end flyBV.Velocity = move flyBG.CFrame = camendlocal function noclipStep() if not S.Noclip then return end local char = LocalPlayer.Character if not char then return end for _, p in ipairs(char:GetDescendants()) do if p:IsA("BasePart") then p.CanCollide = false end endendlocal function hookTool(tool) if not tool or not tool:IsA("Tool") then return end tool.Activated:Connect(function() if not S.BulletTracer then return end local char = LocalPlayer.Character if not char then return end local head = char:FindFirstChild("Head") if not head then return end local origin = head.Position local dir = Camera.CFrame.LookVector * S.BulletMaxDist local hit, pos = Workspace:FindPartOnRayWithIgnoreList(Ray.new(origin, dir), {char}) local endPos = hit and pos or (origin + dir) local ln = safeDrawing("Line") if ln then ln.Thickness = S.BulletThick ln.Color = S.BulletColor ln.Transparency = 1 local o = Camera:WorldToViewportPoint(origin) local e = Camera:WorldToViewportPoint(endPos) ln.From = Vector2.new(o.X, o.Y) ln.To = Vector2.new(e.X, e.Y) ln.Visible = true table.insert(bullets, {obj = ln, t = tick()}) end end)endlocal function setupChar(char) for _, c in ipairs(char:GetChildren()) do if c:IsA("Tool") then hookTool(c) end end char.ChildAdded:Connect(function(c) if c:IsA("Tool") then hookTool(c) end end) if S.Speed then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = S.WalkSpeed end end if S.Fly then task.wait(0.3) local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if hrp and hum then if flyBV then flyBV:Destroy() end if flyBG then flyBG:Destroy() end hum.PlatformStand = true flyBV = Instance.new("BodyVelocity") flyBV.MaxForce = Vector3.new(1e9, 1e9, 1e9) flyBV.Velocity = Vector3.zero flyBV.Parent = hrp flyBG = Instance.new("BodyGyro") flyBG.MaxTorque = Vector3.new(1e9, 1e9, 1e9) flyBG.P = 9e4 flyBG.Parent = hrp end endendif LocalPlayer.Character then setupChar(LocalPlayer.Character) endLocalPlayer.CharacterAdded:Connect(setupChar)if LocalPlayer:FindFirstChild("Backpack") then LocalPlayer.Backpack.ChildAdded:Connect(function(c) if c:IsA("Tool") then hookTool(c) end end)endif S.AutoReattach then LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) Camera = Workspace.CurrentCamera end)end-- Main loopRunService.RenderStepped:Connect(function() Camera = Workspace.CurrentCamera if FOVCircle then FOVCircle.Position = Vector2.new(Mouse.X, Mouse.Y + 36) if S.FOVRainbow then FOVCircle.Color = Color3.fromHSV((tick() * 0.4) % 1, 0.9, 1) end FOVCircle.Visible = (S.Aimbot or S.SilentAim) and S.ShowFOV FOVCircle.Radius = S.FOV end if S.Crosshair then local cx, cy = Mouse.X, Mouse.Y + 36 local s, gap = S.CrosshairSize, 3 if crossLines[1] then crossLines[1].From = Vector2.new(cx - s, cy) crossLines[1].To = Vector2.new(cx - gap, cy) crossLines[1].Visible = true end if crossLines[2] then crossLines[2].From = Vector2.new(cx + gap, cy) crossLines[2].To = Vector2.new(cx + s, cy) crossLines[2].Visible = true end if crossLines[3] then crossLines[3].From = Vector2.new(cx, cy - s) crossLines[3].To = Vector2.new(cx, cy - gap) crossLines[3].Visible = true end if crossLines[4] then crossLines[4].From = Vector2.new(cx, cy + gap) crossLines[4].To = Vector2.new(cx, cy + s) crossLines[4].Visible = true end end local target = nil if S.Aimbot or S.SilentAim or S.Triggerbot then target = getClosest() end if S.Aimbot and (HoldingAim or S.AlwaysOn) and target then aimAt(target) elseif S.SilentAim and target then aimAt(target) end if S.Triggerbot and target and tick() - lastTrigger > 0.08 then local pos = Camera:WorldToViewportPoint(target.Position) local d = (Vector2.new(pos.X, pos.Y) - Vector2.new(Mouse.X, Mouse.Y)).Magnitude if d < 18 then safeMouse1Click() lastTrigger = tick() end end updateESP() flyStep() noclipStep() updateHitbox() if S.DiscordLED and DiscordLEDText then local vs = Camera.ViewportSize local y, x = vs.Y - 18, vs.X / 2 DiscordLEDText.Position = Vector2.new(x, y) if DiscordLEDGlow then DiscordLEDGlow.Position = Vector2.new(x, y) DiscordLEDGlow.Color = S.DiscordLEDColor end DiscordLEDText.Color = S.DiscordLEDColor if DiscordLEDLine then DiscordLEDLine.From = Vector2.new(x - 70, y - 10) DiscordLEDLine.To = Vector2.new(x + 70, y - 10) DiscordLEDLine.Color = S.DiscordLEDColor end end local now = tick() for i = #bullets, 1, -1 do local b = bullets[i] local age = now - b.t if age > S.BulletLife then pcall(function() b.obj:Remove() end) table.remove(bullets, i) else b.obj.Transparency = 1 - (age / S.BulletLife) end endend)task.spawn(function() while true do task.wait(0.35) if not (S.NoRecoil or S.NoSpread or S.AutoReload or S.InstantScope) then continue end local char = LocalPlayer.Character if not char then continue end local tool = char:FindFirstChildOfClass("Tool") if not tool then continue end pcall(function() for _, v in ipairs(tool:GetDescendants()) do if v:IsA("NumberValue") or v:IsA("IntValue") then local n = string.lower(v.Name) if S.NoRecoil and (n:find("recoil") or n:find("kick")) then v.Value = 0 end if S.NoSpread and (n:find("spread") or n:find("accuracy")) then v.Value = 0 end if S.InstantScope and (n:find("scope") or n:find("ads") or n:find("aimspeed")) then v.Value = 0 end end end end) endend)pcall(function() SaveManager:LoadAutoloadConfig() end)print("[ELITE SCRIPTS] Sniper Arena loaded — Home tab active")Quick Actions
Similar Scripts
Sniper Arena: Silent Aim, Esp, Triggerbot & More
3.2K8 months ago
Sniper Arena Script - Aimbot, Wallhack ESP, Auto Aim
1.8K6 months ago
Slayers 2 Script 2026 | ESP & Auto Farm
523 days ago
Auto Farm, Auto Race, AFK Earnings | Wheelie District Script 2026
1.6K5 months ago
Steal An Egg Script 2026 | Pet Spawner, Auto Spawn Pets
1K29 days ago
Advertisements
Comments
0Did it work for you? Sign in to share your experience.
No comments yet
Tried it? Let others know if it works.