YYY Hub
Key RequiredUniversal

YYY Hub

Universal ScriptDanielscripter789018Danielscripter789018 307 views 328 executesUpdated Oct 18, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•323 lines (9508 chars)
local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))()

local Window = Rayfield:CreateWindow({
   Name = "YYY Hub Mobile",
   Icon = nil,
   LoadingTitle = "YYY Hub Mobile",
   LoadingSubtitle = "by Vercels Team - Otimizado para Android",
   Theme = "Default",
   ToggleUIKeybind = "K",

   ConfigurationSaving = {
      Enabled = true,
      FolderName = "YYYHub_Mobile_Configs",
      FileName = "YYY_Hub_Mobile_Settings"
   },

   KeySystem = false,
})

-- Abas principais
local OP = Window:CreateTab("OP", 4483362458)
local Farm = Window:CreateTab("Farm", 4483362458)
local Combat = Window:CreateTab("Combat", 4483362458)
local Mobile = Window:CreateTab("Mobile", 4483362458)

-- Variáveis globais
local FlyMobileAtivo = false
local AimbotAtivo = false
local NoclipAtivo = false
local AutoFarmAtivo = false

-- 🎵 SISTEMA DE ÁUDIO ALL
local AudioAll = {
    Tocando = false,
    AudioId = "",
    Loop = false,
    Sounds = {}
}

-- 🎵 FUNÇÃO PARA TOCAR ÁUDIO PARA TODOS
local function TocarAudioAll(audioId, loop)
    if not audioId or audioId == "" then
        Rayfield:Notify({
            Title = "❌ Erro no Áudio",
            Content = "Digite um ID de áudio válido!",
            Duration = 4,
            Image = nil
        })
        return
    end

    AudioAll.Tocando = true
    AudioAll.AudioId = audioId
    AudioAll.Loop = loop
    
    -- Limpar sons antigos
    for _, sound in pairs(AudioAll.Sounds) do
        if sound then
            sound:Stop()
            sound:Destroy()
        end
    end
    AudioAll.Sounds = {}

    Rayfield:Notify({
        Title = "🎵 Áudio All",
        Content = "Enviando áudio para todos os jogadores!" .. (loop and " (Loop)" or ""),
        Duration = 5,
        Image = nil
    })

    -- Criar áudio para cada jogador
    for _, player in pairs(game.Players:GetPlayers()) do
        if player.Character then
            local humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
            if humanoidRootPart then
                -- Criar o som
                local sound = Instance.new("Sound")
                sound.SoundId = "rbxassetid://" .. audioId
                sound.Volume = 1
                sound.Looped = loop
                sound.Parent = humanoidRootPart
                
                -- Configurar propriedades do som
                sound.RollOffMinDistance = 0
                sound.RollOffMaxDistance = 500
                sound.RollOffMode = Enum.RollOffMode.InverseTaper
                
                table.insert(AudioAll.Sounds, sound)
                
                -- Tocar o som
                sound:Play()
                
                -- Conectar evento para quando o som terminar
                if not loop then
                    sound.Ended:Connect(function()
                        sound:Destroy()
                    end)
                end
            end
        end
    end

    -- Se for loop, criar thread de verificação
    if loop then
        spawn(function()
            while AudioAll.Tocando and AudioAll.Loop do
                wait(1)
                -- Verificar se algum jogador novo entrou
                for _, player in pairs(game.Players:GetPlayers()) do
                    if player.Character and not player.Character:FindFirstChildOfClass("Sound") then
                        local humanoidRootPart = player.Character:FindFirstChild("HumanoidRootPart")
                        if humanoidRootPart then
                            local sound = Instance.new("Sound")
                            sound.SoundId = "rbxassetid://" .. AudioAll.AudioId
                            sound.Volume = 1
                            sound.Looped = true
                            sound.Parent = humanoidRootPart
                            sound:Play()
                            table.insert(AudioAll.Sounds, sound)
                        end
                    end
                end
            end
        end)
    end
end

-- 🎵 FUNÇÃO PARA PARAR ÁUDIO
local function PararAudioAll()
    AudioAll.Tocando = false
    AudioAll.Loop = false
    
    for _, sound in pairs(AudioAll.Sounds) do
        if sound then
            sound:Stop()
            sound:Destroy()
        end
    end
    AudioAll.Sounds = {}

    Rayfield:Notify({
        Title = "⏹️ Áudio Parado",
        Content = "Todos os áudios foram parados!",
        Duration = 3,
        Image = nil
    })
end

