Опрос на сайте
Какая серия GTA вам больше всего нравиться?

Популярные новости

Magic - TXD Builder 0.9.1

Magic - TXD Builder 0.9.1
Полезная программа для сборки TXD файлов, которая важные параметры, такие как mip map, DXT сжатие... Кроме того, программа

Vertex Alpha в Vice City

Vertex Alpha в Vice City
То, что некогда было доступно лишь в GTA: San Andreas и выше: Vertex Alpha, а потенциально - и физический бленд текстур в

Компактное меню

Компактное меню
Компактное меню для глобальных модов. Исключено все лишнее.

Main Menu Scene

Main Menu Scene
"Main Menu Scene" дает вам возможность создавать собственные сцены в "Главном Меню" игры с кастомными картой и скриптом, при

Rollerskates Mod

Rollerskates Mod
Модификация позволяет кататься на роликах, прямо как пляжные девушки.

12 июнь 2023

Работа с транспортом, педами и объектами в GTA 5


В данной статье мы рассмотрим базовые примеры работы с транспортом, педами и объектами в GTA 5. Этот материал предназначен для новичков, кто прежде не создавал скрипты для GTA 5, но уже знаком с синтаксисом языка C#. Если вы пропустили первую статью из этого цикла, советуем ознакомиться.


Создание педов

Чтобы создать педа, используйте метод World.CreatePed():

World.CreatePed(PedHash.Hooker02SFY, Game.Player.Character.GetOffsetPosition(new Vector3(0, 5f, 0)));


Чтобы изменить свойства педа, присвойте ему переменную при вызове метода World.CreatePed():

var ped = World.CreatePed(PedHash.Hooker02SFY, Game.Player.Character.GetOffsetPosition(new Vector3(0, 5f, 0)));

// Устанавливаем некоторые свойства
ped.CanBeDraggedOutOfVehicle = false;
ped.Armor = 75;
ped.Weapons.Give(WeaponHash.APPistol, 500, true, true);


Чтобы заставить педа выполнять определенные действия, вам нужно использовать свойство Task:

// Заставляем педа целиться в игрока в течение 5 секунд
ped.Task.AimAt(Game.Player.Character, 5000);

// Заставляем педа драться с игроком
ped.Task.FightAgainst(Game.Player.Character);


Животные в GTA 5 также относятся к педам и создаются аналогичным образом.


Создание транспорта

Для создания транспорта используется метод World.CreateVehicle():

World.CreateVehicle(VehicleHash.Dubsta, Game.Player.Character.GetOffsetPosition(new Vector3(0, 5f, 0)));


Аналогично педам, транспорту можно изменять свойства:

var position = Game.Player.Character.GetOffsetPosition(new Vector3(0, 5f, 0));
var heading = Game.Player.Character.Heading - 90;
var vehicle = World.CreateVehicle(VehicleHash.Dubsta, position, heading);

vehicle.DirtLevel = 15f;
vehicle.Mods.CustomPrimaryColor = Color.White;
vehicle.Mods.CustomSecondaryColor = Color.Black;
vehicle.Mods.LicensePlate = "GTABuilder";
vehicle.PlaceOnGround();


Вы также с легкостью можете модифицировать созданное авто, используя свойство Vehicle.Mods[VehicleModType]. Но прежде всего необходимо вызвать Vehicle.Mods.InstallModKit(). В противном случае изменения тюнинга не будут отображаться в игре.

Чтобы узнать индекс детали тюнинга, которую вы хотите установить, посетите LS Customs в игре, откройте раздел с деталями, которые вы хотите применить к авто (например, бампера), и отсчитайте список до нужной вам детали, начиная с нуля.

vehicle.Mods[VehicleModType.FrontBumper].Index = 3;
vehicle.Mods[VehicleModType.RearBumper].Index = 1;


Полный пример:


var position = Game.Player.Character.GetOffsetPosition(new Vector3(0, 5f, 0));
var heading = Game.Player.Character.Heading - 90;
var vehicle = World.CreateVehicle(VehicleHash.Dubsta, position, heading);

vehicle.DirtLevel = 15f;
vehicle.Mods.CustomPrimaryColor = Color.White;
vehicle.Mods.CustomSecondaryColor = Color.Black;
vehicle.Mods.LicensePlate = "GTABuilder";
vehicle.PlaceOnGround();

Vehicle.Mods.InstallModKit();
vehicle.Mods[VehicleModType.FrontBumper].Index = 3;
vehicle.Mods[VehicleModType.RearBumper].Index = 1;
vehicle.Mods[VehicleModType.Hood].Index = 2;



Создание объектов

Прежде всего вам нужно узнать хэш-код объекта, который вы хотите создать. Для поиска объектов воспользуйтесь такими сайтами, как GTA-OBJECTS.XYZ или gtahash.ru.

Если вы создаете любые физические сущности (педов, транспортные средства, объекты) путем прямого вызова нативных функций, вам следует загрузить модели, которые вы планируете использовать, иначе игра может не создать физическую сущность и вернуть 0.


// Объявление имени модели campfire и ожидание до 250 миллисекунд
var model = new Model("prop_beach_fire");
model.Request(250);

// Проверяем модель на валидность
if (model.IsInCdImage && model.IsValid)
{
    // Необходимо убедиться, что модель была загружена
    while (!model.IsLoaded) Script.Wait(50);

    // Создаем объект
    World.CreateProp(model, Game.Player.Character.GetOffsetPosition(new Vector3(0, 5f, 0)), true, true);
}

// Удаляем загруженную модель из памяти игры, так как она больше не нужна
model.MarkAsNoLongerNeeded();



В следующей вводной статье вы научитесь вызывать нативные функции из C++ напрямую в вашем скрипте, применять их в качестве условий, а также использовать необработанные хэши функций.

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добавить свой комментарий

Полужирный Наклонный текст Подчёркнутый текст Зачёркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос: Введите первые 3 (Русские) буквы сайта (заглавные).
Ответ:*
Другие материалы

VC Memory editor для Vice Lua

VC Memory editor для Vice Lua
VC memory editor- Это плагин для движка Vice Lua, который добавит функции для работы с памятью игры из ваших lua скриптов.

Vehicle Spawner (Спавнер машин)

Vehicle Spawner (Спавнер машин)
Данные скрипты после установки, позволят вам создавать(спавнить) авто, прямо перед томми, в любом вам удобном месте.

Vice City Stories Animations

Vice City Stories Animations
Отличный мод, это анимация из Vice City Stories, теперь после замены определенных файл из архива, вы сможете играть в GTA

Maxo’s Vehicle Loader

Maxo’s Vehicle Loader
Данный плагин, позволит вам легко добавлять новые автомобили, без замены старых. Сам не посредственно плагин состоит из
Ads

Группа GTA Builder