RU/Meta.xml: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(new page)
 
No edit summary
(24 intermediate revisions by 16 users not shown)
Line 1: Line 1:
This file stores one of the most important stuff that resource/gamemode/map can load. You'll need to include names of files that you script/gamemode (resource) is going to use in an '''meta.xml''' file.
Файл ''meta.xml'' представляет MTA набор метаданных, таких как название ресурса, включенные в него скрипты и какие файлы предварительно кэшировать для отправки клиенту, это лишь часть. В нем также объявляются "элементы" для дальнейшей работы с ними. Он написан в XML, который базируется на HTML, и является родителем XHTML.
Eg. If you want to display an image on the client's screen, the client needs to download the image first. To tell the server that you want to use an image in the script you'll need to include the file's name in the meta.xml file.<br />
If you want to use some settings for the script as a variable you can set them in <settings> tag.


Note: You can try simple Meta.xml generator made by 50p: http://forum.mtasa.com/viewtopic.php?f=91&t=22247
=Тэги=
XML - текстовый формат данных, широко используемый для представления данных. MTA использует базирующийся на XML язык для описания метаданных ресурсов с использованием тегов ниже:


== Possible tags ==
*'''<info />''' Информация об этом ресурсе, возможные для включения параметры (любые произвольные параметры могут быть использованы и прочитаны с помощью [[getResourceInfo]]):
Tags in .xml are same as in the . html. meta.xml file has got couple of tags that are required and not required. There are attributes as well.
** '''author:''' Автор данного ресурса
 
** '''version:''' Версия ресурса
Possible tags:
** '''name:''' Название ресурса
*'''<info />''' Information about this resource, possible parameters include (any arbitrary parameters can be used and read using [[getResourceInfo]]):
** '''description:''' Краткое описание ресурса
** '''author:''' The author of this resource
** '''type:''' Тип ресурса, может быть "gamemode" (игровой режим, мод), "script" (сценарий, скрипт), "map" (карта) или "misc" (разное).
** '''version:''' The version of this resource
*'''<script />''' Исходный код ресурса, возможные параметры:
** '''name:''' The name of this resource
** '''src:''' Название файла с исходным кодом (скрипта)
** '''description:''' A brief description of this resource
** '''type:''' Тип исходного кода: "client", "server" или "shared"
** '''type:''' The type of this resource, that can be "gamemode", "script" or "map".
** '''validate:''' Если установлено значение "false", то актуальность скрипта проверяться не будет.
*'''<script />''' Source code for this resource, possible parameters are:
** '''cache:''' Кеширование для клиентского скрипта, если установлено "false", то скрипт не будет сохраняться на диске клиента.
** '''src:''' The file name of the source code
<!--
** '''type:''' The type of source code: "client" or "server"
** '''protected:''' Для клиентских скриптов, должен ли данный скрипт сохраняться на жестком диске клиента или нет: "true" (да) или "false" (нет). Заметка: [http://bugs.mtasa.com/view.php?id=6831 это может работать нестабильно].
*'''<map />''' The map for a gamemode, possible parameters are:
-->
**'''src:''' .map file name (can be path too eg. "maps/filename.map")
*'''<map />''' Карта для мода, возможные параметры:
*'''<file />''' A client-side file. Generally these are images, .txd, .col, .dff or .xml files. They'll be downloaded by clients when the resources is started (or on join)
**'''src:''' название .map-файла (может быть в т.ч. и путь, напр. "maps/filename.map")
**'''src:''' client-side file name (can be path too eg. "images/image.png")
**'''dimension:''' Измерение, в котором карта будет загружена (опционально)
*'''<include />''' Include resources that this resource will use
*'''<file />''' Клиентский файл. В основном, это картинки, .txd, .col, .dff или .xml файлы. Они будут скачаны клиентами при старте ресурса (или при заходе)
**'''resource:''' Resource name that you want to start with this resource
**'''src:''' название клиентского файла (может быть в т.ч. и путь, напр. "images/image.png")
*'''<config />''' Config file (.xml) can be accessed by resource, possible parameters are:
**'''download:''' Должен ли файл быть послан клиенту автоматически или нет (опционально). По умолчанию "true", использование "no" или "false" будет значить, что файл не будет послан при старте ресурса, но сможет быть задействован позже через [[downloadFile]] (с версии 1.4)
**'''src:''' The file name of the config file
*'''<include />''' Включение других ресурсов, которые будет использовать данный ресурс
**'''type:''' The type of the config file: "client" or "server"
**'''resource:''' Название ресурса, который вы хотите чтоб стартовал с данным ресурсом
*'''<export />''' This exports functions from this resource, so other resources can use them with [[call]]
**'''minversion:''' Минимальная версия, которая должна быть у '''ресурса''' (опционально)
**'''function:''' The function name
**'''maxversion:''' Максимальная версия, которая должна быть у '''ресурса''' (опционально)
**'''http:''' Can the function be called via HTTP (true/false)
*'''<config />''' Конфигурационный файл (.xml), к которому будет иметь доступ ресурс, допустимые параметры:
**'''src:''' Название конфигурационного файла
**'''type:''' Тип конфигурационного файла: "client" или "server"
*'''<export />''' Это экспортирует функции из данного ресурса, чтобы другие ресурсы могли ими пользоваться через [[call]]
**'''function:''' Название функции
**'''type''' Является ли экспортированная функция серверной или клиентской (допустимые значения: "client", "server" и "shared")
**'''http:''' Может ли функция быть вызвана через HTTP (true/false)
*'''<html />'''
*'''<html />'''
**'''src:''' The filename for the HTTP file (can be a path)
**'''src:''' Название HTTP-файла (может быть и путем)
**'''default:''' The html file is one that is shown by default when visiting /resourceName/ on the server. Only one html can be default, the rest are ignored. (true/false)
**'''default:''' Является ли html-файл тем, который будет показан по умолчанию при заходе в /имяРесурса/ на сервере. Только один html может быть по умолчанию, все остальные игнорируются. (true/false)
**'''raw:''' The html file is not parsed by the LUA interpreter and is treated as binary data. Must be used for binary files (images mainly) (true/false)
**'''raw:''' Html-файл не анализируется Lua-интерпретатором и рассматривается как двоичные данные. Обязательно должно использоваться для двоичных файлов (в основном картинок) (true/false)
*'''<settings> </settings>'''
*'''<settings> <setting name="" value=""/> </settings>:''' Большинство модов использует [[settings system]], чтобы позволить администраторам серверов настраивать его по их желанию. Например, вы можете установить время раунда, а затем воспользоваться [[get]] и [[set]] для получения или изменения значений соответственно.
*'''<min_mta_version />''' Минимальная требуемая версия для правильной работы данного ресурса. При авторинге ресурсов, обычно минимальная версия должна быть установлена на в данный момент зарелиженную версию MTA:SA (на данный момент это "{{Current Version|full}}").
**'''client:''' Минимальная версия клиента
**'''server:''' Минимальная версия сервера
*'''<aclrequest />''' Лист [[Access_Control_List|ACL]]-прав, которые понадобятся ресурсу.
{{New items|3.0139|1.3.1 r4141|
*'''<sync_map_element_data />''' Контролирует, пересылаются ли [[Element_data|данные элементов]] карты, такие как "PosX" и "DoubleSided" клиенту. Эти данные зачастую не требуются большинству модов или ресурсов. (Но следует отметить значимое исключения - map editor). При установке параметра в meta.xml мода, настройка применится ко всем картам, загруженным данным ресурсом.
**'''false:''' Отключить пересылку данных элементов карты. Это может значительно уменьшить время закачки карты.
**'''true:''' Включить пересылку данных элементов карты (по умолчанию).
}}


== Example ==
== Пример ==
Heres an example of a meta file using some of the tags mentioned:
Вот и пример meta-файла, использующего некоторые из упомянутых тегов:
<syntaxhighlight lang="xml"><meta>
{{#tag:syntaxhighlight |
<meta>
     <info author="Slothman" type="gamemode" name="Stealth" />
     <info author="Slothman" type="gamemode" name="Stealth" />
     <config src="help.xml" type="client"/>
     <config src="help.xml" type="client"/>
    <min_mta_version client="{{Current Version|full}}" server="{{Current Version|full}}" />


     <script src="stealthmain_server.lua" />
     <script src="stealthmain_server.lua" />
Line 50: Line 66:
     <script src="noisebar.lua" type="client"/>
     <script src="noisebar.lua" type="client"/>
     <script src="spycam.lua" type="client"/>
     <script src="spycam.lua" type="client"/>
    <script src="riemann_z_demonstration.lua" type="client" cache="false"/>


     <file src="riot_shield.txd" />
     <file src="riot_shield.txd" />
     <file src="riot_shield.dff" />
     <file src="riot_shield.dff" />
     <file src="riot_shield.col" />
     <file src="riot_shield.col" />
     <file src="armor.png" />
     <file src="armor.png" download="true"/>
     <file src="camera.png" />
     <file src="camera.png" download="false"/>
     <file src="cloak.png" />
     <file src="cloak.png" />
     <file src="goggles.png" />
     <file src="goggles.png" />
Line 67: Line 84:


     <settings>
     <settings>
         <setting name="roundlimit" value="[6]" /> <!-- round length in minutes -->
         <setting name="roundlimit" value="[6]" /> <!-- длина раунда в минутах -->
<setting name="teamdamage" value="[1]" /> <!-- 0 for team protection off, 1 for team protection on -->
<setting name="teamdamage" value="[1]" /> <!-- 0 для выключения командной защиты, 1 для включения -->
<setting name="teambalance" value="[1]" /> <!--  difference limit of amount of players between teams -->
<setting name="teambalance" value="[1]" /> <!--  максимум разницы игроков между командами -->
<setting name="spazammo" value="[25]" /> <!-- ammo amounts -->
<setting name="spazammo" value="[25]" /> <!-- количество патронов -->
<setting name="m4ammo" value="[100]" />
<setting name="m4ammo" value="[100]" />
<setting name="shotgunammo" value="[25]" />
<setting name="shotgunammo" value="[25]" />
Line 86: Line 103:
<setting name="molatovammo" value="[4]" />
<setting name="molatovammo" value="[4]" />
     </settings>
     </settings>
</meta></syntaxhighlight>
 
[[Category:Scripting Concepts]]
    <aclrequest>
[[Category:Incomplete]]
<right name="function.startResource" access="true" />
<right name="function.stopResource" access="true" />
<right name="function.setPlayerMuted" access="true" />
    </aclrequest>
 
</meta>
|lang="xml"}}
[[Category:Понятия скриптинга]]
[[cs:Meta.xml]]
[[de:Meta.xml]]
[[en:Meta.xml]]
[[es:Sobre el archivo "meta.xml"]]
[[it:Meta.xml]]
[[pl:Meta.xml]]

Revision as of 17:40, 24 September 2016

Файл meta.xml представляет MTA набор метаданных, таких как название ресурса, включенные в него скрипты и какие файлы предварительно кэшировать для отправки клиенту, это лишь часть. В нем также объявляются "элементы" для дальнейшей работы с ними. Он написан в XML, который базируется на HTML, и является родителем XHTML.

Тэги

XML - текстовый формат данных, широко используемый для представления данных. MTA использует базирующийся на XML язык для описания метаданных ресурсов с использованием тегов ниже:

  • <info /> Информация об этом ресурсе, возможные для включения параметры (любые произвольные параметры могут быть использованы и прочитаны с помощью getResourceInfo):
    • author: Автор данного ресурса
    • version: Версия ресурса
    • name: Название ресурса
    • description: Краткое описание ресурса
    • type: Тип ресурса, может быть "gamemode" (игровой режим, мод), "script" (сценарий, скрипт), "map" (карта) или "misc" (разное).
  • <script /> Исходный код ресурса, возможные параметры:
    • src: Название файла с исходным кодом (скрипта)
    • type: Тип исходного кода: "client", "server" или "shared"
    • validate: Если установлено значение "false", то актуальность скрипта проверяться не будет.
    • cache: Кеширование для клиентского скрипта, если установлено "false", то скрипт не будет сохраняться на диске клиента.
  • <map /> Карта для мода, возможные параметры:
    • src: название .map-файла (может быть в т.ч. и путь, напр. "maps/filename.map")
    • dimension: Измерение, в котором карта будет загружена (опционально)
  • <file /> Клиентский файл. В основном, это картинки, .txd, .col, .dff или .xml файлы. Они будут скачаны клиентами при старте ресурса (или при заходе)
    • src: название клиентского файла (может быть в т.ч. и путь, напр. "images/image.png")
    • download: Должен ли файл быть послан клиенту автоматически или нет (опционально). По умолчанию "true", использование "no" или "false" будет значить, что файл не будет послан при старте ресурса, но сможет быть задействован позже через downloadFile (с версии 1.4)
  • <include /> Включение других ресурсов, которые будет использовать данный ресурс
    • resource: Название ресурса, который вы хотите чтоб стартовал с данным ресурсом
    • minversion: Минимальная версия, которая должна быть у ресурса (опционально)
    • maxversion: Максимальная версия, которая должна быть у ресурса (опционально)
  • <config /> Конфигурационный файл (.xml), к которому будет иметь доступ ресурс, допустимые параметры:
    • src: Название конфигурационного файла
    • type: Тип конфигурационного файла: "client" или "server"
  • <export /> Это экспортирует функции из данного ресурса, чтобы другие ресурсы могли ими пользоваться через call
    • function: Название функции
    • type Является ли экспортированная функция серверной или клиентской (допустимые значения: "client", "server" и "shared")
    • http: Может ли функция быть вызвана через HTTP (true/false)
  • <html />
    • src: Название HTTP-файла (может быть и путем)
    • default: Является ли html-файл тем, который будет показан по умолчанию при заходе в /имяРесурса/ на сервере. Только один html может быть по умолчанию, все остальные игнорируются. (true/false)
    • raw: Html-файл не анализируется Lua-интерпретатором и рассматривается как двоичные данные. Обязательно должно использоваться для двоичных файлов (в основном картинок) (true/false)
  • <settings> <setting name="" value=""/> </settings>: Большинство модов использует settings system, чтобы позволить администраторам серверов настраивать его по их желанию. Например, вы можете установить время раунда, а затем воспользоваться get и set для получения или изменения значений соответственно.
  • <min_mta_version /> Минимальная требуемая версия для правильной работы данного ресурса. При авторинге ресурсов, обычно минимальная версия должна быть установлена на в данный момент зарелиженную версию MTA:SA (на данный момент это "1.6.0").
    • client: Минимальная версия клиента
    • server: Минимальная версия сервера
  • <aclrequest /> Лист ACL-прав, которые понадобятся ресурсу.
  • <sync_map_element_data /> Контролирует, пересылаются ли данные элементов карты, такие как "PosX" и "DoubleSided" клиенту. Эти данные зачастую не требуются большинству модов или ресурсов. (Но следует отметить значимое исключения - map editor). При установке параметра в meta.xml мода, настройка применится ко всем картам, загруженным данным ресурсом.
    • false: Отключить пересылку данных элементов карты. Это может значительно уменьшить время закачки карты.
    • true: Включить пересылку данных элементов карты (по умолчанию).

Пример

Вот и пример meta-файла, использующего некоторые из упомянутых тегов:

<meta>
    <info author="Slothman" type="gamemode" name="Stealth" />
    <config src="help.xml" type="client"/>
    <min_mta_version client="1.6.0" server="1.6.0" />

    <script src="stealthmain_server.lua" />
    <script src="noiseblip.lua" />
    <script src="mission_timer.lua" />
    <script src="gadgets_server.lua" />
    <script src="gadgets_client.lua" type="client"/>
    <script src="stealthmain_client.lua" type="client"/>
    <script src="noisebar.lua" type="client"/>
    <script src="spycam.lua" type="client"/>
    <script src="riemann_z_demonstration.lua" type="client" cache="false"/>

    <file src="riot_shield.txd" />
    <file src="riot_shield.dff" />
    <file src="riot_shield.col" />
    <file src="armor.png" download="true"/>
    <file src="camera.png" download="false"/>
    <file src="cloak.png" />
    <file src="goggles.png" />
    <file src="mine.png" />
    <file src="radar.png" />
    <file src="shield.png" />

    <include resource="scoreboard" />
    <include resource="killmessages" />
    <include resource="maplimits" />

    <settings>
         <setting name="roundlimit" value="[6]" /> 
	 <setting name="teamdamage" value="[1]" /> 
	 <setting name="teambalance" value="[1]" /> 
	 <setting name="spazammo" value="[25]" /> 
	 <setting name="m4ammo" value="[100]" />
	 <setting name="shotgunammo" value="[25]" />
	 <setting name="sniperammo" value="[20]" />
	 <setting name="ak47ammo" value="[120]" />
	 <setting name="rifleammo" value="[40]" />
	 <setting name="deserteagleammo" value="[45]" />
	 <setting name="pistolammo" value="[132]" />
	 <setting name="uziammo" value="[150]" />
	 <setting name="tec9ammo" value="[150]" />
	 <setting name="silencedammo" value="[65]" />
	 <setting name="grenadeammo" value="[4]" />
	 <setting name="satchelammo" value="[4]" />
	 <setting name="teargasammo" value="[4]" />
	 <setting name="molatovammo" value="[4]" />
     </settings>

     <aclrequest>
	 <right name="function.startResource" access="true" />
	 <right name="function.stopResource" access="true" />
	 <right name="function.setPlayerMuted" access="true" />
     </aclrequest>

</meta>