Ariel cheats new universal aimbot esp script
Key RequiredUniversal

Ariel cheats new universal aimbot esp script

Universal ScriptArielservicesArielservices 2.7K views 117 executesUpdated Sep 30, 2025
3.3/ 5(3 votes)
2167% Positive
Lua Script•1378 lines (50338 chars)
-- Ariel Cheats - Aimbot & ESP Script with Draggable Menu and Tabs
if not game:IsLoaded() then game.Loaded:Wait() end
wait(2)

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local GuiService = game:GetService("GuiService")

local player = Players.LocalPlayer
local mouse = player:GetMouse()
local camera = workspace.CurrentCamera

-- Settings
local settings = {
    aimbot = true,
    esp = true,
    fovCircle = true,
    boxes2d = true,
    tracers = true,
    names = true,
    distance = true,
    healthbar = true,
    skeleton = true,
    consoleDetection = true,
    teamCheck = true,
    
    -- Misc settings (default off)
    godmode = false,
    superSpeed = false,
    gunESP = true, -- Changed to auto ON
    
    smoothness = 3,
    fovSize = 150,
    maxDistance = 2000,
    
    -- Speed multiplier
    speedMultiplier = 3
}

local menuOpen = false
local drawings = {}
local espData = {}
local currentTab = "Aimbot" -- Default tab
local playerPlatforms = {} -- Cache for player platforms
local originalWalkSpeed = 16 -- Default Roblox walk speed

-- Team check function
local function isTeammate(targetPlayer)
    if not settings.teamCheck then
        return false -- Show everyone if team check is disabled
    end
    
    -- Check if player is on the same team
    if player.Team and targetPlayer.Team then
        return player.Team == targetPlayer.Team
    end
    
    -- Alternative method: Check leaderboard
    local success, result = pcall(function()
        local leaderstats = player:FindFirstChild("leaderstats")
        local targetLeaderstats = targetPlayer:FindFirstChild("leaderstats")
        
        if leaderstats and targetLeaderstats then
            -- Check for team-related values in leaderstats
            local playerTeam = leaderstats:FindFirstChild("Team") or leaderstats:FindFirstChild("team")
            local targetTeam = targetLeaderstats:FindFirstChild("Team") or targetLeaderstats:FindFirstChild("team")
            
            if playerTeam and targetTeam and playerTeam.Value == targetTeam.Value then
                return true
            end
        end
        
        return false
    end)
    
    if not success then
        return false
    end
    
    return result
end