-- 🎵 FUNÇÃO PARA TOCAR ÁUDIO NO SERVIDOR (mais eficaz)
local function TocarAudioServidor(audioId, loop)
    if not audioId or audioId == "" then
        Rayfield:Notify({
            Title = "❌ Erro no Áudio",
            Content = "Digite um ID de áudio válido!",
            Duration = 4,
            Image = nil
        })
        return
    end

    AudioAll.Tocando = true
    AudioAll.AudioId = audioId
    AudioAll.Loop = loop

    -- Método mais eficaz: criar som no Workspace
    local sound = Instance.new("Sound")
    sound.SoundId = "rbxassetid://" .. audioId
    sound.Volume = 1
    sound.Looped = loop
    sound.Name = "YYYHubAudio"
    sound.Parent = workspace
    
    -- Configurar para ser ouvido em todo o mapa
    sound.RollOffMinDistance = 0
    sound.RollOffMaxDistance = 10000
    sound.RollOffMode = Enum.RollOffMode.Linear
    
    table.insert(AudioAll.Sounds, sound)
    sound:Play()

    Rayfield:Notify({
        Title = "🎵 Áudio no Servidor",
        Content = "Áudio tocando em todo o servidor!" .. (loop and " (Loop)" : ""),
        Duration = 5,
        Image = nil
    })

    -- Se não for loop, destruir quando terminar
    if not loop then
        sound.Ended:Connect(function()
            sound:Destroy()
        end)
    end
end

-- === ABA OP ===
local SectionMain = OP:CreateSection("⚡ Funções Principais")

-- 🎵 SEÇÃO ÁUDIO ALL
local SectionAudio = OP:CreateSection("🎵 Áudio All")

-- Input para ID do áudio
local InputAudioId = OP:CreateInput({
    Name = "🎵 ID do Áudio",
    PlaceholderText = "Cole o ID da música aqui...",
    RemoveTextAfterFocusLost = false,
    Callback = function(Text)
        AudioAll.AudioId = Text
        Rayfield:Notify({
            Title = "🎵 ID Definido",
            Content = "ID do áudio: " .. Text,
            Duration = 3,
            Image = nil
        })
    end
})

-- Botão Play Once
local ButtonPlayAudio = OP:CreateButton({
    Name = "▶️ Play Áudio (Uma Vez)",
    Callback = function()
        TocarAudioAll(AudioAll.AudioId, false)
    end
})

-- Botão Play Loop
local ButtonPlayLoop = OP:CreateButton({
    Name = "🔁 Play Áudio (Loop)",
    Callback = function()
        TocarAudioAll(AudioAll.AudioId, true)
    end
})

-- Botão Play no Servidor
local ButtonPlayServidor = OP:CreateButton({
    Name = "🌐 Play no Servidor Todo",
    Callback = function()
        TocarAudioServidor(AudioAll.AudioId, true)
    end
})

-- Botão Parar Áudio
local ButtonStopAudio = OP:CreateButton({
    Name = "⏹️ Parar Todos os Áudios",
    Callback = PararAudioAll
})

-- Dropdown com músicas populares
local DropdownMusicas = OP:CreateDropdown({
    Name = "🎶 Músicas Populares",
    Options = {
        "Rick Roll - 27697743",
        "Giga Chad - 9047378326", 
        "Megalovania - 27697217",
        "Among Us Drip - 7110179471",
        "Sea Shanty - 6467930713",
        "Never Gonna Give You Up - 27697243"
    },
    CurrentOption = "Rick Roll - 27697743",
    Callback = function(Option)
        -- Extrair apenas o ID numérico
        local audioId = string.match(Option, "%d+")
        if audioId then
            AudioAll.AudioId = audioId
            InputAudioId:Set(audioId)
            Rayfield:Notify({
                Title = "🎵 Música Selecionada",
                Content = Option,
                Duration = 3,
                Image = nil
            })
        end
    end
})

-- Informações sobre áudio
local ParagraphAudioInfo = OP:CreateParagraph({
    Title = "🎵 Como usar Áudio All",
    Content = "1. Cole o ID do áudio ou selecione uma música\n2. Clique em Play para tocar uma vez\n3. Clique em Loop para repetir\n4. Use 'Servidor Todo' para maior alcance\n5. Clique em Parar para silenciar"
})

-- ... (o resto do código anterior permanece igual - Fly Mobile, Aimbot, etc.)

local ToggleFlash = OP:CreateToggle({
    Name = "⚡ Flash (Velocidade)",
    CurrentValue = false,
    Callback = function(Value)
        local player = game.Players.LocalPlayer
        if player and player.Character and player.Character:FindFirstChild("Humanoid") then
            if Value then
                player.Character.Humanoid.WalkSpeed = 40
                Rayfield:Notify({
                    Title = "⚡ Flash Ativado",
                    Content = "Velocidade aumentada para 40!",
                    Duration = 3,
                    Image = nil
                })
            else
                player.Character.Humanoid.WalkSpeed = 16
                Rayfield:Notify({
                    Title = "⚡ Flash Desativado",
                    Content = "Velocidade resetada para 16!",
                    Duration = 3,
                    Image = nil
                })
            end
        end
    end
})

-- ... (restante das funções mobile do código anterior)

-- Notificação de inicialização
Rayfield:Notify({
    Title = "🎉 YYY Hub Mobile Carregado!",
    Content = "Novo: Sistema de Áudio All! 🎵\nAgora você pode tocar músicas para todos!",
    Duration = 6,
    Image = nil
})

-- Carregar configurações
Rayfield:LoadConfiguration()

Features & Information

Key: YYy

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts