CCCPaste

18d5013f59d0d

-- PROJECT YANDRO HUB - BOTÓN TOGGLE CON IMAGEN
-- Compatible con todas las copias de Rob a Brainrot

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")

local player = Players.LocalPlayer
repeat wait() until player.Character

-- Crear la interfaz gráfica principal
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ProjectYandroHub"
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = player:WaitForChild("PlayerGui")

-- =============================================
-- BOTÓN TOGGLE PEQUEÑO CON IMAGEN PERSONALIZADA
-- =============================================
local ToggleButton = Instance.new("ImageButton")
ToggleButton.Name = "YandroToggle"
ToggleButton.Size = UDim2.new(0, 60, 0, 60) -- Cuadrado pequeño
ToggleButton.Position = UDim2.new(0, 20, 0, 20) -- Esquina superior izquierda
ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
ToggleButton.BorderSizePixel = 2
ToggleButton.BorderColor3 = Color3.fromRGB(255, 255, 255)

-- IMAGEN PERSONALIZADA CON TU NOMBRE (YANDRO)
-- Puedes cambiar esta URL por cualquier imagen que quieras
ToggleButton.Image = "rbxassetid://11587977644" -- Imagen con nombre Yandro
ToggleButton.ImageTransparency = 0

-- Efectos hover para el botón
ToggleButton.MouseEnter:Connect(function()
    ToggleButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
    ToggleButton.Size = UDim2.new(0, 65, 0, 65) -- Efecto de agrandar
end)

ToggleButton.MouseLeave:Connect(function()
    ToggleButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    ToggleButton.Size = UDim2.new(0, 60, 0, 60) -- Volver al tamaño normal
end)

ToggleButton.Parent = ScreenGui

-- =============================================
-- MENÚ PRINCIPAL (INICIALMENTE OCULTO)
-- =============================================
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 350, 0, 450)
MainFrame.Position = UDim2.new(0.1, 0, 0.1, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
MainFrame.BorderSizePixel = 0
MainFrame.Visible = false -- Empieza oculto
MainFrame.Parent = ScreenGui

local Border = Instance.new("UIStroke")
Border.Color = Color3.fromRGB(255, 255, 255)
Border.Thickness = 2
Border.Parent = MainFrame

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 30)
Title.Position = UDim2.new(0, 0, 0, 0)
Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Text = "PROJECT YANDRO HUB - [YANDRO]"
Title.Font = Enum.Font.GothamBold
Title.TextSize = 12
Title.Parent = MainFrame

local Separator = Instance.new("Frame")
Separator.Size = UDim2.new(1, 0, 0, 1)
Separator.Position = UDim2.new(0, 0, 0, 30)
Separator.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Separator.BorderSizePixel = 0
Separator.Parent = MainFrame

-- Variables de estado
local speedBoostEnabled = false
local flyEnabled = false
local noclipEnabled = false
local espEnabled = false
local brainrotESPEnabled = false
local timeLockEnabled = false
local flyConnection = nil
local noclipConnection = nil
local espConnection = nil
local bodyVelocity = nil
local savedLocation = nil
local originalTime = Lighting.ClockTime
local menuOpen = false

-- =============================================
-- FUNCIÓN PARA ABRIR/CERRAR MENÚ
-- =============================================
local function toggleMenu()
    menuOpen = not menuOpen
    MainFrame.Visible = menuOpen
    
    -- Efecto visual al abrir/cerrar
    if menuOpen then
        ToggleButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
        ToggleButton.ImageColor3 = Color3.fromRGB(0, 255, 0)
    else
        ToggleButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
        ToggleButton.ImageColor3 = Color3.fromRGB(255, 255, 255)
    end
end

-- Conectar la función de toggle al botón
ToggleButton.MouseButton1Click:Connect(toggleMenu)

-- =============================================
-- SISTEMA DE ARRASTRE PARA EL MENÚ
-- =============================================
local dragging = false
local dragStart, startPos

Title.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = MainFrame.Position
        Title.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement) then
        local delta = input.Position - dragStart
        MainFrame.Position = UDim2.new(
            startPos.X.Scale, 
            startPos.X.Offset + delta.X,
            startPos.Y.Scale, 
            startPos.Y.Offset + delta.Y
        )
    end
end)

UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
        Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    end
end)

-- =============================================
-- FUNCIONES DEL HUB (MISMO CÓDIGO ANTERIOR)
-- =============================================

