Run it
Copy the script and paste it into your executor.
Players = :()
RunService = :()
TweenService = :()
HttpService = :()
CoreGui = :()
player = Players.LocalPlayer
guiParent
(()
gethui
guiParent = ()
cloneref
guiParent = (CoreGui)
guiParent = player:()
)
notificationGui = .()
notificationGui.Name = .. HttpService:():(, )
notificationGui.ResetOnSpawn =
notificationGui.ZIndexBehavior = .ZIndexBehavior.Sibling
(() notificationGui.Parent = guiParent )
activeNotifications = {}
CONSTANTS = {
WIDTH = ,
HEIGHT = ,
PADDING = ,
THEME_COLOR = .(, , ),
BG_COLOR = .(, , ),
TEXT_COLOR = .(, , ),
SUBTEXT_COLOR = .(, , ),
ANIMATION_SPEED =
}
()
index, data (activeNotifications)
targetY = -CONSTANTS.PADDING - ((index - ) * (CONSTANTS.HEIGHT + CONSTANTS.PADDING))
TweenService:(data.Container, TweenInfo.(CONSTANTS.ANIMATION_SPEED, .EasingStyle.Back, .EasingDirection.Out), {
Position = .(, -CONSTANTS.PADDING, , targetY)
}):()
(titleText, messageText, duration)
duration = duration
container = .()
container.Size = .(, CONSTANTS.WIDTH, , CONSTANTS.HEIGHT)
container.Position = .(, , , -CONSTANTS.PADDING)
container.AnchorPoint = .(, )
container.BackgroundTransparency =
container.Parent = notificationGui
frame = .()
frame.Size = .(, , , )
frame.Position = .(, , , )
frame.AnchorPoint = .(, )
frame.BackgroundColor3 = CONSTANTS.BG_COLOR
frame.BorderSizePixel =
frame.Parent = container
.(, frame).CornerRadius = .(, )
stroke = .()
stroke.Color = .(, , )
stroke.Thickness =
stroke.Parent = frame
topAccent = .()
topAccent.Size = .(, , , )
topAccent.BackgroundColor3 = CONSTANTS.THEME_COLOR
topAccent.BorderSizePixel =
topAccent.Parent = frame
titleLabel = .()
titleLabel.Size = .(, -, , )
titleLabel.Position = .(, , , )
titleLabel.BackgroundTransparency =
titleLabel.Text = titleText
titleLabel.TextColor3 = CONSTANTS.TEXT_COLOR
titleLabel.Font = .Font.GothamBold
titleLabel.TextSize =
titleLabel.TextXAlignment = .TextXAlignment.Left
titleLabel.Parent = frame
messageLabel = .()
messageLabel.Size = .(, -, , )
messageLabel.Position = .(, , , )
messageLabel.BackgroundTransparency =
messageLabel.Text = messageText
messageLabel.TextColor3 = CONSTANTS.SUBTEXT_COLOR
messageLabel.Font = .Font.GothamMedium
messageLabel.TextSize =
messageLabel.TextWrapped =
messageLabel.TextXAlignment = .TextXAlignment.Left
messageLabel.TextYAlignment = .TextYAlignment.Top
messageLabel.Parent = frame
closeBtn = .()
closeBtn.Size = .(, , , )
closeBtn.Position = .(, -, , )
closeBtn.AnchorPoint = .(, )
closeBtn.BackgroundColor3 = .(, , )
closeBtn.Text =
closeBtn.TextColor3 = .(, , )
closeBtn.Font = .Font.GothamBold
closeBtn.TextSize =
closeBtn.AutoButtonColor =
closeBtn.Parent = frame
.(, closeBtn).CornerRadius = .(, )
dots = {}
closed =
i = ,
dot = .()
dot.Size = .(, , , )
dot.Position = .(, + (i - ) * , , -)
dot.AnchorPoint = .(, )
dot.BackgroundColor3 = CONSTANTS.THEME_COLOR
dot.BorderSizePixel =
dot.Parent = frame
.(, dot).CornerRadius = .(, )
dots[i] = dot
.((i - ) * , ()
closed
TweenService:(dot, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.InOut, -, ), {
Position = .(, dot.Position.X.Offset, , -)
}):()
)
notifData = {Container = container}
.(activeNotifications, , notifData)
()
TweenService:(frame, TweenInfo.(, .EasingStyle.Sine, .EasingDirection.InOut, -, ), {
Rotation = ,
Position = .(, , , -)
}):()
closeBtn.MouseEnter:(()
TweenService:(closeBtn, TweenInfo.(), {BackgroundColor3 = .(, , ), TextColor3 = .(, , )}):()
)
closeBtn.MouseLeave:(()
TweenService:(closeBtn, TweenInfo.(), {BackgroundColor3 = .(, , ), TextColor3 = .(, , )}):()
)
()
closed
closed =
targetIndex = .(activeNotifications, notifData)
targetIndex
.(activeNotifications, targetIndex)
()
tweenOut = TweenService:(container, TweenInfo.(CONSTANTS.ANIMATION_SPEED, .EasingStyle.Sine, .EasingDirection.In), {
Position = .(, , container.Position.Y.Scale, container.Position.Y.Offset)
})
tweenOut:()
tweenOut.Completed:()
container:()
closeBtn.MouseButton1Click:(CloseNotification)
interval = duration /
i = , , -
.(interval * ( - i), ()
closed dots[i]
popTween = TweenService:(dots[i], TweenInfo.(, .EasingStyle.Back, .EasingDirection.In), {
Size = .(, , , ),
BackgroundTransparency =
})
popTween:()
i ==
popTween.Completed:()
closed ()
)
flagtables = {
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] = ,
[] =
}
(z)
z = z:(, )
z = z:(, )
z = z:(, )
z = z:(, )
z = z:(, )
z = z:(, )
z
(, , )
.()
setfflag
(, , )
(, , )
.(()
start = .()
injectedCount =
k, v (flagtables)
i = , RunService.RenderStepped:()
(()
formatted = (k)
(formatted)
(formatted, v)
injectedCount = injectedCount +
(k)
(k, v)
injectedCount = injectedCount +
)
elapsed = .(, .() - start)
(, injectedCount .. .. elapsed .. , )
()
()
()
()
( .. .(, injectedCount) .. )
( .. elapsed .. )
()
)

Universal