NullSect
Systems nominal

Docs / Taxi / Configuration

CONFIGURATION — ns-taxi

Everything below lives in config.lua unless another file is named. Content tables (cab models, passengers, dialogues, upgrades, achievements, default locations) live in data/*.lua; texts in locales/*.lua. All of them stay editable under escrow.

Coordinates marked -- example are defaults for the vanilla map — replace them with your own.


Core

KeyDefaultEffect
Config.Framework'auto''auto', 'qbox', 'qbcore', 'esx', 'standalone'.
Config.Locale / Config.FallbackLocale'tr' / 'en'Active language and the one used for missing keys.
Config.DebugtrueVerbose console output and test commands. Set false in production.
Config.DebugCategoriesnilnil = all, or e.g. { dispatch = true, payment = true }.
Config.UseOxLib / Config.UseOxTargettrueAllow those integrations when the resources run.

Features

Config.Features switches whole systems off without touching code: RandomEvents, Reputation, Achievements, Upgrades, Dialogues, DynamicDemand, CustomerMemory, PlayerRides, Companies, NightShift, Airport, FuelTracking, StreetHail, ManualMeter.

Job access — Config.Job

KeyDefaultEffect
requiredfalsetrue = only players with the job below can start a shift.
name / minGrade'taxi' / 0Job name and minimum grade.
requireOnDutyfalseAlso require framework duty (Qbox / QBCore).

Money

Config.Payment

KeyDefaultEffect
account'bank''cash' or 'bank'.
maxPayoutPerRide2500Hard ceiling for fare + tip; anything above is refused and flagged.
reason'ns-taxi'Text passed to the framework money log.

Config.Fare

KeyDefaultEffect
base, perKm, perMinute, minimum12, 9.0, 0.9, 18Fare formula.
roadFactor1.3Estimated road distance = straight line × factor.
maxDetourFactor1.8Billable distance cap (no fare farming with detours).
averageSpeedKmh, maxDurationFactor55, 1.6Duration estimate and billable time cap.
airportFee, longDistance, vipPremium, emergencyBonusExtras.
periodMultipliersday 1.0, night 1.1, late_night 1.2Per time period (Config.Time).

Config.Tip: enabled, minRating (3.0), minPercent / maxPercent (5 / 25 % of the fare), perfectBonusChance.

Config.Standalone holds the server functions used when no framework runs (addMoney, removeMoney, getMoney, isAdmin) — replace them with your own economy.

Progression

TableWhat it sets
Config.LevelsmaxLevel (50), XP curve base * (level-1) ^ exponent or explicit thresholds, titles per level.
Config.XPXP per ride, per km, bonuses (rating, tip, long, airport, VIP, perfect, clean, night), maxPerRide (250). XP is never taken away.
Config.UnlocksMinimum level for long rides (5), airport (10), premium (15), VIP (20), luxury cabs (25), company (30).
Config.Reputationstart 50, range 0-100, change per star, collision penalty, diminishing gains, tier effects on request frequency and tip chance.

Security / admin / database

Config.Security

KeyDefaultEffect
floodCapacity / floodRefillPerSecond20 / 4Token bucket for all requests of one player.
defaultRateLimit250ms between two calls of the same request (unless it sets its own).
dropAfterFlags0Suspicious flags inside flagWindowSeconds before a kick. 0 = log only.
flagLogCooldown30Seconds between identical log lines for one player.

Config.Admin: ace (ns-taxi.admin), useFrameworkAdmin, testCommandsRequireDebug, testRidesGiveRewards (false — test rides never pay), and commands (rename any admin command).

Config.Database: autoMigrate (true), rideLogRetentionDays (30), customerRetentionDays (45), auditRetentionDays (90). 0 keeps rows forever.

Discord log / update check — Config.Logs

KeyDefaultEffect
webhook{ security = true, admin = true, payout = true }Categories posted to Discord: suspicious flags, admin audit rows, large payments.
payoutMin2500Payments from this amount on are posted (payout).
versionChecktrueCompares the version on start with the manifest URL (ns_version_url in fxmanifest or the nullsect_version_url convar). Without a URL nothing is checked.

The webhook URL is a server convar — never config.lua (it is sent to the clients):

set ns_taxi_webhook "https://discord.com/api/webhooks/..."
set ns_taxi_webhook_security "https://discord.com/api/webhooks/..."   # optional per category: _security, _admin, _payout

/nsstatus (ACE / framework admin or console) lists every running NullSect resource with its version, a newer version when known, and its state (database, sessions, rides).

HQ, cab and dispatch

TableWhat it sets
Config.TaxiCompanyHQ label, duty point, garage, spawn points (tried in order), return point, serverTolerance added to every radius.
Config.VehiclePlate prefix, roof light, start fuel, warp into the cab, spawn clear radius / timeout, seconds the driver may leave the cab.
Config.DispatchTick, time between requests (20-60 s, scaled by demand), offer timeout, drivers per request, offer radius, pickup and trip distances, low fuel warning.
Config.RidesCancel penalties / cooldown, pickup / destination radius, maximum arrival speed, boarding rules, passenger patience, ped streaming distances, luggage.
Config.TrackingServer sample interval for active rides, teleport speed (fails the ride), live meter push interval.
Config.DrivingQualitySpeed limit, hard brake / acceleration, collision damage, scoring weights (safety, comfort, route, timeliness).
Config.RatingPassenger rating formula (driving score, preferences, dislikes, condition, penalties, perfect ride).

Time and demand

Config.Time.source: 'auto' (weather sync GlobalState.currentTime, else server clock), 'real' or 'fixed' (fixedHour, for testing). periods defines day / night / late night.

Config.Demand: zones (circles) with a base level LOW / NORMAL / HIGH / VERY_HIGH; each level sets a fare multiplier, request frequency and premium passenger bonus. Zones drift every updateInterval seconds and drop one level when more than supplyThreshold drivers are inside.

Passengers, dialogues, events

TableWhat it sets
Config.AirportExtra luggage chance and waiting time at airport locations.
Config.DialoguesFirst question delay, interval, questions per ride, answer time, rating cap, remarks, tourist detour (extraStop). Questions live in data/dialogues.lua.
Config.RandomEventsChance per ride (0.30), delays, answer time, maxEventReward, weight per event (0 disables one), settings per event.
Config.IntegrationsAlert provider for EMS / police / mechanic ('auto', 'ps-dispatch', 'cd_dispatch', 'events', 'custom', 'none'), job names, police cooldown.
Config.CustomerMemoryReturn chance of regulars, favourite bonus, grudge penalty, cache.

Cab condition, services, upgrades

TableWhat it sets
Config.ConditionWear per ride / km, messy passengers, complaints below a cleanliness, premium passenger limits, dirt level, warning threshold.
Config.ServicesAccount and reason for cleaning / maintenance payments.
Config.Cleaning / Config.Maintenanceenabled, price, duration, stations (-- example), driver distance, scenario.
Config.Upgradesenabled, fuel saver interval. Levels and prices: data/upgrades.lua.
Config.Fuel'auto', 'ox_fuel', 'LegacyFuel', 'cdn-fuel', 'ps-fuel', 'native', 'custom'.
Config.VehicleKeys'auto', 'qbx_vehiclekeys', 'qb-vehiclekeys', 'none', 'custom'.

Interaction, UI, keys

TableWhat it sets
Config.Target'auto', 'ox_target', 'qb-target', 'none' (built-in prompt, key promptControl = E).
Config.BlipsHQ, cab, pickup and destination blips.
Config.Notificationsprovider ('auto', 'ox_lib', 'qbox', 'qbcore', 'esx', 'native', 'custom'), duration, position.
Config.TabletTablet item, inventory ('auto', 'ox', 'framework', 'none'), deposit, shift / terminal rules, dispatcher NPC.
Config.UIAccent colour, dashboard command / key (taxi / F6), refresh, HUD scale, summary time, open while driving.
Config.KeybindsAccept / decline (Y / N), taximeter (G / U / O), dialogue answers (Y, N, J, K). Players can rebind them.

Taximeter and street hail (0.13.0)

Config.Meter

KeyDefaultEffect
defaultsclassic, top, 1.0, sound onLook for new players; each player picks their own on the tablet.
displayTarifftrueRoleplay meter (no money, no XP) when nobody accepts a metered ride.
extraAmount / maxExtras10 / 5Extra charge per press of Config.Keybinds.meterExtra (O).
waitingSpeed1.5Below this speed (m/s) waiting time counts.
payScreenSeconds10How long the PAY screen stays.

Config.StreetHail: npc (waving NPCs), interval 120-300 s, maximum cab speed, distance, waiting time; players (metered ride offer to a player in the back), consentSeconds, playerFareCap (600).

Player rides, companies, fleet

TableWhat it sets
Config.PlayerRidesCommands (taksicagir, taksiiptal, taksihedef), radial item, request lifetime, offers, destination list, accounts, fare caps, balance check, pairCooldown (anti farming with a second account), escrow, timeouts, rating card, maximum tip, note length.
Config.CompaniesLicense fee (25000), minimum level, maximum companies / members, name length, commission range, manager rights, invite time, refund on disband.
Config.FleetCompany cabs: maximum, sell factor, who pays services, grades for upgrades / services, unassigned cabs, level requirement, plate prefix.

Locations, achievements, statistics

TableWhat it sets
Config.LocationsuseDefaults (also use data/locations.lua), file of recorded spots (data/locations.json), location tool view range and preview.
Config.AchievementsGive rewards, money reward cap (5000), account, check on load. Definitions: data/achievements.lua.
Config.LeaderboardPeriod (7 days), size, minimum rated rides, cache.
Config.StatisticsEarnings chart days, recent rides in the trip log, cache.

Cart

Your cart is empty.