INSTALLATION

1. DOWNLOAD

The first step is to download the product we have just purchased. To do this we will go to our KEYMASTER account and search for "Buty-FlightSchool".

2. DEPENDENCIES AND INSTALLATION

This script does not need any dependencies or progress bar.

Just place the script under your CORE and your core scripts:

ensure Buty-FlightSchool

And when you have everything clean without another Boat School script, you will have to install the Buty-FlightSchool SQL.

3. CONFIG

The following will explain all the settings, one of the most important things that I recommend you spend a few minutes to understand in order to offer your users the best possible experien

The SERVER > OPEN is where you have to configure the correct event/export that your license system uses.

If you use the DEFAULT of ESX/QB you don't have to touch anything, the same if you use the Buty-License you only have to activate it in the CONFIG.

Framework = {
    FrameworkName = 'esx', -- esx or qb
    FileName = 'es_extended', -- es_extended / qb-core
    SQLWrapper = 'oxmysql', --  oxmysql / mysql-async / ghmattimysql
    UseButyLicense = true, -- true / false -> https://butycall.tebex.io/package/5743295
}

Prices = {
    PaymentMethod = 'bank', -- bank / cash
    
    Airplane = { Theoretical = 10000, Practical = 10000 },
    Helicopter = { Theoretical = 20000, Practical = 20000 }
}

NPC = {
    Position = vector4(-1032.923096, -3015.942871, 12.946533, 59.527554),
    Model = 's_m_m_pilot_01'
}

Blip = {
    Sprite = 423,
    Color = 38,
    Scale = 1.0,
    Label = 'Flight School'
}

TheoreticalExam = {
    MistakeMax = 2,
    ExamTime = 2.5, -- In minutes
    Questions = {
        airplane = {
            {
                Question = 'What is the most important part of an airplane?',
                Answers = {
                    { Text = 'The wings', Right = true },
                    { Text = 'The engine', Right = false },
                    { Text = 'The pilot', Right = false }
                }
            },
            {
                Question = 'What is the worst time to fly?',
                Answers = {
                    { Text = 'In a storm', Right = true },
                    { Text = 'On a clear day', Right = false },
                    { Text = 'On a starry night', Right = false }
                }
            },
            {
                Question = 'What is the most dangerous animal for an airplane?',
                Answers = {
                    { Text = 'A bird', Right = true },
                    { Text = 'A bat', Right = false },
                    { Text = 'An elephant', Right = false }
                }
            },
            {
                Question = 'What is the difference between a jet and a turboprop airplane?',
                Answers = {
                    { Text = 'A jet airplane uses jet engines to generate thrust, while a turboprop airplane uses propeller engines to generate thrust.', Right = true },
                    { Text = 'A jet airplane is faster and more efficient than a turboprop airplane, but it is also more expensive', Right = false },
                    { Text = 'A turboprop airplane is slower and less efficient than a jet airplane, but it is also cheaper', Right = false }
                }
            },
            {
                Question = 'What is the worst place to sit on an airplane?',
                Answers = {
                    { Text = 'Next to the bathroom', Right = true },
                    { Text = 'Next to a baby', Right = true },
                    { Text = 'Next to a talkative person', Right = false }
                }
            },
            {
                Question = 'What is the importance of flaps on an airplane?',
                Answers = {
                    { Text = 'Flaps help to increase the lift of the wings, which allows the airplane to land and take off at lower speeds.', Right = true },
                    { Text = 'Flaps also help to improve the maneuverability of the airplane in crosswind conditions.', Right = false },
                    { Text = 'Flaps can be operated manually or automatically by the pilot.', Right = false }
                }
            },
            {
                Question = 'What is the most common cause of airplane accidents?',
                Answers = {
                    { Text = 'Pilot error', Right = true },
                    { Text = 'Mechanical failure', Right = false },
                    { Text = 'Weather', Right = false }
                }
            },
            {
                Question = 'What is the maximum altitude that a commercial airliner can fly?',
                Answers = {
                    { Text = '35,000 feet', Right = true },
                    { Text = '40,000 feet', Right = false },
                    { Text = '45,000 feet', Right = false }
                }
            }
        },
        helicopter = {
            {
                Question = 'What is the primary purpose of the tail rotor on a helicopter?',
                Answers = {
                    { Text = 'To make the helicopter look cooler', Right = false },
                    { Text = 'To provide forward thrust', Right = false },
                    { Text = 'To counteract the torque generated by the main rotor', Right = true }
                }
            },
            {
                Question = 'How do you communicate with the control tower while flying?',
                Answers = {
                    { Text = 'Using hand gestures and winks', Right = false },
                    { Text = 'Via telepathy', Right = false },
                    { Text = 'Using the aircrafts radio', Right = true }
                }
            },
            {
                Question = 'During autorotation, what is the primary source of power to keep the main rotor spinning?',
                Answers = {
                    { Text = 'Engine power', Right = false },
                    { Text = 'Air flowing through the rotor blades', Right = true },
                    { Text = 'Helicopters battery', Right = false }
                }
            },
            {
                Question = 'What do you call a helicopter that doesnt want to work?',
                Answers = {
                    { Text = 'Rafael', Right = false },
                    { Text = 'AviΓ³n', Right = false },
                    { Text = 'A hellino-copter', Right = true }
                }
            },
            {
                Question = 'Which flight maneuver is used to make a rapid 180-degree turn without changing the helicopters altitude?',
                Answers = {
                    { Text = 'Stall Turn', Right = false },
                    { Text = 'Barrel Roll', Right = false },
                    { Text = 'Pirouette', Right = true }
                }
            },
            {
                Question = 'Why did the helicopter go to therapy?',
                Answers = {
                    { Text = 'It had rotor issues', Right = false },
                    { Text = 'To cope with height anxiety', Right = false },
                    { Text = 'For some "helico-therapy"', Right = true }
                }
            },
            {
                Question = 'What is the purpose of the cyclic control in a helicopter?',
                Answers = {
                    { Text = 'To control engine power', Right = false },
                    { Text = 'To adjust the pitch of the main rotor blades', Right = true },
                    { Text = 'To synchronize the tail rotor', Right = false }
                }
            },
            {
                Question = 'What is the name of the rotating blades on top of a helicopter?',
                Answers = {
                    { Text = 'Helicopter wings', Right = false },
                    { Text = 'Helicopter fans', Right = false },
                    { Text = 'Helicopter rotor blades', Right = true }
                }
            }
        }
    }
}

