RU/Resource:Editor/EDF: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Reverted edits by Bonzo (talk) to last revision by Vincent)
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Resource page}}
{{RU/Resource page}}
[[Category:RU/Resource]]
__NOTOC__
__NOTOC__
EDF stands for ''Editor Definition File''. EDF's are XML files with an .edf extension that describe the custom elements used by a resource: new element types that have no meaning to MTA itself. Examples are <spawnpoint>, <flag>, <checkpoint> etc. They also are used to define settings that are used by gamemodes, which are placed under the <settings> tag within a resource's ''meta.xml''.
EDF означает ''Editor Definition File'' (файл-описание редактора; формат объявлений редактора). EDF'ы являются XML-файлами с расширением .edf, которые описывают специфические элементы, используемые ресурсом: новые типы элементов, которых самих по себе в MTA нет. Образцами служат <spawnpoint> (спавн), <flag> (флаг), <checkpoint> (чекпоинт) и т.д. Они также используются для того, чтобы устанавливать настройки, используемые модами (gamemode), эти настройки находятся под тегом <settings> внутри ''meta.xml'' ресурса.


==Introduction==
==Вступление==
Some resources use custom map elements. A capture the flag gamemode, for example, will likely use <flag> elements that contain flag positions and teams. When a map is loaded, the gamemode looks for any <flag> elements and installs flags accordingly - for example by creating a flag object and a collision shape.
Некоторые ресурсы используют специфические элементы карты. Например, мод захвата флага (CTF) скорее всего будет использовать элементы <flag>, которые будут содержать позиции флагов и их принадлежность командам. Когда загружается карта, мод ищет любые элементы <flag> и соответствующе расставляет флаги - например, через создание объекта флага и его коллизии.


The problem with these custom elements is that, unlike built-in MTA elements, the map editor has no idea of their meaning. How should a <flag> element be visually represented? What properties does it have? Without telling the editor this information, you could not use it to create these custom elements and would instead have to resort to manually editing the .map file with a text editor. Fortunately this isn't necessary: any resource can contain an editor definition file that describes the custom map elements used by that resource.
Проблема с этими специфическими элементами в том, что в отличие от встроенных в MTA элементов, редактор карт не понимает, что они из себя представляют. Как должен быть визуально представлен собой элемент <flag>? Какие у него есть характеристики? Без передачи редактору этой информации, вы не сможете использовать его для создания таких специфических элементов, и вам придется прибегнуть к ручному редактированию .map-файла через текстовый редактор. К счастью, это необязательно: любой ресурс может содержать editor definition file, который опишет специфические элементы карты, используемые ресурсом.


==Using definition files in the editor==
==Использование definition files в редакторе==
As described in the [[Resource:Editor|main editor manual]], to be able to create the custom elements of a resource in your map you need to add it in the ''Definitions'' window. Click the ''Definitions'' button in the main menu and double click the resource in the left list. Then close the window and roll the mousewheel in the element panel until the resource comes up. At that point you can create and manipulate custom elements of that resource like any other element.
Как и описано в [[RU/Resource:Editor|главной инструкции по редактору]], чтобы иметь возможность создавать специфические элементы ресурса на вашей карте, вам придется его добавить в окне ''Definitions''. Нажмите кнопку ''Definitions'' в главном меню и дважды щелкните по ресурсу из левого списка. Затем закройте окно и крутаните колесиком мыши в панели элементов, пока не появится желаемый ресурс. С этого момента вы можете создавать и управлять специфическими элементами этого ресурса, как и любым другим элементом.


==Writing EDF files==
==Построение EDF-файлов==
EDF files are simply XML files with an .edf extension. We'll start with an example: the EDF of the Capture the Orb gamemode.
EDF-файлы - просто XML-файлы с расширением .edf. Начнем с образца: EDF'а мода Capture the Orb.


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 34: Line 33:
</syntaxhighlight>
</syntaxhighlight>


As you can see, the syntax is fairly straightforward. The root element, &lt;def&gt;, contains a number of &lt;element&gt;s. Each of these &lt;element&gt;s describes a custom element and specifies its name, visual representation and available properties.
Как вы уже убедились, синтаксис очень легок для понимания. Root element (корневой элемент), &lt;def&gt;, содержит несколько &lt;element&gt;. Каждый из этих &lt;element&gt; описывает специфический элемент и задает его имя, визуальное представление и доступные ему настройки.


===Visual representation===
===Визуальное представление===


