Простой музыкальный плеер для роблокс студио
Музыкальный плеер для роблокс студио который вы можете добавить в вашу игру для фонового воспроизведения музыки с простой установкой.
Код в виде файла с инструкцией можно скачать тут или просто скопировать на нашем сайте.
КАК УСТАНОВИТЬ (обязательно так!):
- Explorer → StarterGui → правый клик → Insert Object → LocalScript
- Открой его, удали старый код, вставь этот целиком.
- Нажми PLAY (F5). Внизу студии открой окно Output (View → Output),
там должны появиться строки [MusicPlayer] — значит скрипт работает.
local Players = game:GetService("Players")
print("[MusicPlayer] старт LocalScript...")
-- LocalScript ДОЛЖЕН быть в StarterGui / StarterPlayerScripts / PlayerGui.
-- Если он в Workspace или как серверный Script — LocalPlayer пустой и UI не появится.
local player = Players.LocalPlayer
if not player then
-- Скрипт запущен как серверный (Script) или не в том месте
error("[MusicPlayer] Это НЕ LocalScript или он не в том месте! Нужно: правый клик по StarterGui → Insert Object → LocalScript.")
end
local playerGui = player:WaitForChild("PlayerGui", 10)
if not playerGui then
error("[MusicPlayer] PlayerGui не найден")
end
local COLOR_PLAY = Color3.fromRGB(46, 204, 113)
local COLOR_STOP = Color3.fromRGB(231, 76, 60)
local COLOR_LOAD = Color3.fromRGB(255, 220, 120)
local COLOR_TEXT = Color3.new(1, 1, 1)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MusicPlayerGui"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
local frame = Instance.new("Frame")
frame.AnchorPoint = Vector2.new(0.5, 1)
frame.Position = UDim2.new(0.5, 0, 1, -10)
frame.Size = UDim2.new(0, 380, 0, 150)
frame.BackgroundColor3 = Color3.fromRGB(28, 28, 40)
frame.BackgroundTransparency = 0.12
frame.BorderSizePixel = 0
frame.Parent = screenGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 10)
corner.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 22)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.Text = "Музыкальный плеер"
title.TextColor3 = COLOR_TEXT
title.TextSize = 15
title.Parent = frame
local box = Instance.new("TextBox")
box.Position = UDim2.new(0, 10, 0, 26)
box.Size = UDim2.new(1, -20, 0, 30)
box.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
box.TextColor3 = COLOR_TEXT
box.PlaceholderColor3 = Color3.fromRGB(140, 140, 140)
box.PlaceholderText = "Введи ID трека (например: 1837555483)"
box.ClearTextOnFocus = true
box.TextSize = 14
box.Font = Enum.Font.Gotham
box.Parent = frame
local status = Instance.new("TextLabel")
status.Position = UDim2.new(0, 10, 0, 60)
status.Size = UDim2.new(1, -20, 0, 20)
status.BackgroundTransparency = 1
status.Font = Enum.Font.Gotham
status.Text = "Ожидание ID..."
status.TextColor3 = COLOR_TEXT
status.TextSize = 13
status.TextXAlignment = Enum.TextXAlignment.Left
status.Parent = frame
local playBtn = Instance.new("TextButton")
playBtn.Position = UDim2.new(0, 10, 0, 86)
playBtn.Size = UDim2.new(1, -140, 0, 30)
playBtn.BackgroundColor3 = COLOR_PLAY
playBtn.Font = Enum.Font.GothamBold
playBtn.Text = "▶ PLAY"
playBtn.TextColor3 = Color3.new(0, 0, 0)
playBtn.TextSize = 14
playBtn.Parent = frame
local stopBtn = Instance.new("TextButton")
stopBtn.Position = UDim2.new(1, -130, 0, 86)
stopBtn.Size = UDim2.new(0, 120, 0, 30)
stopBtn.BackgroundColor3 = COLOR_STOP
stopBtn.Font = Enum.Font.GothamBold
stopBtn.Text = "■ STOP"
stopBtn.TextColor3 = Color3.new(0, 0, 0)
stopBtn.TextSize = 14
stopBtn.Parent = frame
local hint = Instance.new("TextLabel")
hint.Position = UDim2.new(0, 10, 0, 122)
hint.Size = UDim2.new(1, -20, 0, 20)
hint.BackgroundTransparency = 1
hint.Font = Enum.Font.Gotham
hint.Text = "Enter = PLAY. Проверь окно Output (View → Output)"
hint.TextColor3 = Color3.fromRGB(150, 150, 160)
hint.TextSize = 11
hint.TextXAlignment = Enum.TextXAlignment.Left
hint.Parent = frame
local audio = Instance.new("Sound")
audio.Name = "MusicAudio"
audio.Looped = false
audio.Volume = 0.8
audio.Parent = screenGui
local isPlaying = false
local function setStatus(text, color)
status.Text = text
status.TextColor3 = color or COLOR_TEXT
print("[MusicPlayer] статус:", text)
end
local function waitForLoad(sound, timeout)
local t = 0
while t < timeout do
task.wait(0.1)
t += 0.1
if sound.Loaded then
return true
end
if sound.DidFailToLoad then
return false
end
end
return sound.Loaded
end
audio.DidFailToLoad:Connect(function()
isPlaying = false
setStatus("✖ Ошибка: трек не найден или это не музыка (копирайт)", COLOR_STOP)
end)
local function tryPlay()
local id = box.Text:match("%d+")
if not id then
setStatus("✖ Ошибка: введи числовой ID", COLOR_STOP)
return
end
audio:Stop()
isPlaying = false
audio.SoundId = "rbxassetid://" .. id
print("[MusicPlayer] ставлю SoundId:", audio.SoundId)
setStatus("Загрузка трека #" .. id .. "...", COLOR_LOAD)
local ok = waitForLoad(audio, 10)
if audio.DidFailToLoad then
setStatus("✖ Ошибка: трек #" .. id .. " не загрузился", COLOR_STOP)
return
end
if ok then
audio:Play()
isPlaying = true
setStatus("▶ Играет: #" .. id, COLOR_PLAY)
-- Если звука нет при зелёном статусе — это 'заглушка' копирайта:
-- Roblox сам не воспроизводит такой трек. Возьми ID трека без копирайта.
else
setStatus("✖ Ошибка: трек #" .. id .. " не загрузился (таймаут)", COLOR_STOP)
end
end
local function stop()
audio:Stop()
isPlaying = false
setStatus("⏹ Остановлено", COLOR_TEXT)
end
playBtn.Activated:Connect(tryPlay)
stopBtn.Activated:Connect(stop)
box.FocusLost:Connect(function(enter)
if enter then
tryPlay()
end
end)
setStatus("Готово. Введи ID и нажми PLAY", COLOR_TEXT)
print("[MusicPlayer] OK, интерфейс создан")
Информация о плеере
Файлы:
MusicPlayer_LocalScript.luau – главный скрипт (вставляется в LocalScript)
ЧТО УМЕЕТ:
– поле ввода ID трека
– кнопка PLAY (воспроизведение с проверкой загрузки)
– кнопка STOP (остановить)
– индикатор статуса: загрузка / Играет / Ошибка
– Enter в поле = PLAY
КАК УСТАНОВИТЬ (5 минут):
1. Открой Roblox Studio и свой проект.
2. В окне Explorer слева найди StarterPlayer → StarterPlayerScripts.
3. Правый клик по StarterPlayerScripts → Insert Object → LocalScript.
(или + → LocalScript)
4. Открой созданный LocalScript двойным кликом.
5. Выдели весь код в скрипте (Ctrl+A) и удали его.
6. Открой файл MusicPlayer_LocalScript.luau в Блокноте,
скопируй весь код (Ctrl+A, Ctrl+C) и вставь в скрипт (Ctrl+V).
7. Нажми Play вверху (F5) и протестируй.
ГДЕ ВЗЯТЬ ID ТРЕКА:
– Зайди в игру Roblox → раздел “Библиотека” (Library) → аудио.
– Или в браузере: roblox.com/library → Category: Audio.
– Открой трек — в адресе будет roblox.com/library/<ID>/Название.
Это число после /library/ и есть ID.
– Введи ID в поле и нажми PLAY.
ВАЖНО ПРО РОБЛОКС:
– Roblox удалил большинство популярной музыки с копирайтом.
Играть будут только треки, добавленные в Библиотеку аудио.
– Если трек с копирайтом – Play молчит, но статус показывает успех.
Это особенность Roblox (заглушка вместо музыки).
– ID должно быть чисто числовым. Если вставить не-число – будет ошибка.
СОВЕТ:
– Чтобы громче/тише – измени audio.Volume в коде (0.8 = 80%).