PracticalExam = {
    MissionTime = 10, -- In minutes
    PlaneModel = 'lazer',
    HelicopterModel = 'frogger',
    VehiclePlate = 'Flight School',
    SpawnCoords = {
        vector4(-880.391235, -3212.017578, 13.929688, 56.692913),
        vector4(-1053.08, -3021.68, 13.96, 56.64)
    },
    CheckpointMarker = { Type = 6, Size = 25.0, Color = { 47, 92, 115, 255 } },
    Texts = {
        -- First mission
        [1] = 'Take off and fly the aircraft through the marker',
        -- Second mission
        [2] = 'Fly the aircraft through all the markers',
        -- Third mission
        [3] = 'Land the aircraft in the marker'
    },
    Routes = {
        airplane = {
            {
                -- First mission
                {
                    { Pos = vector3(-1478.29, -2867.07, 50.96) }
                },
                -- Second mission
                {
                    { Pos = vector3(-1985.79, -2583.05, 208.94) },
                    { Pos = vector3(-3807.71, 19.63, 410.03) },
                    { Pos = vector3(-3267.47, 2473.18, 477.76) },
                    { Pos = vector3(-615.01, 2543.81, 564.87) },
                    { Pos = vector3(284.09, 2827.10, 238.94) },
                    { Pos = vector3(579.14, 2912.26, 169.19) },
                    { Pos = vector3(853.16, 2995.65, 107.86) },
                    { Pos = vector3( 997.62, 3059.63, 57.99) }
                },
                -- Third mission
                {
                    { Pos = vector3(1274.31, 3135.83, 40.41) }
                }
            }
        },
        helicopter = {
            {
                -- First mission
                {
                    { Pos = vector3(-1478.29, -2867.07, 50.96) }
                },
                -- Second mission
                {
                    { Pos = vector3(-1985.79, -2583.05, 208.94) },
                    { Pos = vector3(-3807.71, 19.63, 410.03) },
                    { Pos = vector3(-3267.47, 2473.18, 477.76) },
                    { Pos = vector3(-615.01, 2543.81, 564.87) },
                    { Pos = vector3(284.09, 2827.10, 238.94) },
                    { Pos = vector3(579.14, 2912.26, 169.19) },
                    { Pos = vector3(853.16, 2995.65, 107.86) },
                    { Pos = vector3( 997.62, 3059.63, 57.99) }
                },
                -- Third mission
                {
                    { Pos = vector3(1274.31, 3135.83, 40.41) }
                }
            }
        }
    }
}

Translation = {
    OpenMenu = '~w~PRESS ~ub~[E]~wu~ ~w~to open the flight school',
    NotEnoughMoney = 'You don\'t have enough money'
}

Last updated