Music Gui
Key Required

Music Gui

Tipis tower 2OnlyThePowerOnlyThePower 4.8K views 306 executesUpdated Aug 30, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•173 lines (5575 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SoundService = game:GetService("SoundService")
local player = Players.LocalPlayer

-- Buat RemoteEvent kalau belum ada
local remote = ReplicatedStorage:FindFirstChild("GunPlaySound")
if not remote then
    remote = Instance.new("RemoteEvent")
    remote.Name = "GunPlaySound"
    remote.Parent = ReplicatedStorage
end

local currentSound -- variabel global untuk menyimpan sound yang sedang dimainkan

-- Fungsi mainkan musik
local function playSound(assetId)
    -- Hentikan dulu musik lama kalau ada
    if currentSound then
        currentSound:Stop()
        currentSound:Destroy()
    end

    local sound = Instance.new("Sound")
    sound.SoundId = "rbxassetid://"..assetId
    sound.Volume = 1
    sound.Parent = SoundService
    sound:Play()
    currentSound = sound

    sound.Ended:Connect(function()
        sound:Destroy()
        currentSound = nil
    end)
    
    print("🎵 Music started! Asset ID:", assetId) -- console developer
end

-- Fungsi stop musik
local function stopSound()
    if currentSound then
        currentSound:Stop()
        currentSound:Destroy()
        currentSound = nil
        print("🛑 Music stopped!")
    end
end

-- GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ServerMusicGUI"
ScreenGui.Parent = player:WaitForChild("PlayerGui")

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 320, 0, 200) -- tambah tinggi untuk tombol stop
mainFrame.Position = UDim2.new(0.5, -160, 0.5, -100)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
mainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = ScreenGui

local uicorner = Instance.new("UICorner")
uicorner.CornerRadius = UDim.new(0, 12)
uicorner.Parent = mainFrame

local uistroke = Instance.new("UIStroke")
uistroke.Parent = mainFrame
uistroke.Thickness = 2
RunService.RenderStepped:Connect(function()
    local time = tick()
    local hue = (time % 5) / 5
    uistroke.Color = Color3.fromHSV(hue, 1, 1)
end)

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,0,0,30)
title.Position = UDim2.new(0,0,0,0)
title.BackgroundTransparency = 1
title.Text = "🎵 Server Music Player"
title.TextColor3 = Color3.fromRGB(255,255,255)
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Parent = mainFrame

local inputBox = Instance.new("TextBox")
inputBox.Size = UDim2.new(1,-20,0,40)
inputBox.Position = UDim2.new(0,10,0,50)
inputBox.PlaceholderText = "Enter Asset ID"
inputBox.BackgroundColor3 = Color3.fromRGB(50,50,50)
inputBox.TextColor3 = Color3.fromRGB(255,255,255)
inputBox.Font = Enum.Font.Gotham
inputBox.TextSize = 16
inputBox.Text = "" -- pastikan kosong saat mulai
inputBox.ClearTextOnFocus = false
inputBox.Parent = mainFrame

local inputCorner = Instance.new("UICorner")
inputCorner.CornerRadius = UDim.new(0,8)
inputCorner.Parent = inputBox

local playButton = Instance.new("TextButton")
playButton.Size = UDim2.new(1,-20,0,40)
playButton.Position = UDim2.new(0,10,0,100)
playButton.Text = "Play Music"
playButton.TextColor3 = Color3.fromRGB(255,255,255)
playButton.BackgroundColor3 = Color3.fromRGB(80,80,80)
playButton.Font = Enum.Font.GothamBold
playButton.TextSize = 16
playButton.Parent = mainFrame

local playCorner = Instance.new("UICorner")
playCorner.CornerRadius = UDim.new(0,8)
playCorner.Parent = playButton

local stopButton = Instance.new("TextButton")
stopButton.Size = UDim2.new(1,-20,0,40)
stopButton.Position = UDim2.new(0,10,0,150)
stopButton.Text = "Stop Music"
stopButton.TextColor3 = Color3.fromRGB(255,255,255)
stopButton.BackgroundColor3 = Color3.fromRGB(120,0,0)
stopButton.Font = Enum.Font.GothamBold
stopButton.TextSize = 16
stopButton.Parent = mainFrame

local stopCorner = Instance.new("UICorner")
stopCorner.CornerRadius = UDim.new(0,8)
stopCorner.Parent = stopButton

local closeButton = Instance.new("TextButton")
closeButton.Size = UDim2.new(0,25,0,25)
closeButton.Position = UDim2.new(1,-30,0,5)
closeButton.Text = "X"
closeButton.TextColor3 = Color3.fromRGB(255,255,255)
closeButton.BackgroundColor3 = Color3.fromRGB(180,0,0)
closeButton.Font = Enum.Font.GothamBold
closeButton.TextSize = 14
closeButton.Parent = mainFrame

local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0,6)
closeCorner.Parent = closeButton

closeButton.MouseButton1Click:Connect(function()
    stopSound()
    ScreenGui:Destroy()
end)

-- Tombol Play
playButton.MouseButton1Click:Connect(function()
    local assetId = tonumber(inputBox.Text)
    if not assetId then return end
    remote:FireServer(assetId)
    playSound(assetId)

    TweenService:Create(playButton,TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),
        {BackgroundColor3=Color3.fromRGB(100,100,100)}):Play()
    wait(0.2)
    TweenService:Create(playButton,TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),
        {BackgroundColor3=Color3.fromRGB(80,80,80)}):Play()
end)

-- Tombol Stop
stopButton.MouseButton1Click:Connect(function()
    stopSound()
    TweenService:Create(stopButton,TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),
        {BackgroundColor3=Color3.fromRGB(160,0,0)}):Play()
    wait(0.2)
    TweenService:Create(stopButton,TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),
        {BackgroundColor3=Color3.fromRGB(120,0,0)}):Play()
end)

Features & Information

Music gui
#musicgui

Community Comments (0)

No comments yet for this script.

More Scripts for Tipis tower 2