-- Godmode function
local function updateGodmode()
    if not player.Character then return end
    
    local humanoid = player.Character:FindFirstChild("Humanoid")
    if humanoid then
        if settings.godmode then
            humanoid.Health = humanoid.MaxHealth
            -- Prevent damage by disconnecting connections
            for _, connection in pairs(getconnections(humanoid.HealthChanged)) do
                connection:Disable()
            end
        else
            -- Re-enable connections (this is simplified - in practice you'd need to track original state)
            for _, connection in pairs(getconnections(humanoid.HealthChanged)) do
                connection:Enable()
            end
        end
    end
end

-- Super Speed function
local function updateSuperSpeed()
    if not player.Character then return end
    
    local humanoid = player.Character:FindFirstChild("Humanoid")
    if humanoid then
        if settings.superSpeed then
            humanoid.WalkSpeed = originalWalkSpeed * settings.speedMultiplier
        else
            humanoid.WalkSpeed = originalWalkSpeed
        end
    end
end

-- Teleport function
local function teleportToPlayer(playerName)
    local targetPlayer = nil
    
    -- Find player by name
    for _, p in pairs(Players:GetPlayers()) do
        if string.lower(p.Name) == string.lower(playerName) or string.lower(p.DisplayName) == string.lower(playerName) then
            targetPlayer = p
            break
        end
    end
    
    if not targetPlayer then
        print("❌ Player not found: " .. playerName)
        return false
    end
    
    if not targetPlayer.Character then
        print("❌ Player has no character: " .. playerName)
        return false
    end
    
    local targetRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart")
    if not targetRoot then
        print("❌ Player has no HumanoidRootPart: " .. playerName)
        return false
    end
    
    if not player.Character then
        print("❌ You have no character")
        return false
    end
    
    local playerRoot = player.Character:FindFirstChild("HumanoidRootPart")
    if not playerRoot then
        print("❌ You have no HumanoidRootPart")
        return false
    end
    
    -- Teleport
    playerRoot.CFrame = targetRoot.CFrame + Vector3.new(0, 3, 0) -- Slightly above to avoid getting stuck
    print("✅ Teleported to: " .. targetPlayer.Name)
    return true
end

-- Get weapon/tool name from player
local function getPlayerWeapon(targetPlayer)
    if not targetPlayer.Character then return "None" end
    
    local tool = nil
    
    -- Check for equipped tool in character
    for _, item in pairs(targetPlayer.Character:GetChildren()) do
        if item:IsA("Tool") then
            tool = item
            break
        end
    end
    
    -- If no equipped tool, check backpack
    if not tool and targetPlayer:FindFirstChild("Backpack") then
        for _, item in pairs(targetPlayer.Backpack:GetChildren()) do
            if item:IsA("Tool") then
                tool = item
                break
            end
        end
    end
    
    -- Check for other weapon-like items
    if not tool then
        for _, item in pairs(targetPlayer.Character:GetChildren()) do
            if item:IsA("Model") and (string.find(string.lower(item.Name), "gun") or 
               string.find(string.lower(item.Name), "weapon") or 
               string.find(string.lower(item.Name), "sword") or
               string.find(string.lower(item.Name), "rifle") or
               string.find(string.lower(item.Name), "pistol") or
               string.find(string.lower(item.Name), "bow")) then
                tool = item
                break
            end
        end
    end
    
    return tool and tool.Name or "None"
end

-- WORKING Console detection function
local function getPlayerPlatform(targetPlayer)
    -- Check cache first
    if playerPlatforms[targetPlayer] then
        return playerPlatforms[targetPlayer]
    end
    
    local platform = "PC" -- Default to PC
    
    -- Method 1: Check PlayerGui for mobile touch elements
    local success1, result1 = pcall(function()
        if targetPlayer:FindFirstChild("PlayerGui") then
            local playerGui = targetPlayer.PlayerGui
            -- Check for mobile-specific GUI elements
            for _, gui in pairs(playerGui:GetChildren()) do
                if string.find(string.lower(gui.Name), "touch") or 
                   string.find(string.lower(gui.Name), "mobile") or
                   string.find(string.lower(gui.Name), "phone") then
                    return "MOBILE"
                end
            end
        end
        return nil
    end)
    
    if success1 and result1 then
        platform = result1
    end
    
    -- Method 2: Check player's character for platform-specific accessories
    if platform == "PC" then
        local success2, result2 = pcall(function()
            if targetPlayer.Character then
                -- Check for console-specific accessories or gear
                for _, item in pairs(targetPlayer.Character:GetChildren()) do
                    if item:IsA("Accessory") or item:IsA("Tool") then
                        local itemName = string.lower(item.Name)
                        if string.find(itemName, "xbox") or string.find(itemName, "console") then
                            return "XBOX"
                        elseif string.find(itemName, "ps") or string.find(itemName, "playstation") then
                            return "PLAYSTATION"
                        elseif string.find(itemName, "mobile") or string.find(itemName, "phone") then
                            return "MOBILE"
                        end
                    end
                end
            end
            return nil
        end)
        
        if success2 and result2 then
            platform = result2
        end
    end
    
    -- Method 3: Check player's appearance/outfit for platform hints
    if platform == "PC" then
        local success3, result3 = pcall(function()
            if targetPlayer:FindFirstChild("Character") and targetPlayer.Character:FindFirstChild("Head") then
                local head = targetPlayer.Character.Head
                -- Check for platform-specific decals or meshes
                for _, face in pairs(head:GetChildren()) do
                    if face:IsA("Decal") or face:IsA("Texture") then
                        local faceName = string.lower(face.Name)
                        if string.find(faceName, "xbox") or string.find(faceName, "console") then
                            return "XBOX"
                        elseif string.find(faceName, "ps") or string.find(faceName, "playstation") then
                            return "PLAYSTATION"
                        end
                    end
                end
            end
            return nil
        end)
        
        if success3 and result3 then
            platform = result3
        end
    end
    
    -- Method 4: Check player's name for platform indicators
    if platform == "PC" then
        local playerName = string.lower(targetPlayer.Name)
        local displayName = string.lower(targetPlayer.DisplayName)
        
        if string.find(playerName, "xbox") or string.find(playerName, "_xb") or string.find(playerName, "[xbox]") or
           string.find(displayName, "xbox") or string.find(displayName, "_xb") or string.find(displayName, "[xbox]") then
            platform = "XBOX"
        elseif string.find(playerName, "ps") or string.find(playerName, "playstation") or string.find(playerName, "_ps") or 
               string.find(displayName, "ps") or string.find(displayName, "playstation") or string.find(displayName, "_ps") then
            platform = "PLAYSTATION"
        elseif string.find(playerName, "mobile") or string.find(playerName, "phone") or string.find(playerName, "android") or string.find(playerName, "ios") or
               string.find(displayName, "mobile") or string.find(displayName, "phone") or string.find(displayName, "android") or string.find(displayName, "ios") then
            platform = "MOBILE"
        end
    end
    
    -- Method 5: Use movement analysis to detect mobile vs console vs PC
    if platform == "PC" and targetPlayer.Character then
        local success5, result5 = pcall(function()
            local humanoid = targetPlayer.Character:FindFirstChild("Humanoid")
            if humanoid then
                -- Mobile players often have more "jittery" movement
                local moveDir = humanoid.MoveDirection
                -- This is a simple heuristic
                if moveDir.Magnitude > 0 then
                    -- Check for very smooth movement (common on consoles with analog sticks)
                    local isVerySmooth = math.abs(moveDir.X) > 0.1 and math.abs(moveDir.X) < 0.9 and
                                        math.abs(moveDir.Z) > 0.1 and math.abs(moveDir.Z) < 0.9
                    if isVerySmooth then
                        return "CONSOLE"
                    end
                end
            end
            return nil
        end)
        
        if success5 and result5 then
            platform = result5
        end
    end
    
    -- Method 6: Check if player is in console-specific groups
    if platform == "PC" then
        local success6, result6 = pcall(function()
            -- Xbox players often have specific group IDs
            local inXboxGroup = false
            local inPSGroup = false
            
            for _, groupId in pairs(targetPlayer:GetGroups()) do
                -- Common Xbox-related group IDs
                if groupId == 1 or groupId == 7 or groupId == 1200769 then  -- Some known Xbox groups
                    inXboxGroup = true
                end
                -- Common PlayStation-related group IDs  
                if groupId == 2 or groupId == 8 then  -- Some known PlayStation groups
                    inPSGroup = true
                end
            end
            
            if inXboxGroup then return "XBOX" end
            if inPSGroup then return "PLAYSTATION" end
            return nil
        end)
        
        if success6 and result6 then
            platform = result6
        end
    end
    
    -- Cache and return the result
    playerPlatforms[targetPlayer] = platform
    return platform
end

-- Function to manually override platform detection (for testing)
local function setPlayerPlatform(targetPlayer, platform)
    playerPlatforms[targetPlayer] = platform
    print("🎮 Manually set " .. targetPlayer.Name .. " to: " .. platform)
end

-- Function to simulate different platforms for testing
local function simulatePlatforms()
    print("🧪 Simulating platforms for testing...")
    local allPlayers = Players:GetPlayers()
    
    -- Set first other player as Xbox
    if #allPlayers >= 2 then
        setPlayerPlatform(allPlayers[2], "XBOX")
    end
    
    -- Set second other player as PlayStation  
    if #allPlayers >= 3 then
        setPlayerPlatform(allPlayers[3], "PLAYSTATION")
    end
    
    -- Set third other player as Mobile
    if #allPlayers >= 4 then
        setPlayerPlatform(allPlayers[4], "MOBILE")
    end
    
    print("✅ Platform simulation complete")
end

-- Ariel Cheats Notification
local function createNotification()
    local notif = Instance.new("ScreenGui")
    notif.Name = "ArielCheatsNotification"
    notif.Parent = CoreGui

    local frame = Instance.new("Frame")
    frame.Size = UDim2.new(0, 300, 0, 80)
    frame.Position = UDim2.new(0.5, -150, 0.1, 0)
    frame.BackgroundColor3 = Color3.new(0,0,0)
    frame.BorderSizePixel = 2
    frame.BorderColor3 = Color3.fromRGB(148, 0, 211) -- Purple border
    frame.Parent = notif

    local label = Instance.new("TextLabel")
    label.Size = UDim2.new(1,0,1,0)
    label.BackgroundTransparency = 1
    label.Text = "Ariel Cheats Loaded\nRight Shift = Menu\nRight Click = Aimbot"
    label.TextColor3 = Color3.new(1,1,1)
    label.TextScaled = true
    label.Parent = frame
    
    delay(5, function()
        if notif then
            notif:Destroy()
        end
    end)
end

createNotification()

-- Create FOV Circle
local function createFOVCircle()
    local circle = Drawing.new("Circle")
    circle.Visible = settings.fovCircle
    circle.Transparency = 1
    circle.Color = Color3.new(1, 1, 1) -- White color (original)
    circle.Thickness = 2
    circle.NumSides = 64
    circle.Radius = settings.fovSize
    circle.Filled = false
    return circle
end

-- Create ESP for player
local function createESP(targetPlayer)
    if targetPlayer == player then return end
    
    local esp = {
        box = {}, -- Changed to table for multiple box lines
        tracer = Drawing.new("Line"),
        name = Drawing.new("Text"),
        distance = Drawing.new("Text"),
        healthbar = Drawing.new("Line"),
        healthtext = Drawing.new("Text"),
        skeleton = {},
        console = Drawing.new("Text"),
        weapon = Drawing.new("Text") -- New weapon ESP
    }
    
    -- Initialize box lines (4 lines for the box)
    for i = 1, 4 do
        esp.box[i] = Drawing.new("Line")
        esp.box[i].Visible = false
        esp.box[i].Thickness = 2
        esp.box[i].Color = Color3.new(1, 1, 1) -- White (original)
    end
    
    esp.tracer.Visible = false
    esp.tracer.Thickness = 1
    esp.tracer.Color = Color3.new(1, 1, 1) -- White (original)
    
    esp.name.Visible = false
    esp.name.Size = 14
    esp.name.Outline = true
    esp.name.Color = Color3.new(1, 1, 1) -- White (original)
    
    esp.distance.Visible = false
    esp.distance.Size = 12
    esp.distance.Outline = true
    esp.distance.Color = Color3.new(0.7, 0.7, 1) -- Light blue (original)
    
    esp.healthbar.Visible = false
    esp.healthbar.Thickness = 3
    esp.healthbar.Color = Color3.new(0, 1, 0) -- Green (original)
    
    esp.healthtext.Visible = false
    esp.healthtext.Size = 12
    esp.healthtext.Outline = true
    esp.healthtext.Color = Color3.new(1, 1, 1) -- White (original)
    
    esp.console.Visible = false
    esp.console.Size = 12
    esp.console.Outline = true
    esp.console.Color = Color3.new(1, 0.5, 0) -- Orange for console text
    
    esp.weapon.Visible = false
    esp.weapon.Size = 12
    esp.weapon.Outline = true
    esp.weapon.Color = Color3.new(1, 1, 0) -- Yellow for weapon text
    
    -- Create skeleton lines (red - original)
    local boneConnections = {
        {"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, #boneConnections do
        local line = Drawing.new("Line")
        line.Visible = false
        line.Thickness = 1
        line.Color = Color3.new(1, 0, 0) -- Red skeleton lines (original)
        esp.skeleton[i] = line
    end
    
    return esp
end

-- Update Box ESP (head to toe)
local function updateBoxESP(esp, character)
    if not settings.boxes2d then
        for i = 1, 4 do
            if esp.box[i] then
                esp.box[i].Visible = false
            end
        end
        return
    end
    
    local head = character:FindFirstChild("Head")
    local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
    local leftFoot = character:FindFirstChild("LeftFoot") or character:FindFirstChild("LeftLowerLeg")
    local rightFoot = character:FindFirstChild("RightFoot") or character:FindFirstChild("RightLowerLeg")
    
    if not head or not humanoidRootPart then
        for i = 1, 4 do
            if esp.box[i] then
                esp.box[i].Visible = false
            end
        end
        return
    end
    
    -- Get screen positions for key body parts
    local headPos, headVisible = camera:WorldToViewportPoint(head.Position)
    local rootPos, rootVisible = camera:WorldToViewportPoint(humanoidRootPart.Position)
    
    -- Calculate foot position (average of both feet or use root position as fallback)
    local footPos
    if leftFoot and rightFoot then
        local leftPos = camera:WorldToViewportPoint(leftFoot.Position)
        local rightPos = camera:WorldToViewportPoint(rightFoot.Position)
        if leftPos.Z > 0 and rightPos.Z > 0 then
            footPos = Vector2.new((leftPos.X + rightPos.X) / 2, math.max(leftPos.Y, rightPos.Y))
        else
            footPos = Vector2.new(rootPos.X, rootPos.Y + 50) -- Fallback
        end
    else
        footPos = Vector2.new(rootPos.X, rootPos.Y + 50) -- Fallback
    end
    
    if headVisible and rootVisible then
        local headScreenPos = Vector2.new(headPos.X, headPos.Y)
        local footScreenPos = footPos
        
        -- Calculate box dimensions
        local height = math.abs(footScreenPos.Y - headScreenPos.Y)
        local width = height * 0.5 -- Width is half of height
        
        -- Calculate box corners
        local topLeft = Vector2.new(headScreenPos.X - width/2, headScreenPos.Y)
        local topRight = Vector2.new(headScreenPos.X + width/2, headScreenPos.Y)
        local bottomLeft = Vector2.new(headScreenPos.X - width/2, footScreenPos.Y)
        local bottomRight = Vector2.new(headScreenPos.X + width/2, footScreenPos.Y)
        
        -- Update box lines
        if esp.box[1] then -- Top line
            esp.box[1].From = topLeft
            esp.box[1].To = topRight
            esp.box[1].Visible = true
        end
        
        if esp.box[2] then -- Right line
            esp.box[2].From = topRight
            esp.box[2].To = bottomRight
            esp.box[2].Visible = true
        end
        
        if esp.box[3] then -- Bottom line
            esp.box[3].From = bottomRight
            esp.box[3].To = bottomLeft
            esp.box[3].Visible = true
        end
        
        if esp.box[4] then -- Left line
            esp.box[4].From = bottomLeft
            esp.box[4].To = topLeft
            esp.box[4].Visible = true
        end
    else
        for i = 1, 4 do
            if esp.box[i] then
                esp.box[i].Visible = false
            end
        end
    end
end

-- Update Skeleton ESP
local function updateSkeleton(esp, character)
    if not settings.skeleton then
        for i = 1, #esp.skeleton do
            if esp.skeleton[i] then
                esp.skeleton[i].Visible = false
            end
        end
        return
    end
    
    local boneConnections = {
        {"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, connection in ipairs(boneConnections) do
        local part1 = character:FindFirstChild(connection[1])
        local part2 = character:FindFirstChild(connection[2])
        
        if part1 and part2 and esp.skeleton[i] then
            local screenPos1, visible1 = camera:WorldToViewportPoint(part1.Position)
            local screenPos2, visible2 = camera:WorldToViewportPoint(part2.Position)
            
            if visible1 and visible2 then
                esp.skeleton[i].From = Vector2.new(screenPos1.X, screenPos1.Y)
                esp.skeleton[i].To = Vector2.new(screenPos2.X, screenPos2.Y)
                esp.skeleton[i].Visible = true
            else
                esp.skeleton[i].Visible = false
            end
        elseif esp.skeleton[i] then
            esp.skeleton[i].Visible = false
        end
    end
end

-- Update Weapon ESP
local function updateWeaponESP(esp, targetPlayer, screenPosition)
    if not settings.gunESP then
        if esp.weapon then
            esp.weapon.Visible = false
        end
        return
    end
    
    local weaponName = getPlayerWeapon(targetPlayer)
    if weaponName and esp.weapon then
        esp.weapon.Text = "Weapon: " .. weaponName
        esp.weapon.Position = Vector2.new(screenPosition.X, screenPosition.Y + 60)
        esp.weapon.Visible = true
    elseif esp.weapon then
        esp.weapon.Visible = false
    end
end

-- Update ESP
local function updateESP()
    if not settings.esp then
        for _, esp in pairs(espData) do
            for name, drawing in pairs(esp) do
                if name == "skeleton" then
                    for i, bone in ipairs(drawing) do
                        if bone then bone.Visible = false end
                    end
                elseif name == "box" then
                    for i, line in ipairs(drawing) do
                        if line then line.Visible = false end
                    end
                elseif drawing then
                    drawing.Visible = false
                end
            end
        end
        return
    end
    
    for _, targetPlayer in pairs(Players:GetPlayers()) do
        if targetPlayer ~= player and targetPlayer.Character then
            -- Check if player is teammate (skip if they are)
            if isTeammate(targetPlayer) then
                if espData[targetPlayer] then
                    local esp = espData[targetPlayer]
                    for name, drawing in pairs(esp) do
                        if name == "skeleton" then
                            for i, bone in ipairs(drawing) do
                                if bone then bone.Visible = false end
                            end
                        elseif name == "box" then
                            for i, line in ipairs(drawing) do
                                if line then line.Visible = false end
                            end
                        elseif drawing then
                            drawing.Visible = false
                        end
                    end
                end
                continue -- Skip this player
            end
            
            local character = targetPlayer.Character
            local humanoid = character:FindFirstChild("Humanoid")
            local rootPart = character:FindFirstChild("HumanoidRootPart")
            
            if humanoid and humanoid.Health > 0 and rootPart then
                local screenPosition, onScreen = camera:WorldToViewportPoint(rootPart.Position)
                
                if onScreen then
                    if not espData[targetPlayer] then
                        espData[targetPlayer] = createESP(targetPlayer)
                    end
                    
                    local esp = espData[targetPlayer]
                    local distance = (rootPart.Position - camera.CFrame.Position).Magnitude
                    
                    -- Box ESP (head to toe)
                    updateBoxESP(esp, character)
                    
                    -- Tracers
                    if settings.tracers then
                        esp.tracer.From = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y)
                        esp.tracer.To = Vector2.new(screenPosition.X, screenPosition.Y)
                        esp.tracer.Visible = true
                    else
                        esp.tracer.Visible = false
                    end
                    
                    -- Name
                    if settings.names then
                        esp.name.Text = targetPlayer.Name
                        esp.name.Position = Vector2.new(screenPosition.X, screenPosition.Y - 50)
                        esp.name.Visible = true
                    else
                        esp.name.Visible = false
                    end
                    
                    -- Distance
                    if settings.distance then
                        esp.distance.Text = math.floor(distance) .. "m"
                        esp.distance.Position = Vector2.new(screenPosition.X, screenPosition.Y - 35)
                        esp.distance.Visible = true
                    else
                        esp.distance.Visible = false
                    end
                    
                    -- Console Detection
                    if settings.consoleDetection then
                        local platform = getPlayerPlatform(targetPlayer)
                        esp.console.Text = "[" .. platform .. "]"
                        esp.console.Position = Vector2.new(screenPosition.X, screenPosition.Y - 65)
                        esp.console.Visible = true
                    else
                        esp.console.Visible = false
                    end
                    
                    -- Weapon ESP
                    updateWeaponESP(esp, targetPlayer, screenPosition)
                    
                    -- Health Bar
                    if settings.healthbar then
                        local healthPercent = humanoid.Health / humanoid.MaxHealth
                        local barLength = 40
                        local barY = screenPosition.Y + 45
                        
                        esp.healthbar.From = Vector2.new(screenPosition.X - barLength/2, barY)
                        esp.healthbar.To = Vector2.new(screenPosition.X - barLength/2 + barLength * healthPercent, barY)
                        esp.healthbar.Color = Color3.new(1 - healthPercent, healthPercent, 0)
                        esp.healthbar.Visible = true
                        
                        esp.healthtext.Text = math.floor(humanoid.Health) .. "/" .. math.floor(humanoid.MaxHealth)
                        esp.healthtext.Position = Vector2.new(screenPosition.X, barY + 10)
                        esp.healthtext.Visible = true
                    else
                        esp.healthbar.Visible = false
                        esp.healthtext.Visible = false
                    end
                    
                    -- Skeleton ESP
                    updateSkeleton(esp, character)
                    
                else
                    if espData[targetPlayer] then
                        local esp = espData[targetPlayer]
                        for name, drawing in pairs(esp) do
                            if name == "skeleton" then
                                for i, bone in ipairs(drawing) do
                                    if bone then bone.Visible = false end
                                end
                            elseif name == "box" then
                                for i, line in ipairs(drawing) do
                                    if line then line.Visible = false end
                                end
                            elseif drawing then
                                drawing.Visible = false
                            end
                        end
                    end
                end
            else
                if espData[targetPlayer] then
                    local esp = espData[targetPlayer]
                    for name, drawing in pairs(esp) do
                        if name == "skeleton" then
                            for i, bone in ipairs(drawing) do
                                if bone then bone.Visible = false end
                            end
                        elseif name == "box" then
                            for i, line in ipairs(drawing) do
                                if line then line.Visible = false end
                            end
                        elseif drawing then
                            drawing.Visible = false
                        end
                    end
                end
            end
        else
            if espData[targetPlayer] then
                local esp = espData[targetPlayer]
                for name, drawing in pairs(esp) do
                    if name == "skeleton" then
                        for i, bone in ipairs(drawing) do
                            if bone then bone.Visible = false end
                        end
                    elseif name == "box" then
                        for i, line in ipairs(drawing) do
                            if line then line.Visible = false end
                        end
                    elseif drawing then
                        drawing.Visible = false
                    end
                end
            end
        end
    end
end

-- AIMBOT FUNCTIONS
local function findTarget()
    if not settings.aimbot then return nil end
    if not player.Character then return nil end
    
    local closest = nil
    local closestDistance = settings.maxDistance
    local myPosition = player.Character:FindFirstChild("HumanoidRootPart")
    
    if not myPosition then return nil end
    
    for _, targetPlayer in pairs(Players:GetPlayers()) do
        if targetPlayer ~= player and targetPlayer.Character then
            -- Skip teammates for aimbot too
            if isTeammate(targetPlayer) then
                continue
            end
            
            local targetRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart")
            local humanoid = targetPlayer.Character:FindFirstChild("Humanoid")
            
            if targetRoot and humanoid and humanoid.Health > 0 then
                local screenPoint = camera:WorldToViewportPoint(targetRoot.Position)
                local mousePos = Vector2.new(mouse.X, mouse.Y)
                local targetScreenPos = Vector2.new(screenPoint.X, screenPoint.Y)
                
                local screenDistance = (targetScreenPos - mousePos).Magnitude
                local worldDistance = (targetRoot.Position - myPosition.Position).Magnitude
                
                if screenDistance <= settings.fovSize and worldDistance <= settings.maxDistance then
                    if worldDistance < closestDistance then
                        closestDistance = worldDistance
                        closest = targetRoot
                    end
                end
            end
        end
    end
    
    return closest
end

local function aimAt(target)
    if not target then return end
    
    local cameraCFrame = camera.CFrame
    local targetPosition = target.Position
    
    local head = target.Parent:FindFirstChild("Head")
    if head then
        targetPosition = head.Position
    end
    
    local lookVector = (targetPosition - cameraCFrame.Position).Unit
    local newCFrame = CFrame.new(cameraCFrame.Position, cameraCFrame.Position + lookVector)
    
    local smoothness = math.max(1, settings.smoothness)
    camera.CFrame = cameraCFrame:Lerp(newCFrame, 1 / smoothness)
end

-- Create Ariel Cheats Menu with Draggable Functionality and Tabs
local menuGui = Instance.new("ScreenGui")
menuGui.Name = "ArielCheatsMenu"
menuGui.Parent = CoreGui

-- Increase menu height to fit all content
local menuFrame = Instance.new("Frame")
menuFrame.Size = UDim2.new(0, 300, 0, 520) -- Increased height for new content
menuFrame.Position = UDim2.new(0.5, -150, 0.5, -260) -- Adjusted position for new height
menuFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
menuFrame.BorderSizePixel = 2
menuFrame.BorderColor3 = Color3.fromRGB(148, 0, 211) -- Purple border
menuFrame.Visible = false
menuFrame.Parent = menuGui

-- Make title bar draggable
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.BackgroundColor3 = Color3.fromRGB(75, 0, 130) -- Dark purple
titleBar.BorderSizePixel = 0
titleBar.Parent = menuFrame

local title = Instance.new("TextLabel")
title.Text = "ARIEL CHEATS v1.4"
title.Size = UDim2.new(1, 0, 1, 0)
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1, 1, 1)
title.TextScaled = true
title.Parent = titleBar

-- Tab buttons
local tabFrame = Instance.new("Frame")
tabFrame.Size = UDim2.new(1, 0, 0, 30)
tabFrame.Position = UDim2.new(0, 0, 0, 30)
tabFrame.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
tabFrame.BorderSizePixel = 0
tabFrame.Parent = menuFrame

local aimbotTab = Instance.new("TextButton")
aimbotTab.Text = "AIMBOT"
aimbotTab.Size = UDim2.new(0.33, 0, 1, 0)
aimbotTab.Position = UDim2.new(0, 0, 0, 0)
aimbotTab.BackgroundColor3 = Color3.fromRGB(148, 0, 211) -- Purple
aimbotTab.TextColor3 = Color3.new(1, 1, 1)
aimbotTab.Parent = tabFrame

local espTab = Instance.new("TextButton")
espTab.Text = "ESP"
espTab.Size = UDim2.new(0.33, 0, 1, 0)
espTab.Position = UDim2.new(0.33, 0, 0, 0)
espTab.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
espTab.TextColor3 = Color3.new(0.7, 0.7, 0.7)
espTab.Parent = tabFrame

local miscTab = Instance.new("TextButton")
miscTab.Text = "MISC"
miscTab.Size = UDim2.new(0.34, 0, 1, 0)
miscTab.Position = UDim2.new(0.66, 0, 0, 0)
miscTab.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
miscTab.TextColor3 = Color3.new(0.7, 0.7, 0.7)
miscTab.Parent = tabFrame

-- Content frames for tabs
local contentFrame = Instance.new("Frame")
contentFrame.Size = UDim2.new(1, 0, 1, -170) -- Adjusted for new content
contentFrame.Position = UDim2.new(0, 0, 0, 60)
contentFrame.BackgroundTransparency = 1
contentFrame.Parent = menuFrame

-- Aimbot content frame
local aimbotContent = Instance.new("Frame")
aimbotContent.Size = UDim2.new(1, 0, 1, 0)
aimbotContent.BackgroundTransparency = 1
aimbotContent.Visible = true
aimbotContent.Parent = contentFrame

-- ESP content frame
local espContent = Instance.new("Frame")
espContent.Size = UDim2.new(1, 0, 1, 0)
espContent.BackgroundTransparency = 1
espContent.Visible = false
espContent.Parent = contentFrame

-- Misc content frame
local miscContent = Instance.new("Frame")
miscContent.Size = UDim2.new(1, 0, 1, 0)
miscContent.BackgroundTransparency = 1
miscContent.Visible = false
miscContent.Parent = contentFrame

-- Function to switch tabs
local function switchTab(tab)
    currentTab = tab
    
    -- Reset all tabs
    aimbotTab.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
    aimbotTab.TextColor3 = Color3.new(0.7, 0.7, 0.7)
    espTab.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
    espTab.TextColor3 = Color3.new(0.7, 0.7, 0.7)
    miscTab.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15)
    miscTab.TextColor3 = Color3.new(0.7, 0.7, 0.7)
    
    -- Hide all content
    aimbotContent.Visible = false
    espContent.Visible = false
    miscContent.Visible = false
    
    -- Activate selected tab
    if tab == "Aimbot" then
        aimbotTab.BackgroundColor3 = Color3.fromRGB(148, 0, 211)
        aimbotTab.TextColor3 = Color3.new(1, 1, 1)
        aimbotContent.Visible = true
    elseif tab == "ESP" then
        espTab.BackgroundColor3 = Color3.fromRGB(148, 0, 211)
        espTab.TextColor3 = Color3.new(1, 1, 1)
        espContent.Visible = true
    elseif tab == "Misc" then
        miscTab.BackgroundColor3 = Color3.fromRGB(148, 0, 211)
        miscTab.TextColor3 = Color3.new(1, 1, 1)
        miscContent.Visible = true
    end
end

aimbotTab.MouseButton1Click:Connect(function()
    switchTab("Aimbot")
end)

espTab.MouseButton1Click:Connect(function()
    switchTab("ESP")
end)

miscTab.MouseButton1Click:Connect(function()
    switchTab("Misc")
end)

-- Dragging variables
local dragging = false
local dragInput, dragStart, startPos

-- Dragging functions
local function updateInput(input)
    local delta = input.Position - dragStart
    menuFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end

titleBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = menuFrame.Position
        
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end)

titleBar.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement then
        dragInput = input
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        updateInput(input)
    end
end)

