📋Noticeboard
A lightweight noticeboard system for RedM designed to work with VORP. This page walks you through first setup, translations, and moderation.
⚡ First Start
Place noticeboards
Edit config.lua
and define your board locations inside Config.Boards
. Each board entry contains coordinates and optional blip settings:
x, y, z
→ world position of the board.createBlips
→ show or hide a map blip for this board.blipsName
→ the blip name.blipsSprite
→ the blip icon (joaat hash).
Boards with the same ID (e.g : "boards-1") share the same set of announcements.
Prepare translations
In config.lua
, two areas can be customized:
UI texts in
Config.Txt
.UI language in
Config.NUILang
(supported: fr, en, de, it, es, pt).
🧩 Configuration
In config.lua
, you will find the main settings:
Config.DEBUG = true -- Enable or disable debug logs
Config.SpamSeconds = 2 -- Cooldown between actions
Config.ExpireDays = 14 -- Auto-expiration time for ads
Config.OpenKey = keys["U"] -- Key to open the board
Config.DiscordWebHook = "..." -- Discord webhook for logs
Config.DiscordName = "BT_NOTICEBOARD"
Config.AdminsGroup = { "mod", "admin", "superadmin" }
Config.Objects = { -- Allowed board object models
"mp005_p_mp_bountyboard01x",
"mp005_p_mp_bountyboard02x",
}
Config.Boards = {
["boards-1"] = { -- boards ID -> Boards with the same ID share the same set of announcements.
{ x = -1801.97, y = -358.48, z = 163.82, createBlips = true, blipsName = "Notice Board", blipsSprite = joaat("blip_job_board") },
{ x = -767.01, y = -1260.93, z = 43.58, createBlips = true, blipsName = "Notice Board", blipsSprite = joaat("blip_job_board") },
}
}
Config.NUILang = "en" -- Supported: fr, en, pt, it, es, de
🌍 UI Localization
Config.NUILang = "en"
Config.Txt = {
OpenPrompt = "View the board",
Board = "Notice Board",
Spam = "Please do not spam.",
Error = "An error has occurred.",
Already = "Only one ad is allowed.",
Published = "Your ad has been published and will automatically be removed after " .. Config.ExpireDays .. " days.",
Removed = "Your ad has been deleted.",
Right = "You do not have the rights to do this.",
AdminRight = "Your admin rights allow you to delete ads and create as many as you want."
}
Config.NUILang
selects the language used by the NUI.Config.Txt
holds the text displayed to players.
🔒 Moderation & Admin Rights
Player rules
By default, each player can only have one active announcement at a time.
Announcements are automatically removed after
Config.ExpireDays
.
Admin privileges
Admins are defined in
Config.AdminsGroup
.These groups can:
Create unlimited announcements.
Delete any player’s announcement instantly.
Discord logging
Every publish or removal can be logged via
Config.DiscordWebHook
.Webhook messages are sent as embeds, with the name defined in
Config.DiscordName
.
✅ Quick Checklist
Boards configured in
Config.Boards
.Translations updated in
Config.Txt
.Config.NUILang
set to the desired language.Discord webhook configured if you want logs.
Admin groups set correctly in
Config.AdminsGroup
.
You’re ready to launch the script and start posting announcements on your noticeboards.
Last updated