Any child node of an &lt;element&gt; that is not a &lt;data&gt; node is part of the visual representation. There can be one or more objects, markers, pickups etc. For each representation element you can optionally specify a position (posX, posY, posZ) and rotation (rotX, rotY, rotZ): these are ''relative'' to the position and rotation of the represented custom element. Using the above Capture the Orb example, if you were to create a spawnpoint at (30, 14, 3), the editor would display an object of model 3092 at (30, 14, 4) to represent it, because the object's posZ of 1 is added to the spawnpoint's z position of 3.
Каждый child node (дочерний узел) &lt;element&gt;, не являющийся &lt;data&gt;, отвечает за визуальное представление. Объектов, маркеров, пикапов и т.д. могут быть один или несколько. Для каждого элемента вы можете опционально задать позицию (posX, posY, posZ) и угол вращения (rotX, rotY, rotZ): они ''родственны'' с позицией и вращенем каждого отдельно взятого элемента. На примере Capture the Orb выше, если бы вы захотели создать spawnpoint на (30, 14, 3), редактор бы отобразил объект модели 3092 на координатах (30, 14, 4), потому что posZ объекта, равная 1, была бы сложена с координатой spawnpoint по оси z, равной 3.


===Properties===
===Настройки===


Properties of a custom element are described by &lt;data&gt; nodes. Some property names have a special meaning, like ''position'' and ''rotation'': these can be changed by moving and rotating the element in the editor. The other properties can be changed in the Properties window.
Настройки специфического элемента описаны в &lt;data&gt;. Имена некоторых настроек, такие как ''position'' и ''rotation'', особенные: они могут быть изменены при перемещении и вращении элемента прямо в редакторе. Другие настройки могут быть изменены в окне Properties.


===Property-dependent visual representation===
===Визуальное представление, зависимое от настроек===


It is possible to make the representation of a custom element depend on one or more of the element's properties. Take as example a &lt;checkpoint&gt; element of a race gamemode that contains a &lt;marker&gt; for representation: the checkpoint has several attributes like color and size that should be reflected in the marker. To accomplish this, specify something of the form ''!propertyname!'' in one or more of the representing element's attributes. For example:
Специфический элемент можно сделать зависимым от одной или более настроек другого элемента. Например, элемент &lt;checkpoint&gt; race мода, содержащий &lt;marker&gt;: checkpoint имеет несколько атрибутов, таких как color и size, которые должны быть отражены и в marker. Чтобы это сделать, укажите какой-либо из-них в виде ''!propertyname!'' в качестве как одного или более атрибутов зависимого элемента. Например:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 63: Line 62:
</syntaxhighlight>
</syntaxhighlight>


Now whenever the "type", "size" or "color" property of a checkpoint is changed, the new value will be copied to its marker, and the marker's visual appearance changes accordingly.
Теперь, когда бы настройки checkpoint "type", "size" или "color" не менялись, новое значение будет также скопировано в его marker, в связи с чем их внешний вид будет меняться вместе.


===Integrating in a resource===
===Интеграция в ресурсы===


Once you've written your EDF, save it as an .edf file in your resource's folder and add an "edf:definition" attribute to your meta.xml's &lt;info&gt; tag, like so:
Когда вы написали свой EDF, сохраните его как .edf-файл в папке своего ресурса и добавьте атрибут "edf:definition" в тег &lt;info&gt; meta.xml, как здесь:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 76: Line 75:
</syntaxhighlight>
</syntaxhighlight>


==EDF reference==
==EDF ссылки==


===Built-in elements===
===Вшитые элементы===
These are the elements you can use for representing your custom elements, along with their properties.
Эти элементы могут использоваться для ваших специфических элементов, вкупе с их настройками.


