Logomsdoors

Notification API

How to use the msdoors Notification API to send custom notifications in-game.

Introduction

The Notification API lets you send custom achievement-style notifications in-game with different visual styles, sounds, colors, and content.

The Notification API is independent from the main msdoors script. You can load it separately at any time.


Loading the API

local notify = loadstring(game:HttpGet("https://raw.githubusercontent.com/Msdoors/Msdoors.gg/refs/heads/main/Scripts/Msdoors/Notification/Source.lua"))()

After loading, you can call it like this:

notify("msdoors", {
    Title = "Hello!",
    Description = "This is a notification.",
    Time = 5
})

Parameters

ParameterTypeDescription
TitlestringMain title of the notification
DescriptionstringSubtitle or description text
ReasonstringExtra info line (not all styles support it)
Imagestringrbxassetid, asset ID number, or image URL
Soundstringrbxassetid, asset ID number, or audio URL
ColorColor3Accent color (border, glow, text)
TimenumberHow long the notification stays (in seconds)

Styles

msdoors

The default msdoors achievement style. Supports Title, Description, Reason, Image, Color, Sound, and Time.

notify("msdoors", {
    Title = "Achievement Unlocked",
    Description = "You did something cool.",
    Reason = "msdoors",
    Image = "rbxassetid://6023426923",
    Color = Color3.fromRGB(255, 222, 189),
    Time = 5
})

Doors

Uses the native DOORS achievement UI. Requires the DOORS game UI to be present.

notify("Doors", {
    Title = "Achievement Unlocked",
    Description = "You survived.",
    Reason = "DOORS",
    Image = "rbxassetid://6023426923",
    Color = Color3.fromRGB(255, 255, 255),
    Time = 5
})

Paradox

Uses the Paradox game achievement UI. Requires the Paradox game UI to be present.

notify("Paradox", {
    Title = "Achievement Unlocked",
    Description = "Nice work.",
    Time = 5
})

MParadox

A built-in recreation of the Paradox achievement style. Works anywhere, no game UI required. Supports stacking multiple notifications.

notify("MParadox", {
    Title = "Achievement Unlocked",
    Description = "Works in any game.",
    Image = "rbxassetid://6023426923",
    Color = Color3.fromRGB(255, 222, 189),
    Time = 5
})

Abyssal

A minimal slide-in notification bar from the right side of the screen.

notify("Abyssal", {
    Title = "Notice",
    Description = "Something happened.",
    Color = Color3.fromRGB(255, 100, 100),
    Time = 5
})

You can also customize the background and font color:

notify("Abyssal", {
    Title = "Notice",
    Description = "Custom colors.",
    Color = Color3.fromRGB(0, 200, 255),
    BackgroundColor = Color3.fromRGB(20, 20, 30),
    FontColor = Color3.fromRGB(255, 255, 255),
    Time = 4
})

Roblox

Uses the native Roblox notification system.

notify("Roblox", {
    Title = "Hello",
    Description = "This uses the Roblox notification system.",
    Time = 5
})

Linoria / Obsidian

Uses the Linoria or Obsidian UI library notification. Requires the Library global to be loaded beforehand.

notify("Linoria", {
    Title = "Hello",
    Description = "Linoria notification.",
    Time = 5
})

Custom Sounds

You can pass any of these as the Sound parameter:

Sound = "rbxassetid://4590657391"
Sound = "4590657391"
Sound = "https://example.com/sound.mp3"

Audio URLs are downloaded and cached locally on first use. Supported formats depend on your executor.


Custom Images

You can pass any of these as the Image parameter:

Image = "rbxassetid://6023426923"
Image = "6023426923"
Image = "https://example.com/image.png"

Colors

Color = Color3.fromRGB(255, 222, 189)
Color = Color3.fromRGB(0, 255, 255)
Color = Color3.fromRGB(255, 100, 100)
Color = Color3.new(1, 1, 1)

Full Example

local notify = loadstring(game:HttpGet("https://raw.githubusercontent.com/Msdoors/Msdoors.gg/refs/heads/main/Scripts/Msdoors/Notification/Source.lua"))()
 
notify("msdoors", {
    Title = "Welcome!",
    Description = "msdoors Notification API loaded.",
    Reason = "Have fun.",
    Image = "rbxassetid://6023426923",
    Sound = "rbxassetid://4590657391",
    Color = Color3.fromRGB(0, 200, 255),
    Time = 6
})

Some styles like Doors and Paradox require the respective game's UI to be present. If the UI is not found, the notification will fail silently.

On this page