Meta.xml: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(14 intermediate revisions by 9 users not shown)
Line 1: Line 1:
O arquivo ''meta.xml'' apresenta com o MTA um conjunto de metodados, como o nome dos recursos, incluindo os scripts, e também os arquivos para precache para enviar aos clientes entre outras coisas. É também a extensão de alguns "elementos". É escrito em XML, que é baseado em HTML e é o pai do XHTML.
The ''meta.xml'' file presents MTA with a set of metadata, such as the resource's name, the scripts to include, and which files to precache for sending to clients among other things. It is also the scope of "elements". It is written in XML, which is based on HTML and is the parent of XHTML.


=Tags=
=Tags=
XML é um formato de dados textuais que são amplamente utilizados para a apresentação dos dados. O MTA ussa uma linguagem baseada em XML para descrever os metodados de recursos, utilizando os tags a baixo.
XML is a textual data format which is widely used for the representation of data. MTA uses an XML-based language to describe the metadata for resources by using the tags below:


*'''<info />''' É o conjunto de informações do próprio recuso, os parâmetros possíveis incluem (quaisquer parâmetros arbitrários podem ser utilizados e lidos usando [[getResourceInfo]] ):
*'''<info />''' Information about this resource, possible parameters include (any arbitrary parameters can be used and read using [[getResourceInfo]]):
** '''author:''' O autor do recursos
** '''author:''' The author of this resource
** '''version:''' A versão do recursos
** '''version:''' The version of this resource
** '''name:''' O nome do recuros
** '''name:''' The name of this resource
** '''description:''' Pequena descrição do recurso
** '''description:''' A brief description of this resource
** '''type:''' Tipo de recurso, que pode ser "gamemode", "script", "map" ou "misc".
** '''type:''' The type of this resource, that can be "gamemode", "script", "map" or "misc".
*'''<script />''' O código fonte para este recurso, os parâmetros possíveis são:
*'''<script />''' Source code for this resource, possible parameters are:
** '''src:''' O nome do arquivo do script
** '''src:''' The file name of the source code
** '''type:''' O tipo de script : "cliente" ou "servidor"
** '''type:''' The type of source code: "client", "server" or "shared".
<!--
<!--
** '''protected:''' Para client-side scripts, se este script deve ou não ser salvos no disco rígido clientes: "true" ou "false". NOTA: [http://bugs.mtasa.com/view.php?id=6831 pode haver um bug relacionado a isto].
** '''protected:''' For client-side scripts, whether this script should or not be saved in the clients hard disk: "true" or "false". NOTE: [http://bugs.mtasa.com/view.php?id=6831 there might be a bug with this].
-->
-->
*'''<map />''' O mapa de um modo de jogo, os parâmetros possíveis são:
**'''cache:''' When the script file type is "client", this setting controls whether the file is saved on the players hard drive. Default is "true". Using "false" will mean the file is not saved.
**'''src:''' O nome do arquivo map (pode ser por exemplo. "maps/filename.map")
**'''validate:''' If set to "false", compatibility checks are skipped.
**'''dimension:''' Dimensão na qual o mapa será carregado (opcional)
*'''<map />''' The map for a gamemode, possible parameters are:
*'''<file />''' Arquivo do lado Client-Side. Geralmente são imagens, .txd, .col, .dff ou .xml arquivos. Eles serão baixados pelos clients quando o recurso ser iniciado (ou entrar)
**'''src:''' .map file name (can be path too eg. "maps/filename.map")
**'''src:''' nome do arquivo client-side (pode ser por exemplo. "images/image.png")
**'''dimension:''' Dimension in which the map will be loaded (optional)
**'''download:''' Enviar automaticamente para o client.(opcional). O padrão é "true" usar "no" ou "false" significa que não não enviados quando inicia o recurso, mas poderia ser utilizado posteriormente por [[downloadFile]] (a partir da versão 1.4)
*'''<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)
*'''<include />''' Inclusão de outro recurso para iniciar automaticamente ao iniciar este recursos
**'''src:''' client-side file name (can be path too eg. "images/image.png")
**'''resource:''' Nome do recurso ira iniciar automaticamente com este recurso
**'''download:''' Whether or not to be sent to the client automatically (optional). Default is "true". Using "false" will mean they are not sent on resource start but could later be used by [[downloadFile]] (from version 1.4)
**'''minversion:''' Versão minima que o '''recurso''' precisa (opcional)
*'''<include />''' Include resources that this resource will use
**'''maxversion:''' Versão máxima que o '''recurso''' precisa (opcional)
**'''resource:''' Resource name that you want to start with this resource
*'''<config />''' Arquivo de Configuração (.xml) pode ser acessado pelo recurso, os parâmetros possíveis são:
**'''minversion:''' Minimum version that '''resource''' needs to be (optional)
**'''src:''' Nome do arquivo do script
**'''maxversion:''' Maximum version that '''resource''' needs to be (optional)
**'''type:''' O tipo de script : "cliente" ou "servidor"
*'''<config />''' Config file (.xml) can be accessed by resource, possible parameters are:
*'''<export />''' Isto vai exportar uma função deste resource, para chamar a função através de outro resource você pode usar [[call]]
**'''src:''' The file name of the config file
**'''function:''' Nome da função
**'''type:''' The type of the config file: "client" or "server"
**'''type''' Tipo de exportação da função, server-side ou client-side (valores válidos são: "servidor" e "cliente")
*'''<export />''' This exports functions from this resource, so other resources can use them with [[call]]
**'''http:''' A função pode ser chamada via HTTP (true/false)
**'''function:''' The function name
**'''type''' Whether function is exported server-side or client-side (valid values are: "server" and "client")
**'''http:''' Can the function be called via HTTP (true/false)
*'''<html />'''
*'''<html />'''
**'''src:''' Nome para o arquivo HTTP (pode ser um caminho)
**'''src:''' The filename for the HTTP file (can be a path)
**'''default:''' O arquivo HTML é aquele que é mostrado por padrão quando visita / nomeDoRecurso / no servidor. Apenas um html pode ser padrão, o resto é ignorado. (true / false)
**'''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)
**'''raw:''' O arquivo HTML não é analisado pelo intérprete LUA e são tratados como dados binários. Deve ser usado para arquivos binários (principalmente imagens) (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)
*'''<settings> <setting name="" value=""/> </settings>:''' A maioria dos 'gamemodes' usam [[settings system]] para permitir que administradores de servidores para configurem como eles desejarem. Por exemplo, você pode definir a qualquer momento usando [[get]] e [[set]] ara obter o valor ou alterá-lo, respectivamente.
*'''<settings> <setting name="" value=""/> </settings>:''' Most gamemodes use [[settings system]] to let server admins to configure it how they like. For instance you could set round time and then use [[get]] and [[set]] to get the value or change it, respectively.
*'''<min_mta_version />''' Versão requisitos mínimos para este recurso para funcionar corretamente. Quando o meta é criado,a versão mínima geralmente deve ser definida para a versão atual de lançamento do MTA: SA "{{Current Version|full}}").
*'''<min_mta_version />''' Minimum version requirements for this resource to run correctly. When authoring resources, the minimum version should usually be set to the current released version of MTA:SA (which at the moment is "{{Current Version|full}}"). See example for example.
**'''client:''' A verção minima do Client
**'''client:''' The minimum client version
**'''server:''' A verção minima do Server
**'''server:''' The minimum server version
*'''<aclrequest />''' A lista [[Access_Control_List|ACL]] direitos deste recurso irá precisar.
*'''<aclrequest />''' A list of [[Access_Control_List|ACL]] rights this resource will need.
{{New items|3.0139|1.3.1 r4141|
{{New items|3.0132|1.3.1 r4141|
*'''<sync_map_element_data />''' Controle de mapas [[Element_data|element data]], tais como "PosX" e "DoubleSided" são transferidos para o cliente. Este dado normalmente não é exigido pela maioria dos gamemodes ou recursos. (Uma exceção notável é o editor). Quando configurado em um modo de jogo meta.xml, a definição será aplicada a todos os mapas carregados por esse recurso.
*'''<sync_map_element_data />''' Controls whether map [[Element_data|element data]] such as "PosX" and "DoubleSided" are transferred to the client. This data is usually not required by most gamemodes or resources. (Map Editor and Interiors require this to be not set to false to work). When set in a gamemode meta.xml, the setting will apply to all maps loaded by that resource.
**'''false:''' Desativar a transferência de dados de elementos do mapa. Isso pode reduzir o tempo de download de mapas consideravelmente.
**'''false:''' Disable transfer of map element data. This can reduce map download times considerably.
**'''true:''' Permitir a transferência de dados de elemento do mapa (default).
**'''true:''' Enable transfer of map element data (default).
}}
{{New items|3.0140|1.4.0 r5313|
*'''<oop/>''' todo.
**'''false:''' todo.
**'''true:''' todo.
}}
}}


