ARK: Survival Evolved Wiki
Advertisement
Template-info.png Документация

ЗД, или Значения Динозавров, служит универсальной базой данных для значений данных, которые могут часто изменяться во время разработки ARK что позволяет пользователям редактировать один шаблон, а не страницу каждого отдельного существа и любые другие страницы. эти значения могут появиться. Этот шаблон не предназначен для замены Cargo, скорее они могут работать в унисон, когда этот шаблон вызывается на семантической странице. .

База данных

База данных находится в Модуль:Dv/data и представляет собой вложенный массив (или таблицу в языке Lua).

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

Ключи составляют <attribute path>. Например, путь к значению 5 - атаки/1/рукопашный бой/урон, или другими словами {{ dv | dodo | attacks/1/melee/damage }}.

-- simplified syntax to show the principle, for the real syntax see Module:Dv/data

...
|
+- dodo
|  +- commonname: Dodo
|  +- group: Birds
|  +- ...
|  +- stats
|  |  +- health: 40
|  |  +- ...
|  +- attacks
|     +- 1
|        +- name: Melee
|        +- ...
|        +- melee
|           +- damage: 5
|
+- dodorex
|  +- ...
...
+- aberrantOverride
|  +- stats  -- a few stats that are different for most aberrant creatures
|     +- healthtamedmult: -0.04
|     +- ...
+- abberantdodo
   +- inherits: dodo
   +- overridewith: aberrantOverride
   +- commonname: Aberrant Dodo
   +- ...

Есть два специальных ключа, inherits и overridewith, которые учитываются только тогда, когда они встречаются на втором уровне. Если для существа существует inherits то данные копируются из другого существа, названного по значению. Затем все данные реального существа рекурсивно объединяются. Значения существующих ключей будут переопределены, несуществующие ключи будут добавлены с их значениями. Если также существует overridewith тогда значения названного раздела также будут впоследствии объединены, переопределив все ранее добавленные значения.

Итак, в приведенном выше примере Аберрантный Додо - это копия неаберрантного Додо, но с собственным общим именем и некоторыми переопределенными (или добавленными) характеристиками, которые являются общими для большинства аберрантных существ.

Общее использование

{{ dv | <name> | <attribute path> }}
{{ dv | <name> / <attribute path> }}
{{ dv | <name> | <attribute path part 1> | <attribute path part 2> }}

Части пути могут быть записаны в сочетании с косой чертой / в качестве разделителя или как отдельные параметры, разделенные |.

Путь к атрибуту должен вести к единственному значению. В противном случае возвращается текст "недостаточно конкретный путь".

Если путь указывает на несуществующий ключ, ничего (пустая строка) не возвращается.

Разрешение имени

<name> существа обычно соответствует имени его страницы. Template/Module Dv удаляет все символы, кроме A-Za-z0-9 (например, пробелы, знаки препинания и символы с диакритическими знаками) из параметра <name> и преобразует его в нижний регистр. Затем он проверяет, существует ли псевдоним, определенный в Module:Dv/aliases. Полученное имя должно совпадать с одним из ключей первого уровня массива/таблицы, определенного в Module:Dv/data. В противном случае возвращается текст "данные о существе не найдены".

То же правило применяется и для частей пути к атрибуту аналогично, за исключением разрешения псевдонима.

Примеры

{{dv|Allosaurus|stats/health}} will show "630"

{{dv|Allosaurus|stats|health}} will show "630"

{{dv|Allosaurus|stats}} will show "path not specific enough: allosaurus/stats"

{{dv|Allosaurus|stats/fortitude}} will show ""

{{dv|allo|stats/health}} will show ""

{{dv|allo saur|stats/health}} will show ""


{{dv|Woolly Rhino|KillXPBase}} will show ""

{{dv|ptera|immobilizedby}} will show ""

{{dv|LIGHTNING WYVERN|DLC}} will show "Scorched Earth, Ragnarok, Genesis: Part 1"

Определение переменных

В качестве альтернативы добавьте именованный параметр defineVars без префикса или с произвольным префиксом (знак равенства является обязательным).

{{ dv | <name> | <attribute path> | defineVars= }}
{{ dv | <name> | <attribute path> | defineVars=prefix }}
{{ dv | <name> | <attribute path part 1> | <attribute path part 2> | defineVars=prefix }}

Если <attribute path> приводит к единственному значению, поведение такое же, как указано выше. Если это приводит к несуществующему ключу, то ничего (пустая строка) не возвращается. Если он ведет к массиву/таблице, то возвращаемое значение - текст "определенные переменные". В этом случае для каждой пары "ключ-значение" выполняется {{#vardefine:key|value}} Если значение является вложенным массивом/таблицей, тогда определяется переменная с текущим ключом и строкой "таблица", и для каждой записи ключ добавляется частями родительского пути, начинающимися после данного <attribute path> и разделенными косой чертой /. Кроме того, если префикс не пустой, все имена переменных предваряются префиксом, за которым следует косая черта /.

{{#if: {{dv | Dodo | attacks/1 | defineVars=}} |
* Name: {{#var:name}}
{{#if: {{#var:melee}} <!-- contains "table" --> |
* Damage: {{#var:melee/damage}}
}}
}}
  • Name: Melee
  • Damage: 5

In the example above the return text "variables defined" is ignored, but needs to be there (or rather a non-empty string) to satisfy the condition for the #if:.

{{#if: {{dv | Dodo | stats | defineVars=prefix}} |
* Health: {{#var:prefix/health}}
}}
  • Health: 40
Advertisement