Browse docs
Player Documents
Identity and license cards
Open Player interactions → Documents → View identity or the license action in the Radial. The identity card shows the selected character's name, date of birth, gender and height when supplied by the framework. The license card shows name, photo and selected held licenses. Missing information stays unavailable; an empty list does not create a license.
The portrait captures a local copy of the player's current appearance without hat or glasses. The real ped is not changed. Photos are cached only on the viewing client for five minutes, with up to 32 character entries; character unload and resource stop clear the cache. No photo is uploaded or stored in a database. A neutral portrait remains if capture fails. Both cards omit signatures. Long license lists scroll independently using the mouse wheel over the list, the visible scrollbar, or Tab followed by the arrow keys. The bottom data zone restyles the respective card's fields. It does not generate a document number, expiry date or check digits, and is not a validated ICAO machine-readable document. There are no close buttons. Press Return / Enter or Escape to close a shared card. It also closes automatically after 60 seconds. Moving it through configuration does not restart that timer.
Config.PlayerIdentityCard and these exports before using the examples.
Older resource packages do not expose the new exports.Access and integrations
Viewing your own document does not require a job inspection permission. Inspecting another player requires the corresponding identity or licenses permission, including the configured job, grade and duty rules. Both players must be within 2.5 metres and in the same routing bucket. The server rechecks the selected character and access after provider work. Document inspection does not ask for consent.
Native integrations for jsfour-idcard, um-idcard and qbx_idcard remain available through
config/player_actions.lua. An authorized native card opens its provider's interface.
The settings below apply to the shared card, not an external interface. Document inspection
does not create, renew, consume or transfer card items and does not grant licenses.
Position, size and optional branding
In /jobconfig, choose Jobs Base → Player interactions → Identity card.
Saved configurator values take precedence over file defaults.
If Config.UseIngameConfigurator is disabled, edit Config.PlayerIdentityCard in
sky_jobs_base/config/config.lua instead.
| Setting | Values and behaviour |
|---|---|
position | left, center, right or custom; default right. |
x, y | Card centre in screen percentages, 0–100; used for custom. |
scale | Size in percent, 50–150; default 85. It also fits smaller viewports. |
issuer | Optional issuer name. Empty by default. |
logo | Optional filename inside config/documents, such as logo.svg. Empty by default. |
licenseTypes | Exact license type IDs visible on Sky's license card. Default: dmv, drive, drive_bike, drive_truck, driver, weapon, business. Use { "*" } for all held types; an empty list hides all. |
Logo filenames cannot be URLs or directory paths. Use letters, numbers, hyphens or underscores
followed by a file extension. No Sky logo, watermark or issuer text appears by default.
Live configuration changes update an open shared card without changing its person or focus.
Reopen the card after changing licenseTypes. Filtering never grants or removes licenses,
and does not change an external provider's own card contents.
Editable appearance
| File | Purpose |
|---|---|
config/documents/identity.css | Both layouts, printed colours, typography, spacing and template dimensions. Use .sky-license-card for license-specific changes. |
config/documents/logo.svg | Replace the artwork, or add another local logo file and select it in configuration. |
config/locales/<language>.lua | Card titles and field labels under Nui.playerActions. |
Editable CSS loads from the resource after the built-in default stylesheet. After changing CSS, fonts, artwork or locales, restart Jobs Base and its active dependent jobs through your normal update process. CSS and artwork changes need no frontend rebuild. Changing the Vue component's markup does require a frontend rebuild.
The client document exports open a view on the calling player's screen. They do not broadcast a card to nearby players.
Service IDs
The service document shows the holder's actual employment department, rank and service number.
It is unavailable for unemployed characters. Inspecting another player's service ID uses the
existing identity permission, distance and character checks. External native ID providers
are not used for this document type.
Configure default styles in PlayerIdentityCard.serviceCards, also available in /jobconfig.
An exact job entry takes priority over *.
| Field | Values |
|---|---|
job | Employment job name, or * for the fallback. |
template | official, medical (photo on the right), or compact. |
color | Six-digit hex accent colour, such as #3177b7. |
title | Optional department name; empty uses the registered job label. |
logo | Optional local filename inside config/documents. |
prefix | Up to 12 ASCII letters, digits, spaces, hyphens or underscores. An empty default uses the job name. |
format | {prefix}-{number}, {prefix} {number}, {prefix}{number} or {number}. |
digits | Minimum number of digits, 1–8; default 3. Longer numbers are never truncated. |
Tablet → Boss Menu → Service numbers lets department management change only the
prefix, number format and minimum digit count. Card templates, colours, logos and department
titles remain controlled by Config / Job Configurator. Extra management payload fields
cannot override these styles; stored presentation overrides are ignored.
This uses Manage members / MANAGE_MEMBERS
(permission 3) and the caller's current employment management context. A client-supplied
job name cannot select another department; alternate gang contexts do not manage employment cards.
Saved Boss Menu number settings override only that department's number-format defaults. Concurrent edits reject stale revisions. Reopen the page to load the latest settings; reopen a service card to display the changed number format.
Number persistence and installation
Numbers are assigned automatically on first service-card use and stored per character and job, not player server ID. Reconnecting and leaving/rejoining the same job preserve the number. Changing the prefix or format changes its presentation while retaining the underlying number. No manual reassignment is provided. Renaming the internal job key creates a different number scope.
Install the new sky_jobs_service_card_settings and sky_jobs_service_numbers tables.
The automatic migration creates them when AutoExecuteQuery is enabled. Otherwise run
their CREATE TABLE statements from the update's import.sql.
Atomic number allocation requires oxmysql, through the existing Jobs Base database facade.
Concurrent requests for the same character can leave harmless gaps; numbers are not reused.
Photos remain client-local and are never stored in these tables.