I’ve been trying to make a notification appear whenever you level up or reach a new milestone. Whenever the player levels up or reaches a new milestone it does appear and plays the tween that makes it disappear but whenever it disappears it becomes visible again and replays the tween. I don’t know how to fix this bug, so any help will be very appreciated.
Here is what the bug looks like
location:
Script:
local TweenService = game:GetService("TweenService")
local Player = game.Players.LocalPlayer
local Level = Player.PlayerInfo.Levels.Level
local Milestones = {
["Iron Pickaxe"] = 7,
["Gold Pickaxe"] = 12,
}
game.Workspace.ExpPart.ClickDetector.MouseClick:Connect(function()
for milestone, value in pairs(Milestones) do
if Level.Value == value then
local Template = game:GetService("ReplicatedStorage").Templates.Levels:Clone()
Template.Text = milestone.." Unlocked"
Template.Parent = script.Parent
print(milestone.." Unlocked , Level "..value.."+")
TweenService:Create(Template, TweenInfo.new(3, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {Position = UDim2.new(0.823, 0, 0.79, 0), TextTransparency = 1, TextStrokeTransparency = 1}):Play()
wait(3)
Template:Destroy()
else
local Template = game:GetService("ReplicatedStorage").Templates.Levels:Clone()
Template.Text = "Level up!"
Template.Parent = script.Parent
print("Level up!")
TweenService:Create(Template, TweenInfo.new(3, Enum.EasingStyle.Linear, Enum.EasingDirection.In), {Position = UDim2.new(0.823, 0, 0.79, 0), TextTransparency = 1, TextStrokeTransparency = 1}):Play()
wait(3)
Template:Destroy()
end
end
end)