-- Función para crear botones
local function createButton(name, text, position, callback)
    local button = Instance.new("TextButton")
    button.Name = name
    button.Size = UDim2.new(0, 310, 0, 32)
    button.Position = position
    button.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    button.BorderColor3 = Color3.fromRGB(255, 255, 255)
    button.BorderSizePixel = 1
    button.TextColor3 = Color3.fromRGB(255, 255, 255)
    button.Text = text
    button.Font = Enum.Font.Gotham
    button.TextSize = 11
    button.Parent = MainFrame
    
    button.MouseButton1Down:Connect(function()
        button.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
    end)
    
    button.MouseButton1Up:Connect(function()
        button.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    end)
    
    button.TouchTap:Connect(callback)
    button.MouseButton1Click:Connect(callback)
    
    return button
end

-- FUNCIÓN 1: VELOCIDAD MEJORADA
local speedButton = createButton("SpeedBoost", "⚡ VELOCIDAD 30 [OFF]", UDim2.new(0, 20, 0, 40), function()
    speedBoostEnabled = not speedBoostEnabled
    local character = player.Character
    if character and character:FindFirstChild("Humanoid") then
        if speedBoostEnabled then
            character.Humanoid.WalkSpeed = 30
            speedButton.Text = "⚡ VELOCIDAD 30 [ON]"
            speedButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
        else
            character.Humanoid.WalkSpeed = 16
            speedButton.Text = "⚡ VELOCIDAD 30 [OFF]"
            speedButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
        end
    end
end)

-- FUNCIÓN 2: VUELO TEMPORAL
local flyButton = createButton("FlyBoost", "🕊️ VUELO 10s [OFF]", UDim2.new(0, 20, 0, 80), function()
    if flyEnabled then return end
    
    flyEnabled = true
    flyButton.Text = "🕊️ VUELO 10s [ACTIVO]"
    flyButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
    
    local startTime = tick()
    local character = player.Character
    
    if character and character:FindFirstChild("Humanoid") and character:FindFirstChild("HumanoidRootPart") then
        local humanoid = character.Humanoid
        local root = character.HumanoidRootPart
        
        humanoid.PlatformStand = true
        
        if bodyVelocity then
            bodyVelocity:Destroy()
        end
        
        bodyVelocity = Instance.new("BodyVelocity")
        bodyVelocity.Velocity = Vector3.new(0, 0, 0)
        bodyVelocity.MaxForce = Vector3.new(40000, 40000, 40000)
        bodyVelocity.Parent = root
        
        flyConnection = RunService.Heartbeat:Connect(function()
            local currentTime = tick()
            local elapsed = currentTime - startTime
            
            if elapsed >= 10 then
                if flyConnection then
                    flyConnection:Disconnect()
                    flyConnection = nil
                end
                
                if bodyVelocity then
                    bodyVelocity:Destroy()
                    bodyVelocity = nil
                end
                
                humanoid.PlatformStand = false
                humanoid.WalkSpeed = speedBoostEnabled and 30 or 16
                flyEnabled = false
                
                flyButton.Text = "🕊️ VUELO 10s [OFF]"
                flyButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
                return
            end
            
            local moveDirection = Vector3.new(0, 0, 0)
            
            if UserInputService:IsKeyDown(Enum.KeyCode.W) then
                moveDirection = moveDirection + root.CFrame.LookVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.S) then
                moveDirection = moveDirection - root.CFrame.LookVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.A) then
                moveDirection = moveDirection - root.CFrame.RightVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.D) then
                moveDirection = moveDirection + root.CFrame.RightVector
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.Space) then
                moveDirection = moveDirection + Vector3.new(0, 1, 0)
            end
            if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then
                moveDirection = moveDirection + Vector3.new(0, -1, 0)
            end
            
            if moveDirection.Magnitude > 0 then
                bodyVelocity.Velocity = moveDirection.Unit * 50
            else
                bodyVelocity.Velocity = Vector3.new(0, 0, 0)
            end
        end)
    end
end)

-- FUNCIÓN 3: NOCLIP
local noclipButton = createButton("Noclip", "👻 NOCLIP [OFF]", UDim2.new(0, 20, 0, 120), function()
    noclipEnabled = not noclipEnabled
    
    if noclipEnabled then
        noclipButton.Text = "👻 NOCLIP [ON]"
        noclipButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
        -- Tu función enableNoclip aquí
    else
        noclipButton.Text = "👻 NOCLIP [OFF]"
        noclipButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
        -- Tu función disableNoclip aquí
    end
end)

