Adjustments Config
es_extended adjustments.lua explained. Toggle PvP, wanted level, dispatch, NPC density, HUD components, AI plates and Discord Rich Presence in ESX Legacy.
shared/config/adjustments.lua holds client-side game tweaks that es_extended applies when a player has loaded: PvP, wanted level, dispatch, NPC scenarios, population density, HUD components, number plates for AI traffic and Discord Rich Presence. Change them to tune the feel of the world without writing a separate resource.
Overview
| Fact | Value |
|---|---|
| File | es_extended/shared/config/adjustments.lua |
| Applied by | client/modules/adjustments/*.lua on esx:playerLoaded |
| Side | Client (file is shared) |
| Apply changes | Restart the server; players must reconnect |
Toggles
| Key | Type | Default | Effect when enabled |
|---|---|---|---|
DisableHealthRegeneration | boolean | false | Sets the health recharge multiplier to 0. |
DisableVehicleRewards | boolean | false | Players no longer get weapons from entering police or military vehicles. Runs every frame. |
DisableNPCDrops | boolean | false | NPCs no longer drop carbine rifle, pistol and pump shotgun pickups. |
DisableDispatchServices | boolean | true | Turns off all 15 AI dispatch services and the police scanner. |
DisableScenarios | boolean | true | Disables a list of world vehicle scenarios (parked and driving AI vehicles, police cars, boats, planes) and paparazzi. |
DisableAimAssist | boolean | false | Sets free-aim targeting mode, mainly affects controller players. |
DisableVehicleSeatShuff | boolean | false | Stops the automatic shuffle from passenger to driver seat. |
DisableDisplayAmmo | boolean | false | Hides the ammo counter. Runs every frame. |
EnablePVP | boolean | true | Allows players to damage each other (friendly fire). |
EnableWantedLevel | boolean | false | Keeps the normal GTA wanted level. When false, ESX clears it and sets the maximum to 0. |
The key is spelled DisableVehicleSeatShuff (without the final "le"). Use it exactly like that.
RemoveHudComponents
A list indexed by HUD component ID. true hides the component.
| ID | Component | Default |
|---|---|---|
| 1 | Wanted stars | false |
| 2 | Weapon icon | false |
| 3 | Cash | false |
| 4 | MP cash | false |
| 5 | MP message | false |
| 6 | Vehicle name | true |
| 7 | Area name | true |
| 8 | Vehicle class | true |
| 9 | Street name | true |
| 10 | Help text | false |
| 11 | Floating help text 1 | false |
| 12 | Floating help text 2 | false |
| 13 | Cash change | false |
| 14 | Reticle | false |
| 15 | Subtitle text | false |
| 16 | Radio stations | false |
| 17 | Saving game | false |
| 18 | Game stream | false |
| 19 | Weapon wheel | false |
| 20 | Weapon wheel stats | false |
| 21 | HUD components | false |
| 22 | HUD weapons | false |
Setting [16] = true also turns the vehicle radio off and disables radio control whenever the player enters a vehicle.
Multipliers
Population density, applied every frame on each client.
| Key | Default | Native |
|---|---|---|
pedDensity | 1.0 | SetPedDensityMultiplierThisFrame |
scenarioPedDensityInterior | 0.0 | SetScenarioPedDensityMultiplierThisFrame (interior) |
scenarioPedDensityExterior | 1.0 | SetScenarioPedDensityMultiplierThisFrame (exterior) |
ambientVehicleRange | 1.0 | SetAmbientVehicleRangeMultiplierThisFrame |
parkedVehicleDensity | 1.0 | SetParkedVehicleDensityMultiplierThisFrame |
randomVehicleDensity | 1.0 | SetRandomVehicleDensityMultiplierThisFrame |
vehicleDensity | 1.0 | SetVehicleDensityMultiplierThisFrame |
Config.Multipliers = {
pedDensity = 0.6,
scenarioPedDensityInterior = 0.0,
scenarioPedDensityExterior = 0.6,
ambientVehicleRange = 1.0,
parkedVehicleDensity = 0.5,
randomVehicleDensity = 0.5,
vehicleDensity = 0.5,
}Changing density at runtime
The client also listens to the global state bag esx:populationDensity. A server resource can set it to override pedDensity, vehicleDensity and randomVehicleDensity for everyone, for example during an event. Values must be between 0 and 1. When pedDensity is set, it also replaces both scenario ped values; when vehicleDensity is set, it also replaces parkedVehicleDensity.
GlobalState["esx:populationDensity"] = { pedDensity = 0.2, vehicleDensity = 0.1, randomVehicleDensity = 0.1 }
-- back to Config.Multipliers
GlobalState["esx:populationDensity"] = nilCustomAIPlates
| Type | Default |
|---|---|
string | "........" |
Number plate pattern for AI vehicles, passed to SetDefaultVehicleNumberPlateTextPattern.
| Character | Result |
|---|---|
1 | random digit 0-9 |
A | random letter A-Z |
. | random letter or digit (50/50) |
^1 | a literal 1 |
^A | a literal A |
| anything else | that character |
Patterns shorter than 8 characters are padded on the right.
Config.CustomAIPlates = "LS^A 1111" -- e.g. "LSA 4821"DiscordActivity
Discord Rich Presence for every player. Disabled while appId is 0.
| Key | Type | Default | Description |
|---|---|---|---|
appId | number | 0 | Discord application ID. |
assetName | string | "LargeIcon" | Name of the large image asset uploaded to the application. |
assetText | string | "{server_name}" | Hover text of the image. |
buttons | table[] | Join and Discord buttons | Up to two { label, url } entries. |
presence | string | "{player_name} [{player_id}] | {server_players}/{server_maxplayers}" | Status text. |
refresh | number | 60000 | Update interval in milliseconds. |
Placeholders you can use in presence, assetText and button URLs:
| Placeholder | Value |
|---|---|
{server_name} | sv_projectName convar |
{server_endpoint} | server IP and port |
{server_players} | current player count |
{server_maxplayers} | sv_maxClients |
{player_name} | FiveM name |
{player_rp_name} | character name |
{player_id} | server ID |
{player_street} | current street name |
Config.DiscordActivity = {
appId = 123456789012345678,
assetName = "logo",
assetText = "{server_name}",
buttons = {
{ label = "Join Server", url = "fivem://connect/{server_endpoint}" },
{ label = "Discord", url = "https://discord.gg/yourserver" },
},
presence = "{player_rp_name} | {server_players}/{server_maxplayers}",
refresh = 60 * 1000,
}Related
Frequently asked questions
Independent documentation
Last updated on
Weapons Config
How es_extended defines weapons, ammo types, components and tints in shared/config/weapons.lua, and how to add a custom or addon weapon to ESX Legacy.
Logs Config
Configure Discord webhook logging in ESX Legacy. Webhook names, embed colors, which ESX features log where, and how to log from your own resources.