{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE" colspan="2" | &lt;blip&gt;
! style="background-color: #EEE" colspan="2" | &lt;blip&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|position
| style="background-color: #EEE"|position
Line 107: Line 106:
! style="background-color: #EEE" colspan="2" | &lt;marker&gt;
! style="background-color: #EEE" colspan="2" | &lt;marker&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|position
| style="background-color: #EEE"|position
Line 133: Line 132:
! style="background-color: #EEE" colspan="2" | &lt;object&gt;
! style="background-color: #EEE" colspan="2" | &lt;object&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|model
| style="background-color: #EEE"|model
Line 156: Line 155:
! style="background-color: #EEE" colspan="2" | &lt;ped&gt;
! style="background-color: #EEE" colspan="2" | &lt;ped&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|position
| style="background-color: #EEE"|position
Line 179: Line 178:
! style="background-color: #EEE" colspan="2" | &lt;pickup&gt;
! style="background-color: #EEE" colspan="2" | &lt;pickup&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|position
| style="background-color: #EEE"|position
Line 205: Line 204:
! style="background-color: #EEE" colspan="2" | &lt;vehicle&gt;
! style="background-color: #EEE" colspan="2" | &lt;vehicle&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|model
| style="background-color: #EEE"|model
Line 237: Line 236:
! style="background-color: #EEE" colspan="2" | &lt;radararea&gt;
! style="background-color: #EEE" colspan="2" | &lt;radararea&gt;
|-
|-
! style="background-color: #EEE"|Property
! style="background-color: #EEE"|Атрибут
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
| style="background-color: #EEE"|posX
| style="background-color: #EEE"|posX
Line 259: Line 258:
|}
|}


===Built-in property names===
===Вшитые названия настроек===
Properties with these names have a special meaning to the editor and can be modified by other means than the Properties window.
Настройки с данными именами особенно воспринимаются редактором и могут быть изменены не только через окно Properties.
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Type
! style="background-color: #EEE"|Тип
|-
|-
! style="background-color: #EEE"|position
! style="background-color: #EEE"|position
Line 272: Line 271:
|}
|}


===Property types===
===Типы настроек===
These are the types you can choose from for the properties (&lt;data&gt;) of your custom elements.
Это -  типы, которые могут быть выбранными в (&lt;data&gt;) ваших специфических элементов.


====Primitives====
====Типы====
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Description
! style="background-color: #EEE"|Описание
! style="background-color: #EEE"|Value
! style="background-color: #EEE"|Значение
|-
|-
! style="background-color: #EEE"|boolean
! style="background-color: #EEE"|boolean
| style="background-color: #EEE"|Simple boolean value.
| style="background-color: #EEE"|Простое двоичное (булевое) значение.
| style="background-color: #EEE"|"true" or "false"
| style="background-color: #EEE"|"true" или "false"
|-
|-
! style="background-color: #EEE"|natural
! style="background-color: #EEE"|natural
| style="background-color: #EEE"|Natural number (whole and positive).
| style="background-color: #EEE"|Натуральное число (целое и неотрицательное).
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|integer
! style="background-color: #EEE"|integer
| style="background-color: #EEE"|Whole number.
| style="background-color: #EEE"|Целое число.
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|number
! style="background-color: #EEE"|number
| style="background-color: #EEE"|Rational number.
| style="background-color: #EEE"|Рациональное число.
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|string
! style="background-color: #EEE"|string
| style="background-color: #EEE"|Simple string of text.
| style="background-color: #EEE"|Простая текстовая строка.
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|color
! style="background-color: #EEE"|color
| style="background-color: #EEE"|color, with or without alpha.
| style="background-color: #EEE"|цвет, с или без указания прозрачности (alpha).
| style="background-color: #EEE"|#RRGGBB or #RRGGBBAA
| style="background-color: #EEE"|#RRGGBB или #RRGGBBAA
|}
|}


====Coordinates====
====Координаты====
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Description
! style="background-color: #EEE"|Описание
! style="background-color: #EEE"|Value
! style="background-color: #EEE"|Значение
|-
|-
! style="background-color: #EEE"|camera
! style="background-color: #EEE"|camera
| style="background-color: #EEE"|Position and lookat coordinates for the camera.
| style="background-color: #EEE"|Позиция и угол обзора камеры.
| style="background-color: #EEE"|posX,posY,posZ,lookatX,lookatY,lookatZ
| style="background-color: #EEE"|posX,posY,posZ,lookatX,lookatY,lookatZ
|-
|-
! style="background-color: #EEE"|coord3d
! style="background-color: #EEE"|coord3d
| style="background-color: #EEE"|3-component vector, typically used for positions and rotations.
| style="background-color: #EEE"|3-компонентный вектор, зачастую используемый для позиции и вращения.
| style="background-color: #EEE"|x,y,z
| style="background-color: #EEE"|x,y,z
|}
|}


