Bueno, bienvenidos a la primer clase, hoy veremos el comando "DYNAMIC", éste se escribe al principio de nuestro script...
Antes de empezar con todo esto, veamos las cosas básicas que tiene el XSE y como usarlo en A-Map
1. Vamos a configurar el A-map para que utilize XSE y que luego se nos haga mas sencillo
Para esto seguimos unos sencillos pasos:
A. Abrimos el A-map vamos a opciones y clic en "Choose Script Editor"
B. Buscamos donde tengamos puesto el XSE, lo seleccionamos y le damos a "Abrir"
C. A continuación les saltará un cartel como éste:
Denle a "No"
D. ¡Listo! ¡Ya tenéis configurado XSE en A-Map!
Alumno: ¿¡Eh!? ¿eso es todo?
pues...
:awesome:
¡No! eso fué solo el punto 1.
Ahora vayamos al punto 2.
2. En este punto, actualizaremos el XSE (Lo cual es muy sencillo)
A. Abrimos nuestro XSE, y vamos al menú "ayuda", y clic en "actualizar"
Si vuestro menú no es como el de esa imágen, sino que es
Quiere decir que ya está actualizado, y deben saltear el punto 2.
B. Se nos abrirá un cartel, le damos a siguiente:
C. Ahora XSE se conectará a internet para saber si hay una versión más reciente, y al finalizar nos mostrará esto:
D.Pues¡Adivinen qué!¡Le hacemos clic en siguiente! ahora esperaremos a que descargue...
E. Cuando termine, aparecerá la siguiente pantalla, en la cual le daremos clic a "Finalizar"
F. Nuestro XSE se cerrará y se abrirá de nuevo, dejandonos ver claramente, que ha cambiado...
[¡Punto 2 terminado!¡Yay!]
3.Bueno, ahora lo que haremos, será cargar nuestra ROM favorita (Ya que lo que se enseñará en la primer clase, es igual en todas)
Para eso, vamos al A-Map, lo abrimos y le damos a "Archivo" y a "Cargar Rom"
A. Ahora, abriremos un mapa cualquiera, para el ejemplo, usaré Emerald, y Littleroot; y vamos a la pestaña "eventos" (Para que los eventos se vean con su respectivo mini, asegurense de tener, en el menú opciones, marcado "mostrar sprites" y desmarcado "esconder otros eventos")
B. Seleccionaremos un caracter de esos que están ahí, yo usaré al "rellenito" (Me encanta modificarlo :awesome: ) le haremos doble clic, a lo que se nos debería abrir el XSE con nuestro script cargado:
C. Bueno, ahora viene la parte com-pli-ca-da... Empezaremos por 5 comandos esenciales y fáciles que le darán a nuestro script un toque estético:
"Lock", "Lockall", "release", "releaseall" y "faceplayer":
Lock: éste comando, hará que el sprite que tenga asignado el script no se mueva.
Release: desactiva el efecto del lock, es decir, deja livbre de movimientos al sprite.
Lockall: Hará que ningún sprite del mapa pueda moverse, es decir, aplicará el efecto del lock en todos los sprites.
Releaseall: desactiiva el efecto del lock, es decir libera todos los sprites.
Faceplayer: hace que el sprite al que le hemos asignado un script, nos mire al hablarle, si no lo usamos, nos hablaría de espaldas... (por ejemplo)
Ahora sí, pasaremos al comando DYNAMIC:
Definición: El comando "DYNAMIC", es un comando muy útil, agregado en la version 1.1 del XSE, el cual nos sirve para buscar espacio libre donde "escribir" nuestro script... Su utilización es la siguiente:
#DYNAMIC 0x
Luego del 0x, irá un nº dependiendo de con qué Rom trabajemos:
Ruby: 0x800000
Fire Red: 0x6B0000
Emerald: 0xE3CF64
Condiciones que debe tener el comando para funcionar bien:
Debe estar al principio del script, debajo de '---------
Y para usarlo debemos hacer un "pointer dinámico"...
¿Qué es un pointer? un "pointer", "offset", o "dirección" es donde XSE guardará nuestro script.
¿Y un pointer dinámico? es una dirección "temporal" a la que le daremos un nombre, y, a la hora de compilar un script, el comando DYNAMIC le asignará un valor. Ejemplo: @sms1 @lol3 @whackahackcomunidaddehackromshispanos @fantasticalmentenadaquedecir... Algo que nunca deben hacer es, por ejemplo, algo así @sms 1... NO DEBEN LLEVAR ESPACIO!!!
D. Luego de haber comprendido esto, pasamos a aprender lo que es el comando "msgbox", y como usarlo con "DYNAMIC"
Definición: El comando "msgbox", hará que en nuestro scripts, se ejecute un diálogo o mensaje, de una forma o de otra (formas configurables por supuesto)en nuestra Rom.
éste comando se usa de la/s siguiente/s forma/s:
msgbox [pointer dinámico] 0x[Tipo de mensaje]
msgbox 0x[pointer] 0x[Tipo de mensaje]
Existen varios tipos de mensajes, del 0x1 al 0x6 y, si trabajamos en Emerald, también se agrega el 0xA. Se pueden escribir de dos maneras distintas:
MSG_OBTAIN 0x0 [Mensaje de "Has obtenido...", reproduce el sonido que se escucha cuando nos dan un item]
MSG_FIND 0x1 [Mensaje de "Has encontrado...", reproduce el sonido que se escucha cuando encontramos un objeto con el Zahori]
MSG_FACE 0x2 [Mensaje de "Habla" es un mensaje común y corriente mas un "faceplayer" que se ejecuta automáticamente]
MSG_SIGN 0x3
MSG_KEEPOPEN 0x4 [Hace que el diálogo quede abierto hasta que agregemos el comando "closeonkeypress"]
MSG_YESNO 0x5 [Mensaje con pregunta de "si" o "No", lo desarrollaremos más adelante]
MSG_NORMAL 0x6 [Un mensaje normal, común y corriente, similar al 0x2 (o MSG_FACE) pero sin incluir el faceplayer]
MSG_POKENAV 0xA [Hace que nos llamen de la pokénav]
¿Cómo escribir un msgbox?
A.Usando un pointer dinámico:
#org @sms1
= Escribe aquí
B. Usando un pointer preestablecido (No recomendado)
#org 0xF5466
= ¿Leíste las reglas de éste\p subforo?
Bueno, nótese que e remarcado el \p, bien.. pero ¿qué es eso? eso, incluye un cambio de párrafo, es decir que, al apretar un botón, la primer linea, es decir "¿Leíste las reglas de éste" desaparecerán y serán reemplazadas por "subforo?".
Si se quiere hacer otro "salto de párrafo" consecutivo, se debe usar"\l"
También se puede usar \n, que hará que salte de una linea a otra, pero luego de usar \n, si queremos seguir con nuestro msgbox, debemos usar \p, o si queremos que haga otro "pase de linea", debemos usar \l
Conclusión:
\p:Nuevo párrafo
\n:Nueva línea
\l:Repetir comando anterior
Además, se pueden hacer textos de color, agregando códigos en los mensajes:
Además hay otros códigos, pero aquí pondré los básicos:
[player]: Nombre que ha puesto quien juega al hack a su personaje
[rival]: Nombre del Rival
Más adelante quizás veamos los demás códigos