Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

What is wrong with my Music Module? It creates errors.

Asked by 3 years ago

Hello, I am experiencing an error while programming a music script. I don't know how to make it loop but, I'm currentley experiencing an error when I am getting the music ID's from the module I made to store audio information. I will attach the scripts here:

local MusicModule = require(game.ServerScriptService.RestaurantFramework.Music.PlaylistModule)
local Music = game.ReplicatedStorage.Music
local isPlaying = false

function PlaySongs()
    for i, SongFile in pairs(MusicModule.Playlist) do   
        isPlaying = true
        Music.SoundId = ("rbxassetid://"..SongFile.ID)
        Music.Volume = SongFile.VolumeLevel
        Music:Play()
        wait(SongFile.Length)
        print(SongFile, "finished!")
        isPlaying = false
    end
end

PlaySongs()

This script errors with:

ServerScriptService.RestaurantFramework.Music.MusicScript:8: attempt to index number with 'ID'

My Module contains the following:

local PlaylistModule = {}

PlaylistModule.Playlist = {
    {
        Title = "Dance Monkey",
        VolumeLevel =  1,
        AudioLength = 150.386,
        ID = 4517047588
    },
        Title = "Aku Suka Body Mama Muda Roblox",
        VolumeLevel =  1,
        AudioLength = 388.78,
        ID = 4847222635
}

return PlaylistModule

Am I missing something because, they both try to run at the same time but, I want the songs to play one by and then play the next after its finished. Is there a method to achieve this? I'm also struggling to make it loop so, if anyone can help I'd appreciate it.

Answer this question