====Vehicles====
====Транспорт====
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Description
! style="background-color: #EEE"|Описание
! style="background-color: #EEE"|Value
! style="background-color: #EEE"|Значение
|-
|-
! style="background-color: #EEE"|plate
! style="background-color: #EEE"|plate
| style="background-color: #EEE"|Number plate text for a vehicle.
| style="background-color: #EEE"|Текст номерного знака для транспортного средства.
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|vehiclecolors
! style="background-color: #EEE"|vehiclecolors
| style="background-color: #EEE"|colors of a vehicle
| style="background-color: #EEE"|цвета транспортного средства
| style="background-color: #EEE"|colorID1,colorID2,colorID3,colorID4
| style="background-color: #EEE"|colorID1,colorID2,colorID3,colorID4
|-
|-
! style="background-color: #EEE"|vehicleupgrades
! style="background-color: #EEE"|vehicleupgrades
| style="background-color: #EEE"|Upgrades of a vehicle
| style="background-color: #EEE"|апгрейды (тюнинг) транспортного средства
| style="background-color: #EEE"|upgradeID1,upgradeID2,...
| style="background-color: #EEE"|upgradeID1,upgradeID2,...
|}
|}


====Model ID's====
====ID моделей====
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Description
! style="background-color: #EEE"|Описание
! style="background-color: #EEE"|Value
! style="background-color: #EEE"|Значение
|-
|-
! style="background-color: #EEE"|blipID
! style="background-color: #EEE"|blipID
| style="background-color: #EEE"|Picture ID for blips
| style="background-color: #EEE"|ID картинки для метки
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|objectID
! style="background-color: #EEE"|objectID
| style="background-color: #EEE"|Model ID for objects
| style="background-color: #EEE"|ID модели для объекта
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|pickupType
! style="background-color: #EEE"|pickupType
| style="background-color: #EEE"|Armor, health or weapon
| style="background-color: #EEE"|Броня, хп или оружие
| style="background-color: #EEE"|"armor", "health" or numeric weapon ID
| style="background-color: #EEE"|"armor", "health" или ID-номер оружия
|-
|-
! style="background-color: #EEE"|skinID
! style="background-color: #EEE"|skinID
| style="background-color: #EEE"|Skin ID for peds
| style="background-color: #EEE"|ID скина для педа
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|vehicleID
! style="background-color: #EEE"|vehicleID
| style="background-color: #EEE"|Model ID for vehicles
| style="background-color: #EEE"|ID модели для транспортного средства
| style="background-color: #EEE"|&nbsp;
| style="background-color: #EEE"|&nbsp;
|-
|-
! style="background-color: #EEE"|weaponID
! style="background-color: #EEE"|weaponID
| style="background-color: #EEE"|Weapon, e.g. M4
| style="background-color: #EEE"|Оружие, напр. M4
| style="background-color: #EEE"|Numeric weapon ID, e.g. 31
| style="background-color: #EEE"|ID-номер оружия, напр. 31
|}
|}


====Colshapes and markers====
====Колшейпы и маркеры====
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Description
! style="background-color: #EEE"|Описание
! style="background-color: #EEE"|Value
! style="background-color: #EEE"|Значение
|-
|-
! style="background-color: #EEE"|colshapeType
! style="background-color: #EEE"|colshapeType
| style="background-color: #EEE"|collision circle, cube, rectangle, sphere or tube
| style="background-color: #EEE"|коллизионные круг, куб, прямоугольник, сфера или труба
| style="background-color: #EEE"|One of: "colcircle", "colcube", "colrectangle", "colsphere", "coltube"
| style="background-color: #EEE"|Один из: "colcircle", "colcube", "colrectangle", "colsphere", "coltube"
|-
|-
! style="background-color: #EEE"|markerType
! style="background-color: #EEE"|markerType
| style="background-color: #EEE"|Arrow, checkpoint, corona, cylinder or ring marker.
| style="background-color: #EEE"|Стрелка, чекпоинт, кольцо, цилиндр или круглый маркер.
| style="background-color: #EEE"|One of: "arrow", "checkpoint", "corona", "cylinder", "ring"
| style="background-color: #EEE"|Один из: "arrow", "checkpoint", "corona", "cylinder", "ring"
|-
|-
|}
|}


====Specials====
====Специальные====
{| cellspacing="1"
{| cellspacing="1"
! style="background-color: #EEE"|Name
! style="background-color: #EEE"|Название
! style="background-color: #EEE"|Description
! style="background-color: #EEE"|Описание
! style="background-color: #EEE"|Value
! style="background-color: #EEE"|Значение
|-
|-
! style="background-color: #EEE"|element:type
! style="background-color: #EEE"|element:type
| style="background-color: #EEE"|Element of a certain type, for example: element:flag
| style="background-color: #EEE"|Элемент определенного типа, например: element:flag
| style="background-color: #EEE"|The element's ID
| style="background-color: #EEE"|ID элемента
|-
|-
! style="background-color: #EEE"|selection:val1,val2,...
! style="background-color: #EEE"|selection:val1,val2,...
| style="background-color: #EEE"|Shows a dropdown box from which to pick one value.
| style="background-color: #EEE"|Показывает выпадающий список, из которого можно выбрать одно из значений.
| style="background-color: #EEE"|The selected value
| style="background-color: #EEE"|Выборное значение
|}
|}
[[en:Resource:Editor/EDF]]

