Configuration
All settings are in shared/config.lua.
General
Config.Framework = 'auto' -- 'auto' | 'qbcore' | 'qbox' | 'esx'
Config.Debug = false
Config.JobRequired = true -- Require a taxi job to use the system
Config.Locale = 'en' -- 'en', 'ko', or add your own in lang/
Commands
Config.Commands = {
Taximeter = 'taximeter',
TaximeterKey = 'U',
Focus = 'taxi_focus',
FocusKey = 'Q',
CancelMission = 'canceltaximission',
EditUI = 'taxiuiedit',
}
UI
Config.UI = {
Drag = true, -- Players can drag the meter
Position = 'top-right', -- Fixed position when Drag = false
}
Options: top-left, top, top-right, middle-left, middle-right
Fares
Config.BaseFare = 3
Config.FareStepDistance = 100.0 -- Meters between fare increases
Config.FareStepAmount = 1 -- $ added per step
Config.SurchargeRate = 1.5 -- Night multiplier (1.5 = +50%)
Config.NightTimeStart = 20 -- 8 PM
Config.NightTimeEnd = 6 -- 6 AM
Taxi Vehicles
Config.TaxiVehicleNames = {
"taxi", "taxi5", "caravantaxi",
-- Add your custom models here
}
Config.DisableRadioInTaxi = true
NPC Mission
Config.NpcMission = {
Enabled = true,
FarePerMile = 3,
StartingFare = 0,
DispatchWaitMin = 30,
DispatchWaitMax = 120,
FleeChance = 30,
FleeMinFarePercent = 60,
FleeMaxFarePercent = 100,
Bonus = {
Enabled = true,
Percentage = 10,
},
MinVehicleHealth = 750,
MaxCrashesAllowed = 5,
Speech = {
Enabled = true,
Greeting = 'GENERIC_HI',
Angry = 'GENERIC_INSULT_HIGH',
Scared = 'GENERIC_FRIGHTENED_HIGH',
Grateful = 'GENERIC_THANKS',
Happy = 'GENERIC_HAPPY',
},
Bubble = {
Enabled = true,
Duration = 3000,
OffsetX = -0.08,
OffsetY = 0.05,
},
Camera = {
Duration = 3000,
FOV = 60.0,
OffsetX = 0.25,
OffsetY = -0.15,
OffsetZ = 0.1,
},
DestinationNames = {
"Downtown", "Airport", "Beach", "Hospital", "Police Station",
"Gas Station", "Mart", "Hotel", "Bank", "Club"
},
RewardItem = 'coffee',
RewardChance = 25,
}
Dispatch
Config.NpcMission.Dispatch = {
Enabled = true,
MaxActiveCalls = 5,
CallIntervalMin = 20,
CallIntervalMax = 60,
CallExpireTime = 120,
DistanceUnit = 'km', -- 'km' or 'mi'
}
Pickup & Dropoff Locations
Config.NpcPickupLocations = {
vector4(257.61, -380.57, 44.71, 340.5),
-- Add more...
}
Config.NpcDropoffLocations = {
vector4(-1074.39, -266.64, 37.75, 117.5),
-- Add more...
}
vector4(x, y, z, heading) — use an in-game coordinate tool.
NPC Skins
Config.NpcSkins = {
[1] = { 'a_f_y_business_01', 'a_f_y_bevhills_01' }, -- Female
[2] = { 'a_m_m_business_01', 'a_m_m_bevhills_01' }, -- Male
}
Companies
Each key matches a framework job name. To add a company, duplicate the block with a different key.
Config.Companies = {
['taxi'] = {
Label = 'City Taxi',
Duty = {
Enabled = true,
Method = 'both', -- 'location' | 'command' | 'both'
Location = vector3(900.87, -169.76, 74.08),
Radius = 3.0,
Blip = { Enabled = true, Sprite = 198, Color = 5, Scale = 0.7 },
Marker = {
Enabled = true, Type = 27,
Scale = vector3(1.0, 1.0, 1.0),
Color = { r = 255, g = 204, b = 0, a = 200 },
},
},
Garage = {
Enabled = true,
AutoDelete = true,
Location = vector3(913.24, -174.58, 74.33),
Radius = 3.0,
SpawnLocation = vector4(915.46, -170.66, 74.0, 101.81),
ReturnLocation = vector3(913.24, -174.58, 74.33),
ReturnRadius = 10.0,
Vehicles = {
{ model = 'taxi', label = 'Taxi (Standard)', rank = 0 },
{ model = 'taxi5', label = 'Taxi (Premium)', rank = 2 },
},
SpawnFuel = 100.0,
Marker = {
Enabled = true, Type = 36,
Scale = vector3(0.8, 0.8, 0.8),
Color = { r = 0, g = 155, b = 255, a = 200 },
},
},
BossMenu = {
Enabled = true,
BossGrade = 'boss',
Location = vector3(895.98, -179.27, 74.0),
CompanyAccount = {
Enabled = true,
MaxPercentage = 50,
DefaultPercentage = 10,
},
Features = {
EmployeeList = true,
HireEmployee = true,
FireEmployee = true,
CompanyFunds = true,
EmployeeStats = true,
},
},
},
}
Statistics
Config.Statistics = {
Enabled = true,
Storage = 'database',
TableName = 'nc_taxijob_stats',
Command = 'taxistats',
Track = {
TotalIncome = true,
MissionsCompleted = true,
TotalDistance = true,
TotalRides = true,
},
}
Ranks
Config.Ranks = {
Enabled = true,
List = {
{ name = 'Newbie', missions = 0, bonus = 1.0 },
{ name = 'Beginner', missions = 10, bonus = 1.05 },
{ name = 'Intermediate', missions = 30, bonus = 1.1 },
{ name = 'Veteran', missions = 50, bonus = 1.2 },
{ name = 'Pro', missions = 100, bonus = 1.3 },
{ name = 'Master', missions = 200, bonus = 1.5 },
},
NotifyOnRankUp = true,
}
Tips
Config.Tip = {
Enabled = true,
Chance = 40,
Min = 5,
Max = 20,
ApplyRankBonus = true,
PerfectRideBonus = {
Enabled = true,
ExtraChance = 20,
ExtraMin = 10,
ExtraMax = 30,
},
}