RU/Meta.xml

From Multi Theft Auto: Wiki
Revision as of 18:56, 30 January 2012 by Gallardo994 (talk | contribs) (Переведено Gallardo)

Этот файл является одним из самых важных в МТА - в нём содержатся инструкции для интерпретатора какие файлы использовать. Так же, можно выводить чтение из скрипта в meta.xml, что позволяет задавать переменные в параметре <settings> и изменять их по ходу через админ-панель

Примечание: Вы можете опробывать простой генератор meta.xml, созданный 50p: Ссылка

Используемые теги

Тэги в .xml такие же, как в . html. Файл meta.xml имеет множество тэгов, необходимых и опциональных. У них есть свои атрибуты. Язык XML не умеет формировать тэги, он служит как простой способ хранения данных. Интерпретацией тэгов занимаются скрипты, то есть вы можете определять новые тэги в XML. Однако, MTA определяет несколько тэгов самостоятельно, они приведены ниже:

  • <info /> Информация о ресурсе (карта это, или скрипт, кто автор, какое описание)getResourceInfo):
    • author: Автор
    • version: Версия
    • name: Название
    • description: Описание
    • type: Тип ресурса, может быть "gamemode", "script", "map" or "misc".
  • <script /> Скрипт ресурса
    • src: Имя файла скрипта (с расширением)
    • type: Тип скрипта: "Client" или "Server"
  • <map /> Карта для режима игры
    • src: .map имя файла (Может лежать в других папках. Например: "maps/filename.map") (писать с расширением)
    • dimension: Объём, в котором карта будет загружена (по желанию)
  • <file /> Файл на стороне клиента. Как правило, эти образы. txd, .col, .dff или .xml файлы. Они будут скачаны с сервера на клиент
    • src: Файл на стороне клиента (Может лежать в других папках. Например: "image/image.png")
  • <include /> Включать ресурс, когда он ресурс будет использоваться (Учтите, что при включении несуществующего ресурса скрипт не запустится)
    • resource: Имя ресурса, которое вы хотите использовать для этого ресурса
    • minversion: Минимальная версия ресурса (не обязательно)
    • maxversion: Максимальная версия ресурса(не обязательно)
  • <config /> Файл конфигураций (.XML) возможные параметры:
    • src: Имя конфигурационного файла
    • type: Тип файла конфигурации: "Client" или "Server"
  • <export /> Тег экспорта функций, для последующего вызова этой функции. Подробнее о вызове: call
    • function: Имя функции
    • type Тип Экспорта (client или server)
    • http: Может ли функция быть вызвана через HTTP (true/false)
  • <html />
    • src: Имя HTTP файла (Может быть путь. Например: files/file.png)
    • default: HTML-файл, который отображается по умолчанию при посещении /resourceName/ на сервере. Только один HTML-файл может быть по умолчанию, остальные игнорируются. (true/false)
    • raw: HTML-файл не обрабатывается интерпретатором LUA, может рассматриваться как двоичные данные. Должен использоваться для двоичных файлов (В основном изображения) (true/false)
  • <settings> <setting name="" value=""/> </settings>: Большенство режимов игры используют этот Тег для задавания переменных. В будущем, эти переменные могут быть прочитаны из админ-панели и записаны прямо во время выполнения скрипта.

Пример

Вот пример мета, в котором используются часть тегов

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

    <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"/>

    <file src="riot_shield.txd" />
    <file src="riot_shield.dff" />
    <file src="riot_shield.col" />
    <file src="armor.png" />
    <file src="camera.png" />
    <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]" /> <!-- 0 для выключения командного убивания, 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>
</meta>