Latest revision as of 03:05, 1 April 2016

EDF означает Editor Definition File (файл-описание редактора; формат объявлений редактора). EDF'ы являются XML-файлами с расширением .edf, которые описывают специфические элементы, используемые ресурсом: новые типы элементов, которых самих по себе в MTA нет. Образцами служат <spawnpoint> (спавн), <flag> (флаг), <checkpoint> (чекпоинт) и т.д. Они также используются для того, чтобы устанавливать настройки, используемые модами (gamemode), эти настройки находятся под тегом <settings> внутри meta.xml ресурса.

Вступление

Некоторые ресурсы используют специфические элементы карты. Например, мод захвата флага (CTF) скорее всего будет использовать элементы <flag>, которые будут содержать позиции флагов и их принадлежность командам. Когда загружается карта, мод ищет любые элементы <flag> и соответствующе расставляет флаги - например, через создание объекта флага и его коллизии.

Проблема с этими специфическими элементами в том, что в отличие от встроенных в MTA элементов, редактор карт не понимает, что они из себя представляют. Как должен быть визуально представлен собой элемент <flag>? Какие у него есть характеристики? Без передачи редактору этой информации, вы не сможете использовать его для создания таких специфических элементов, и вам придется прибегнуть к ручному редактированию .map-файла через текстовый редактор. К счастью, это необязательно: любой ресурс может содержать editor definition file, который опишет специфические элементы карты, используемые ресурсом.

Использование definition files в редакторе

Как и описано в главной инструкции по редактору, чтобы иметь возможность создавать специфические элементы ресурса на вашей карте, вам придется его добавить в окне Definitions. Нажмите кнопку Definitions в главном меню и дважды щелкните по ресурсу из левого списка. Затем закройте окно и крутаните колесиком мыши в панели элементов, пока не появится желаемый ресурс. С этого момента вы можете создавать и управлять специфическими элементами этого ресурса, как и любым другим элементом.

Построение EDF-файлов

EDF-файлы - просто XML-файлы с расширением .edf. Начнем с образца: EDF'а мода Capture the Orb.

<def name="Capture the Orb">
    <element name="orb" friendlyname="Orb spawnpoint" instructions="Place your orb in a position that can be collected.">
        <data name="position" type="coord3d" default="0,0,0" />
        <marker size="0.5" type="corona" color="#ffff00ff" />
    </element>
    <element name="objective" friendlyname="Objective point" instructions="Place your objective point in a position that can be reached.">
        <data name="position" type="coord3d" default="0,0,0" />
        <marker size="3" type="cylinder" color="#9370dbaa" />
    </element>
    <element name="spawnpoint" friendlyname="Spawnpoint">
        <object editorOnly="true" model="3092" posZ="1" />
        <data name="position" type="coord3d" default="0,0,0" />
        <data name="rotation" type="coord3d" default="0,0,0" />
        <data name="skin" type="skinID" default="0" />
    </element>
</def>

Как вы уже убедились, синтаксис очень легок для понимания. Root element (корневой элемент), <def>, содержит несколько <element>. Каждый из этих <element> описывает специфический элемент и задает его имя, визуальное представление и доступные ему настройки.

Визуальное представление

Каждый child node (дочерний узел) <element>, не являющийся <data>, отвечает за визуальное представление. Объектов, маркеров, пикапов и т.д. могут быть один или несколько. Для каждого элемента вы можете опционально задать позицию (posX, posY, posZ) и угол вращения (rotX, rotY, rotZ): они родственны с позицией и вращенем каждого отдельно взятого элемента. На примере Capture the Orb выше, если бы вы захотели создать spawnpoint на (30, 14, 3), редактор бы отобразил объект модели 3092 на координатах (30, 14, 4), потому что posZ объекта, равная 1, была бы сложена с координатой spawnpoint по оси z, равной 3.

Настройки

Настройки специфического элемента описаны в <data>. Имена некоторых настроек, такие как position и rotation, особенные: они могут быть изменены при перемещении и вращении элемента прямо в редакторе. Другие настройки могут быть изменены в окне Properties.