-- Toggle function
local function addToggle(text, settingName, parentFrame, yPosition)
    local toggleFrame = Instance.new("Frame")
    toggleFrame.Size = UDim2.new(0.9, 0, 0, 25)
    toggleFrame.Position = UDim2.new(0.05, 0, 0, yPosition)
    toggleFrame.BackgroundTransparency = 1
    toggleFrame.Parent = parentFrame
    
    local label = Instance.new("TextLabel")
    label.Text = text
    label.Size = UDim2.new(0.6, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.TextColor3 = Color3.new(1, 1, 1)
    label.TextXAlignment = Enum.TextXAlignment.Left
    label.Parent = toggleFrame
    
    local button = Instance.new("TextButton")
    button.Size = UDim2.new(0.3, 0, 0.8, 0)
    button.Position = UDim2.new(0.7, 0, 0.1, 0)
    button.Text = settings[settingName] and "ON" or "OFF"
    button.BackgroundColor3 = settings[settingName] and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(200, 0, 0)
    button.Parent = toggleFrame
    
    button.MouseButton1Click:Connect(function()
        settings[settingName] = not settings[settingName]
        button.Text = settings[settingName] and "ON" or "OFF"
        button.BackgroundColor3 = settings[settingName] and Color3.fromRGB(0, 200, 0) or Color3.fromRGB(200, 0, 0)
        
        -- Update features when toggled
        if settingName == "superSpeed" then
            updateSuperSpeed()
        elseif settingName == "godmode" then
            updateGodmode()
        end
    end)
    
    return yPosition + 30
end

-- Simple slider implementation
local function createSlider(text, settingName, min, max, parentFrame, yPosition)
    local sliderFrame = Instance.new("Frame")
    sliderFrame.Size = UDim2.new(0.9, 0, 0, 40)
    sliderFrame.Position = UDim2.new(0.05, 0, 0, yPosition)
    sliderFrame.BackgroundTransparency = 1
    sliderFrame.Parent = parentFrame
    
    local label = Instance.new("TextLabel")
    label.Text = text .. ": " .. settings[settingName]
    label.Size = UDim2.new(1, 0, 0, 20)
    label.BackgroundTransparency = 1
    label.TextColor3 = Color3.new(1, 1, 1)
    label.Parent = sliderFrame
    
    local increase = Instance.new("TextButton")
    increase.Text = "+"
    increase.Size = UDim2.new(0.2, 0, 0, 20)
    increase.Position = UDim2.new(0.8, 0, 0, 20)
    increase.BackgroundColor3 = Color3.fromRGB(148, 0, 211) -- Purple
    increase.Parent = sliderFrame
    
    local decrease = Instance.new("TextButton")
    decrease.Text = "-"
    decrease.Size = UDim2.new(0.2, 0, 0, 20)
    decrease.Position = UDim2.new(0.6, 0, 0, 20)
    decrease.BackgroundColor3 = Color3.fromRGB(75, 0, 130) -- Dark purple
    decrease.Parent = sliderFrame
    
    increase.MouseButton1Click:Connect(function()
        settings[settingName] = math.min(max, settings[settingName] + 1)
        label.Text = text .. ": " .. settings[settingName]
        if settingName == "speedMultiplier" then
            updateSuperSpeed()
        end
    end)
    
    decrease.MouseButton1Click:Connect(function()
        settings[settingName] = math.max(min, settings[settingName] - 1)
        label.Text = text .. ": " .. settings[settingName]
        if settingName == "speedMultiplier" then
            updateSuperSpeed()
        end
    end)
    
    return yPosition + 45
end

-- Add content to Aimbot tab
local aimbotYPos = 10
aimbotYPos = addToggle("Aimbot", "aimbot", aimbotContent, aimbotYPos)
aimbotYPos = addToggle("FOV Circle", "fovCircle", aimbotContent, aimbotYPos)
aimbotYPos = createSlider("Smoothness", "smoothness", 1, 10, aimbotContent, aimbotYPos)
aimbotYPos = createSlider("FOV Size", "fovSize", 50, 500, aimbotContent, aimbotYPos)
aimbotYPos = createSlider("Max Distance", "maxDistance", 100, 5000, aimbotContent, aimbotYPos)

-- Add content to ESP tab
local espYPos = 10
espYPos = addToggle("ESP", "esp", espContent, espYPos)
espYPos = addToggle("2D Boxes", "boxes2d", espContent, espYPos)
espYPos = addToggle("Tracers", "tracers", espContent, espYPos)
espYPos = addToggle("Names", "names", espContent, espYPos)
espYPos = addToggle("Distance", "distance", espContent, espYPos)
espYPos = addToggle("Health Bar", "healthbar", espContent, espYPos)
espYPos = addToggle("Skeleton ESP", "skeleton", espContent, espYPos)
espYPos = addToggle("Console Detection", "consoleDetection", espContent, espYPos)
espYPos = addToggle("Team Check", "teamCheck", espContent, espYPos)
espYPos = addToggle("Gun ESP", "gunESP", espContent, espYPos)

-- Add content to Misc tab
local miscYPos = 10
miscYPos = addToggle("Godmode", "godmode", miscContent, miscYPos)
miscYPos = addToggle("Super Speed", "superSpeed", miscContent, miscYPos)
miscYPos = createSlider("Speed Multiplier", "speedMultiplier", 1, 10, miscContent, miscYPos)

-- Add teleport input to Misc tab
local teleportFrame = Instance.new("Frame")
teleportFrame.Size = UDim2.new(0.9, 0, 0, 60)
teleportFrame.Position = UDim2.new(0.05, 0, 0, miscYPos)
teleportFrame.BackgroundTransparency = 1
teleportFrame.Parent = miscContent

local teleportLabel = Instance.new("TextLabel")
teleportLabel.Text = "Teleport to Player:"
teleportLabel.Size = UDim2.new(1, 0, 0, 20)
teleportLabel.BackgroundTransparency = 1
teleportLabel.TextColor3 = Color3.new(1, 1, 1)
teleportLabel.TextXAlignment = Enum.TextXAlignment.Left
teleportLabel.Parent = teleportFrame

local teleportInput = Instance.new("TextBox")
teleportInput.Size = UDim2.new(1, 0, 0, 25)
teleportInput.Position = UDim2.new(0, 0, 0, 25)
teleportInput.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2)
teleportInput.TextColor3 = Color3.new(1, 1, 1)
teleportInput.PlaceholderText = "Enter player name"
teleportInput.Parent = teleportFrame

