O arquivo Meta

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

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.

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.

  • <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 ):
    • author: O autor do recursos
    • version: A versão do recursos
    • name: O nome do recuros
    • description: Pequena descrição do recurso
    • type: Tipo de recurso, que pode ser "gamemode", "script", "map" ou "misc".
  • <script /> O código fonte para este recurso, os parâmetros possíveis são:
    • src: O nome do arquivo do script
    • type: O tipo de script : "cliente" ou "servidor"
  • <map /> O mapa de um modo de jogo, os parâmetros possíveis são:
    • src: O nome do arquivo map (pode ser por exemplo. "maps/filename.map")
    • dimension: Dimensão na qual o mapa será carregado (opcional)
  • <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: nome do arquivo client-side (pode ser por exemplo. "images/image.png")
    • 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)
  • <include /> Inclusão de outro recurso para iniciar automaticamente ao iniciar este recursos
    • resource: Nome do recurso ira iniciar automaticamente com este recurso
    • minversion: Versão minima que o recurso precisa (opcional)
    • maxversion: Versão máxima que o recurso precisa (opcional)
  • <config /> Arquivo de Configuração (.xml) pode ser acessado pelo recurso, os parâmetros possíveis são:
    • src: Nome do arquivo do script
    • type: O tipo de script : "cliente" ou "servidor"
  • <export /> Isto vai exportar uma função deste resource, para chamar a função através de outro resource você pode usar call
    • function: Nome da função
    • type Tipo de exportação da função, server-side ou client-side (valores válidos são: "servidor" e "cliente")
    • http: A função pode ser chamada via HTTP (true/false)
  • <html />
    • src: Nome para o arquivo HTTP (pode ser um caminho)
    • 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)
    • 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)
  • <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.
  • <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 "1.6.0").
    • client: A verção minima do Client
    • server: A verção minima do Server
  • <aclrequest /> A lista ACL direitos deste recurso irá precisar.
  • <sync_map_element_data /> Controle de mapas 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.
    • false: Desativar a transferência de dados de elementos do mapa. Isso pode reduzir o tempo de download de mapas consideravelmente.
    • true: Permitir a transferência de dados de elemento do mapa (default).

Exemplo

Está aqui um exemplo de um arquivo meta usando algumas das marcas mencionadas: <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"/>
   <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>