Skip to content

Configuration ​

The configs are split by who may read them:

  • configs/shared/ is read by the client and the server: what the phone shows, which items exist, the turf map.
  • configs/server/ never reaches a client: prices, XP, odds, stock and locations. It is merged over the shared files on the server only, so players can't read your economy out of the resource.

Each file is commented line by line. This page says what each one is for and lists the settings most servers change first.

config.lua ​

OptionDefaultDescription
Locale'en'Which locales/*.json to use
DebugfalseDev logging, target zone outlines and the /trap_* test commands
AdminAce'command.trapphone'The ace needed for /trapadmin

Shared ​

phone.lua: the handset ​

OptionDefaultDescription
Itemsthe ten trap_phone_* itemsItem name to faceplate colour. Each colour has its own model in the hand
Item'trap_phone_graphite'The colour handed out by default (/trapadmin give, shops)
UniqueMetadataPhonestrueEvery phone item is its own business: progress, contacts and messages are stored against an id in the item's metadata, so a stolen or sold phone carries everything with it (keep the item unstackable). false: progress belongs to the character and any trap phone opens it
MaxMessagesPerThread / MaxThreads50 / 40Older messages and customer threads fall off past these (contacts are kept)
NumberPrefix'555'Burner numbers read <prefix>-<4 digits>
OpenCommand / OpenKey'trapphone' / ''A command to open the phone, and an optional default key for it (players can bind their own)
Prop / AnimThe in-hand model and how it's held
Wallpapers / RingtonesThe choices in the phone's settings

The ten props, faces and backs

drugs.lua: what can be sold ​

OptionDescription
FamiliesProducts that share XP, levels and demand: weed, coke, meth
ItemsEach sellable item: its family, its unit (gram, quarter, ounce, kilo), the prop handed over, and largePackage for bricks carried two-handed. Point these at the item names your server uses
UnitsHow a unit reads on the phone

Prices, sale sizes and cooldowns per item are in configs/server/economy.lua, keyed by the same item names.

selling.lua: corner sales as the client plays them ​

OptionDefaultDescription
CustomerSearchRadius45.0How far an ambient ped can be to be sent over on foot
VehicleSpawnRadius80.0How far away a buyer's car is created before it drives to your spot
ServeDistance2.2How close you must be to hand over
OfferSeconds75How long a texted offer stays open
CustomerOnRouteTimeout / ParkUpTimeout / VehicleCustomerWaitTime180 / 30 / 30Seconds before a customer who never arrives, a car that can't park, or a buyer at the window gives up
Cinematics / HandOffThe short camera on a deal, and the hand-to-hand animation
IgnorePedTypescops, medics, fire, SWAT, animals, armyPeds that are never customers

zones.lua: the turf map ​

Each area is a circle, and the smallest circle containing a point wins, so a tight block can sit inside a wide district. Anything outside every circle is Default. Each area has a wealth from 0 (broke) to 5 (loaded), the products it craves, and the crew that runs it. The zone is always worked out on the server from the player's real position.

gangs.lua, contacts.lua, scales.lua, services.lua ​

File
gangs.luaThe crews: names, colours, which ambient peds count as theirs, the weapons their encounters and riots use. Enabled turns turf politics off entirely
contacts.luaContact types as the phone shows them, and how meetings work (MeetRadius 60 m, MeetWaitMinutes 10)
scales.luaBagging up: the items, the splits each size breaks into, battery drain, and UseBaggies
services.luaSwitches for the money wash and the black market, and how you interact with them

Server only ​

economy.lua: the money and the progression ​

OptionDefaultDescription
PayoutAccount'cash'Where sale money goes
PricesThe base price per item
DemandBonus1.25Price multiplier in a zone that craves the product
OfferSpread0.15Each offer rolls this share either side of the price
RelationshipBonus0.12At +100 relationship an offer is up by this share, at -100 down by it
LevelBonusPerLevel / LevelBonusCap0.02 / 0.20What each level adds to prices, and the cap
HaggleHow a counter-offer is judged
XP / Titles / ShowLevelNumbersThe XP curve, and the street titles shown instead of level numbers ("Nobody", "Corner boy", ...)

selling.lua: the odds ​

OptionDefaultDescription
CustomerInterval{ min = 12, max = 28 }Seconds between customers while serving
CustomerInVehicleChance35Percent of customers who pull up in a car, when a spot is set
RefuseDrugsChance40Percent of peds you pitch yourself who say no
RobberyChance4Percent of sales where the customer tries to take it instead of paying
MinServeSeconds4A sale can't complete sooner than this after its offer
Relationship / Personalities / TipShareHow customers remember you, the kinds of customer, and tips

dispatch.lua: police pressure ​

OptionDefaultDescription
PoliceJobs{ 'police', 'sheriff' }Who counts as police
CheckForPolice / RequiredPolicefalse / 3Require police on duty before anyone can start selling
Cooldown90Seconds between alerts about the same player
Snitch / Heat / AlertWitness odds, how heat builds and fades, and the alert sent to your dispatch resource

deliveries.lua: drop-off runs ​

OptionDefaultDescription
Enabled / RequireVehicletrue / trueDrop-offs on, and only while in a vehicle
MaxQueue / RequestDelay5 / 60Open orders at once, and seconds between orders
AcceptSeconds / DeliverMinutes120 / 12How long an order waits for an answer, and to be delivered
CompleteRadius6.0How close to the door you must be (checked on the server)
MinDistance / MaxDistance250.0 / 3500.0How far the doors can be from you
SpotsThe doors

The rest ​

File
contacts.luaThe people you meet: who they are, what they stock and where they meet. IntroChance (60) is the percent chance a level-up makes one reach out
gangs.luaStanding, tax, bribes, encounters and riots. SharedJobRep lets a job (police) share one standing with each crew
services.luaMoney wash rates and black market stock and locations. A location is only sent to players who have unlocked it
dialogue.lua / lines.luaEverything customers, contacts and crews text, by moment and personality
logs.luaAudit logging through ox_lib's logger, per event