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-BoatSchool".

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-BoatSchool

And when you have everything clean without another Boat School script, you will have to install the Buty-BoatSchool 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 = false -- true / false -> https://butycall.tebex.io/package/5743295
}

Prices = {
    PaymentMethod = 'bank', -- bank / cash
    Theoretical = 10000,
    Practical = 15000
}

NPC = {
    Position = vector4(-786.698914, -1385.380249, 0.578735, 45.354328),
    Model = 's_m_m_pilot_01'
}

Blip = {
    Sprite = 427,
    Color = 38,
    Scale = 1.0,
    Label = 'Boat School'
}

TheoreticalExam = {
    MistakeMax = 2,
    ExamTime = 2.5, -- In minutes
    Questions = {
        {
            Question = 'Question #1 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = false },
                { Text = 'Answer #2', Right = true },
                { Text = 'Answer #3', Right = false }
            }
        },
        {
            Question = 'Question #2 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = false },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = true }
            }
        },
        {
            Question = 'Question #3 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = true },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = false }
            }
        },
        {
            Question = 'Question #4 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = true },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = false }
            }
        },
        {
            Question = 'Question #5 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = true },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = false }
            }
        },
        {
            Question = 'Question #6 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = true },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = false }
            }
        },
        {
            Question = 'Question #7 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = true },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = false }
            }
        },
        {
            Question = 'Question #8 Airplane',
            Answers = {
                { Text = 'Answer #1', Right = true },
                { Text = 'Answer #2', Right = false },
                { Text = 'Answer #3', Right = false }
            }
        }
    }
}

PracticalExam = {
    MissionTime = 10, -- In minutes
    Model = 'speeder',
    VehiclePlate = 'Boat School',
    SpawnCoords = {
        vector4(-767.46, -1379.73, 0.12, 51.7)
    },
    CheckpointMarker = { Type = 6, Size = 25.0, Color = { 47, 92, 115, 255 } },
    Texts = {
        -- First mission
        [1] = 'Exit the Port Zone',
        -- Second mission
        [2] = 'Navigate the Circuit, without leaving the course',
        -- Third mission
        [3] = 'Avoid Obstacles',
        -- Fourth mission
        [4] = 'Navigate the Circuit through the channels of Los Santos',
        -- Fifth mission
        [5] = 'Park the boat without crashing'
    },
    Routes = {
        {
            -- First mission
            {
                { Pos = vector3(-835.23, -1529.29, 0.12) }
            },
            -- Second mission
            {
                { Pos = vector3(-907.18, -1600.54, 0.12) },
                { Pos = vector3(-989.66, -1689.09, 0.03) },
                { Pos = vector3(-1077.44, -1772.11, 0.3) },
                { Pos = vector3(-1195.42, -1876.2, 0.28) },
                { Pos = vector3(-1259.57, -1969.62, 0.22) },
                { Pos = vector3(-1346.27, -1997.89, 0.38) },
                { Pos = vector3(-1433.55, -2047.24, -0.07) },
                { Pos = vector3(-1559.25, -2163.55, 0.34) },
                { Pos = vector3(-1687.87, -2261.56, 0.53) }
            },
            -- Third mission
            {
                { Pos = vector3(-1829.74, -2658.66, 0.92) },
                { Pos = vector3(-1915.89, -2803.36, 1.33) },
                { Pos = vector3(-1969.02, -2779.17, 0.53) },
                { Pos = vector3(-1881.45, -2637.39, 0.92) }
            },
            -- Fourth mission
            {
                { Pos = vector3(-1054.7, -1752.16, 0.4) },
                { Pos = vector3(-884.52, -1582.59, 0.03) },
                { Pos = vector3(-843.25, -1457.1, -0.04) },
                { Pos = vector3(-912.36, -1355.74, -0.08) },
                { Pos = vector3(-988.33, -1356.51, -0.05) },
                { Pos = vector3(-1057.62, -1229.95, -0.51) },
                { Pos = vector3(-1106.41, -1150.69, -0.54) },
                { Pos = vector3(-1113.44, -1120.62, -0.37) },
                { Pos = vector3(-1000.25, -1054.48, -0.45) },
                { Pos = vector3(-947.37, -1024.16, -0.45) },
                { Pos = vector3(-914.38, -1073.83, -0.5) },
                { Pos = vector3(-899.48, -1118.03, -0.58) },
                { Pos = vector3(-948.45, -1147.04, -0.56) },
                { Pos = vector3(-1008.26, -1181.01, -0.41) },
                { Pos = vector3(-1058.91, -1235.53, -0.46) },
                { Pos = vector3(-982.39, -1364.26, -0.03) },
                { Pos = vector3(-926.6, -1358.44, -0.08) },
                { Pos = vector3(-835.98, -1464.27, -0.04) }
            },
            -- Fifth mission
            {
                { Pos = vector3(-859.13, -1486.98, -0.09) }
            }
        }
    }
}

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

If you want to edit the aesthetics or design. You have the HTML open so you can modify the style and everything as you want.

The script is RESPONSIVE for all resolutions as well.

Last updated