Уроки моддинга
Основной раздел
Search…
⌃K
Links

000167. Интересное в скриптинге. Часть 2

Интересное в скриптинге. Часть 2|Всем очередной привет! В этом коротком уроке я продолжу рассказывать о результатах своих исследований.|wmysterio|wmysterio||||В некоторых случаях необходимо закрыть доступ к конкретному интерьеру, не мешая работе другого, с таким же именем. Хорошим примером будет магазин 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 [email protected] using_car [email protected] target_car [email protected] 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
[email protected] = Car.Create(#ADMIRAL, 2478.4897, -1658.3586, 12.3348)
[email protected] = Car.Create(#ADMIRAL, 2498.9456, -1660.1907, 12.355)
Car.Angle([email protected]) = 90.0
Car.Angle([email protected]) = 90.0
072A: put_actor $PLAYER_ACTOR into_car [email protected] driverseat
0129: [email protected] = create_actor_pedtype 4 model #WMYDRUG in_car [email protected] driverseat
Model.Destroy(#ADMIRAL)
Model.Destroy(#WMYDRUG)
06E1: AS_actor [email protected] using_car [email protected] target_car [email protected] with_order 3 max_speed 60.0 traffic_flag 16 // установить манеру преследования
0A93: end_custom_thread
На этом урок можно закончить. Я продолжу исследовать опкоды и когда наберётся несколько интересных, то напишу следующую часть. Спасибо за внимание!|1576|1|0|90625068jpg200`149
`\|33437515`jpg`200`132
`||interesnoe_v_skriptinge_chast_2|1504603086