Sniper Arena Keyless Script | Elite Scripts, Aim & Weapons
Sniper Arena Keyless
Sniper Arena Keyless Script | Elite Scripts, Aim & Weapons
šŸ‘¤ alexriderr šŸ‘ 2 views ā¤ļø 0 likes ā± Oct 16, 2026
**Sniper Arena** is a **keyless script** made by **Elite Scripts** and includes useful features such as **Aim, Visuals, Player Options**, and more to customize your gameplay experience. It is reported to work with **Xeno and Solara**, although compatibility may vary depending on the executor version.
✨ Features
Bounty Master: 2026 Luau PvP Engine Players Radar: Auto-Sort by Distance & Health Instant Target Lock (1-Click Selection) Live Distance & HP Tracker (Studs) Kinetic Orbit & Adaptive C-Frame Pursuit Walk On Water & Sea Movement Zero-Delay Combat Burst Auto Skill Combo Sequencer (Z, X, C, V) Smart Weapon Swapper (Melee / Sword / Fruit) Auto Buso Aura (J) Auto Ken Haki Re-activation (E) Auto Race V3 & V4 Awakening Panic Sky Mode (Instant Escape to Safe Height) Safe Zone & PvP Status Protection DirectX Safe: 1 Highlight Max (Anti-Crash) Standby & Target Lost Auto-Recovery Emergency Stop All Physics Undetected Fast Attack & UNC Compatibility
šŸ“‹ Script Code
--[[
    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)
end

local 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)
end
if not Drawing then
    warn("[ELITE SCRIPTS] Drawing missing — ESP disabled on this executor")
end

local 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 nil
end

local function safeMousemove(x, y)
    if mousemoverel then
        pcall(mousemoverel, x, y)
    elseif Input and Input.MouseMove then
        pcall(Input.MouseMove, x, y)
    end
end

local function safeMouse1Click()
    if mouse1click then
        pcall(mouse1click)
    elseif mouse1press and mouse1release then
        pcall(mouse1press)
        task.wait(0.02)
        pcall(mouse1release)
    end
end

-- ======================== 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.LocalPlayer
local Camera      = Workspace.CurrentCamera
local 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 = false
local espCache   = {}
local bullets    = {}
local flyBV, flyBG
local origAmbient, origBrightness, origFog, origCamFOV
local crossLines = {}
local lastTrigger = 0

local 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.FOV
end

local 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.DiscordLED
end
if 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.DiscordLED
end
if DiscordLEDLine then
    DiscordLEDLine.Thickness = 1
    DiscordLEDLine.Color = S.DiscordLEDColor
    DiscordLEDLine.Transparency = 0.6
    DiscordLEDLine.Visible = S.DiscordLED
end

for 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
    end
end

-- ======================== 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 false
end

local 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 true
end

local function getPart(char, name)
    return char:FindFirstChild(name) or char:FindFirstChild("Head") or char:FindFirstChild("HumanoidRootPart")
end

local 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 < 4
end

local 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  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
    end
end

local 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
    end
end

local 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 = cam
end

local 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
    end
end

local 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)
end

local 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
    end
end

if LocalPlayer.Character then setupChar(LocalPlayer.Character) end
LocalPlayer.CharacterAdded:Connect(setupChar)

if LocalPlayer:FindFirstChild("Backpack") then
    LocalPlayer.Backpack.ChildAdded:Connect(function(c)
        if c:IsA("Tool") then hookTool(c) end
    end)
end

if S.AutoReattach then
    LocalPlayer.CharacterAdded:Connect(function()
        task.wait(0.5)
        Camera = Workspace.CurrentCamera
    end)
end

-- Main loop
RunService.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  S.BulletLife then
            pcall(function() b.obj:Remove() end)
            table.remove(bullets, i)
        else
            b.obj.Transparency = 1 - (age / S.BulletLife)
        end
    end
end)

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)
    end
end)

pcall(function() SaveManager:LoadAutoloadConfig() end)

print("[ELITE SCRIPTS] Sniper Arena loaded — Home tab active")
šŸŽ® Similar Scripts
šŸ’¬ Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Sniper Arena
TypeKeyless
Authoralexriderr
Views2
Likes0
PublishedOct 16, 2026
šŸŽ® Play Game on Roblox
šŸ• Recent Scripts
NexusHub -The BEST AUTO BOUNTY – by Tgferr
NexusHub -The BEST AUTO BOUNTY – by Tgferr
Blox Fruits • šŸ‘ 0
Keyless
Serenity Hub Break and Steal an Egg script keyless
Serenity Hub Break and Steal an Egg script keyless
Break and Steal an Egg • šŸ‘ 3
Keyless
Sell Fries Half Auto Farm
Sell Fries Half Auto Farm
Sell Fries! • šŸ‘ 2
Keyless
Xyneria hub – Bloxfruits [FREE UPDATED 2026]
Xyneria hub – Bloxfruits [FREE UPDATED 2026]
Blox Fruits • šŸ‘ 2
Keyless
One Tap Script by Nebula Hub | Premium & Hacking V11
One Tap Script by Nebula Hub | Premium & Hacking V11
One Tap • šŸ‘ 3
Keyless