00041. Работа с интерьерами

Работа с интерьерами|Всем привет! Давненько в нас не было обновлений и вот, решил написать новый урок. Как вы уже догадались, речь пойдёт об интерьерах. Вы узнаете какие есть интерьеры и что с ними можно делать.|wmysterio|||||В игре есть много интерьеров. Некоторые из них были не доступны для CJ, но путём скриптинга мы сделаем возможность входить в них, например в дом Райдера или Свита. Заглянув базу данных, вы сможете узнать все интерьеры и их номера ( см. Интерьеры ). Как видите, несколько интерьеров имеют одинаковый номер.

Перейдём к делу. В первую очередь, нужно активировать нужный интерьер. Делается это опкодом:

04BB: select_interior 1

Здесь: 1 - номер интерьера

Дальше нам следует переместить актёра в этот интерьер:

0860: link_actor $PLAYER_ACTOR to_interior 1

Для автомобилей:

0840: link_car 379@ to_interior 1

Для объектов:

0566: link_object $2703 to_interior 1

Здесь: $PLAYER_ACTOR - хендл актёра 379@ - хендл машины $2703 - хендл объекта 1 - номер интерьера

После этой операции нужно уже перемещать актёра/транспорт/объект в координаты интерьера. Увы, я не знаю координаты всех интерьеров, но несколько из них я постараюсь вам предоставить.

Также можно отключать интерьеры, то есть CJ не сможет входить в них. Делается опкодом:

07FB: set_interior 'CARLS' access 0

Здесь: 'CARLS' - имя интерьера 0 - отключить интерьер ( если поставить 1 - включить )

В этом примере зайти в дом CJ на Гроув будет невозможно. Также есть опкод, который редко используется - указать цвет интерьера:

04F9: set_interior 1 color_to 4

Здесь: 1 - номер интерьера 4 - номер цвета

Также можно записать в переменную номер текущего интерьера:

Первый опкод получает интерьер, в котором находится актёр. Второй - интерьер, который сейчас активный.

Здесь: 1@ - переменная, в которую будет записан номер интерьера $PLAYER_ACTOR - актёр, номер интерьера которого будет считано

Также, как и номер интерьера, можно записать в переменную, имя интерьера:

Здесь: v$ACTIVE_INTERIOR_NAME - строковая переменная, в которой будет хранится имя интерьера $PLAYER_ACTOR - актёр, имя интерьера которого будет прочитано

Основные опкоды для работы с интерьерами мы рассмотрели. Давайте напишем теперь скрипт, что бы был входной маркер у дома свита. И когда СЖ возле него, нас телепортировало в интерьер Свита.

Конечно, это не самый идеальный интерьер, так как местами можно провалится :D Но зато Вы сможете входить в интерьер Свита. Кстати, улица так же является одним большим интерьером и имеет номер 0. Давайте добавим этот кусок скрипта в наш main.scm:

В результате мы получили:

|1180|1|0|32493694`png`640`400`400`250``\||rabota_s_intererami|1498919423

Last updated

Was this helpful?