I am making a sword and I want an unsheath sound
Server script unsheath code:
EquippedEvent.OnServerEvent:Connect(function(player, Tool)
Tool.Blade.Unsheath:Play()
local hasSword = "user_"..player.userId.."_hasSword"
--[[if database:GetAsync(hasSword) ~= true then
database:SetAsync(hasSword, true)
end]]
end)
local script:
script.Parent.Equipped:Connect(function()
EquippedEvent:FireServer(TOOL)
end)
It does not play the first time equipped but does afterward. How do I fix and why is this happening to me?

2 comments
You're letting the client decide when to save data? That's never a good practice.
Where