# Full View config.lua

{% code fullWidth="true" %}

```lua
Config = {}
Config.DrawDistance = 50.0
Config.MaxErrors = 5
Config.TransitionMP3 = true
Config.FirstOtherLicense = false -- if you want the pilot's license to be preceded by a psychological test license granted by, for example, a policeman
Config.FirstOtherLicenseName = '' -- here is the name of the license that is to allow the pilot theory to start
Config.UsingMarker = true
Config.Ped = 's_m_m_pilot_01' -- ped who is sitting with you, remember that the picture will also have to be changed in the files
Config.LicenseOnItem = false -- [ONLY QB-Core] if you want to use an item license set 'item_name' if not, set false
Config.ESXMenuDefault_position = "center"
Config.ShowNextPoint = true -- then the player sees where the next point will be so that he knows in advance what maneuver he will have to perform

Config.Core = "ESX" -- ESX / QB-Core
Config.CoreDefine = "" -- if you use old ESX you can here define core by trigger "esx:getSharedObject"
Config.CoreExport = function()
    return exports['es_extended']:getSharedObject()
    -- return exports['qb-core']:GetCoreObject() 
end

Config.TextUI = {
    Enabled = false, -- if you want to use TextUI, set to true
    Open = function()
        exports['interact']:Open('E', 'Open') 
    end,
    Close = function()
        exports['interact']:Close()
    end
}

Config.Notification = function(message, type)
    if type == "success" then
        exports["vms_notify"]:Notification("FLYING SCHOOL", message, 5500, "#27FF09", "fa-solid fa-plane")
        -- ESX.ShowNotification(message)
        -- QBCore.Functions.Notify(message, "success", 5500)
    elseif type == "info" then
        exports["vms_notify"]:Notification("FLYING SCHOOL", message, 5500, "#096FFF", "fa-solid fa-plane")
        -- ESX.ShowNotification(message)
        -- QBCore.Functions.Notify(message, "error", 5500)
    elseif type == "error" then
        exports["vms_notify"]:Notification("FLYING SCHOOL", message, 5500, "#FF0909", "fa-solid fa-plane")
        -- ESX.ShowNotification(message)
        -- QBCore.Functions.Notify(message, "error", 5500)
    end
end

Config.Questions = {
	['QuestionsCount'] = 11,
	['QuestionToAnswer'] = 11,
	['NeedAnswersToPass'] = 9,
}

Config.Blip = {
    Sprite = 758,
    Display = 4,
    Scale = 0.8,
    Colour = 32
}

Config.Exams = {
    ['plane'] = true,
    ['helicopter'] = true,
}

Config.Prices = {
    ["flying"] = 2000,
    ["flying_helicopter"] = 20000,
    ["flying_plane"] = 30000,
}

Config.VehicleModels = {
    ["flying_helicopter"] = 'maverick',
    ["flying_plane"] = 'vestra',
}

Config.Zones = {
    ["FlySchool"] = {
        Pos = vec(-1045.72, -2870.2, 34.4),
        Size = vec(1.5, 1.5, 1.0),
        Color = {125, 125, 255},
        Type = 22
    },
    ["flying_helicopter_spawn"] = {
        Pos = vec(-1178.4, -2846.0, 13.96),
        Heading = 330.68377685547,
    },
    ["flying_plane_spawn"] = {
        Pos = vec(-888.36, -3207.04, 13.96),
        Heading = 59.788063049316,
    },
    ["AfterPract"] = {
        Pos = vec(-1051.4, -2880.56, 30.36),
    }
}

Config.Texts = {
    ['passed_test'] = 'You passed the exam, congratulations!',
    ['failed_test'] = 'You failed the exam, good luck next time!',
    ['nomoney'] = 'You don’t have enough money.',
    ['theory_test'] = 'Theoretical examination <span style="color: green;">$%s</span>',
    ['test_plane'] = 'Practical exam on the Plane <span style="color: green;">$%s</span>',
    ['test_helicopter'] = 'Practical exam on the Heli <span style="color: green;">$%s</span>',
    ['press_open_menu'] = 'Press ~INPUT_CONTEXT~ to open the menu',
    ['flying_school'] = 'Flying School',
    ['flying_test_complete'] = 'Practical test completed!',
    ['errors'] = 'Fail Counter: %s/%s',
    ['you_damaged_veh'] = 'Vehicle damaged.',
    ['firstLicense'] = 'You dont have psychological tests',
    ["teacherHeliText_1"] = 'Start the engine and rise to the top',
    ["teacherHeliText_28"] = 'Be careful not to fly over the prison',
    ["teacherHeliText_35"] = 'Land on Helipad',
    ["teacherPlaneText_1"] = 'Go up',
    ["teacherPlaneText_39"] = 'Land.',
    ["teacherPlaneText_41"] = 'Stop, pull back now.',
    ["teacherPlaneText_42"] = 'To the hangar.',
    ["teacherPlaneText_43"] = 'Go back on the air strip.',
    ["teacherPlaneText_46"] = 'Go up',
    ["already_passed"] = "You have already passed this.",
    ["not_passed_theory"] = "You don't have a passing theory",
}

Config.CheckPoints = {
    ['flying_helicopter_test'] = {
        [1] = {
            Pos = vec(-1178.36, -2845.92, 14.04),
            Action = function(vehicle)
                SendNUIMessage({openTeacher = true, pedMessage = Config.Texts['teacherHeliText_1']})
                PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', 0, 0, 1)
            end,
        },
        {...}
    },
    ['flying_plane_test'] = {
        [1] = {
            Pos = vec(-1115.8, -3076.44, 14.12),
            Action = function(vehicle)
                SendNUIMessage({openTeacher = true, pedMessage = Config.Texts['teacherPlaneText_1']})
                PlaySound(-1, 'RACE_PLACED', 'HUD_AWARDS', 0, 0, 1)
            end
        },
        {...}
    },
}
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vames-store.com/outdated/vms_flyingschool/configuration/full-view-config.lua.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
