> For the complete documentation index, see [llms.txt](https://wmysterio.gitbook.io/gta-script-generator/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wmysterio.gitbook.io/gta-script-generator/docs/plugins/plugin_race_mission.md).

# Гоночная миссия

Версия 5.0 дарит ещё один плагин (точнее сразу 3, объединённые в один), который позволяет генерировать код гоночных миссий. Это — `RaceMission`. Реализован плагин в виде статического класса с методами `Checkpoint`, `Circuit`, и `Sprint`. В зависимости от выбранного типа гонки будут доступны настройки, свойственны только им. Рассмотрим пример гонки типа "спринт". Код вызова будет таким:

```csharp
public class MISS1 : Mission {

    public override void START( LabelJump label ) {

        RaceMission.Sprint().Create( setup => {
            // ...
        } );

    }

}
```

Объект `setup` позволяет произвести настройку гонки. Вот минимум настроек, необходимых плагину:

```csharp
public class MISS1 : Mission {

    public override void START( LabelJump label ) {

        RaceMission.Sprint().Create( setup => {

            // нужно добавить машину игрока и машину соперника
            setup.cars.add_player_car( CarModel.ADMIRAL, 0.0, 0.0, 0.0, 0.0 )
                      .add( CarModel.CHEETAH, 5.0, 0.0, 0.0, 0.0 );

            // нужно добавить точки маршрута, по которому будут ехать гонщики
            // координаты: 10.0 0.0 0.0 скорость: 40.0
            setup.points.add( 10.0, 0.0, 0.0, 40.0 );

        } );

    }

}
```

Настроек намного больше, в том числе машин, актёров и прочего.

{% hint style="danger" %}
Вызов методов осуществляется в классах, что наследуют класс **Mission**!
{% endhint %}
