Внимание! Материалы размещенные на сайте принадлежат их владельцам и предоставляются исключительно в ознакомительных целях. При копировании материала, ссылка на сайт обязательна.
Ресурс 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, если таковое не может быть получен. 

Установить открытый гараж Эта функция открывает или закрывает двери гаража указанной в точке города. 

Синтаксис 
bool setGarageOpen ( int garageID, bool open )


В этом примере открывается дверь гаража, когда игрок входит в столкновении форме рядом с ним, и закрывает его, когда они уходят: 


GARAGE_ID = 25 
       
-- create a collision shape and attach event handlers to it when the resource starts 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), 
function (resource) 
    local garageCube = createColCuboid(1337, 194, 28, 6, 10, 4) 
    addEventHandler("onColShapeHit", garageCube, onGarageCubeHit) 
    addEventHandler("onColShapeLeave", garageCube, onGarageCubeLeave) 
end) 
       
-- open the door when someone enters the garage's collision shape 
function onGarageCubeHit(hitElement, matchingDimension) 
    if (getElementType(hitElement) == "player") then 
     -- check to make sure the door is closed 
     if (not isGarageOpen(GARAGE_ID)) then 
      -- open the door 
      setGarageOpen(GARAGE_ID, true) 
     end 
    end 
end 
       
-- close the door when someone leaves the garage's collision shape 
function onGarageCubeLeave(leaveElement, matchingDimension) 
    if (getElementType(leaveElement) == "player") then 
     -- check to make sure the door is open 
     if (isGarageOpen(GARAGE_ID)) then 
      -- close the door 
      setGarageOpen(GARAGE_ID, false) 
     end 
    end 
end

Add
Info
Статистика

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