As of now my current notification system is made visible, with a given text and then made invisible assuming the notification has not been triggered again. However, problems arise when two notifications appear within a second apart, meaning the first notification can only be seen for a second. Below is the code:

local notifID = 0
local notifGui = fullScreen.Frame.Notification
local function notifyPlr(Msg)
	spawn(function()
		notifGui.Size = UDim2.new(0,0,0,0)
		notifGui.Visible = true
		notifGui.TextLabel.Text = Msg
		notifID = notifID + 1
		local currentID = notifID
		notifGui:TweenSize(UDim2.new(0.35,0,0.175,0),"Out","Elastic",0.3,true)
		wait(3)
		if currentID == notifID then
			notifGui:TweenSize(UDim2.new(0,0,0,0),"In","Back",0.3,true)
			wait(0.3)
			if currentID == notifID then
				notifGui.Visible = false
			end
		end
	end)
end

The checking of IDs compared to current IDs is so that the notification isn't made invisible from a previous notification.

I wish to make a system where the notifications stack on top of each other, with at least 4 slots, but I have no clue where to begin, how would the notification know when to move up, or disappear etc. Thanks

1 comment

0

A basic way to create a stacked notification system is to use a variable that will hold the last notification's position. Then from there, each new notification should add the variable to the new notification's position.