ES/Resources: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 24: Line 24:
     <file src="model.dff" />
     <file src="model.dff" />
     <file src="quitbutton.png" />
     <file src="quitbutton.png" />
     <file src="killed.png"  />
     <file src="texture.txd"  />


     <html src="test.htm" default="true"/>
     <html src="test.htm" default="true"/>
Line 76: Line 76:
mods/deathmatch/resources/ (para server dedicados)
mods/deathmatch/resources/ (para server dedicados)


Cada resource puede tener un archivo zip, un directorio o ambos. En el caso de que ambos existan, el directorio tiene preferencia sobre el archivo zip, así, los archivos pueden ser puestos en directorios para pasar por encima de los archivos dentro del archivo zip. Esto permite que los directorios sean usados para pruebas y desarrollo de mapas/scripts y los archivos zip sean usados por los usuarios dinales
Cada resource puede ser un archivo ZIP, un directorio o ambos. En el último caso, el directorio tiene preferencia sobre el archivo ZIP, así, los archivos pueden ser puestos en directorios para pasar por encima de los archivos dentro del archivo ZIP. Esto permite que los directorios sean usados para pruebas y desarrollo de mapas/scripts y los archivos ZIP sean usados por los usuarios finales.


==Otras cosas a notar==
==Otras cosas a notar==
*Los nombres de los resources no pueden contener puntos.
*Los nombres de los resources no pueden contener puntos, espacios o caracteres raros como "?", "$" o "%".
*Si el resource guarda algún archivo, los nombres de archivo utilizados no deben aparecer en el archivo meta.xml
*Si el resource guarda algún archivo, éstos no deben aparecer en el archivo ''meta.xml''.
*Los archivos mostrados en los meta.xml sólo deberían ser leídos por tus scripts. No los modifiques con [[xmlSaveFile]], [[FileSave]] etc.
*Los archivos mostrados en ''meta.xml'' sólo deberían ser leídos por tus scripts. No los modifiques con [[xmlSaveFile]], [[FileSave]], etc.
*Cuando hagas la versión ZIP de tu resource, no incluyas archivos de guardado. Si tu resource los usa, que los cree cuando sea necesario.
*Cuando hagas la versión ZIP de tu resource, no incluyas archivos de guardado. Si tu resource los usa, que los cree cuando sea necesario.  
*Y cuando hagas la versión ZIP, sólo incluye a los archivos que se muestren en meta.xml. No incluyas "archivos de ejemplo", o podrían pasar cosas malas...
*Y evita usar espacios o caracteres raros en los nombres de tus resources.


==Functiones de Script==
==Véase También==
===Funciones===
Actualmente, los resources pueden ser manipulados por medio de scripts. Más abajo se muestran las funciones correspondientes:
Actualmente, los resources pueden ser manipulados por medio de scripts. Más abajo se muestran las funciones correspondientes:
{{Resource functions}}
{{Resource functions}}


===Eventos===
Los siguientes eventos también están ligados a los resources:
Los siguientes eventos también están ligados a los resources:
{{Resource_events}}
{{Resource_events}}
Line 101: Line 101:


*Kzman
*Kzman
*F4ST3R
*Benxamix2/The Kid
*Benxamix2/The Kid
*F4ST3R

Revision as of 19:45, 11 December 2011

Los resources son una parte clave de MTA. Un resource es básicamente una carpeta o archivo .zip (carpeta comprimida) que contiene una colección de archivos de script .lua, además de un archivo meta que describe cómo el resource debe ser cargado. Un resource puede ser comparado con un programa que se ejecuta en un sistema operativo; que puede ser iniciado y detenido, y se pueden ejecutar varios de ellos al mismo tiempo. Es necesario recordar, sin embargo, que a diferencia de los programas en un sistema operativo, no hay multitarea entre los resources.

Terminología

  • Resource - Un archivo .zip o carpeta que contiene un archivo meta.xml y una serie de archivos. Estos se colocan en la carpeta de instalación de MTA San Andreas, en "MTA San Andreas/server/mods/deathmatch/resources/.
  • Item de resource - Un archivo contenido dentro de un resource. Puede ser un mapa, un archivo de música, una imagen, etc.

El archivo meta.xml

El archivo meta.xml es el núcleo de cada resource. En él se describe exactamente los archivos que el resource debe utilizar y cómo debe hacerlo. El siguiente es un ejemplo que cubre todas las opciones que hay, los archivos de metadatos puede tener tantas o tan pocas de estas etiquetas como tú quieras:

<meta>
    <info author="eAi" description="Ejemplo básico de 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="texture.txd"  />

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


Mientras que un mapa de CTF, por ejemplo, puede tener un meta.xml parecido a esto:

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

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


Los atributos Script/type, Config/type y File/type especifican si el script/resource se debe enviar a los clientes o no, este valor por defecto es "server".

Las etiquetas incluyen especificaciones como resources que se deben iniciar antes de un resource se ha iniciado. Por ejemplo, si su resource tiene dependencia a otro, puede incluirlo en meta.xml para que el resource, al que el suyo depende, se inicie primero.


Cada resource tiene su propia máquina virtual (VM). Esta contiene todos los scripts en el resource. Esto significa que las variables no se comparten con otros resources. La mejor manera de comunicarte con otros resources es mediante las etiquetas de exportación y exportar una función. Esto permitira que otros resources puedan activar esa funcion con el comando de scripting call


Los scripts se envían a los clientes para que se inicien tan pronto como hayan sido descargados.

Los scripts son capaces que se pueden leer y escribir en su propia carpeta de resources con funciones tales como xmlCreateFile y fileCreate. También pueden leer y escribir dentro de otros resources, pero debe tener permisos de ACL.

Cada resource sólo puede ser cargado una vez, el servidor se asegura de esto. Si un resources se incluye más de una vez, la misma instancia será utilizada por cada resource que incluya.

Archivos almacenados

Los archivos Resources pueden ser almacenados en un .zip o un directorio. Se encuentran en:

server/mods/deathmatch/resources/ (Si tienes el server instalado con el cliente)

o

mods/deathmatch/resources/ (para server dedicados)

Cada resource puede ser un archivo ZIP, un directorio o ambos. En el último caso, el directorio tiene preferencia sobre el archivo ZIP, así, los archivos pueden ser puestos en directorios para pasar por encima de los archivos dentro del archivo ZIP. Esto permite que los directorios sean usados para pruebas y desarrollo de mapas/scripts y los archivos ZIP sean usados por los usuarios finales.

Otras cosas a notar

  • Los nombres de los resources no pueden contener puntos, espacios o caracteres raros como "?", "$" o "%".
  • Si el resource guarda algún archivo, éstos no deben aparecer en el archivo meta.xml.
  • Los archivos mostrados en meta.xml sólo deberían ser leídos por tus scripts. No los modifiques con xmlSaveFile, FileSave, etc.
  • Cuando hagas la versión ZIP de tu resource, no incluyas archivos de guardado. Si tu resource los usa, que los cree cuando sea necesario.

Véase También

Funciones

Actualmente, los resources pueden ser manipulados por medio de scripts. Más abajo se muestran las funciones correspondientes:



Eventos

Los siguientes eventos también están ligados a los resources:


Traductores

  • Kzman
  • F4ST3R
  • Benxamix2/The Kid