IT/Introduzione alle Risorse: Difference between revisions
(New page: {{IT/MainP}} Category:25% Category:IT/Concetti di scripting Le '''risorse''' sono una parte chiave di MTA. Essenzialmente una riosra è una cartella o un archivio zip contenente de...) |
m (Added PT-BR page) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{IT/MainP}} | {{IT/MainP}} | ||
[[Category: | [[Category:100%]] | ||
[[Category:IT/Concetti di scripting]] | [[Category:IT/Concetti di scripting]] | ||
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 [[IT/Server|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. | 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 [[IT/Server|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. | ||
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. | ||
== | ==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: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 50: | Line 50: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
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. | |||
==Memorizzazione dei File== | |||
Le risorse possono sia essere memorizzati in un archivio zip sia in una cartella. Queste si trovano qui: | |||
==File | |||
mods/deathmatch/resources/ | 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 | ==Funzioni Script== | ||
Il sistema delle risorce può essre amministrato da script. In quanto tale, sono disponibili le seguenti funzioni Serverside: | |||
{{Resource functions}} | {{Resource functions}} | ||
Anche i seguenti eventi sono disponibili: | |||
{{Resource_events}} | {{Resource_events}} | ||
[[en:Resources]] | |||
[[pt-br:Recursos]] | |||
[[ru:Resources]] |
Latest revision as of 13:41, 2 July 2014
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.
Memorizzazione dei File
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.
Funzioni Script
Il sistema delle risorce può essre amministrato da script. In quanto tale, sono disponibili le seguenti funzioni Serverside:
- abortRemoteRequest
- call
- fetchRemote
- getResourceConfig
- getResourceDynamicElementRoot
- getResourceExportedFunctions
- getResourceFromName
- getResourceName
- getResourceRootElement
- getResourceState
- getThisResource
- getRemoteRequests
- getRemoteRequestInfo
Anche i seguenti eventi sono disponibili: