For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration Helps

SS-IdentityCard Setup & Configuration Guide

SS-IdentityCard is an identity card system for RedM. It supports real ID cards, fake ID cards, national registration offices, immigration stamps, fines integration, licenses integration, and multiple optional integrations with other Sirec Studio scripts.

This guide is written for server owners who want to install, configure, and test the script safely, even without deep Lua knowledge.


Features Overview

SS-IdentityCard includes:

  • Real identity card registration at national registration offices.

  • Player information updates after registration.

  • Real ID card copies.

  • Fake identity card creation, fake copies, and fake ID removal.

  • Identity card display for the owner and nearby players.

  • Immigration stamp in/out support.

  • Fine payment integration.

  • Optional integrations with licenses, housing, boats, player shops, train transport, archives, and jobs panel systems.

  • Multi-language support.


Dependencies

Required

  • SS-Core

  • oxmysql

Used By Default

  • menuapi

  • vorp:TipBottom, used for notifications.

Optional Integrations

  • SS-Archives

  • SS-MedicArchives

  • SS-Licenses

  • SS-Housing

  • SS-PlayerShops

  • SS-Boats

  • SS-TrainTransport

  • SS-Primary

  • SS-JoinScene

If you do not use an optional integration, disable it in config.lua.


Installation

1. Add The Resource

Place the script in your server resources folder:

Keep the resource folder name exactly:

2. Import SQL

Import the main SQL file:

If your existing table is old and does not include immigration or fines fields, also check:

The main database table is:

It stores identifier data, character ID, record ID, real and fake identity data, image URL, immigration status, and fines total.

3. Start Order

Recommended start order:

4. Restart The Server

After importing SQL and checking the start order, restart the server and test the registration flow in-game.


Main Files

  • fxmanifest.lua: Resource manifest.

  • config.lua: Main configuration.

  • l/l.lua: Translations.

  • c/c.lua: Client logic.

  • s/s.lua: Server logic.

  • UI/UI.html: Identity card UI page.


Languages

Languages are configured in:

Included languages:

  • EN

  • IT

  • ES

  • FR

  • DE

  • PT

  • RU

  • RO

Example:

If an invalid language is set, the script falls back to EN.


First Configuration

Open:

The file is grouped into clear sections for general settings, card settings, fake ID settings, integrations, offices, registration behavior, and notifications.

General Settings

  • Dev: Use true while testing. Use false on live servers.

  • Language: Translation language used by the script.

  • Key: Key used to open office interactions.

  • Align: Menu alignment, usually "left" or "right".

  • ServerName: Authority or server name displayed on the ID card.

Real ID Card Settings

  • IdentityCardItem: Item used to show a real identity card.

  • PayRegistration: Registration price. Use false to make registration free.

  • PayCopyRegistration: Copy price. Use false to make copies free.

  • PayInfoUpdate: Information update price. Use false to make updates free.

  • AllowImageInGame: Allows players to upload or update their ID image URL in-game.

Fake ID Settings

  • FakeIdentityCardItem: Usable item for fake identity cards.

  • PayFakeId: Price for registering a fake ID.

  • PayFakeCopyId: Price for a fake ID copy.

  • Only1FakeId: Controls whether players can have only one fake ID at a time.

  • PayDeleteFakeId: Cost to remove a fake identity.

Job Privacy Settings

  • BlackListJobs: Jobs hidden from the visible ID card.

  • ReplaceBlackListJobs: Replacement text shown instead of blacklisted jobs.

  • FakeIdDefaultJob: Job text always shown on fake IDs.

  • PoliceJobs: Jobs allowed to access protected identity interactions. Use false to allow everyone.


Optional Integrations

Only enable integrations for scripts that are actually installed on your server:

If you do not have one of these scripts, set the related option to false.


National Registration Offices

Registration offices are configured in:

Example:

Important fields:

  • City: City printed on IDs registered at this office.

  • FakeServices: true opens fake ID services instead of real ID services.

  • Name: Office name in the menu or blip.

  • Desc: Menu subtitle.

  • NpcModel: NPC model used at the office.

  • Pos: Office coordinates in x, y, z, heading format.

  • Distance: Interaction range.

  • Blip: Blip hash or false.

Add A New Office

Copy an existing office and change only the values:

After adding a new office, restart the resource/server and test the NPC, blip, menu, and registration flow.


Real ID Flow

Real ID registration works like this:

  1. The player goes to a real national registration office.

  2. The player opens the menu.

  3. The player selects register, update, or copy.

  4. The UI opens.

  5. The script validates age, hair, eyes, height, weight, and payment.

  6. The server inserts or updates data in ss_identitycard.

  7. The identity card item is given to the player.

Required Registration Data

The registration UI expects:

  • First name

  • Last name

  • Date of birth

  • City

  • Eye color

  • Hair color

  • Weight

  • Height

  • Sex

  • Generated record ID


Fake ID Flow

Fake ID registration works like this:

  1. The player goes to an office where FakeServices = true.

  2. The player registers a fake identity.

  3. The script checks duplicate names and payment.

  4. The server inserts the fake card with isfake = 1.

  5. The fake identity card item is given to the player.

Fake IDs always show the configured job text from:


Immigration Stamp

The script supports an immigration stamp item:

Behavior:

  • When another player is showing an ID in stamp mode, the viewer can stamp it.

  • Card status changes between in and out.

  • Immigration status is stored in the database.


Fines

If archive integrations are enabled, SS-IdentityCard can:

  • Read fines from archive tables.

  • Show fines in the menu.

  • Let players pay fines.

  • Optionally send the money to a society/bank integration.

Related config:


Exports

Get Your Real ID

Returns the loaded real ID table, or false.

Get Your Fake ID

Returns the loaded fake ID table, or false.

Get One ID By Record ID

Returns one identity card from the server, or false.


Server Callback Examples

Get All IDs

Get One Specific ID


Manual Register Example


Admin & JoinScene Integrations

SS-IdentityCard also supports these flows:

  • Admins can open the registration UI for a player.

  • SS-JoinScene can open a forced registration UI flow.

These flows are already handled by the script and should not need changes unless you customize the external resources.


Troubleshooting

Check:

  • menuapi.

  • SS-Core.

  • Office distance and coordinates.

  • NPC and blip config.

Player Cannot Register

Check:

  • Age range settings such as MinYears and MaxYears.

  • Money settings.

  • Item names.

  • Database table import.

Card Item Exists But Does Not Show

Check:

  • Usable item name in config.

  • Metadata id.

  • Item registration in your inventory/core.

Image Is Not Visible

Check:

  • AllowImageInGame.

  • Valid image URL.

  • UI resource loading correctly.

Fake ID Menu Should Not Exist

Check offices where:

Fines Do Not Show

Check:

  • SSArchives.

  • SSMedicArchives.

  • Related archive tables and resources.


Before going live, confirm:

  • SQL has been imported.

  • SS-Core starts before SS-IdentityCard.

  • Dev = false.

  • Language is selected.

  • Optional integrations are disabled if missing.

  • Item names are checked.

  • Real registration office works.

  • Fake registration office works.

  • ID show/use flow works.

  • Immigration stamping works.

  • Fine payment works.


Editing Rules For Beginners

When editing Lua:

  • Strings use quotes: "text".

  • Table entries usually end with a comma: ,.

  • true enables a feature.

  • false disables a feature.

  • Numbers do not use quotes: 100.

  • Item names usually use quotes: "itemname".

  • Coordinates usually look like {x, y, z, heading}.

Bad:

Good:

Bad, if you do not actually use SS-Housing:

Good:

Last updated