Рейтинг - 5.0 (1)

Всем очередной привет! В этом коротком уроке я продолжу рассказывать о результатах своих исследований.

В некоторых случаях необходимо закрыть доступ к конкретному интерьеру, не мешая работе другого, с таким же именем. Хорошим примером будет магазин Binco. Если мы воспользуемся опкодом:

07FB: set_interior 'CSCHP' access 0

то будут выключены входы ко всем магазинам. А что, если нужно заблокировать только 1 магазин, например в районе Гэнтон? Как оказалось - можем. Для этого воспользуемся опкодом:

09B4: set_object_property_at 2244.9185 -1662.6829 radius 5.0 bitmask 16384 flag 0

Первые два параметра указывают координаты X и Y, где нужно отключить интерьеры, далее радиус действия. Нужно как можно точнее указывать эти параметры, чтобы интерьер попал в зону действия и не захватил другие интерьеры. Параметр 16384 для меня не известный, поэтому оставляйте как есть. А параметр "flag" как раз указывает будет ли закрыт интерьер или нет. В нашем случаи это 0 ( закрыть ). Используя этот опкод магазин Бинко в Гэнтоне стал отключённым:

При этом другие магазины открыты, например в Лас Вентурасе:

Этот опкод работает на коротких дистанциях.

Так же я исследовал работу водителей для погони. Самым удачным вариантом стал опкод:

06E1: AS_actor 2@ using_car 1@ target_car 0@ with_order 29 max_speed 30.0 traffic_flag 2

который заставляет актёра ехать за другой машиной. Но, обратите внимание на параметр "traffic_flag". Именно он указывает актёру как преследовать машину, так сказать модель поведения актёра в автомобиле. Все флаги я занёс в нашу базу данных.

В зависимости от ситуации подойдёт один из этих флагов. Эту информацию я откопал на одном сайте. ( Не помню каком ). Там автор рекомендует использовать в месте с опкодом "0713". Что касается параметра "with_order", то он тоже влияет на поведдение. Вот несколько вариантов поведения:

#Опсиание
-1сдаёт назад
0тоит на месте
1пытается удрать от цели как можно дальше. Напоминает манеру вождения преступников при выполнении миссии копа
2пытается нанести как можно больше вреда цели. Напоминает манеру вождения взбесившихся водителей, когда затронули их машину

На мой взгляд, неплохая настройка поведения для преследования будет:

{$CLEO}
wait 1000

Model.Load(#ADMIRAL)
Model.Load(#WMYDRUG)
038B: load_requested_models

0@ = Car.Create(#ADMIRAL, 2478.4897, -1658.3586, 12.3348)
1@ = Car.Create(#ADMIRAL, 2498.9456, -1660.1907, 12.355)
Car.Angle(0@) = 90.0
Car.Angle(1@) = 90.0
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
0129: 2@ = create_actor_pedtype 4 model #WMYDRUG in_car 1@ driverseat

Model.Destroy(#ADMIRAL)
Model.Destroy(#WMYDRUG)

06E1: AS_actor 2@ using_car 1@ target_car 0@ with_order 3 max_speed 60.0 traffic_flag 16 // установить манеру преследования
0A93: end_custom_thread

На этом урок можно закончить. Я продолжу исследовать опкоды и когда наберётся несколько интересных, то напишу следующую часть. Спасибо за внимание!


Теги: Интересное в скриптинге

SanKing   (22.01.15 16:04)
Отлично, что ещё скажешь.
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
Какие моды Вы хотите видеть на сайте?
Всего ответов: 5
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня нас посетили:
Рекомендую
Реклама