Configuration

The whole config.lua, covering the four coord points, surcharge, auto-void radius and grace, and the poll interval.

The addon has a single config file, config/config.lua, and it is short. Everything else it needs (job name, prices, recipes, banking, notifications) comes from the base script's config.

Coordinates

Config.DriveThru holds four points. Each takes coords and, for the target zone, size.

lua
Config.DriveThru = {
    speaker   = { coords = vec3(-1205.75, -900.96, 13.21), size = vec3(2.0, 2.0, 2.5) },
    window    = { coords = vec3(-1202.57, -904.15, 13.39), size = vec3(2.0, 2.0, 2.5) },
    cookServe = { coords = vec3(-1198.87, -902.09, 13.99), size = vec3(1.0, 1.0, 2.0) },
    autoVoid  = {
        center  = vec3(-1203.80, -903.71, 13.33),
        radius  = 200.0,
        graceMs = 30 * 1000,
    },
}
PointTriggerGated on
speakerText prompt within 3.5mIn a driver's seat, and no open drive-thru order
windowText prompt within 6.0mIn a driver's seat, and holding an open drive-thru order
cookServeox_target boxOn the BurgerShot job and clocked in
autoVoidServer-side distance pollAny tracked drive-thru order

The speaker and window are proximity prompts, not target zones, because ox_target cannot be used from inside a vehicle. Their size values are carried for consistency, the radii above are what actually decide when the prompt shows.

Pricing

OptionDefaultDescription
Config.DriveThruSurcharge10Percentage markup applied to the order subtotal. 0 matches walk-in pricing.

The markup is passed to the base script as surchargePct when the order is created, so the base handles the arithmetic, the receipt, and the society deposit. Tips are unaffected, they are still outside the subtotal and still go entirely to the assigned cook.

Auto-void

An in-flight drive-thru order is cancelled on either of two triggers.

Disconnect. The customer drops, the order voids immediately.

Left the area. Every Config.AutoVoidPollMs the server measures each tracked customer's distance from autoVoid.center. Outside autoVoid.radius continuously for longer than autoVoid.graceMs and the order voids. Coming back inside the radius resets the timer, so a quick trip round the block is fine.

OptionDefaultDescription
Config.DriveThru.autoVoid.radius200.0Metres the customer may stray from the lane.
Config.DriveThru.autoVoid.graceMs30000How long they must be outside before the void fires.
Config.AutoVoidPollMs10000How often the server checks.

Raise the radius on a server with a long approach road. Lowering the poll interval below a few seconds gains you nothing, the grace period is what decides the outcome.

Auto-void is what stops the lane filling with abandoned tickets from players who ordered and drove off. The base script's own Config.AutoVoidAfterMs still applies as a backstop on top of this.

Debug

OptionDefaultDescription
Config.DebugfalseDraws the cook serve target box. Turn it on while placing coords.

What is not configured here

The job name, grades, menu, prices, recipes, station coords, tip caps, XP, banking, and Discord webhook all live in the base script's config. The addon reads the customer's job and duty state through the base script's client exports rather than keeping its own copy, so there is nothing to keep in sync by hand.

One exception worth knowing: the addon hardcodes burgershot as the job name it checks for the cook serve prompt. If you renamed Config.JobName in the base script, change the JOB_NAME local at the top of client/main.lua to match. That file is escrowed, so ask support for a build with your job name if you cannot edit it.