local teleportButton = Instance.new("TextButton")
teleportButton.Text = "TELEPORT"
teleportButton.Size = UDim2.new(1, 0, 0, 25)
teleportButton.Position = UDim2.new(0, 0, 0, 55)
teleportButton.BackgroundColor3 = Color3.fromRGB(148, 0, 211)
teleportButton.TextColor3 = Color3.new(1, 1, 1)
teleportButton.Parent = teleportFrame

teleportButton.MouseButton1Click:Connect(function()
    local playerName = teleportInput.Text
    if playerName and playerName ~= "" then
        teleportToPlayer(playerName)
        teleportInput.Text = ""
    end
end)

-- Adjust button positions to avoid overlap
local platformTestBtn = Instance.new("TextButton")
platformTestBtn.Text = "TEST PLATFORMS"
platformTestBtn.Size = UDim2.new(0.8, 0, 0, 25)
platformTestBtn.Position = UDim2.new(0.1, 0, 0, 400) -- Adjusted position
platformTestBtn.BackgroundColor3 = Color3.fromRGB(255, 165, 0) -- Orange
platformTestBtn.TextColor3 = Color3.new(1, 1, 1)
platformTestBtn.Parent = menuFrame

platformTestBtn.MouseButton1Click:Connect(function()
    simulatePlatforms()
end)

