Skip to content

Settings, Localization and Audio

noteMASTER11 edited this page Jul 15, 2026 · 17 revisions

Settings, Localization and Audio

Settings behavior

Settings are grouped into expandable categories. A + means the category is collapsed and a - means it is open. Changes are applied and persisted automatically after a short debounce; there is no Save Settings button.

Connected phone is the exception: it is session-only and is always off when the mod or UI App starts. See External Web UI.

General

Setting Values Effect
Language English, Russian, German, French, Spanish, Italian, Polish, Ukrainian Selects all phone UI strings
Remember language Boolean Persists a non-default language; English is otherwise used initially
Text size 0–5 Selects a phone font-scale class without resizing the UI App
Units Metric / Imperial Formats distance, speed, cargo weight, fuel quantity, and related values
Time format 24-hour / 12-hour Formats clock and arrival values

Gameplay and difficulty

Presets

Elementary, Easy, Standard, and Professional apply balanced groups of speed, collision, manoeuvre, fare-cap, and rating-loss parameters.

Selecting Custom exposes sliders for:

  • speed tolerance and grace duration;
  • speeding penalty strength;
  • collision sensitivity and penalty strength;
  • longitudinal and lateral g-force thresholds;
  • harsh-manoeuvre penalty strength;
  • late-pickup penalty strength;
  • maximum fare reduction;
  • early passenger-exit rating loss.

Order mix

The passenger/delivery slider selects the desired delivery share from 0% to 100%. It affects dispatcher targets, but route validity and sparse-map fallback can still change the final visible ratio.

Individual penalty switches

The following systems can be enabled independently:

  • speeding;
  • collisions;
  • harsh manoeuvres;
  • late pickup;
  • passenger refueling delay;
  • expired rush bonus;
  • cargo damage.

Custom difficulty values and penalty switches are stored separately in difficulty.json so players can share the file without sharing their language, UI, economy, or profile data.

Navigation

Setting Values Effect
Road guidance On / Off Controls arrows and markers drawn over the road; phone navigation remains active
Dynamic zoom 0–200% 0% keeps map zoom fixed; higher values increase speed-sensitive zoom range
Overspeed warning 0–30 km/h Warning margin above the road limit; default 10 km/h

Above speed limit + warning margin, the trip speed-limit sign turns red and the overspeed alert plays once. The sign remains red until speed returns below the configured trigger. This visual/audio warning is independent of whether the speeding fare penalty is enabled.

Audio

Setting Values Effect
App sound volume 0–100% Additional multiplier for every TaxiDriver-managed sound
Test Button Plays a random TaxiDriver sound at the current effective volume
Silent mode On / Off Mutes all TaxiDriver-managed sounds

Connected phone

The experimental Connected phone category starts the in-mod LAN bridge, displays a private-network URL and QR code, and reports connection status. It requires free TCP port 8085 and firewall network permission for BeamNG.drive. The toggle is never restored automatically. See External Web UI.

Cheat Zone

The red Cheat Zone intentionally modifies persistent progression:

  • set rating from 0.00 to 5.00 with a slider and Set button;
  • add a random review;
  • add $1, $5, $10, or $50 repeatedly;
  • set the fare/economy multiplier from 0.25× to 5.00×;
  • reset all player statistics after confirmation.

Cheat actions are not separated from normal progress history. Back up the settings directory before testing if the profile matters.

Realistic Mode

Realistic Mode remains a pre-shift option on the start screen. It enables paid TaxiDriver refueling for the next shift and is persisted as a normal preference. See Realistic Refueling.

Persistence files

current/settings/TaxiDriver/settings.json
current/settings/TaxiDriver/difficulty.json
current/settings/TaxiDriver/profile.json
current/settings/TaxiDriver/progress.json
current/settings/TaxiDriver/lan.json

settings.json excludes custom difficulty, penalty switches, and the Connected phone enabled flag. difficulty.json is the portable difficulty document. lan.json preserves only pairing identity/address information; sharing remains disabled on startup.

Localization architecture

All UI strings live in:

ui/modules/apps/TaxiDriverHUD/locales.json

English is the fallback language. Every locale must contain the same key set. The currently supported codes are en, ru, de, fr, es, it, pl, and uk.

Phone notifications contain a localization key and value map rather than pre-rendered text. Notifications remain inside the phone and are not sent through the global game notification tray. Passenger emoji chat deliberately contains no words and does not require locale variants.

Adding or changing a string

  1. Add the key to all eight objects in locales.json.
  2. Use t("key") or t("key", values) from the Angular scope.
  3. Keep placeholders identical across locales.
  4. Run the UI test suite, which validates locale key parity and renders representative states.

Do not insert user-visible English or Russian strings directly into app.html when a localization key can be used.

Audio groups

Pool ID File Typical event
click taxidriver_ui_click.mp3 Button, input, or selector interaction
newRide taxidriver_new_ride.mp3 Each newly displayed floating offer
offline taxidriver_offline.mp3 Taxi mode goes offline
online taxidriver_online.mp3 Taxi mode goes online
violation taxidriver_violation_ping.mp3 New penalty event
message taxidriver_passenger_message.mp3 Passenger emoji message
overspeed taxidriver_overspeed.mp3 Crossing the configurable overspeed warning trigger

Audio elements are pooled so repeated events can restart promptly. The external client embeds generated sound data so it can cache the complete sound set during its detailed loading phase.

Effective in-game volume is:

pool base volume × BeamNG Interface Volume × TaxiDriver app volume

Silent mode prevents both normal and test playback. Browser autoplay restrictions may require one touch before external-phone audio can start.

Legacy settings import and recovery

Older UI versions stored settings in browser localStorage under taxiDriverHUD.settings.v1. If the Lua settings file is missing, the UI can import this data once and then removes the legacy entry after confirmation from the backend.

Invalid JSON, unsupported schema versions, and out-of-range fields fall back to sanitized defaults and are rewritten canonically.

Clone this wiki locally