Here im trying to have it so if a player likes or dislikes there will be for example: "2 votes" or "2 dislikes" but the value stays at zero. also the main parts of tthe code im struggling to repair are the dislike and like buttons and how they dont change value of votes.
local Player = game.Players.LocalPlayer
local Frame = script.Parent.Inner
local VoteBar = Frame:WaitForChild("VoteBar")
local Music = workspace:WaitForChild("Music")
local UIS = game:GetService("UserInputService")
local Storage = game:GetService("ReplicatedStorage")
local vote_allow = true
local MIN_VOTES = 13
function moveBar(val)
val = math.clamp(tonumber(val) or 1, 0, 1)
VoteBar.Green:TweenSize(UDim2.new(val, 0, 0, 10), "Out", "Quad", 0.5, true)
end
function vote(like)
if vote_allow then
vote_allow = false
Frame.Like.Selected = like
Frame.Dislike.Selected = not like
Storage.Events.RateMusic:FireServer(like)
wait(1)
vote_allow = true
end
end
function resetVote()
Frame.Like.Count.Text, Frame.Dislike.Count.Text = "0", "0"
Frame.Like.Selected, Frame.Dislike.Selected = false, false
VoteBar.SkipLine.Visible = false
moveBar(1)
end
resetVote()
updateMetadata()
Storage.Events.UpdateVotes.OnClientEvent:connect(function(ratio, reset, data)
if reset then
resetVote()
else
moveBar(ratio)
if data then
Frame.Like.Count.Text = data.Likes
Frame.Dislike.Count.Text = data.Dislikes
VoteBar.SkipLine.Visible = data.Likes + data.Dislikes >= MIN_VOTES
end
end
end)
Music.Metadata.Artist.Changed:connect(updateMetadata)
Music.Metadata.Artist.RequestedBy.Changed:connect(updateMetadata)
Music.Metadata.Title.Changed:connect(updateMetadata)
Music.DJ.AutoDJ.Changed:connect(updateMetadata)
Frame.Like.MouseButton1Down:connect(function()
vote(true)
end)
Frame.Dislike.MouseButton1Down:connect(function()
vote(false)
end)
Frame.Like.MouseEnter:connect(function()
Frame.Like.ImageTransparency = 0
end)
Frame.Like.MouseLeave:connect(function()
Frame.Like.ImageTransparency = 0.5
end)
Frame.Dislike.MouseEnter:connect(function()
Frame.Dislike.ImageTransparency = 0
end)
Frame.Dislike.MouseLeave:connect(function()
Frame.Dislike.ImageTransparency = 0.5
end)
Frame.Like.Changed:connect(function(prop)
if prop == "Selected" then
Frame.Like.Image = Frame.Like.Selected and "decal" or "like decal here"
end
end)
Frame.Dislike.Changed:connect(function(prop)
if prop == "Selected" then
Frame.Dislike.Image = Frame.Dislike.Selected and "decal here" or "dislike decal here"
end
end)