-- Discord Button
local discordBtn = Instance.new("TextButton")
discordBtn.Text = "JOIN OUR DISCORD"
discordBtn.Size = UDim2.new(0.8, 0, 0, 30)
discordBtn.Position = UDim2.new(0.1, 0, 0, 430) -- Adjusted position
discordBtn.BackgroundColor3 = Color3.fromRGB(88, 101, 242) -- Discord blue
discordBtn.TextColor3 = Color3.new(1, 1, 1)
discordBtn.Parent = menuFrame

discordBtn.MouseButton1Click:Connect(function()
    -- Create notification
    local discordNotif = Instance.new("ScreenGui")
    discordNotif.Name = "DiscordNotification"
    discordNotif.Parent = CoreGui

    local notifFrame = Instance.new("Frame")
    notifFrame.Size = UDim2.new(0, 250, 0, 60)
    notifFrame.Position = UDim2.new(0.5, -125, 0.2, 0)
    notifFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1)
    notifFrame.BorderSizePixel = 2
    notifFrame.BorderColor3 = Color3.fromRGB(88, 101, 242)
    notifFrame.Parent = discordNotif

    local notifLabel = Instance.new("TextLabel")
    notifLabel.Size = UDim2.new(1, 0, 1, 0)
    notifLabel.BackgroundTransparency = 1
    notifLabel.Text = "Opening Discord...\ndiscord.gg/arielcheats"
    notifLabel.TextColor3 = Color3.new(1, 1, 1)
    notifLabel.TextScaled = true
    notifLabel.Parent = notifFrame
    
    -- Open Discord link
    local success, result = pcall(function()
        game:GetService("StarterGui"):SetCore("OpenBrowserWindow", {
            URL = "https://discord.gg/arielcheats"
        })
    end)
    
    if not success then
        notifLabel.Text = "Failed to open browser\nCopy: discord.gg/arielcheats"
    end
    
    delay(3, function()
        if discordNotif then
            discordNotif:Destroy()
        end
    end)
