For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration


Three Ways to Change a Setting

Way
Best for

In game: /twlib → Settings

Pay, XP, bonus, cooldown, crew size, level rules, reward split. Saved values apply when the job restarts: use the Restart button in the menu.

Edit defaults/config.lua / defaults/coordinate.lua

Everything else. Save the file and restart tw-transportv2: tw-lib notices your edit and stores it.

Server console: twlib set

Quick changes without opening a file: twlib set tw-transportv2 Config.MaxPlayersInLobby 3, then restart tw-transportv2. Undo with twlib unset tw-transportv2 Config.MaxPlayersInLobby.

After tw-lib stores a value, the line in the config file shows the shipped default next to it, for example Config.MaxPlayersInLobby = 3 --[[twlib:4]]. That marker is how tw-lib tells your value from ours. Leave it there.


Configuration Files

File
What is inside

defaults/config.lua

General settings, interaction, lobby, commands, UI colours, regions & rewards, daily missions, tutorial videos, police alert, levels

defaults/coordinate.lua

Pallets, destinations and furniture spots of every region

defaults/locales/*.lua

Texts in 6 languages

hooks/*.lua

Your own functions (start/end hooks, notifications, prompts)

There is no Config.Framework, Config.Inventory or Config.SQL anymore: tw-lib detects them. The old key, fuel and skin functions are gone too; Config.Vehiclekey, Config.Removekeys and Config.ChangeClothesSystem still switch those features off.


General

Language

Default is English. To change it, run twlib set tw-transportv2 Config.Locale tr in the server console and restart the job, or change 'en' in the Config.Locale line and restart the job. Both are kept across updates.


Interaction

Transport routes every interaction (the job NPC, the forklift, pallets, boxes and furniture) through one system:

resource

Meaning

'default'

The choice made once for all Tworst jobs in /twlib → Settings → All jobs (or twlib set tw-lib interaction ox-target); the prompt if none is set

'drawtext'

The job's own prompts

'ox_target' / 'qb-target'

Target eye (the resource must be started)

'auto'

ox_target, then qb-target, then the fallback

Config.InteractionHandler also accepts 'ox-target', 'qb-target' or 'drawtext' to force a choice for this job only, but 'scriptbase' is the value to keep: it lets Config.TargetSystem decide.

How the prompt looks

In prompt mode, Config.DrawTextUI decides what draws it:

Config.DrawTextUI

Prompt

'default' / 'twlib'

The shared Tworst prompt from tw-lib

'ox_lib'

ox_lib TextUI (ox_lib must be started)

'qb'

qb-core DrawText

'esx'

GTA help notification

'custom'

Your own functions: Config.CustomDrawText / Config.CustomHideText (see Hooks)

Interaction Limits

Config.Disable turns interactions off while the player is dead, in a menu, in a vehicle or handcuffed.


Lobby & Job

Who Can Take the Job

The job rule is checked on the server when a lobby is opened and when an invite is accepted. On frameworks without jobs (standalone, vRP, TMC) everyone can join.

Commands


Job Menu Look

The job menu is the shared Tworst job UI inside tw-lib. The transport's colours and pictures:

Config.DefaultUIPositions sets where the crew list, score, invite and notification boxes sit on screen. Players can also move them in game.


Job Location & Blips

['missionBlips'] holds the blips of each task step, the vehicles and the delivery point.


Regions & Rewards

Region
Name
Min. level
Money
XP

1

Rockford Hills

0

$5,000

1,000

2

Cypress Flats

2

$10,000

3,000

3

Paleto Bay

4

$15,000

5,000

4

Grapeseed (illegal)

6

$25,000

10,000

missionCount sets how many pallets and deliveries a region can roll. Region 4 has illegalMission = true, which turns on the police alert (see below).

Your changes to a region are saved against its regionID. If a later update adds, moves or reorders regions, your money and XP stay with the right region. Keep regionID values unique and do not reuse them.

Reward Split

With Config.LetOwnerSplitRewards = true the lobby owner sets each member's share in the lobby menu: the crew's total (the reward per player × the members online at the payout) is shared by those percentages. With false every member gets the same reward.

Mission Completion Items

missioncompletedItems gives extra items at the end of a region. dropMode = "perItem" rolls each item on its own; "weightedPool" gives one item from the pool. A chance of 100 is always given. If a region has no missioncompletedItems block, the global one in Config.Job is used.


Daily Missions

Changes to a daily mission are saved against its name. Keep the names unique.


Police Alert

Only on regions with illegalMission = true.

vehicleDetails chooses what the alert includes (speed, plate, colour, model, doors, heading, driver's gender). For another dispatch script, set dispatchSystem = "custom" and write your call in dispatchExports["custom"].

A player with one of the policeJobs gets a Search Vehicle option next to a job truck. If illegal cargo is found, the truck can be impounded.


Tutorial

Config.TutorialList holds the tutorial videos. Players open them with /openTutorialtransport. Replace a video's name with your own link to show your own tutorial.


Levels

Config.RequiredXP holds the XP needed for each of the 70 levels. XP above the requirement carries over to the next level.


Texts

All texts are in defaults/locales/<language>.lua. Edit the file and restart the job: tw-lib keeps your edited texts across updates like any other setting. A text missing in a language falls back to English.


Hooks

Functions cannot be stored in the database, so they live in hooks/. Copy hooks/hooks.example.lua to hooks/my-hooks.lua and edit it there. An update replaces only the example; your file is never touched, and it is loaded after the settings, so it wins.


Need Help?

Join our Discord and open a ticket.

Last updated