PL/meta.xml

From Multi Theft Auto: Wiki
Revision as of 16:37, 8 June 2019 by Pevo (talk | contribs) (→‎Tagi)
Jump to navigation Jump to search

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>