== Example ==
== Example ==
Está aqui um exemplo de um arquivo meta usando algumas das marcas mencionadas:
Heres an example of a meta file using some of the tags mentioned:
{{#tag:code |
{{#tag:code |
<meta>
<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}}" />
     <min_mta_version client="{{Current Version|full}}" server="{{Current Version|full}}" />
     <sync_map_element_data>false</sync_map_element_data>
     <sync_map_element_data>false</sync_map_element_data>


Line 65: Line 74:
     <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"/>
     <script src="riemann_z_demonstration.lua" type="client" cache="false"/>


     <file src="riot_shield.txd" />
     <file src="riot_shield.txd" />
Line 101: Line 110:
<setting name="teargasammo" value="[4]" />
<setting name="teargasammo" value="[4]" />
<setting name="molatovammo" value="[4]" />
<setting name="molatovammo" value="[4]" />
<setting name="isAllowedToShoot" value="true" />
     </settings>
     </settings>


Line 113: Line 123:
[[Category:Scripting Concepts]]
[[Category:Scripting Concepts]]
[[cs:Meta.xml]]
[[cs:Meta.xml]]
[[ru:Meta.xml]]
[[de:Meta.xml]]
[[es:Sobre el archivo "meta.xml"]]
[[es:Sobre el archivo "meta.xml"]]
[[it:Meta.xml]]
[[pl:Meta.xml]]
[[pl:Meta.xml]]
[[ru:Meta.xml]]

Revision as of 21:45, 5 May 2013

The meta.xml file presents MTA with a set of metadata, such as the resource's name, the scripts to include, and which files to precache for sending to clients among other things. It is also the scope of "elements". It is written in XML, which is based on HTML and is the parent of XHTML.

Tags

XML is a textual data format which is widely used for the representation of data. MTA uses an XML-based language to describe the metadata for resources by using the tags below:

  • <info /> Information about this resource, possible parameters include (any arbitrary parameters can be used and read using getResourceInfo):
    • author: The author of this resource
    • version: The version of this resource
    • name: The name of this resource
    • description: A brief description of this resource
    • type: The type of this resource, that can be "gamemode", "script", "map" or "misc".
  • <script /> Source code for this resource, possible parameters are:
    • src: The file name of the source code
    • type: The type of source code: "client", "server" or "shared".
    • cache: When the script file type is "client", this setting controls whether the file is saved on the players hard drive. Default is "true". Using "false" will mean the file is not saved.
    • validate: If set to "false", compatibility checks are skipped.
  • <map /> The map for a gamemode, possible parameters are:
    • src: .map file name (can be path too eg. "maps/filename.map")
    • dimension: Dimension in which the map will be loaded (optional)
  • <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: client-side file name (can be path too eg. "images/image.png")
    • download: Whether or not to be sent to the client automatically (optional). Default is "true". Using "false" will mean they are not sent on resource start but could later be used by downloadFile (from version 1.4)
  • <include /> Include resources that this resource will use
    • resource: Resource name that you want to start with this resource
    • minversion: Minimum version that resource needs to be (optional)
    • maxversion: Maximum version that resource needs to be (optional)
  • <config /> Config file (.xml) can be accessed by resource, possible parameters are:
    • src: The file name of the config file
    • type: The type of the config file: "client" or "server"
  • <export /> This exports functions from this resource, so other resources can use them with call
    • function: The function name
    • type Whether function is exported server-side or client-side (valid values are: "server" and "client")
    • http: Can the function be called via HTTP (true/false)
  • <html />
    • src: The filename for the HTTP file (can be a path)
    • 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)
    • 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)
  • <settings> <setting name="" value=""/> </settings>: Most gamemodes use settings system to let server admins to configure it how they like. For instance you could set round time and then use get and set to get the value or change it, respectively.
  • <min_mta_version /> Minimum version requirements for this resource to run correctly. When authoring resources, the minimum version should usually be set to the current released version of MTA:SA (which at the moment is "1.6.0"). See example for example.
    • client: The minimum client version
    • server: The minimum server version
  • <aclrequest /> A list of ACL rights this resource will need.
  • <sync_map_element_data /> Controls whether map element data such as "PosX" and "DoubleSided" are transferred to the client. This data is usually not required by most gamemodes or resources. (Map Editor and Interiors require this to be not set to false to work). When set in a gamemode meta.xml, the setting will apply to all maps loaded by that resource.
    • false: Disable transfer of map element data. This can reduce map download times considerably.
    • true: Enable transfer of map element data (default).
  • <oop/> todo.
    • false: todo.
    • true: todo.

Example

Heres an example of a meta file using some of the tags mentioned: <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" />
   <sync_map_element_data>false</sync_map_element_data>
   <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]" /> <setting name="isAllowedToShoot" value="true" />

    </settings>
    <aclrequest>

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

    </aclrequest>

</meta>