Browse docs

Player Documents

View identity, license and service cards, customize their appearance, and configure department service numbers.

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.

This page describes the new document-card update. Install the update containing 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.

SettingValues and behaviour
positionleft, center, right or custom; default right.
x, yCard centre in screen percentages, 0–100; used for custom.
scaleSize in percent, 50–150; default 85. It also fits smaller viewports.
issuerOptional issuer name. Empty by default.
logoOptional filename inside config/documents, such as logo.svg. Empty by default.
licenseTypesExact 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

FilePurpose
config/documents/identity.cssBoth layouts, printed colours, typography, spacing and template dimensions. Use .sky-license-card for license-specific changes.
config/documents/logo.svgReplace the artwork, or add another local logo file and select it in configuration.
config/locales/<language>.luaCard 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 *.

FieldValues
jobEmployment job name, or * for the fallback.
templateofficial, medical (photo on the right), or compact.
colorSix-digit hex accent colour, such as #3177b7.
titleOptional department name; empty uses the registered job label.
logoOptional local filename inside config/documents.
prefixUp 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}.
digitsMinimum 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.