PL/meta.xml: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(10 intermediate revisions by 9 users not shown)
Line 1: Line 1:
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.
Plik ''meta.xml'' 'pokazuje' serwerowi MTA co ma włączyć, od skryptu, poprzez ustawienia wymaganej wersji klienta do plików zawartych w skrypcie. To także zakres "elementów". Jest ona napisana w języku XML, który jest oparty na języku HTML i jest jednostką dominującą XHTML.
 
=Tagi=
=Tagi=
XML jest tekstowym formatem danych, który jest stosowany do prezentacji danych. MTA wykorzystuje opartą na XML język do opisu metadanych dla zasobów przy użyciu tagów poniżej:
XML jest tekstowym formatem danych, który jest stosowany do ich prezentacji. MTA wykorzystuje pliki XML do opisu metadanych dla zasobów przy użyciu tagów poniżej:


*'''<info />'''
*'''<info />'''
Line 12: Line 11:
*'''<script />''' Kod źródłowy dla tego zasobu, możliwe parametry:
*'''<script />''' Kod źródłowy dla tego zasobu, możliwe parametry:
** '''src:''' Nazwa pliku z kodem źródłowym
** '''src:''' Nazwa pliku z kodem źródłowym
** '''type:''' Rodzaj kodu źródłowego: "client" lub "server"
** '''type:''' Rodzaj kodu źródłowego: "client", "server" lub "shared"
** '''cache:''' Czy skrypt ma się zapisać w plikach klienta: "true" lub "false" (potrzebne tylko wtedy, gdy skrypt jest po stronie klienta)
<!--
<!--
** '''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].
** '''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].
Line 19: Line 19:
**'''src:''' nazwa pliku .map ( może być ścieżka np."mapy/nazwapliku.map" )
**'''src:''' nazwa pliku .map ( może być ścieżka np."mapy/nazwapliku.map" )
**'''dimension:''' Wymiar w którym mapa zostanie załadowana
**'''dimension:''' Wymiar w którym mapa zostanie załadowana
*'''<file />''' Zdjęcia i pliki w rozmiaże .txd, .dll, .col lub .jpg.
*'''<file />''' Zdjęcia i pliki z rozszerzeniem *.txd, *.dll, *.col lub *.jpg.
**'''src:''' Po stronie clienta nazwa pliku ( może być też ścieżka np."zdjęcia/nazwa.jpg" )
**'''src:''' Po stronie klienta nazwa pliku ( może być też ścieżka np."zdjęcia/nazwa.jpg" )
*'''<include />''' Obejmują środki, które będą używać ten zasób
*'''<include />''' Obejmują środki, które będą używać ten zasób
**'''resource:''' Nazwa zasobu, który chcesz uruchomić z tego zasobu
**'''resource:''' Nazwa zasobu, który chcesz uruchomić z tego zasobu
**'''minversion:''' Minimalna wersja
**'''minversion:''' Minimalna wersja
**'''maxversion:''' Maxsymalna wersja
**'''maxversion:''' Maksymalna wersja
*'''<config />''' Config to poprostu XML, możliwe parametry:
*'''<config />''' Config to po prostu XML, możliwe parametry:
**'''src:''' Nazwa pliku z pliku konfiguracyjnego
**'''src:''' Nazwa pliku z pliku konfiguracyjnego
**'''type:''' Typ pliku konfiguracyjnym: "client" lub "server"
**'''type:''' Typ pliku konfiguracyjnym: "client" lub "server"
*'''<export />''' Te funkcje eksportowane z tego zasobu, do innych zasobów może korzystać z nich [CALL []]
*'''<export />''' Te funkcje eksportowane z tego zasobu, do innych zasobów może korzystać z nich [CALL []]
**'''function:''' Nazwa funkcji
**'''function:''' Nazwa funkcji
**'''type''' Czy funkcja jest eksportowana po stronie servera lub po stronie clienta (ważne są następujące wartości: "server" i "client")
**'''type''' Czy funkcja jest eksportowana po stronie serwera lub po stronie klienta (ważne są następujące wartości: "server" i "client")
**'''http:''' Czy funkcja jest wywoływana za pośrednictwem protokołu HTTP (true / false)
**'''http:''' Czy funkcja jest wywoływana za pośrednictwem protokołu HTTP (true / false)
*'''<html />'''
*'''<html />'''
Line 38: Line 38:
*'''<settings> <setting name="" value=""/> </settings>:''' Większość gamemodes używać [[System Settings]], aby pozwolić administratorom serwerów skonfigurować go tak, jak im się podoba. Na przykład można ustawić okrągły czas, a następnie użyć [[dostać]] i [[zbiór]], aby uzyskać wartość lub ją zmienić, odpowiednio.
*'''<settings> <setting name="" value=""/> </settings>:''' Większość gamemodes używać [[System Settings]], aby pozwolić administratorom serwerów skonfigurować go tak, jak im się podoba. Na przykład można ustawić okrągły czas, a następnie użyć [[dostać]] i [[zbiór]], aby uzyskać wartość lub ją zmienić, odpowiednio.
*'''<min_mta_version />''' Minimalne wymagania wersji dla tego zasobu do poprawnego działania. Kiedy zasoby autorskie, minimalna wersja powinna zwykle być ustawiony na bieżącej wydanej wersji MTA: SA (który w tej chwili jest "{{Current Version | pełny}}").
*'''<min_mta_version />''' Minimalne wymagania wersji dla tego zasobu do poprawnego działania. Kiedy zasoby autorskie, minimalna wersja powinna zwykle być ustawiony na bieżącej wydanej wersji MTA: SA (który w tej chwili jest "{{Current Version | pełny}}").
**'''client:''' Minimalna wersja clienta
**'''client:''' Minimalna wersja klienta
**'''server:''' Minimalna wersja servera
**'''server:''' Minimalna wersja serwera
*'''<aclrequest />''' Lista [[Access_Control_List | ACL]] prawa ten zasób będzie potrzebne.
*'''<aclrequest />''' Lista [[Access_Control_List | ACL]] prawa ten zasób będzie potrzebne.


