-- === HORN BUTTON DRAGGABLE - Rails Unlimited === local player = game.Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") -- Criar ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "HornButtonGui" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Frame principal (arrastável) local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 80, 0, 80) frame.Position = UDim2.new(0.85, 0, 0.7, 0) frame.BackgroundTransparency = 0.3 frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true frame.Parent = screenGui -- Deixar redondo local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 40) corner.Parent = frame -- Ícone de buzina (emoji) local hornLabel = Instance.new("TextLabel") hornLabel.Size = UDim2.new(1, 0, 1, 0) hornLabel.BackgroundTransparency = 1 hornLabel.Text = "📯" -- Ou use "🛎️" ou "🎺" hornLabel.TextColor3 = Color3.fromRGB(255, 215, 0) hornLabel.TextScaled = true hornLabel.Font = Enum.Font.GothamBold hornLabel.Parent = frame -- Efeito ao clicar local function playHorn(holding) -- Tenta tocar a buzina do trem atual (método mais compatível com Rails Unlimited) local character = player.Character or player.CharacterAdded:Wait() local tool = character:FindFirstChildOfClass("Tool") if tool then for _, sound in pairs(tool:GetDescendants()) do if sound:IsA("Sound") and (sound.Name:lower():find("horn") or sound.Name:lower():find("whistle")) then if holding then sound:Play() sound.Looped = true else sound:Stop() sound.Looped = false sound:Play() end return end end end -- Fallback: simular tecla H (melhor método para Rails Unlimited) game:GetService("VirtualInputManager"):SendKeyEvent(true, Enum.KeyCode.H, false, game) wait(0.05) if not holding then game:GetService("VirtualInputManager"):SendKeyEvent(false, Enum.KeyCode.H, false, game) end end -- Conexões do botão local isHolding = false frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isHolding = true playHorn(true) -- segura a buzina end end) frame.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isHolding = false playHorn(false) -- solta end end) -- Clique simples também funciona (spam sem cooldown) frame.MouseButton1Click:Connect(function() playHorn(false) end) print("✅ Botão de Buzina criado! Arraste ele pela tela. Clique ou segure para buzinar!")