Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать рандомное воспроизведение звука в роблокс студио

片尺巳工乚 从升乂 Ученик (109), на голосовании 1 неделю назад
Всем привет, я создаю игру в роблокс студио, мне нужен скрипт на рандомное воспроизведение различных звуков, например скрип пола, звуки шагов и т.д, помогите пожалуйста.
Голосование за лучший ответ
Паша Техник Знаток (456) 1 месяц назад
Скрипт:
-- Получаем доступ к ReplicatedStorage
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SoundsFolder = ReplicatedStorage:WaitForChild("Sounds")

-- Функция для воспроизведения случайного звука
local function playRandomSound()
-- Получаем все звуки из папки
local sounds = SoundsFolder:GetChildren()

-- Проверяем, есть ли звуки
if #sounds == 0 then
warn("Нет доступных звуков для воспроизведения.")
return
end

-- Выбираем случайный звук
local randomSound = sounds[math.random(1, #sounds)]

-- Создаём экземпляр звука и воспроизводим его
local sound = randomSound:Clone()
sound.Parent = game.Workspace
sound:Play()

-- Удаляем звук после воспроизведения
sound.Ended:Wait()
sound:Destroy()
end

-- Запускаем воспроизведение каждые 5 секунд
while true do
playRandomSound()
wait(5) -- Задержка между воспроизведениями
end

Как использовать:
Создай новый Script в ServerScriptService.
Вставьте данный код в созданный скрипт.
Добавьте нужные звуковые файлы в папку "Sounds" внутри папки ReplicatedStorage.

Пояснение к коду:
Скрипт извлекает все звуки из папки "Sounds" в ReplicatedStorage.
Каждые 5 секунд случайный звук воспроизводится. Можно изменить это время, изменив значение в функции wait(5).
Звук удаляется из пространства Workspace после окончания воспроизведения.
больше не чат гпт ???? Мыслитель (8194) 1 месяц назад
 local Sounds = { 
-- Путь к звуковым файлам внутри игры
"rbxassetid://YourSoundID1", -- Замените YourSoundID1 на ID вашего звука
"rbxassetid://YourSoundID2", -- Замените YourSoundID2 на ID вашего звука
"rbxassetid://YourSoundID3", -- И так далее для всех ваших звуков
-- ...
}

local SoundParent = workspace -- Где будут размещены Sound объекты. Можно изменить на game.Workspace.YourPart, если нужно привязать звуки к определённой части.


local function PlayRandomSound()
-- Выбираем случайный звук из таблицы
local randomSoundId = Sounds[math.random(1, #Sounds)]

-- Создаем новый Sound объект
local sound = Instance.new("Sound")
sound.SoundId = randomSoundId
sound.Parent = SoundParent
sound.Volume = 1 -- Регулируйте громкость по необходимости
sound.PlayOnRemove = true -- Запускает звук, когда объект добавляется в workspace

-- Удаляем Sound объект после воспроизведения, чтобы избежать утечки памяти
sound.Ended:Connect(function()
sound:Destroy()
end)

sound.Parent = SoundParent -- Добавляем звук в workspace, чтобы он воспроизвелся (благодаря PlayOnRemove = true)
end


-- Пример использования: воспроизводить случайный звук каждые 5-10 секунд
while true do
wait(math.random(5, 10))
PlayRandomSound()
end


-- Альтернативный пример: воспроизводить случайный звук при нажатии кнопки
local part = workspace.YourPart -- Замените YourPart на название вашей части
part.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then -- Проверяем, что коснулся игрок
PlayRandomSound()
end
end)


-- Еще один пример: воспроизведение случайного звука при срабатывании RemoteEvent
game.ReplicatedStorage.YourRemoteEvent.OnServerEvent:Connect(function(player)
PlayRandomSound()
end)
Похожие вопросы