I'm trying to change an audio that's playing using a module script and a server script.
Module Script Code:
local MusicFuncs = {}
local TweenService = game:GetService("TweenService")
function MusicFuncs:ChangeMusic(Music)
print("changing music")
print("music: "..tostring(Music))
local Music = workspace.Music:GetChildren()
local tweenInfo = TweenInfo.new(
1,
Enum.EasingStyle.Linear,
Enum.EasingDirection.InOut,
0,
false,
0
)
for i, v in pairs(Music) do
local tween = TweenService:Create(v, tweenInfo, {Volume = 0})
tween:Play()
end
wait(1)
for i, v in pairs(Music) do
v.Playing = false
v.TimePosition = 0
end
Music.Playing = true
local tween = TweenService:Create(Music, tweenInfo, {Volume = 1})
tween:Play()
end
return MusicFuncs
Server Script Code:
local MusicFuncs = require(workspace.MusicScript)
local Music = workspace.Music.HolographicLandscape
local Ambience = workspace.Music.Ambience
local function Touch(hit)
print("touch")
local hum = hit.Parent:FindFirstChild("Humanoid")
if hum ~= nil then
print("hum touch")
if hit.Name == "HumanoidRootPart" then
print("humrootpart touch")
MusicFuncs:ChangeMusic(Music)
end
end
end
local function Untouch(hit)
print("untouch")
local hum = hit.Parent:FindFirstChild("Humanoid")
if hum ~= nil then
print("hum untouch")
if hit.Name == "HumanoidRootPart" then
print("humrootpart untouch")
MusicFuncs:ChangeMusic(Ambience)
end
end
end
script.Parent.Touched:Connect(Touch)
script.Parent.TouchEnded:Connect(Untouch)
Errors:
Unable to cast value to Object
Stack Begin
Script 'Workspace.MusicScript', Line 33 - function ChangeMusic
Script 'Workspace.MusicRegions.HolographicLandscape.TouchScript', Line 12 - function Touch