end)

-- Close Button
local closeBtn = Instance.new("TextButton")
closeBtn.Text = "CLOSE MENU"
closeBtn.Size = UDim2.new(0.8, 0, 0, 30)
closeBtn.Position = UDim2.new(0.1, 0, 0, 470) -- Adjusted position
closeBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
closeBtn.TextColor3 = Color3.new(1, 1, 1)
closeBtn.Parent = menuFrame

closeBtn.MouseButton1Click:Connect(function()
    menuFrame.Visible = false
    menuOpen = false
end)

-- Right Shift detection
UserInputService.InputBegan:Connect(function(input)
    if input.KeyCode == Enum.KeyCode.RightShift then
        menuOpen = not menuOpen
        menuFrame.Visible = menuOpen
        print("Ariel Cheats Menu toggled: " .. tostring(menuOpen))
    end
end)

-- Create FOV Circle
drawings.fovCircle = createFOVCircle()

-- Main Game Loop
RunService.RenderStepped:Connect(function()
    -- Update FOV Circle
    if drawings.fovCircle then
        drawings.fovCircle.Visible = settings.fovCircle
        drawings.fovCircle.Radius = settings.fovSize
        drawings.fovCircle.Position = Vector2.new(mouse.X, mouse.Y + 36)
    end
    
    -- Update ESP
    updateESP()
    
    -- Update Misc features
    if settings.godmode then
        updateGodmode()
    end
    
    if settings.superSpeed then
        updateSuperSpeed()
    end
    
    -- AIMBOT
    if settings.aimbot and not menuOpen then
        if UserInputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
            local target = findTarget()
            if target then
                aimAt(target)
            end
        end
    end
end)

