RU/Resource:Interiors
Ресурс interiors предоставляет общую ситему для использования интерьеров из одиночной игры, которая включена в поставку сервера MTASA, начиная с версии 1.0. Буквально это подразумевает расставление точек перехода в соответствующий интерьер, для активации которых требуется попадание игрока в маркер.
Подгрузка интерьеров из ресурса
По умолчанию в ресурс interiors включено свыше 200 собственных интерьерных локаций из одиночной игры. Вкупе с измерениями, все вцелом и каждая в отдельности из точек перехода являются уникальными локациями - вцелом более 450 мест.
Подгрузить их легко. Старт ресурса interiors автоматичсеки загрузит все предустановленные точки перехода и сразу будет готов к использованию.
Добавление своих интерьеров
Ресурс interiors поддерживает гибкую систему элементов .map для добавления ваших собственных интерьеров. В синтаксисе указываются entry (вход) и return (выход). Элемент interiorEntry обязан иметь уникальный id, а элемент interiorReturn использует атрибут "refid" для связи с ним.
<interiorEntry id="" posX="" posY="" posZ="" rotation="" dimension="" interior="" oneway="" /> <interiorReturn refid="" posX="" posY="" posZ="" rotation="" dimension="" interior="" />
Требуемые аргументы
- posX: Число с плавающей точкой, отвечающее за позицию по оси X точки входа в интерьер.
- posY: Число с плавающей точкой, отвечающее за позицию по оси Y точки входа в интерьер.
- posZ: Число с плавающей точкой, отвечающее за позицию по оси Z точки входа в интерьер.
- rotation: Число с плавающей точкой, отвечающее за угол вращения игрока, когда он достиг маркера указанного элемента.
- dimension: Целое число, отвечающее за измерение игрока, когда он достиг точки перехода указанного элемента. Другими словами, в каком измерении расположена точка перехода.
- interior: Целое число, отвечающее за интерьерный мир игрока, когда он достиг точки перехода указанного элемента. Другими словами, в каком интерьере расположена точка перехода.
Опциональные аргументы
- oneway: Если значение установлено на true, маркер interiorReturn не будет создан, и точка перехода будет работать лишь в одну сторону - из interiorEntry к interiorReturn без обратного пути.
Образец
<interiorEntry id="AMMUN1" posX="1368.35" posY="-1279.06" posZ="12.55" rotation="-0.100006" dimension="0" interior="0" /> <interiorReturn refid="AMMUN1" posX="286.15" posY="-41.54" posZ="1000.57" rotation="90" interior="1" dimension="0" />
Элемент interiorEntry расположен в координатах 1368.35,-1279.06,12.55. Когда игрок попадает в данные координаты, его переносит в координаты, указанные в элементе interiorReturn - 286.15,-41.54,1000.57 со вращением 90 градусов, в новый интерьерный мир 1. Когда игрок снова встанет на маркер, все произойдет наоборот.
Взаимодейтсвие вашего скрипта с ресурсом interiors
Ресурс interiors предоставляет несколько событий и функций с целью обеспечить его настраиваемость.
Экспортируемые функции
Пожалуйста, не забывайте, что обязательно нужно использовать call с функциями других ресурсов.
getInteriorName
Эта функция извлекает the общее имя интерьера. Это значит, что оно либо id, либо общий refid.
Синтаксис
string getInteriorName ( element interiorEntry/InteriorReturn )
Требуемые артументы
- interior: Интерьер, имя которого вы хотите получить. Это могут быть interiorEntry или interiorReturn.
Возвращает
Возвращает string с именем интерьера или false, если таковое не может быть получено.
getInteriorMarker
Эта функция извлекает элемент marker, связанный с интерьером. Это позволит вам регулировать видимость маркеров интерьеров через использование функции setElementVisibleTo.
Синтаксис
marker getInteriorMarker ( element interiorEntry/InteriorReturn )
Требуемые аргументы
- interior: Интерьер, маркер связанного с которым вы хотите заполучить. Это могут быть interiorEntry или interiorReturn.
Возвращает
Возвращает элемент маркера, связанный с указанным интерьером или false, если таковой не может быть получен.
События
onInteriorHit
Это событие срабатывает, когда срабатывает точка перехода, перед тем, как игрок перемещается к пункту своего назначения.
Параметры
player hitPlayer
- hitPlayer: Игрок, от которого сработала точка перехода.
Source
Source этого события - элемент интерьера, который сработал.
Эффект отмены
Если событие отменено, игрок не будет перемещен к пункту своего назначения.
onInteriorWarped
Это событие срабатывает, когда цель-интерьер была успешно достигнута.
Параметры
player warpedPlayer
- warpedPlayer: Игрок, переместившийся к пункту своего назначения.
Source
Source этого события - элемент интерьера, к которому переместились.
onPlayerInteriorHit
Это событие срабатывает, когда игрок достигает точки перехода интерьера, перед тем, как он достиг пункта своего назначения
Параметры
element hitInterior
- hitInterior: Элемент интерьера, который был достигнут.
Source
Source этого события - игрок, который достиг элемента интерьера.
Эффект отмены
Если событие отменено, игрок не будет перемещен к пункту своего назначения.
onPlayerInteriorWarped
Это событие срабатывает, когда цель-интерьер была успешно достигнута.
Параметры
element warpedInterior
- warpedInterior: Интерьер, в который переместились.
Source
Source этого события - игрок, переместившийся к пункту своего назначения.
Примеры
Скоро будут