Недвижимость
Начиная с версии 5.1.5 можно использовать плагин Properties
. Он позволяет делать покупки чего угодно, используя стандартный принцип. И это первый плагин, который может взаимодействовать с другим плагином. Существует 3 режима работы: простой режим, режим с использованием плагина SaveGame и продвинутый режим.
Простой режим
Этот режим не требует дополнительных настроек. Он создаст маркеры и пикапы недвижимости, которую можно было купить в оригинальной игре (за исключением магазинов Zero RC Shop и Wang Cars). При покупке домов, будут разблокированы их гаражи и маркеры входа в интерьер. Пример использования:
Объект PROPERTIES имеет одну проверку is_property_bought
, которая возвращает true, если конкретная недвижимость куплена. Принимает метод 1 параметр типа byte с ограничениями от 0 до 31 включительно — уникальный идентификатор недвижимости (детали будут ниже). Это свойство будет работать независимо от режима использования.
Режим с использованием плагина SaveGame
Этот режим работает точно так же, как и простой режим. Главным отличием является то, что плагин самостоятельно добавляет маркеры сохранения для домов, в которых можно сохраниться. Это позволит реализовать стандартное сохранение и покупку одновременно.
Для реализации этого способа нужно сначала создать плагин SaveGame в простом режиме, а потом передать ссылку на плагин в конструктор класса Properties:
Продвинутый режим
В этом режиме можно указать произвольный набор покупок недвижимости (количество должно быть от 1 до 32 включительно). Для этого надо использовать анонимный метод в качестве параметра конструктора:
Объект setup даёт доступ к методу add_property
. Именно он и добавляет новую недвижимость в свой список. Параметры 0.0 1.0 и 2.0 отвечают за координаты пикапа, 30000 — цена недвижимости. В следующем параметре надо указать анонимную функцию, которая позволяет настроить дополнительные действия. Последний параметр позволяет настроить тип текста, который будет выводится при покупке ("недвижимость" или "номер в отеле"). Рассмотрим их все:
Метод set_camera_position
является обязательным для вызова. Он устанавливает камеру в нужную позицию перед выводом сообщения о покупке. Все остальные опциональны. Метод set_camera_point
устанавливает позицию куда будет смотреть камера. Без вызова этого метода камера будет смотреть в точку, где был создан пикап покупки. Свойства AfterBought
и BeforeCreate
позволяют указать дополнительные действия после покупки и до создания пикапа недвижимости.
Свойства X
, Y
, Z
и Price
возвращают координаты пикапа и цену недвижимости соответственно. Остался только загадочный ID
. Когда недвижимость добавляется через метод add_property, генератор присваивает ей персональный идентификатор — число от 0 до 31 включительно. Он используется для внутренней реализации плагина, но также позволяет сохранить это число для проверок через метод is_property_bought
.
Плагин может существовать в единственном экземпляре и требует отдельного потока (не MAIN)!
Last updated