-- Test function to show detected platforms and teams
local function testPlatformDetection()
    print("🔍 Testing platform detection...")
    for _, targetPlayer in pairs(Players:GetPlayers()) do
        local platform = getPlayerPlatform(targetPlayer)
        local teammate = isTeammate(targetPlayer)
        local weapon = getPlayerWeapon(targetPlayer)
        print("🎮 " .. targetPlayer.Name .. " | Platform: " .. platform .. " | Teammate: " .. tostring(teammate) .. " | Weapon: " .. weapon)
    end
    print("✅ Platform detection test completed")
end

-- Run test after 5 seconds
delay(5, testPlatformDetection)

print("🎯 Ariel Cheats v1.4 loaded successfully!")
print("⚡ Features: Aimbot, ESP, FOV Circle, 2D Boxes, Tracers, Skeleton")
print("🎮 IMPROVED: Working Console Detection with Simulation")
print("🤝 NEW: Team ESP - Teammates are hidden when Team Check is enabled")
print("📦 UPDATED: Box ESP now goes from head to toe (like skeleton)")
print("🛡️  NEW MISC: Godmode, Super Speed, Teleport, Gun ESP")
print("🔫 GUN ESP: Auto ON - Shows weapons players are holding")
print("🔧 Controls: Right Shift = Menu, Right Click = Aimbot")
print("📊 Settings: Smoothness=" .. settings.smoothness .. ", FOV=" .. settings.fovSize)
print("🖱️  Drag the menu by clicking and holding the title bar")
print("🧪 Use 'TEST PLATFORMS' button to simulate different platforms")
print("💜 Menu: Purple theme | 🎯 ESP: Original colors")

wait(3)
print("✅ Ariel Cheats system fully operational!")

Features & Information

Universal script FREEE Key for menu: Right Shift Ariel V1.4

Community Comments (2)

ArielservicesArielservicesSep 30, 2025

Told you guys I would cook leave suggestions in my discord at "Https://discord.gg/arielcheats"

ArielservicesArielservicesSep 30, 2025

Forgot to mention if esp doesn't show up in a game go to the esp tab and turn off team check

More Scripts for Universal Scripts