MrPoulpi Labs
ox_target

Available scripts

FR
Documentation centre

Configuration reference

Exhaustive config.lua reference for ox_target by MrPoulpi Labs — types, 1.17.2 archive defaults, units, effects, engine constraints and dependencies.

Goal: know every config.lua setting, its original value and its real effect. File to edit: config.lua (loaded client and server side). Restart the resource after a change.

The tables below are generated from the same schema as the configurator: defaults, types and bounds are identical. An “engine constraint” comes from the code; a “recommendation” is advice from this site.

Interface and debug

Setting Type Default Effect
Config.Debug boolean false Prints engine debug messages to the console (permission refusals, etc.).
Read by: protected engine
Config.UI.vignette boolean false Darkens the screen edges while targeting. The ox_target:vignette convar takes precedence when set.
Read by: client/state.lua

Other interface settings (key, hold or toggle, click, outline) are convars: see Convars.

Integration selectors

The eleven selectors Config.Framework, Config.EmoteScript, Config.MedicalScript, Config.NotifyScript, Config.InputScript, Config.WeatherScript, Config.KeysScript, Config.BillingScript, Config.RepairScript, Config.AppearanceScript and Config.InventoryScript do not all accept the same values. Their exact lists and each preset’s behaviour are detailed in Integrations.

Commands

Used by “command” presets and as fallback. %s receives text (emote name, /me text) and %d the targeted player’s server ID.

Setting Type Default Effect
Config.Commands.emote string 'e %s' Play an emote (command presets, or fallback when the rpemotes export fails).
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/client.lua
Config.Commands.sharedEmote string 'nearby %s' Shared emote for every emote preset except custom.
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/client.lua
Config.Commands.cancelEmote string 'emotecancel' Emote cancel used without a CancelEmote hook.
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/client.lua
Config.Commands.me string 'me %s' /me command used without a Me hook (input, forced /me, RPS announcement).
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/client.lua
Config.Commands.reviveSelf string 'revive me' MedicalScript = command, run client side.
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/client.lua
Config.Commands.healSelf string 'heal me' MedicalScript = command, run client side.
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/client.lua
Config.Commands.revivePlayer string 'revive %d' MedicalScript = command, run in the server console.
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/server.lua
Config.Commands.healPlayer string 'heal %d' MedicalScript = command, run in the server console.
Engine constraint: — Formatted with an unprotected string.format: an extra marker or a marker of another type raises a Lua error.
Read by: bridge/server.lua

Groups and permissions

