FAQ Стили вождения (Driving Styles)

G1NESS

Эксперт

Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!


Стили вождения (Driving Styles)

Стили вождения работают как 32-битный список, преобразованный в десятичное целое число. Каждый бит действует как флаг и включает или отключает функцию в способностях вождения ИИ-Pedа, которого Вы пишете.

То есть:
PHP:
11111111111111111111111111111111 # Все тумблеры включены
Соответственно:
PHP:
00000000000000000000000000000000  # Все тумблеры выключены!
Всего два возможных значения тумблера (переключателя):
1 - ВКЛ (ON)
0 - ВЫКЛ (OFF)

Чтобы включить 4-й тумблер, нужно прописать
PHP:
00000000000000000000000000001000 # Четвертая цифра с лева на право
Чтобы включить несколько тумблеров, нужно поставить единицы (1) с лева на право в соответствии с местами, которые Вы хотите. Например 1, 2, 5, 7:
PHP:
00000000000000000000000001010011 # Первая, вторая, пятая и седьмая цифры с лева на право

Вот все флаги, соответствующие им целые числа и известные функции:

00000000000000000000000000000001
1 - Делать остановку перед транспортными средствами

00000000000000000000000000000010
2 - Делать остановку перед Ped

00000000000000000000000000000100
4 - Избегать транспортные средства

00000000000000000000000000001000
8 - Избегать пустые транспортные средства

00000000000000000000000000010000
16 - Избегать Ped

00000000000000000000000000100000
32 - Избегать объекты

00000000000000000000000001000000
64 - Неизвестно

00000000000000000000000010000000
128 - Останавливаться на светофорах

00000000000000000000000100000000
256 - Использовать мигалки

00000000000000000000001000000000
512 - Разрешить движение в неправильном направлении (делает это только в том случае, если правильная полоса заполнена, попытается снова выехать на правильную полосу как можно скорее)

00000000000000000000010000000000
1024 - Двигаться всегда на задней передаче (назад)

00000000000000000000100000000000
2048 - Неизвестно

00000000000000000001000000000000
4096 - Неизвестно

00000000000000000010000000000000
8192 - Неизвестно

00000000000000000100000000000000
16384 - Неизвестно

00000000000000001000000000000000
32768 - Неизвестно

00000000000000010000000000000000
65536 - Неизвестно

00000000000000100000000000000000
131072 - Неизвестно

00000000000001000000000000000000
262144 - Выбирать кратчайший путь (устраняет большинство ограничений на движение, водитель даже ездит по грунтовым дорогам)

00000000000010000000000000000000
524288 - Вероятно, избегайте бездорожья

00000000000100000000000000000000
1048576 - Неизвестно

00000000001000000000000000000000
2097152 - Неизвестно

00000000010000000000000000000000
4194304 - Игнорировать дороги (водитель будет использовать локальные маршруты, работает только в пределах 200~ метров вокруг игрока)

00000000100000000000000000000000
8388608 - Неизвестно

00000001000000000000000000000000
16777216 - Игнорировать все пути (водитель будет ехать прямо к месту назначения)

00000010000000000000000000000000
33554432 - Неизвестно

00000100000000000000000000000000
67108864 - Неизвестно

00001000000000000000000000000000
134217728 - Неизвестно

00010000000000000000000000000000
268435456 - Неизвестно

00100000000000000000000000000000
536870912 - Избегать автомагистралей, когда это возможно (водитель будете использовать шоссе, если нет другого способа добраться до места назначения)

01000000000000000000000000000000
1073741824 - Неизвестно



ПРИМЕЧАНИЕ: Флаги, которые без описания (Неизвестно), игнорируются в этом руководстве, так как мы еще не знаем, что они делают.


Вот так, например, выглядит спокойны тип вождения на моем проекте, создаваемый для БОТА-таксиста:
PHP:
00000000000000000000000010111011 # Включены 1, 2, 4, 5, 6, 8 тумблеры
То есть я, выбрал те параметры езды, которые меня устраивают, а именно:
  • Делать остановку перед транспортными средствами;
  • Делать остановку перед Ped;
  • Избегать пустые транспортные средства ("Избегать транспортные средства" - не активировал. Имитация пробок на дорогах создает эффект реалистичности вождения. Водитель терпеливо ждет в очереди на проезд);
  • Избегать Ped
  • Избегать объекты
  • Останавливаться на светофорах
Можно перевести эти биты в целые числа и наоборот с помощью (временная ссылка с разрешения @PIRU).
После перевода из бит в целые числа, получили: 187

Я покажу пример использования в своем скрипте:
TaskVehicleDriveToCoord(taxiPed, taxiVeh, Px, Py, Pz, 22.0, 0, GetEntityModel(taxiVeh), 187, 5.0)
Используя этот вариант, Бот будет ехать и соблюдать все то, что мы ВКЛЮЧИЛИ в нашем списке. Лично я настроил несколько режимов езды. Это очень удобно и интересно. Пробуйте. Уверен, что Вам понравится создавать это.

Есть и другие native, которые переопределяют стиль вождения. Вы также можете установить стиль вождения в них.
Вот список тех native, которые были подтверждены для определения стиля вождения:
TASK_VEHICLE_DRIVE_TO_COORD
TASK_VEHICLE_DRIVE_TO_COORD_LONGRANGE
TASK_VEHICLE_DRIVE_WANDER
TASK_VEHICLE_ESCORT
_TASK_VEHICLE_FOLLOW
 
Последнее редактирование:
Сверху Снизу