Визуальное представление, зависимое от настроек

Специфический элемент можно сделать зависимым от одной или более настроек другого элемента. Например, элемент <checkpoint> race мода, содержащий <marker>: checkpoint имеет несколько атрибутов, таких как color и size, которые должны быть отражены и в marker. Чтобы это сделать, укажите какой-либо из-них в виде !propertyname! в качестве как одного или более атрибутов зависимого элемента. Например:

<def name="Race">
	<element name="checkpoint" friendlyname="Race checkpoint">
		<data name="position" type="coord3d" required="true" default="0,0,0" />

		<data name="type" type="selection:checkpoint,ring" required="true" default="checkpoint" />
		<data name="size" type="number" required="true" default="2.25"/>
		<data name="color" type="color" required="false" default="#ff0000ff" />
		...
		
		<marker type="!type!" size="!size!" color="!color!" />
	</element>
</def>

Теперь, когда бы настройки checkpoint "type", "size" или "color" не менялись, новое значение будет также скопировано в его marker, в связи с чем их внешний вид будет меняться вместе.

Интеграция в ресурсы

Когда вы написали свой EDF, сохраните его как .edf-файл в папке своего ресурса и добавьте атрибут "edf:definition" в тег <info> meta.xml, как здесь:

<meta>
    <info author="erorr404" type="gamemode" ... edf:definition="cto.edf" />
    ...
</meta>

EDF ссылки

Вшитые элементы

Эти элементы могут использоваться для ваших специфических элементов, вкупе с их настройками.

<blip>
Атрибут Тип
position coord3d
icon blipID
size integer
color color
dimension integer


<marker>
Атрибут Тип
position coord3d
type markerType
size number
color color
interior integer
dimension integer


<object>
Атрибут Тип
model objectID
position coord3d
rotation coord3d
interior integer
dimension integer


<ped>
Атрибут Тип
position coord3d
model skinID
rotZ number
interior integer
dimension integer


<pickup>
Атрибут Тип
position coord3d
type pickupType
amount number
respawn integer
interior integer
dimension integer


<vehicle>
Атрибут Тип
model vehicleID
position coord3d
rotation coord3d
color vehiclecolors
upgrades vehicleupgrades
plate plate
interior integer
dimension integer


<radararea>
Атрибут Тип
posX number
posY number
sizeX number
sizeY number
color color
dimension integer

Вшитые названия настроек

Настройки с данными именами особенно воспринимаются редактором и могут быть изменены не только через окно Properties.

Название Тип
position coord3d
rotation coord3d

Типы настроек

Это - типы, которые могут быть выбранными в (<data>) ваших специфических элементов.

Типы

Название Описание Значение
boolean Простое двоичное (булевое) значение. "true" или "false"
natural Натуральное число (целое и неотрицательное).  
integer Целое число.  
number Рациональное число.  
string Простая текстовая строка.  
color цвет, с или без указания прозрачности (alpha). #RRGGBB или #RRGGBBAA

Координаты

Название Описание Значение
camera Позиция и угол обзора камеры. posX,posY,posZ,lookatX,lookatY,lookatZ
coord3d 3-компонентный вектор, зачастую используемый для позиции и вращения. x,y,z

Транспорт

Название Описание Значение
plate Текст номерного знака для транспортного средства.  
vehiclecolors цвета транспортного средства colorID1,colorID2,colorID3,colorID4
vehicleupgrades апгрейды (тюнинг) транспортного средства upgradeID1,upgradeID2,...

ID моделей

Название Описание Значение
blipID ID картинки для метки  
objectID ID модели для объекта  
pickupType Броня, хп или оружие "armor", "health" или ID-номер оружия
skinID ID скина для педа  
vehicleID ID модели для транспортного средства  
weaponID Оружие, напр. M4 ID-номер оружия, напр. 31

Колшейпы и маркеры

Название Описание Значение
colshapeType коллизионные круг, куб, прямоугольник, сфера или труба Один из: "colcircle", "colcube", "colrectangle", "colsphere", "coltube"
markerType Стрелка, чекпоинт, кольцо, цилиндр или круглый маркер. Один из: "arrow", "checkpoint", "corona", "cylinder", "ring"

Специальные

Название Описание Значение
element:type Элемент определенного типа, например: element:flag ID элемента
selection:val1,val2,... Показывает выпадающий список, из которого можно выбрать одно из значений. Выборное значение