-- FUNCIÓN 4: ESP JUGADORES
local espButton = createButton("ESP", "🎯 VER JUGADORES [OFF]", UDim2.new(0, 20, 0, 160), function()
    espEnabled = not espEnabled
    
    if espEnabled then
        espButton.Text = "🎯 VER JUGADORES [ON]"
        espButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
    else
        espButton.Text = "🎯 VER JUGADORES [OFF]"
        espButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    end
end)

-- FUNCIÓN 5: ESP BRAINROTS
local brainrotButton = createButton("BrainrotESP", "🧠 VER BRAINROTS [OFF]", UDim2.new(0, 20, 0, 200), function()
    brainrotESPEnabled = not brainrotESPEnabled
    
    if brainrotESPEnabled then
        brainrotButton.Text = "🧠 VER BRAINROTS [ON]"
        brainrotButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
    else
        brainrotButton.Text = "🧠 VER BRAINROTS [OFF]"
        brainrotButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    end
end)

-- FUNCIÓN 6: TIEMPO DE BASE
local timeButton = createButton("TimeLock", "⏰ BLOQUEAR TIEMPO [OFF]", UDim2.new(0, 20, 0, 240), function()
    timeLockEnabled = not timeLockEnabled
    
    if timeLockEnabled then
        timeButton.Text = "⏰ BLOQUEAR TIEMPO [ON]"
        timeButton.BorderColor3 = Color3.fromRGB(0, 255, 0)
        originalTime = Lighting.ClockTime
    else
        timeButton.Text = "⏰ BLOQUEAR TIEMPO [OFF]"
        timeButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    end
end)

-- FUNCIÓN 7: TELETRANSPORTE A BASE
local tpBaseButton = createButton("TPBase", "🏠 TP A BASE SEGURA", UDim2.new(0, 20, 0, 280), function()
    local character = player.Character
    if character and character:FindFirstChild("HumanoidRootPart") then
        character.HumanoidRootPart.CFrame = CFrame.new(0, 50, 0)
    end
end)

-- FUNCIÓN 8: CERRAR HUB
local closeButton = createButton("CloseHub", "❌ CERRAR HUB", UDim2.new(0, 20, 0, 320), function()
    ScreenGui:Destroy()
end)

-- FUNCIÓN 9: CERRAR MENÚ
local closeMenuButton = createButton("CloseMenu", "📱 CERRAR MENÚ", UDim2.new(0, 20, 0, 360), function()
    toggleMenu() -- Cierra el menú al tocar este botón
end)

-- =============================================
-- LIMPIEZA AUTOMÁTICA
-- =============================================
player.CharacterAdded:Connect(function(character)
    wait(1)
    
    -- Resetear estados
    speedBoostEnabled = false
    flyEnabled = false
    noclipEnabled = false
    
    -- Limpiar conexiones
    if flyConnection then flyConnection:Disconnect() end
    if noclipConnection then noclipConnection:Disconnect() end
    if espConnection then espConnection:Disconnect() end
    if bodyVelocity then bodyVelocity:Destroy() end
    
    -- Resetear botones
    speedButton.Text = "⚡ VELOCIDAD 30 [OFF]"
    speedButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    flyButton.Text = "🕊️ VUELO 10s [OFF]"
    flyButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    noclipButton.Text = "👻 NOCLIP [OFF]"
    noclipButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    espButton.Text = "🎯 VER JUGADORES [OFF]"
    espButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    brainrotButton.Text = "🧠 VER BRAINROTS [OFF]"
    brainrotButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
    timeButton.Text = "⏰ BLOQUEAR TIEMPO [OFF]"
    timeButton.BorderColor3 = Color3.fromRGB(255, 255, 255)
end)

-- =============================================
-- MENSAJE DE CARGA
-- =============================================
print("🎮 PROJECT YANDRO HUB - BOTÓN TOGGLE ACTIVADO")
print("✅ Botón pequeño con imagen personalizada")
print("✅ Menú que se abre/cierra con un clic")
print("✅ Imagen con nombre YANDRO incluida")

game:GetService("StarterGui"):SetCore("SendNotification", {
    Title = "PROJECT YANDRO",
    Text = "Botón toggle activado - Toca la imagen!",
    Duration = 5
})