Rowne
Well-Known Mouse
Manual XML de Hina
Todo sobre el XML de mapas y su funcionamiento
[email protected] al manual de referencia a la edición XML de mapas de Hina. En esta guía encontrarás toda la información disponible sobre el XML de los mapas con todos los detalles posibles. El manual se divide en capítulos que agrupan la información de cada cosa, cada capítulo tiene su propio hilo. A continuación tienes el índice de capítulos:
Al final de este hilo también dejo algunos links de interés con otras guías específicas hechas por mí u otros usuarios que te pueden servir para complementar tu conocimiento.
Ten en cuenta que este manual no es un tutorial para aprender a hacer mapas, es un documento con toda la información que tienes disponible sobre cómo funciona el código de los mapas.
Manual XML de Hina
Introducción al XML
¿Qué es el XML?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
XML es un lenguaje de marcas (NO ES un lenguaje de programación) utilizado en diversos campos, particularmente para enviar información en internet. Los mapas que creas en MiceForce se guardan en el formato XML y es este código el que almacena todos los datos y detalles sobre tu mapa. Los suelos, el queso, los objetos y anclajes, el arte, absolutamente todo lo que hay en tu mapa no es más que código XML.
¿Para qué me sirve?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
El editor de mapas existe para facilitar la tarea de crear estos mapas sin tener que escribir manualmente el código, sin embargo muchísimas de las cosas en los mapas de MiceForce no se pueden hacer desde el editor oficial. Por eso es que es necesario entender cómo funciona el XML de los mapas para poder tener acceso a todas estas cosas.
También otras personas han creado sus propios editores externos para facilitarte las cosas y hacer parte de lo que el editor oficial no hace. MapPad, Viprin's Drawing Editor y cjobjects son ejemplos de herramientas para editar mapas. A la fecha no existe ninguna herramienta que haga uso de todo lo que puedes hacer en los mapas, por lo que es común usar varios editores y complementarlo con la edición directa del XML.
¿Cómo obtengo el XML de un mapa?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Desde el editor de mapas de MiceForce, en la pestaña "Guardar / Cargar / Probar" usas el botón "Copiar el mapa al portapapeles". Luego puedes ir a cualquier editor de texto, como el Bloc de notas, y pegar el código obtenido.
Estructura del XML
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
En este manual podrás conocer todos los detalles necesarios para editar los mapas directamente, pero primero comenzaremos entendiendo cómo está estructurado el código XML en general.
El código XML está formado por elementos, que a su vez pueden contener otros elementos:
Como puedes ver, los elementos comienzan con una etiqueta de apertura (<casa>) y terminan con una etiqueta de cierre (</casa>). También hay elementos vacíos que solo usan una etiqueta (<silla />). El código sigue una estructura bastante fácil de entender y como se puede apreciar sigue cierta lógica (no puede haber una casa dentro de una silla, por ejemplo).
Estructura del XML de mapas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Estas misma idea se aplica en MiceForce. El XML de los mapas sigue ciertas reglas que no se pueden romper, como la lógica antes mencionada. A continuación hay un ejemplo de un mapa básico:
Todos los mapas comienzan con la etiqueta <C></C> que contiene absolutamente todo. Dentro de C tenemos dos cosas: la etiqueta vacía <P /> que contiene las propiedades del mapa, y la etiqueta <Z></Z> que contiene todos los elementos del mapa.
El contenido de Z se divide en varias partes. Los suelos están dentro de <S></S>, las cosas para ratones están dentro de <D></D>, los objetos de chamán en <O></O> y por último las joints que veremos más adelante, están dentro de <L></L>.
El siguiente diagrama resume la estructura de los mapas:
En el ejemplo, dentro de S (los suelos) tenemos un único elemento, que sería el único suelo del mapa. En D (decoraciones/cosas para ratones) tenemos al ratón (DS), un queso (F) y la madriguera (T). Todas estas cosas siempre usan etiquetas vacías, es decir que no tienen apertura y cierre, solo una etiqueta con un conjunto de cosas dentro, llamadas atributos.
Atributos en el XML
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Los atributos son datos que están contenidos dentro de las mismas etiquetas; no son elementos ni están contenidos dentro de otros elementos, sino que acompañan al nombre de la etiqueta, a su derecha. Por ejemplo:
Esta es la etiqueta DS, que representa el punto de inicio de los ratones. Dentro de la misma etiqueta, a la derecha de su nombre (DS) podemos ver dos atributos. El atributo X con un valor de 30, y el atributo Y con un valor de 369.
Todos los atributos siempre se identifican con un nombre, les sigue un signo = y luego el valor del atributo entre comillas (pueden ser comillas simples, pero el editor de MF genera el XML con comillas dobles así que acostúmbrate a usar estas).
En este caso estos dos atributos indican la posición del elemento en el mapa. Por lo tanto el punto de inicio de los ratones se encuentra en las coordenadas 30,369 (coordenadas x,y).
Cosas a tener en cuenta
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
♫ Todas las cosas en el XML son sensibles a las mayúsculas.
♫ El editor de mapas exige que estén presentes ciertos elementos.
♫ El tamaño máximo del XML es 20KB
♫ Conserva los espacios
Manual XML de Hina
Propiedades del mapa
Los mapas que creamos pueden tener diferentes características especiales que podremos configurar modificando las propiedades que veremos a continuación. Algunas de estas características se pueden escoger o configurar en el mismo editor de mapas, como los mapas de pareja o colisión, pero la mayoría de las propiedades solo podremos usarlas añadiéndolas manualmente en el XML.
Contenido:
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Tamaño del mapa
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
El tamaño del mapa se define por dos propiedades, longitud y altura (ancho y alto).
Ejemplo: Este es un mapa un poco más largo de lo normal y con una altura el doble de lo normal. En otras palabras, un mapa alto con un poco más de longitud.
Fondo
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
El fondo es una propiedad estética del mapa y no es más que la imagen que veremos detrás de todo en el mapa. Por defecto el mapa no tiene ningún fondo y en su lugar tenemos el color de fondo del juego.
Algunos fondos, como el de Halloween, están hechos para mapas largos y al ser usados en mapas de menor longitud automáticamente se encoge la imagen, quedando deformada.
Ejemplo: Un mapa simple con el fondo del amanecer.
Todo sobre el XML de mapas y su funcionamiento
[email protected] al manual de referencia a la edición XML de mapas de Hina. En esta guía encontrarás toda la información disponible sobre el XML de los mapas con todos los detalles posibles. El manual se divide en capítulos que agrupan la información de cada cosa, cada capítulo tiene su propio hilo. A continuación tienes el índice de capítulos:
- Introducción al XML
- Propiedades del mapa
- Propiedades de los suelos para ratones
- Objetos de chamán
- Guía de joints
- Apéndice - Lista de IDs
Al final de este hilo también dejo algunos links de interés con otras guías específicas hechas por mí u otros usuarios que te pueden servir para complementar tu conocimiento.
Ten en cuenta que este manual no es un tutorial para aprender a hacer mapas, es un documento con toda la información que tienes disponible sobre cómo funciona el código de los mapas.
Manual XML de Hina
Introducción al XML
¿Qué es el XML?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
XML es un lenguaje de marcas (NO ES un lenguaje de programación) utilizado en diversos campos, particularmente para enviar información en internet. Los mapas que creas en MiceForce se guardan en el formato XML y es este código el que almacena todos los datos y detalles sobre tu mapa. Los suelos, el queso, los objetos y anclajes, el arte, absolutamente todo lo que hay en tu mapa no es más que código XML.
¿Para qué me sirve?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
El editor de mapas existe para facilitar la tarea de crear estos mapas sin tener que escribir manualmente el código, sin embargo muchísimas de las cosas en los mapas de MiceForce no se pueden hacer desde el editor oficial. Por eso es que es necesario entender cómo funciona el XML de los mapas para poder tener acceso a todas estas cosas.
También otras personas han creado sus propios editores externos para facilitarte las cosas y hacer parte de lo que el editor oficial no hace. MapPad, Viprin's Drawing Editor y cjobjects son ejemplos de herramientas para editar mapas. A la fecha no existe ninguna herramienta que haga uso de todo lo que puedes hacer en los mapas, por lo que es común usar varios editores y complementarlo con la edición directa del XML.
¿Cómo obtengo el XML de un mapa?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Desde el editor de mapas de MiceForce, en la pestaña "Guardar / Cargar / Probar" usas el botón "Copiar el mapa al portapapeles". Luego puedes ir a cualquier editor de texto, como el Bloc de notas, y pegar el código obtenido.
Estructura del XML
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
En este manual podrás conocer todos los detalles necesarios para editar los mapas directamente, pero primero comenzaremos entendiendo cómo está estructurado el código XML en general.
El código XML está formado por elementos, que a su vez pueden contener otros elementos:
- <casa>
- <habitación>
- <cama />
<silla />
<escritorio />
- <cama />
- </habitación>
- <habitación>
- </casa>
Como puedes ver, los elementos comienzan con una etiqueta de apertura (<casa>) y terminan con una etiqueta de cierre (</casa>). También hay elementos vacíos que solo usan una etiqueta (<silla />). El código sigue una estructura bastante fácil de entender y como se puede apreciar sigue cierta lógica (no puede haber una casa dentro de una silla, por ejemplo).
Estructura del XML de mapas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Estas misma idea se aplica en MiceForce. El XML de los mapas sigue ciertas reglas que no se pueden romper, como la lógica antes mencionada. A continuación hay un ejemplo de un mapa básico:
- <C>
- <P />
<Z>- <S>
- <S X="400" Y="400" L="800" H="40" T="0" P="0,0,0.3,0.2,0,0,0,0" />
- </S>
<D>- <DS X="30" Y="369" />
<F X="410" Y="367" />
<T X="770" Y="382" />
- <DS X="30" Y="369" />
- </D>
<O>
</O>
- <S>
- </Z>
- <P />
- </C>
Todos los mapas comienzan con la etiqueta <C></C> que contiene absolutamente todo. Dentro de C tenemos dos cosas: la etiqueta vacía <P /> que contiene las propiedades del mapa, y la etiqueta <Z></Z> que contiene todos los elementos del mapa.
El contenido de Z se divide en varias partes. Los suelos están dentro de <S></S>, las cosas para ratones están dentro de <D></D>, los objetos de chamán en <O></O> y por último las joints que veremos más adelante, están dentro de <L></L>.
El siguiente diagrama resume la estructura de los mapas:
En el ejemplo, dentro de S (los suelos) tenemos un único elemento, que sería el único suelo del mapa. En D (decoraciones/cosas para ratones) tenemos al ratón (DS), un queso (F) y la madriguera (T). Todas estas cosas siempre usan etiquetas vacías, es decir que no tienen apertura y cierre, solo una etiqueta con un conjunto de cosas dentro, llamadas atributos.
Atributos en el XML
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Los atributos son datos que están contenidos dentro de las mismas etiquetas; no son elementos ni están contenidos dentro de otros elementos, sino que acompañan al nombre de la etiqueta, a su derecha. Por ejemplo:
- <DS X="30" Y="369" />
Esta es la etiqueta DS, que representa el punto de inicio de los ratones. Dentro de la misma etiqueta, a la derecha de su nombre (DS) podemos ver dos atributos. El atributo X con un valor de 30, y el atributo Y con un valor de 369.
Todos los atributos siempre se identifican con un nombre, les sigue un signo = y luego el valor del atributo entre comillas (pueden ser comillas simples, pero el editor de MF genera el XML con comillas dobles así que acostúmbrate a usar estas).
En este caso estos dos atributos indican la posición del elemento en el mapa. Por lo tanto el punto de inicio de los ratones se encuentra en las coordenadas 30,369 (coordenadas x,y).
Cosas a tener en cuenta
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
♫ Todas las cosas en el XML son sensibles a las mayúsculas.
- No es lo mismo <C> que <c> ni tampoco es lo mismo <Ds> que <DS>. Lo mismo va para los atributos, en TFM la mayoría de los atributos son en mayúsculas (X, Y, T, etc.) pero también hay algunos en minúsculas. Cuidado con eso.
♫ El editor de mapas exige que estén presentes ciertos elementos.
- No pueden faltar los elementos S, D y O dentro de Z. Obviamente tampoco puede faltar Z y P dentro de C. Aún si tu mapa no tiene suelos/decoraciones/objetos, es necesario que pongas las etiquetas de apertura y cierre de esos tres grupos. El elemento L por el contrario se puede omitir.
♫ El tamaño máximo del XML es 20KB
- El editor de mapas no te permite cargar un código con un tamaño superior a los 20KB. Sin embargo es posible hacer el mapa más grande después de haberlo cargado, dentro del mismo editor de mapas. Pero ten en cuenta que al hacer esto, luego si exportas el código nuevamente no lo podrás volver a cargar en el editor.
♫ Conserva los espacios
- Las etiquetas de una línea (las que no tienen apertura y cierre) terminan siempre con un espacio, el slash y el signo mayor (... />). También siempre hay un espacio luego del nombre de la etiqueta y entre los atributos. Respeta esos espacios. Los saltos de línea y las tabulaciones en cambio son solo estéticas al momento de editar el XML y no hace falta que estén presentes al cargar el mapa.
http://atelier801.com/topic?f=6&t=827019#m1<C><P /><Z><S /><D /><O /></Z></C>
Manual XML de Hina
Propiedades del mapa
Los mapas que creamos pueden tener diferentes características especiales que podremos configurar modificando las propiedades que veremos a continuación. Algunas de estas características se pueden escoger o configurar en el mismo editor de mapas, como los mapas de pareja o colisión, pero la mayoría de las propiedades solo podremos usarlas añadiéndolas manualmente en el XML.
dijo:<C><P /><Z><S /><D /><O /></Z></C>
Las propiedades del mapa se encuentran dentro de la etiqueta P. Todas las propiedades o atributos son opcionales, sin embargo algunas tienen valores por defecto (predeterminados) como el ancho y alto del mapa.Contenido:
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- Tamaño del mapa
- Fondo
- Viento y gravedad
- Colisión
- Pareja
- Modo nocturno
- Portales
- Muerte por colisión
- Científico loco
- Ocultar exterior del mapa
- Ocultar anclajes
- Punto de inicio de los ratones
- Defilante
- Imágenes de fondo
- Masa de los objetos
Tamaño del mapa
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
El tamaño del mapa se define por dos propiedades, longitud y altura (ancho y alto).
- L="longitud"
H="altura"
longitud - Ancho del mapa en pixeles.
altura - Alto del mapa en pixeles.
Ejemplo: Este es un mapa un poco más largo de lo normal y con una altura el doble de lo normal. En otras palabras, un mapa alto con un poco más de longitud.
<C><P L="1000" H="800" /><Z><S /><D /><O /></Z></C>
Fondo
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
El fondo es una propiedad estética del mapa y no es más que la imagen que veremos detrás de todo en el mapa. Por defecto el mapa no tiene ningún fondo y en su lugar tenemos el color de fondo del juego.
- F="ID del fondo"
ID del fondo - Número que identifica a cada uno de los fondos disponibles en el juego. A continuación la lista de fondos:- 0 - Luz del día
- 1 - Amanecer
- 2 - Crepúsculo
- 3 - Luna llena
- 4 - Halloween (ancho 1600)
- 5 - Navidad
- 6 - San Valentín (ancho 4800)
- 7 - Nube oscura
- 8 - Nube oscura 2
Algunos fondos, como el de Halloween, están hechos para mapas largos y al ser usados en mapas de menor longitud automáticamente se encoge la imagen, quedando deformada.
Ejemplo: Un mapa simple con el fondo del amanecer.
<C><P F="1" /><Z><S><S L="670" H="10" X="387" Y="341" T="0" P="0,0,0.3,0.2,0,0,0,0" /></S><D><T Y="337" X="498" /><F Y="330" X="446" /><DS Y="321" X="252" /></D><O /></Z></C>
