LR: ID Cards 
Bring immersion, authenticity, and utility to your RedM server with a fully featured identification system. From registering a legal identity with clerks across the states to carrying a physical ID item with a scannable number, this script is built for serious roleplay with robust UX, logging, and deep configuration.
Showcase: Watch Here
Store: Legends Studio Tebex
Support: Legends Studio Discord
Features at a Glance
Dynamic Registration Offices
- Configurable city offices (Valentine, Blackwater, Saint Denis, Rhodes, Annesburg, Strawberry, Van Horn, Armadillo, Tumbleweed)
- NPC clerks with fallback models
- Automatic office hours with synced blips & NPC availability
- Clean blips with proper sprites, scaling, and colors
Authentic ID System
- Register with Name, DOB, Height, Eye/Hair Color, Marks, Residence, and Photo
- Era-based ID format:
PREFIX–YEAR–NUMBER(e.g., NH-1885-00042) - Per-city registrations & pricing
- Buy replacement copies directly at the office
Usable Inventory Item
- VORP item
id_cardwith DB-linked metadata - Use to view or show ID to nearby players
- Metadata verification prevents spoofing
Immersive Photo Studio
- Take immersive in-game ID photos with camera & lighting controls
- Supports hosted image URLs (Discord/Imgur/CDN)
- Strict validation & safe cleanup
Discord Logging
- Configurable webhooks & styled embeds
- Logs: new IDs, copies purchased, admin actions, errors
Multi-language Support
- Locale framework (English included)
Configuration Options
- Toggle debug mode
- Set current era year (affects ID formatting)
- Customize city prices, NPCs, hours, prompts & blips
- Residence → Prefix mapping (e.g., Valentine → NH)
- Adjustable keybinds
Security & Stability
- URL/domain/extension validation
- Metadata verification
- Anti-spam & safe fallbacks
- Robust cleanup of cameras, prompts & props
Example Config & Logs
Config = {}
Config.Debug = false
Config.Lang = 'en'
Config.CurrentEraYear = 1885
Config.CopyPrice = 5
Config.itemName = "id_card"
Config.Keys = {
E = 0x41AC83D1,
R = 0xE3BF959B,
G = 0xA1ABB953,
F = 0x26A18F47,
enter = 0x43DBF61F,
cancel = 0x3F4DC0EF,
close = 0x156F7119,
}
Config.ResidenceToPrefix = {
['Valentine'] = 'NH', ['Van Horn'] = 'NH', ['Annesburg'] = 'NH',
['Blackwater'] = 'WE', ['Strawberry'] = 'WE',
['Rhodes'] = 'LE', ['Saint Denis'] = 'LE',
['Tumbleweed'] = 'NA', ['Armadillo'] = 'NA'
}
Config.Register = {
Valentine = {
name = "Valentine Clerk Office",
location = vector3(-174.3, 633.3, 114.1),
city = "Valentine",
description = "New Hanover County Clerk Office",
promptTitle = "Valentine Clerk Office",
enableblip = true,
blips = -1747825963,
blipColorOpen = joaat('BLIP_MODIFIER_MP_COLOR_32'),
blipColorclose = joaat('BLIP_MODIFIER_LOCKED'),
blipName = "Valentine Clerk Office",
NpcAllowed = true,
NpcModel = "u_m_m_rhdtrainstationworker_01",
NpcPosition = vector4(-175.3, 632.0, 113.04, 319.25),
OfficeHoursAllowed = true,
OfficeOpen = 7,
OfficeClose = 22,
distOpen = 2.5,
price = 5.00
},
}
Logs = {}
Logs.EnableDiscordLogs = true
Logs.Webhooks = {
idCreation = "",
idCopyPurchase = "",
general = ""
}
Logs.BotSettings = {
name = "ID Card Registration",
avatar = ""
}
Logs.Colors = {
success = 3066993,
warning = 16776960,
error = 15158332,
info = 3447003
}
Logs.Types = {
ID_CREATED = {
enabled = true,
webhook = "idCreation",
color = "success",
title = "🆔 New ID Card Created"
},
ID_COPY_PURCHASED = {
enabled = true,
webhook = "idCopyPurchase",
color = "info",
title = "📋 ID Card Copy Purchased"
},
ID_SYSTEM_ERROR = {
enabled = true,
webhook = "general",
color = "error",
title = "❌ ID System Error"
},
ID_ADMIN_ACTION = {
enabled = true,
webhook = "general",
color = "warning",
title = "⚠️ ID Admin Action"
}
}
Resource Information
| Code is accessible | No (Escrow Protected) |
| Subscription-based | No |
| Lines (approximately) | ~2000+ |
| Requirements | VORP Framework, MySQL |
| Support | Yes (Discord) |
Step into the era of identity – bring realism to your server today with Legends: ID Cards!
