◉ Banner Notify | Best Way To Notify!


Banner Notify | Best way To Notify!


image
image


Previews :iphone:


This Banner Notification is composed with 3 Elements!
Those elements are the Header, Description, and the Icon

Animation :running_woman:

2023-03-10 00-14-11


Notices :warning:

image


Simple Notification :point_up_2:

Announcement :loudspeaker:

and pretty much more…!

Introduction :scroll:


Banner Notifications is intuitive and customizable. You can easily notify a player for what they have done or whatnot.

Setup🔧


image

The BannerNotification_Storage should be placed in the ReplicatedStorage while the BannerNotification is in the StarterGui.

With this setup, you can now require the module on a Script, LocalScript or ModuleScript

Documentation :paperclip:


Requiring the Module:

local BannerNotificationModule = require(game:GetService("ReplicatedStorage").BannerNotification_Storage.BannerNotificationModule)

BannerNotificationModule:Notify(header, description, icon, duration, configs, player)

local BannerNotificationModule = require(game:GetService("ReplicatedStorage").BannerNotification_Storage.BannerNotificationModule)

local configs= {
	.3, 							-- Background Transparency
	Color3.fromRGB(0, 0, 0), 		-- Background Color
	
	0, 								-- Content Transparency
	Color3.fromRGB(255, 255, 255), -- Content Color
}

BannerNotificationModule:Notify("Header", "Content / Message", "rbxassetid://11326670020", 5, configs)

:Notify() Arguments:

Arguments Description Type
header The big text of the notification string
message The small and translucent text of the notification string
icon The image that represents the idea of the notification string
duration How long will the notification shown number
configs Table of configurations (optional) table
player player to show the notification (server only) player

If you require the module on LocalScript then you do not need to comply the player argument.

BannerNotificationModule.NumberOfActiveNotifications()

local BannerNotificationModule = require(game:GetService("ReplicatedStorage").BannerNotification_Storage.BannerNotificationModule)

print(BannerNotificationModule.NumberOfActiveNotifications()) -- 0 because no notifications is active

:NumberOfActiveNotifications()) Arguments:

Arguments Description Type
player player in which we get its active notifications (server only) player

If you require the module on LocalScript then you do not need to comply the player argument.

Updates👋


  • Update 1a
    – Removed Unnecessary APIs in the module
    – Added optional player agument in the module:NumberOfActiveNotifications()
    – Added Testing Grounds so you can try it!

  • Update 2.0
    Longer Notifications are now possible and the notification will resize!
    – Configurations in the module! Now you can modify the Background Color and the Content Transparency!
    – Smoother Animations

Conclusion :wave:


Pros:

  • Can be called on Script, LocalScript, and ModuleScript
  • Configurable design
  • Intuitive
  • Nice Animations

Cons:

  • Notifications that are too long may look distorted and stretched
  • Not Clickable

Any feedbacks are appreciated :thought_balloon::sparkling_heart:


Made with love, toast
:heart:

233 Likes

I love it, I’ll definitely use it!

1 Like

Great! Is there any way you could make a playground for testing it for yourself?

2 Likes

I have a question, might you create a version taht resizes based on size?

This is great, I’ll use this in my projects

@blve_hxrizon i got this error message from the module and idk how to fix it

1 Like

nvm i fixed it sorry for the ping

oh sorry, module.IsThereActiveNotifciation() currently accessible on the client. I’ll fix it :smiley:

UPDATE 1A :exclamation::

  • Removed Unnecessary APIs in the module
  • Added optional player agument in the module:NumberOfActiveNotifications()
  • Added Testing Grounds so you can try it!
  • Updated the Documentation due to addition of argument in the :NumberOfActiveNotifications()

UPDATE YOUR MODEL :bell:

I have a thing for you, so there’s this cons:

And I think I have the solution, put this wherever you are creating the banner:

if #message > 100 < 200 then
banner.Size = (IDK, you choose)
elseif #message > 200 then
banner.Size = (same as above)

I don’t have any idea of why someone would need more than 200 pieces of text, but you know how to continue

Just use AutomaticSizeX. It’s easier than what you proposed, and is more scalable.

1 Like

Sorry, I don’t know about that, sorry for my incompetence…

If I dont pass a player will it send to all players in the game?

(post deleted by author)

make the testing grounds uncopylocked

1 Like

the player argument is only required if you required the module on Server. Not supplying a player will return an error.

is there a way we can make it send to all players while doing on server?

you can do is:

for i, plrs in pairs(game.Players:GetPlayers()) do
     module:Notify("This server is shutting down", "This server is not up to date!", "rbxassetid://11430238660", 10, plrs)
end
2 Likes

the thing is this ui uses SizeConstraint and it will not scale whether i like it or not even the autosize is on by X

Can we use this for giving hints and stuff?