Setting Type Default Effect
Config.AdminGroups string[] { 'admin', 'superadmin', 'owner' } Groups matched by the “admin” level (and “staff”).
Read by: protected engine, bridge/server.lua
Config.ModGroups string[] { 'mod' } Groups added to the “staff” level.
Read by: protected engine, bridge/server.lua
Config.UseAcePermissions boolean false true: the ox_target.<key> ACE also grants the matching permission, before groups.
Read by: protected engine
Config.Permissions table
{ staffMenu = 'staff', revive = 'admin',…{ staffMenu = 'staff', revive = 'admin', heal = 'admin', selfRevive = 'staff', selfHeal = 'staff', forceEmote = 'admin', forceMe = 'admin', weather = 'admin', giveKeys = 'admin', devTools = 'admin' }
Each key is everyone, staff, admin, a list of groups, false, or the name of another key. You can add your own keys.
Read by: protected engine

The complete behaviour (levels, ACE, custom keys, client visibility) is explained in Permissions and security.

Features

A feature set to false prevents the matching built-in options from being created at start and makes the server refuse the actions that declare it. Purely client features (copy ID, show ID, anti-punch, copy tools) have no server check: disabling them is enough to remove the option.

Setting Type Default Effect
Config.Features.copyId boolean true copy_id built-in (client only).
Read by: protected engine
Config.Features.showPlayerId boolean true show_player_id built-in (client only).
Read by: protected engine
Config.Features.copyEmote boolean true copy_emote built-in and copy_emote server action.
Read by: protected engine
Config.Features.billing boolean true send_bill built-in. The invoice itself is validated by the billing script.
Read by: protected engine
Config.Features.rps boolean true rps_challenge built-in and server-side challenges.
Read by: protected engine
Config.Features.antiPunch boolean true anti_punch checkbox (client only).
Read by: protected engine
Config.Features.slashTyre boolean true slash_tyre built-in and server action.
Read by: protected engine
Config.Features.trunk boolean true hide_in_trunk built-in and server-side trunk reservation.
Read by: protected engine
Config.Features.lockpick boolean true lockpick_vehicle built-in and server action.
Read by: protected engine
Config.Features.repair boolean true repair_vehicle built-in and server action.
Read by: protected engine
Config.Features.giveKeys boolean true give_keys built-in and server action.
Read by: protected engine
Config.Features.vehicleDoors boolean true Original ox_target vehicle options (also subject to the ox_target:defaults convar).
Read by: protected engine
Config.Features.weather boolean true weather_menu built-in and weather server actions.
Read by: protected engine
Config.Features.devTools boolean true dev_* built-ins; only deletions go through the server.
Read by: protected engine
Config.Features.medical boolean true admin_revive, admin_heal, self_revive, self_heal built-ins and server actions.
Read by: protected engine
Config.Features.forceActions boolean true force_emote and force_me built-ins and server actions.
Read by: protected engine

You can add your own keys and reference them in the feature field of a server action. A key missing from the table counts as enabled.

Distances

All in metres. An option without distance uses Config.Distances[list type], otherwise Config.Distances.default, otherwise 3.0. Model, zone and self lists have no dedicated key and therefore use default. For Self, distance has no effect: the target is your character.

Setting Type Default Effect
Config.Distances.default number
metres
3.0 Model, zone and self lists, and custom server actions without maxDistance.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.player number
metres
3.0 PlayerInteractions and server check for revive, heal, forced emote/me and emote copy.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.vehicle number
metres
3.0 VehicleInteractions and server check for lockpick, repair and keys.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.ped number
metres
3.0 PedInteractions.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.object number
metres
3.0 ObjectInteractions.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.showId number
metres
2.0 Referenced by D.showId in config_interactions.lua.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.trunk number
metres
2.0 Client trunk proximity; the server accepts this value + tolerance + 2 m.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.slashTyre number
metres
2.5 slash_tyre option and server check.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.rps number
metres
3.0 rps_challenge option and server challenge check.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua
Config.Distances.devTools number
metres
15.0 Server check for entity deletions.
Engine constraint: ≥ 0 — A negative distance always hides the option.
Recommendation: ≥ 0 ≤ 20 — The targeting ray starts at the camera and stops at 20 m: beyond that, the value has no practical effect.
Read by: protected engine, config_interactions.lua

In config_interactions.lua, local D = Config.Distances lets you write distance = D.showId. A key added here (for example atm = 1.5) can be used as D.atm.

Security and anti-spam

Setting Type Default Effect
Config.Security.distanceTolerance number
metres
2.5 Margin added to server-checked distances to absorb latency.
Engine constraint: ≥ 0 — Added as is to the maximum distance.
Recommendation: ≥ 0 ≤ 5 — A large margin weakens the distance check.
Read by: protected engine
Config.Security.actionCooldown integer
milliseconds
300 Minimum delay between two identical actions from a player, unless the action defines its own cooldown.
Engine constraint: ≥ 0 — 0 disables this delay.
Read by: protected engine
Config.Security.maxActionsPerSecond integer
count
10 Beyond this, the request is ignored and reported as suspicious (at most once every 5 s).
Engine constraint: ≥ 1 — At 0, every server action would be refused.
Recommendation: ≥ 5 ≤ 30 — Permission and trunk requests also count toward this limit.
Read by: protected engine
Config.Security.permissionRefresh integer
milliseconds
60000 Interval between two permission map requests from the client.
Engine constraint: ≥ 1000 — The server ignores requests closer than one second.
Recommendation: ≥ 10000 — A fast pace multiplies requests without visible benefit.
Read by: protected engine
Config.Security.logSuspicious boolean true Prints suspicious requests to the server console, unless the OnSuspiciousActivity hook is defined.
Read by: bridge/server.lua

An action’s cooldown adds up with the per-second limit: a request refused for cooldown is silently ignored, a burst beyond maxActionsPerSecond is reported as suspicious. Several built-in actions have their own cooldown (1 to 3 s), shown in the built-ins table.

Medical and emotes

Setting Type Default Effect
Config.Medical.selfMode string 'client' Where self revive/heal runs once the permission is validated.
  • 'client' — After server validation, the client calls Bridge.ReviveSelf / HealSelf.
  • 'server' — The server calls Bridge.RevivePlayer / HealPlayer with your own ID.
Read by: protected engine
Config.Medical.nativeHealFallback boolean true Also applies max health and blood cleanup after every heal.
Read by: bridge/client.lua, bridge/server.lua
Config.Emotes.maxLength integer
characters
50 Applied to copied and forced emotes, client and server side.
Engine constraint: ≥ 1 — An empty name is always refused.
Read by: protected engine
Config.Emotes.pattern string '^[%w_%-%.]+$' Lua pattern (not a regex) a copied or forced emote name must match.
Read by: protected engine

Config.Emotes.pattern is a Lua pattern, not a regular expression: %w means a letter or digit, %- a dash. It applies to copied and forced emotes; an emote played directly by a type = 'emote' option is not filtered.

Vehicles

Setting Type Default Effect
Config.Vehicles.lockpick.jobs nil | string[] | { [job] = grade } { 'mechanic', 'mechanic2', 'mechanic3' } nil = everyone. An empty list allows nobody. Grade format: { mechanic = 2 } = minimum grade.
Read by: protected engine
Config.Vehicles.lockpick.item string | nil nil Checked server side; it is not removed by lockpicking.
Read by: protected engine
Config.Vehicles.lockpick.duration integer
milliseconds
10000 Progress bar duration, without a LockpickVehicle hook.
Engine constraint: ≥ 0 — Duration passed to the progress bar.
Read by: bridge/client.lua
Config.Vehicles.lockpick.anim { dict, clip } { dict = 'amb@world_human_welding@male@base', clip = 'base' } Dictionary and clip played during the progress bar.
Read by: bridge/client.lua
Config.Vehicles.repair.jobs nil | string[] | { [job] = grade } { 'mechanic', 'mechanic2', 'mechanic3' } nil = everyone. An empty list allows nobody.
Read by: protected engine
Config.Vehicles.repair.item string | nil 'repair_kit' Checked server side before repairing.
Read by: protected engine
Config.Vehicles.repair.removeItem boolean false Removes one unit of the item server side before starting the repair.
Without a required item, this setting has no effect.
Read by: protected engine, bridge/server.lua
Config.Vehicles.repair.duration integer
milliseconds
8000 Only used with RepairScript = native.
Engine constraint: ≥ 0 — Duration passed to the progress bar.
Read by: bridge/client.lua
Config.Vehicles.repair.anim { dict, clip } { dict = 'mini@repair', clip = 'fixing_a_ped' } Only used with RepairScript = native.
Read by: bridge/client.lua
Config.Vehicles.slashTyre.weapons string[]
{ 'WEAPON_KNIFE', 'WEAPON_SWITCHBLADE', …{ 'WEAPON_KNIFE', 'WEAPON_SWITCHBLADE', 'WEAPON_DAGGER', 'WEAPON_MACHETE', 'WEAPON_BOTTLE', 'WEAPON_BATTLEAXE', 'WEAPON_STONE_HATCHET' }
Weapons accepted to slash a tyre, checked by the client and the server.
Read by: protected engine
Config.Vehicles.slashTyre.duration integer
milliseconds
3500 Progress bar duration.
Engine constraint: ≥ 0 — Duration passed to the progress bar.
Read by: protected engine
Config.Vehicles.slashTyre.maxTyreDistance number
metres
1.1 Maximum distance between the player and the closest tyre.
Engine constraint: ≥ 0 — Measured from the wheel bone.
Read by: protected engine
Config.Vehicles.slashTyre.anim { dict, clip }
{ dict = 'melee@knife@streamed_core_fps'…{ dict = 'melee@knife@streamed_core_fps', clip = 'ground_attack_on_spot' }
Dictionary and clip; the flag is set by the script.
Read by: protected engine
Config.Vehicles.trunk.enterDuration integer
milliseconds
2000 Progress bar duration before entering the trunk.
Engine constraint: ≥ 0 — Duration passed to the progress bar.
Read by: protected engine
Config.Vehicles.trunk.exitKey integer 38 GTA control index (38 = E). The trunk_textui text mentions [E]: adapt it if you change the key.
Engine constraint: ≥ 0 ≤ 360 — GTA V control index.
Read by: protected engine
Config.Vehicles.trunk.overlay boolean true Draws a dark overlay while the player is in the trunk.
Read by: protected engine
Config.Vehicles.trunk.blacklistClasses { [n] = true }
{ [8] = true, [13] = true, [14] = true, …{ [8] = true, [13] = true, [14] = true, [15] = true, [16] = true, [21] = true }
Vehicle classes (GetVehicleClass) without a usable trunk.
Read by: protected engine
Config.Vehicles.trunk.blacklistModels string[]
{ 'wheelchair', 'prop_wheelchair_01', 'p…{ 'wheelchair', 'prop_wheelchair_01', 'prop_wheelchair_01_d', 'iak_wheelchair' }
Excluded model names (converted to hashes).
Read by: protected engine
Config.Vehicles.trunk.exitEvents string[] { 'ox_target:extra:exitTrunk' } Local client events that exit the trunk, in addition to ox_target:exitTrunk.
Read by: protected engine

The job format is the same everywhere: { 'mechanic' } (list), { mechanic = 2 } (minimum grade), { mechanic = true } (any grade) or a string 'mechanic'. Jobs and items are first checked client side for display, then by the server before the action.

Billing, Rock Paper Scissors, anti-punch, Dev Tools

Setting Type Default Effect
Config.Billing.excludedJobs string[] { 'unemployed' } Jobs that do not see the option. A player without a job does not see it either.
Read by: protected engine
Config.Billing.societyPrefix string 'society_' Prefix added to the job for the esx_billing preset.
Read by: bridge/client.lua
Config.Billing.reasonMin integer
characters
3 Minimum reason length.
Engine constraint: ≥ 0 — Must stay lower than or equal to the maximum.
Read by: protected engine
Config.Billing.reasonMax integer
characters
60 Maximum reason length.
Engine constraint: ≥ 1 — Must stay greater than or equal to the minimum.
Read by: protected engine
Config.Billing.maxAmount integer 1000000 Maximum amount that can be entered; the minimum is 1.
Engine constraint: ≥ 1 — The form already enforces a minimum of 1.
Read by: protected engine
Config.RPS.inviteTimeout integer
milliseconds
30000 Delay before an unanswered challenge counts as refused.
Engine constraint: ≥ 0 — Server delay.
Recommendation: ≥ 5000 ≤ 120000 — Leave the player time to read the request.
Read by: protected engine
Config.RPS.invincible boolean true Makes both players invincible during the game.
Read by: protected engine
Config.RPS.announceMe boolean true Sends a /me with the chosen move (rps_me_* texts).
Read by: protected engine
Config.AntiPunch.defaultEnabled boolean true Initial state of the anti_punch checkbox. The player’s choice is then remembered (KVP).
Read by: protected engine
Config.DevTools.scanRadius number
metres
2.0 Radius of “list nearby props (F8)”.
Engine constraint: ≥ 0 — Radius around the player.
Read by: protected engine

Rock Paper Scissors window

When a challenge is accepted, each player sees a choice window:

  • pick with the mouse, or with the keyboard: 1 (rock), 2 (paper) and 3 (scissors);
  • Escape cancels the game as long as no move has been played; after choosing, the window waits for the opponent’s move, then shows a win, loss or draw.

The window texts come from the rps_ui_* keys of locales/*.json (rps_ui_title, rps_ui_choose, rps_ui_waiting, rps_ui_finished, rps_ui_rock, rps_ui_paper, rps_ui_scissors, rps_ui_key_escape, rps_ui_cancel, rps_ui_pick, rps_ui_win, rps_ui_win_sub, rps_ui_lose, rps_ui_lose_sub, rps_ui_draw, rps_ui_draw_sub). The file used follows the ox_lib language; a missing or empty key is replaced by the French text built into the window. In the archive, locales/en.json holds these texts in French: translate them in that file for an English interface.

Challenge notifications (invitation, refusal, cancellation, /me announcement) stay in Config.Messages (rps_* keys, see Texts).

Weather and time

Setting Type Default Effect
Config.Weather.useZones boolean true false if your weather script has no zones: the Zones submenu and zone info disappear.
Read by: protected engine
Config.Weather.defaultZone string 'santos' Zone used until the staff member picks another.
Only used when useZones = true.
Read by: protected engine
Config.Weather.localTools boolean true “Local player” submenu (local rain and freeze).
Read by: protected engine
Config.Weather.labels table
{ root = { label = 'Météo / Heure', icon…{ root = { label = 'Météo / Heure', icon = 'fa-solid fa-cloud-sun', description = 'Gestion météo, heure et blackout' }, weather = { label = 'Météo', icon = 'fa-solid fa-cloud-sun' }, time = { label = 'Heure', icon = 'fa-solid fa-clock' }, zones = { label = 'Zones', icon = 'fa-solid fa-map-location-dot' }, blackout = { label = 'Blackout', icon = 'fa-solid fa-bolt' }, tools = { label = 'Outils météo', icon = 'fa-solid fa-screwdriver-wrench' }, localMenu = { label = 'Local player', icon = 'fa-solid fa-user' }, timePreset = { icon = 'fa-solid fa-clock' }, freezeOn = { label = 'Freeze ON', icon = 'fa-solid fa-snowflake' }, freezeOff = { label = 'Freeze OFF', icon = 'fa-solid fa-rotate' }, blackoutOn = { label = 'Blackout ON', icon = 'fa-solid fa-bolt' }, blackoutOff = { label = 'Blackout OFF', icon = 'fa-solid fa-bolt' }, blackoutToggle = { label = 'Blackout Toggle', icon = 'fa-solid fa-toggle-on' }, random = { label = 'Météo aléatoire', icon = 'fa-solid fa-dice' }, infoTime = { label = "Voir l'heure serveur", icon = 'fa-solid fa-clock' }, infoBlackout = { label = 'Voir état blackout', icon = 'fa-solid fa-circle-half-stroke' }, infoZone = { label = 'Info zone active', icon = 'fa-solid fa-map-location-dot' }, localRainOff = { label = 'Désactiver pluie (local)', icon = 'fa-solid fa-umbrella' }, localRainOn = { label = 'Activer pluie (local)', icon = 'fa-solid fa-umbrella' }, localFreezeOn = { label = 'Freeze local', icon = 'fa-solid fa-snowflake' }, localFreezeOff = { label = 'Unfreeze local', icon = 'fa-solid fa-rotate' } }
Labels, icons and description of each entry generated by weather_menu.
Read by: protected engine
Config.Weather.types table[]
{ { name = 'clear', label = 'Ensoleillé'…{ { name = 'clear', label = 'Ensoleillé', icon = 'fa-solid fa-sun', value = 'CLEAR' }, { name = 'extrasunny', label = 'Très ensoleillé', icon = 'fa-solid fa-sun', value = 'EXTRASUNNY' }, { name = 'clouds', label = 'Nuageux', icon = 'fa-solid fa-cloud', value = 'CLOUDS' }, { name = 'overcast', label = 'Couvert', icon = 'fa-solid fa-cloud', value = 'OVERCAST' }, { name = 'rain', label = 'Pluie', icon = 'fa-solid fa-cloud-rain', value = 'RAIN' }, { name = 'thunder', label = 'Orage', icon = 'fa-solid fa-bolt', value = 'THUNDER' }, { name = 'foggy', label = 'Brouillard', icon = 'fa-solid fa-smog', value = 'FOGGY' }, { name = 'snow', label = 'Neige', icon = 'fa-solid fa-snowflake', value = 'SNOW' }, { name = 'blizzard', label = 'Blizzard', icon = 'fa-solid fa-snowflake', value = 'BLIZZARD' }, { name = 'halloween', label = 'Halloween', icon = 'fa-solid fa-ghost', value = 'HALLOWEEN' } }
Only these values are accepted by the server. value is passed to the weather script.
Engine constraint: ≤ 32 — value is limited to 32 characters by server validation.
Read by: protected engine
Config.Weather.times table[]
{ { label = '06h00', h = 6, m = 0 }, { l…{ { label = '06h00', h = 6, m = 0 }, { label = '12h00', h = 12, m = 0 }, { label = '15h00', h = 15, m = 0 }, { label = '20h00', h = 20, m = 0 }, { label = '00h00', h = 0, m = 0 } }
The server only accepts 0–23 h and 0–59 min. Without an icon, labels.timePreset is used.
Read by: protected engine
Config.Weather.zones table[]
{ { name = 'santos', label = 'Los Santos…{ { name = 'santos', label = 'Los Santos', icon = 'fa-solid fa-city' }, { name = 'sandy', label = 'Sandy Shores', icon = 'fa-solid fa-mountain-sun' }, { name = 'paleto', label = 'Paleto Bay', icon = 'fa-solid fa-tree' }, { name = 'cayo', label = 'Cayo Perico', icon = 'fa-solid fa-umbrella-beach' } }
Zones offered to staff; name is passed to the weather script (64 characters max).
Only used when useZones = true.
Read by: protected engine

The server only accepts the values listed here: a zone outside Weather.zones, a weather outside Weather.types, an hour outside 0–23 or minutes outside 0–59 are refused. The submenu content is generated by the weather_menu built-in; its structure is described in Categories and submenus.

Notifications

Setting Type Default Effect
Config.NotifyDuration integer
milliseconds
5000 Default duration passed to the notification system.
Engine constraint: ≥ 0 — Passed to the notification system.
Read by: bridge/client.lua
Config.DNotifColors table
{ info = 'BLEU', success = 'VERT', error…{ info = 'BLEU', success = 'VERT', error = 'ROUGE', warning = 'ORANGE', primary = 'VIOLET' }
dNotif colour per notification type (NotifyScript = dNotif). A missing value uses VIOLET.
Only used with NotifyScript = dNotif.
Read by: bridge/client.lua

Texts

Every text goes through Config.Messages. The shipped texts are in French; translate them freely. Markers (%s, %d, %02d, %.0f) are replaced by the script; if an edited text no longer matches the values passed, the engine shows the raw text without substitution instead of crashing. Write %% to display a percent sign in a formatted text.

Key Default Markers Context
no_permission Vous n'avez pas la permission d'utiliser cette action. — Server action refused for lack of permission.
job_required Votre métier ne permet pas cette action. — Server action refused: job not allowed.
item_required Il vous manque l'objet requis. — Server action refused: required item missing.
target_invalid Cible invalide. — Target refused by the server or entity not found.
target_too_far La cible est trop loin. — Target beyond the distance allowed by the server.
feature_disabled Cette fonctionnalité est désactivée. — Action tied to a disabled or unavailable feature.
cancelled Action annulée. — Input or progress bar cancelled.
invalid_input Données invalides. — Input or arguments refused.
no_player Aucun joueur ciblé. — Player option without a usable server ID.
no_vehicle Aucun véhicule ciblé. — Vehicle option without a usable networked vehicle.
my_id Votre ID est : %s
%s your server ID
show_my_id built-in.
player_id L'ID de ce joueur est : %s
%s player server ID
show_player_id built-in.
player_id_copied ID du joueur copié : %s
%s copied ID
copy_id built-in.
me_title Faire un /me — /me input title.
me_label Texte du /me — /me field label.
copy_emote_none Le joueur ne fait aucune emote à copier. — Emote copy without a usable emote.
copy_emote_ok Vous copiez l'emote : %s
%s emote name
Successful emote copy.
revive_sent Revive envoyé sur le joueur %d.
%d player ID
Successful admin_revive.
heal_sent Heal envoyé sur le joueur %d.
%d player ID
admin_heal executed.
self_revived Vous avez été réanimé. — self_revive validated by the server.
self_healed Vous avez été soigné. — self_heal validated by the server.
medical_unavailable Aucun script médical configuré. — No usable medical script for admin_revive.
force_emote_title Forcer une emote — Forced emote input title.
force_emote_label Nom de l'emote — Forced emote field label.
force_emote_sent Emote forcée sur le joueur %d.
%d player ID
Forced emote sent.
force_me_title Forcer un /me — Forced /me input title.
force_me_label Texte du /me — Forced /me field label.
force_me_sent /me forcé sur le joueur %d.
%d player ID
Forced /me sent.
bill_title Créer une facture — Invoice form title.
bill_reason Motif — Reason field label.
bill_amount Montant ($) — Amount field label.
bill_sent Facture envoyée. — Present in config.lua but not displayed by the code in this archive.
unused
knife_required Vous devez avoir une arme blanche en main. — Tyre slash without an allowed blade.
tyre_too_far Vous devez être collé au pneu pour le crever. — No tyre close enough.
tyre_progress Vous crevez le pneu... — Tyre slash progress bar.
tyre_done Vous avez crevé le pneu. — Tyre slash sent.
trunk_incompatible Ce type de véhicule n'a pas de coffre utilisable. — Excluded vehicle (class or model).
trunk_occupied Le coffre est déjà occupé. — Trunk already reserved.
trunk_unavailable Impossible d'utiliser ce coffre. — Trunk locked, too far or vehicle destroyed.
trunk_progress Vous vous cachez dans le coffre... — Entering progress bar.
trunk_inside Vous êtes caché dans le coffre. — Successful entry.
trunk_textui Vous êtes dans le coffre. [E] pour sortir. — Text shown inside the trunk. It does not follow Config.Vehicles.trunk.exitKey automatically.
trunk_exit Vous sortez du coffre. — Trunk exit.
lockpick_progress Crochetage en cours... — Lockpick progress bar (preset).
lockpick_done Véhicule déverrouillé. — Successful lockpick.
repair_progress Réparation en cours... — Repair progress bar (RepairScript = native).
repair_done Véhicule réparé. — Repair considered successful.
keys_given Clés du véhicule [%s] ajoutées.
%s plate
Keys given.
keys_unavailable Aucun script de clés configuré. — No usable keys script.
anti_punch_on Protection anti-coups de poing activée. — Anti-punch checkbox ticked.
anti_punch_off Protection anti-coups de poing désactivée. — Anti-punch checkbox unticked.
weather_set Météo appliquée : %s (zone %s)
%s weather value
%s zone (or -)
Weather applied.
weather_zone Zone active : %s
%s chosen zone
Active zone changed.
weather_time Heure serveur : %02dh%02d
%02d hour
%02d minute
Time applied.
weather_time_info Heure serveur : %02dh%02d:%02d
%02d hour
%02d minute
%02d second
Server time info.
weather_freeze_on Freeze time activé. — Freeze time enabled.
weather_freeze_off Freeze time désactivé. — Freeze time disabled.
weather_blackout_on Blackout activé. — Blackout enabled.
weather_blackout_off Blackout désactivé. — Blackout disabled.
weather_blackout_info Blackout : %s
%s ON or OFF
Blackout info.
weather_random Météos aléatoires générées. — Random weathers generated.
weather_zone_info Zone %s | Météo %s | Brouillard %s | Temp %s°C | Vent %s
%s zone
%s weather
%s fog
%s temperature
%s wind
Active zone info.
weather_error Erreur du script météo. — The weather script failed or returned false.
weather_unavailable Aucun script météo configuré. — No weather script available server side.
weather_local_rain_off Pluie désactivée localement. — Local tool.
weather_local_rain_on Pluie activée localement. — Local tool.
weather_local_freeze_on Freeze local activé. — Local tool.
weather_local_freeze_off Freeze local désactivé. — Local tool.
dev_copied Copié : %s
%s copied text
Dev Tools copy.
dev_full_copied Infos complètes copiées ! — Full prop info copied.
dev_deleted Entité supprimée. — Entity deleted.
dev_not_prop Cette entité n'est pas un prop. — Present in config.lua but not displayed by the code in this archive.
unused
dev_cant_delete_player Impossible de supprimer un joueur. — Attempt to delete a player.
dev_scan Props listés dans F8 (rayon %.0fm, %d trouvé(s))
%.0f radius
%d count found
Prop scan finished.
dev_coords Coordonnées copiées ! — Coordinates copied.
dev_clone Apparence du PNJ appliquée ! — Ped model applied.
dev_restore Apparence restaurée ! — Appearance restored.
dev_restore_fail Aucune apparence trouvée. — Restore failed.
rps_already Tu es déjà dans une partie ! — You are already playing or waiting.
rps_target_busy Ce joueur est déjà dans une partie. — The target is already playing.
rps_sent Défi envoyé, en attente... — Challenge sent.
rps_invite ✊ %s te défie à Pierre Feuille Ciseaux !
%s player name
Received confirmation text.
rps_invite_title Pierre Feuille Ciseaux — Confirmation title (ignored with InputScript = dNotif).
rps_refused Défi refusé. — Challenge refused or expired.
rps_cancelled L'autre joueur a annulé la partie. — The opponent cancelled.
rps_disconnected L'autre joueur s'est déconnecté. — The opponent disconnected.
rps_me_rock joue ✊ Pierre — /me announcement (RPS.announceMe).
rps_me_paper joue ✋ Feuille — /me announcement (RPS.announceMe).
rps_me_scissors joue ✌️ Ciseaux — /me announcement (RPS.announceMe).

Common mistakes

  • Function in config.lua using a client native: server-side error at start. Move it to config_client.lua.
  • Commands.revivePlayer without %d: the command is sent without the ID; with an extra marker, string.format raises a Lua error.
  • Vehicles.trunk.exitKey changed without adapting Messages.trunk_textui: the text keeps showing [E].
  • Billing.reasonMin greater than reasonMax: no invoice can be validated.

Search

Type a term: setting, export, error…