Configuration
[!CAUTION] Don't touch this line:
Config, Blips, Lang, Noti, Vehicles, TheoricalInstructor, PracticeInstructor, TheoricalUserPosition, Receptionist = {},
{}, {}, {}, {}, {}, {}, {}, {}
Configuration File
Framework Settings
-- Use "esx" or "qb"
Config.Framework = "qb"
-- If you are using one of the most recent versions of ESX, set the script name. Default = "es_extended"
Config.ESXExport = ""
-- Default ESX: "esx:getSharedObject" | Default QB: "qb-core"
Config.Core = "qb-core"
-- oxmysql, mysql-async or ghmattisql
Config.Mysql = "oxmysql"
License Prices
-- Helicopter license price (HPL)
Config.licenseHelicopterPrice = 2500
-- Plane license price (PPL)
Config.licensePlanePrice = 5500
Test Configuration
-- Number of questions for the theoretical test
Config.theoricalTotalQuestions = 9
-- Answers needed to pass the theory test
Config.correctAnswersNeeded = 5
-- Maximum number of errors that can be made in the practical test
Config.MaxErrorsPractice = 5
-- Set to true if you want users to have to repeat the theory for each license
Config.repeatTheorical = true
License Names
-- Helicopter license name in the database
Config.licenseNameHelicopter = 'helicopter'
-- Plane license name in the database
Config.licenseNamePlane = 'plane'
General Settings
-- Instructor audio language. Change it or replace the files in the audio folder
Config.TTSLanguage = 'EN'
-- Font used in alerts. Set to 0 if your language is Chinese
Config.alertTextFont = 4
-- Set to true if you want to use ESX.DeleteVehicle or QBCore.Functions.DeleteVehicle
Config.UseEsxQBDeleteVehicle = false
-- Check license in the database
Config.checkDBLicense = true
-- Teleport the user to the flight school if he fails the practical test
Config.teleportIfFails = true
-- Coordinates to teleport the user if fails the practical test
Config.teleportIfFailsCoord = vector3(-1187.21, -2423.52, 20.26)
-- Check if there is a vehicle at spawn point
Config.checkspawnpoint = true
-- Account to which you want the money to be charged
Config.accountToRemoveMoney = "bank"
Vehicles
Vehicles.helicopter = 'supervolito'
Vehicles.plane = 'velum2'
Vehicles.spawn = {
x = -1118.94,
y = -2398.03,
z = 13.95,
heading = 145.69
}
Fuel Integration
-- set to true if you want to use a custom fuel script
Config.useCustomFuel = false
function setFuel(vehicle)
-- Insert your fuel script trigger here
end
Keys Integration
Config.useKeys = true
function addKeys(vehicle)
-- Insert here your trigger. EX:
-- TriggerServerEvent("keyscar:server:addKey", GetVehicleNumberPlateText(vehicle), false)
end
function removeKeys(vehicle, plate)
if vehicle ~= 0 and plate ~= nil then
-- Insert here your trigger
end
end
NPCs
Receptionist
Receptionist.npc = 's_f_y_airhostess_01'
Receptionist.x = -1189.84
Receptionist.y = -2425.32
Receptionist.z = 20.26
Receptionist.heading = 331.72
Practice Instructor
PracticeInstructor.use = true
PracticeInstructor.npc = 's_m_m_pilot_01'
PracticeInstructor.x = -1094.09
PracticeInstructor.y = -2402.76
PracticeInstructor.z = 13.95
PracticeInstructor.heading = 112.36
-- if you want the npc to spawn directly inside the vehicle
PracticeInstructor.useTeleport = false
Theoretical Instructor
TheoricalInstructor.npc = 'csb_reporter'
TheoricalInstructor.x = 0.0
TheoricalInstructor.y = 0.0
TheoricalInstructor.z = 0.0
TheoricalInstructor.heading = 0.0
User Position
TheoricalUserPosition.x = -1188.48
TheoricalUserPosition.y = -2424.09
TheoricalUserPosition.z = 20.26
TheoricalUserPosition.heading = 46.49
Notifications
function notifications(notitype, message, time)
-- Change this trigger for your notification system keeping the variables
TriggerEvent('codem-notification', message, time, notitype)
end
-- Notifications types:
Noti.info = 'info'
Noti.check = 'check'
Noti.error = 'error'
-- Notification time:
Noti.time = 5000
Blips
Blips.active = true
Blips.coord = {
x = -1187.21,
y = -2423.52,
z = 20.26
}
Blips.blip = 43
Blips.blipColor = 2
Blips.blipScale = 0.9
Blips.blipText = "Flight School"
Markers
Marker = {
x = -1189.84,
y = -2425.32,
z = 20.26,
mtype = 23,
-- RGB COLOR:
r = 39,
g = 233,
b = 140,
-- DISTANCE AND SIZE:
dis = 3,
size = 2.0
}
Language
Lang.theoricalneeded = "You must take the theoretical test before taking the practical test"
Lang.returnvehicule = "Return to the vehicle. The test will be cancelled in 10 seconds"
Lang.testcanceled = "The test has been cancelled. Retest again"
Lang.approved = "Congratulations, you have passed!"
Lang.suspended = "You have failed, you can try again another time."
Lang.passed = "You have already passed this test, you cannot take it again"
Lang.enter = "Press ~g~E~w~ to access the ~g~flight school"
Lang.deletedLicense = "The license has been successfully removed"
Lang.noMoney = "You don't have enough money"
Lang.occupiedSpace = "The space to take the vehicle out of the flight school is occupied"
Custom Draw Text
Config.useCustomDrawTxt = true
function customDrawTxt()
TriggerEvent("bit-interact:Start", "E", "Press to access the flight school")
end