IT/Introduzione alle Risorse: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 7: Line 7:
* '''Resource''': Un archivio zip o una cartella contenente un file [[IT/Meta.xml|meta.xml]] e un certo numero di altri file (''resource items''). Questa va posizionata nella cartella <syntaxhighlight lang="lua"><SERVER>/mods/deathmatch/resources</syntaxhighlight> di MTA.
* '''Resource''': Un archivio zip o una cartella contenente un file [[IT/Meta.xml|meta.xml]] e un certo numero di altri file (''resource items''). Questa va posizionata nella cartella <syntaxhighlight lang="lua"><SERVER>/mods/deathmatch/resources</syntaxhighlight> di MTA.
* '''Resource item''': Un file contenuto in una risorsa, possono essere script LUA, mappe, immagini eccetera.
* '''Resource item''': Un file contenuto in una risorsa, possono essere script LUA, mappe, immagini eccetera.
==The Meta File==
==Il File Meta==
''Guarda l'articolo principale [[Meta.xml]] per dettagli''
''Guarda l'articolo principale [[Meta.xml]] per dettagli''



Revision as of 22:50, 21 June 2009

« Torna alla Pagina principale italiana .

Le risorse sono una parte chiave di MTA. Essenzialmente una riosra è una cartella o un archivio zip contenente dei file - tra cui gli script essenziali ed un file meta che descrive al server come la risorsa dev'essere caricata. Una risorsa può essere vista come un programma in un sistema operativo - può essere avviata e fermata, e più risorse possono essere avviate in contemporanea.

Terminologia

  • Resource: Un archivio zip o una cartella contenente un file meta.xml e un certo numero di altri file (resource items). Questa va posizionata nella cartella
    <SERVER>/mods/deathmatch/resources
    di MTA.
  • Resource item: Un file contenuto in una risorsa, possono essere script LUA, mappe, immagini eccetera.

Il File Meta

Guarda l'articolo principale Meta.xml per dettagli

Il file Meta è il nucleo di ogni risorsa. Descrive esattamente quali files verranno usati nella risorsa, e come. Il seguente è un esempio che comprende ogni opzione che il tuo meta file può contenere e che ti potrebbero servire:

<meta>
    <info author="eAi" description="This is a basic CTF script" version="4"/>

    <include resource="radarblips"/>
    <include resource="markermanagement" />

    <script src="ctf.lua" />
    <script src="flag.lua" />
    <script src="ctf_client.lua" type="client" />

    <file src="model.dff" />
    <file src="quitbutton.png" />
    <file src="killed.png"  />

    <html src="test.htm" default="true"/>
    <html src="logo.png" raw="true" />

    <export function="multiply" http="true" />
    <export function="getPlayerList" />
    <export function="getElementOwner" type="client"/>

    <config src="vehicle-list.xml" type="client" />
    <config src="markerconfig.xml" type="server"  />

    <map src="somestuff.map" dimension="99" />
</meta>

While a CTF map may have a meta.xml that looks like:

<meta>
    <include resource="ctf" />
    <map src="myuberl33tctfmap.map" />

    <info author="Tom" instructions="this is uber l33t !!!!!1111111" type="map" />
</meta>

Gli attributi Script/type, Config/type e File/type specificato se lo script/la risorsa deve essere inviato al client o no, e il default è "server".

Il tag include specifica le altre risorse che devono essere eseguite prima che questa risorsa sia avviata. In altre parole, se la tua risorsa depende da un'altra, puoi includere quest'ultima cosicchè l'altra risorse sia avviata prima.

Ogni riosrsa ha la propria macchina virtuale [ (VM ) Virtual Machine in inglese ]. Questa contiene ogni script nella risorsa. Questo significa che le variabili non sono condivise con altre risorse. Il miglior modo per comunicare con le altre risorse è usando il tag export ed esportando una funzione. Questo abiliterà le altre risorse a far partire questa funzione usando la funzione call.

Gli script inviati ai client sono avviati non appena tutti gli script sono stati scaricati.

Gli script possono leggere e scrivere alle prorie cartelle delle risorse con funzioni come xmlCreateFile e fileCreate. Possono anche leggere e scrivere alle altre risorse, ma deve avere l'accesso da [[Access_Control_List[ACL]]].

Ogni risorsa può essere solo caricata una volta, il server se ne accerterà. Se una risorsa è inclusa più di una volta, la stessa istanza sarà usata da ogni risorsa che la include.

File storage

Le risorse possono sia essere memorizzati in un archivio zip sia in una cartella. Queste si trovano qui:

mods/deathmatch/resources/

Ogni risorsa può avere un file zip, una cartella o entrambi. Nel caso che esistino entrambi, la cartella ha precedenza sul file zip, in quanto tale i file possono essere messi nella cartella per "annullare" i file nell'archivio zip. Questo permette alle cartelle di essere usato per testare e sviluppare mappe/script mentre i file zip quando sono pronti per essere usati.

Script functions

The resource system can be manipulated by script. As such, the following Serverside scripting functions are provided:



The following events are also provided: