Лови
local Players = game:GetService("Players")
local SoundService = game:GetService("SoundService")
local player = Players.LocalPlayer
local playerData = player:FindFirstChild("leaderstats") or Instance.new("Folder", player)
playerData.Name = "leaderstats"
local volumeValue = playerData:FindFirstChild("Volume") or Instance.new("NumberValue", playerData)
volumeValue.Name = "Volume"
volumeValue.Value = volumeValue.Value == 0 and 50 or volumeValue.Value
local happySong = SoundService:WaitForChild("Happy Song")
local percText = script.Parent.perc
local function updateVolume()
percText.Text = volumeValue.Value .. "%"
happySong.Volume = volumeValue.Value / 100
end
local function changeVolume(delta)
volumeValue.Value = math.clamp(volumeValue.Value + delta, 0, 100)
end
script.Parent.Plus.MouseButton1Click:Connect(function() changeVolume(5) end)
script.Parent.Minus.MouseButton1Click:Connect(function() changeVolume(-5) end)
volumeValue.Changed:Connect(updateVolume)
updateVolume()
script.Parent.perc.Text = perc .. "%"
local function Plus()
perc += 5
game:GetService("SoundService"):WaitForChild("Happy Song").Volume += 0.05
script.Parent.perc.Text = perc .. "%"
end
local function Minus()
perc -= 5
game:GetService("SoundService"):WaitForChild("Happy Song").Volume -= 0.05
script.Parent.perc.Text = perc .. "%"
end
script.Parent.Plus.MouseButton1Click:Connect(function()
if perc < 100 then
Plus()
end
end)
script.Parent.Minus.MouseButton1Click:Connect(function()
if perc > 0 then
Minus()
end
end)
Однако, после смерти персонажа скрипт начинает свою работу заново (к примеру: игрок выставил громкость на 20%, однако после его смерти и возрождения громкость вернулась на круги своя)