Создание скриптов в GTA 5 на C#: c чего начать? Часть вторая
Привет. Если ты не видел первую часть гайда, то обязательно прочти. Сегодня мы продолжим знакомиться со скриптингом в GTA 5. Наш второй урок будет посвящен:
* Вызову нативных функций;
* Знакомству с векторами: что это, как с ними работать и как написать с их помощью простенький спавнер автомобилей;
* Как проводить различные манипуляции с автомобилем с помощью скрипта;
Если будут вопросы по данному материалу, ты можешь обращаться в комментарии под этим руководством!
Нативные функции
В игре свыше 5 тысяч различных функций, которые можно использовать в скриптинге. Все они представлены в виде так называемых хэшей. Для удобства им были придуманы читабельные названия. ScriptHookVDotNet уже имеет встроенные функции, но далеко не все из них были добавлены.
Alexander Blade, создатель ScriptHookV, собрал все функции в едино, их можно найти, перейдя по
Эти функции предназначены для использования в C++. Но как написать их на языке C#? Довольно просто:
Например, отключить свет во всем штате Сан Андреас можно функцией World.SetBlackout(true);
А можно вызвать её таким образом:
Интересный факт: данная функция была добавлена в игру с обновлением "Ограбления" и используется в ограблении Humane Labs. Данная функция полностью отключает все световые эффекты на объектах, машинах и персонажах, создавая самую натуральную темноту.
Векторы
Для определения позиции в GTA 5 использует векторы. Существует два типа векторов: Vector2 и Vector3. Vector3 используется для определения позиции в пространстве и состоит из трёх координат: X, Y и Z . Vector2 определяют позицию экрана и состоит из двух параметров: X и Y. Пока что не будем вдаваться в подробности Vector2, а сразу перейдем к примеру использования Vector3, чтобы вам было понятнее. Например, я хочу создать автомобиль в пяти метрах от игрока. Для этого мы получим позицию игрока, прибавим к координате Y 5 игровых метров и создадим автомобиль в этой позиции.
Game.Player.Character - ваш персонаж. Более подробно об её использовании мы поговорим в другой части нашего урока. В position записывается наш вектор с позицией.
Чтобы автомобиль появился прямо перед вами, а не позади или сбоку, возьмем текущий угол поворота игрока и отнимем 90 градусов:
Теперь создаем на этих координатах наш автомобиль:
Манипуляции с автомобилем (и не только)
Создавая любой игровой предмет в игре, его данные записываются в
Возьмем в пример автомобиль, который мы создавали раннее.
Данные об автомобиле были записаны в переменную vehicle. Вы можете дать переменной любое имя. Используя эту переменную, мы можем совершать различные действия с этим автомобилем. Например, я его взорву.
Первый параметр - хэндл нашего автомобиля
Второй параметр - звук взрыва (true - звук есть, false - звука нет)
Третий параметр - видимость эффекта (true - видимый взрыв, false - невидимый взрыв).
Всё это я
Ожидайте следующую часть урока! Добавьте меня в друзья, чтобы не пропускать новых руководств. Удачи с освоением скриптинга!