== Przykład ==
== Przykład ==
Oto przykład pliku meta przy niektórych znaczników wymienionych:
Oto przykład pliku meta.xml:
{{#tag:code |
{{#tag:syntaxhighlight |
<meta>
<meta>
     <info name="race" author"SEBO" type="gamemode" version"1.0.0" />
     <info name="race" author="SEBO" type="gamemode" version="1.0.0" />
     <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}}" />
Line 59: Line 59:
     <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"/>
    <map src="base.map" dimension="1"/>


     <file src="riot_shield.txd" />
     <file src="riot_shield.txd" />
Line 74: Line 75:
     <include resource="killmessages" />
     <include resource="killmessages" />
     <include resource="maplimits" />
     <include resource="maplimits" />
    <export function="exampleExport1" type="server" />
    <export function="exampleExport2" type="client" />
    <export function="exampleExport3" type="shared" />


     <settings>
     <settings>
Line 104: Line 109:
</meta>
</meta>
|lang="xml"}}
|lang="xml"}}
[[Category:Scripting Concepts]]
[[Category:Translated/Scripting Concepts]]
[[cs:Meta.xml]]
[[cs:Meta.xml]]
[[de:Meta.xml]]
[[de:Meta.xml]]

Revision as of 16:37, 8 June 2019

Plik meta.xml 'pokazuje' serwerowi MTA co ma włączyć, od skryptu, poprzez ustawienia wymaganej wersji klienta do plików zawartych w skrypcie. To także zakres "elementów". Jest ona napisana w języku XML, który jest oparty na języku HTML i jest jednostką dominującą XHTML.

Tagi

XML jest tekstowym formatem danych, który jest stosowany do ich prezentacji. MTA wykorzystuje pliki XML do opisu metadanych dla zasobów przy użyciu tagów poniżej:

  • <info />
    • author: Autor tego zasobu.
    • version: Wersja tego zasobu.
    • name: Nazwa tego zasobu.
    • description: Krótki opis tego zasobu.
    • type: Typ tego zasobu, które mogą być w postaci "gamemode", "script", "map" i "misc".
  • <script /> Kod źródłowy dla tego zasobu, możliwe parametry:
    • src: Nazwa pliku z kodem źródłowym
    • type: Rodzaj kodu źródłowego: "client", "server" lub "shared"
    • cache: Czy skrypt ma się zapisać w plikach klienta: "true" lub "false" (potrzebne tylko wtedy, gdy skrypt jest po stronie klienta)
  • <map /> Mapa do gamemode, możliwe parametry:
    • src: nazwa pliku .map ( może być ścieżka np."mapy/nazwapliku.map" )
    • dimension: Wymiar w którym mapa zostanie załadowana
  • <file /> Zdjęcia i pliki z rozszerzeniem *.txd, *.dll, *.col lub *.jpg.
    • src: Po stronie klienta nazwa pliku ( może być też ścieżka np."zdjęcia/nazwa.jpg" )
  • <include /> Obejmują środki, które będą używać ten zasób
    • resource: Nazwa zasobu, który chcesz uruchomić z tego zasobu
    • minversion: Minimalna wersja
    • maxversion: Maksymalna wersja
  • <config /> Config to po prostu XML, możliwe parametry:
    • src: Nazwa pliku z pliku konfiguracyjnego
    • type: Typ pliku konfiguracyjnym: "client" lub "server"
  • <export /> Te funkcje eksportowane z tego zasobu, do innych zasobów może korzystać z nich [CALL []]
    • function: Nazwa funkcji
    • type Czy funkcja jest eksportowana po stronie serwera lub po stronie klienta (ważne są następujące wartości: "server" i "client")
    • http: Czy funkcja jest wywoływana za pośrednictwem protokołu HTTP (true / false)
  • <html />
    • src: Nazwa pliku HTTP (może być ścieżka)
    • default: Plik html jest jeden, który jest domyślnie wyświetlane podczas wizyty/resource Name/on the server. Tylko jeden html może być domyślne, reszta jest ignorowana. (true / false)
    • raw: Html nie jest przetwarzany przez interpreter LUA i jest traktowany jako dane binarne. Muszą być stosowane dla plików binarnych (zdjęcia głównie) (true / false)
  • <settings> <setting name="" value=""/> </settings>: Większość gamemodes używać System Settings, aby pozwolić administratorom serwerów skonfigurować go tak, jak im się podoba. Na przykład można ustawić okrągły czas, a następnie użyć dostać i zbiór, aby uzyskać wartość lub ją zmienić, odpowiednio.
  • <min_mta_version /> Minimalne wymagania wersji dla tego zasobu do poprawnego działania. Kiedy zasoby autorskie, minimalna wersja powinna zwykle być ustawiony na bieżącej wydanej wersji MTA: SA (który w tej chwili jest "3.0160").
    • client: Minimalna wersja klienta
    • server: Minimalna wersja serwera
  • <aclrequest /> Lista ACL prawa ten zasób będzie potrzebne.

Przykład

Oto przykład pliku meta.xml:

<meta>
    <info name="race" author="SEBO" type="gamemode" version="1.0.0" />
    <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"/>
    <map src="base.map" dimension="1"/>

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

    <export function="exampleExport1" type="server" />
    <export function="exampleExport2" type="client" />
    <export function="exampleExport3" type="shared" />

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