tuts_gba
Thread Id: 15829
Thread Name: E | Scripting | Tutorial Básico msgbox 0xA
#0
gintonic091 19818
¡Buenas a todos!
Hago este tutorial, para enseñar ha hacer un msgbox 0xA en un script.
¿Qué es un msgbox 0xA?
Pues fácil, es un msgbox como cualquier otro, solo que este, lo que hace es iniciar una conversación por el Pokénav. ¿Interesante verdad?
Pues bien. Vamos a ello. Antes de empezar, necesitaremos las siguientes herramientas:

Advance Map (preferiblemente la 1.92)
XSE versión 1.1.1
Un emulador. No$gba o VisualBoyAdvance
Y claramente... Un Rom xD Pero ¡ATENCIÓN!: Solo sirve en Pokémon Esmeralda. No sirve ni en Rubí ni en Zafiro


Pues eso... Una vez tengamos esas cosas. Tenemos que abrir el Advance Map:



Ahora, hay que cargar un Rom. Por lo tanto, le damos al botón: Cargar Rom Y entonces esperamos a que el Advance Map cargue los mapas y todo lo demás del Rom.

Ahora, vamos a ir a la pestaña Ver eventos:



Una vez estemos en Ver Eventos, vamos a fijarnos en la parte que dice Organizador de Eventos:




En esta parte, vemos que hay cuatro secciones. Vamos a fijarnos en la de Cantidad de Gente. Como vemos, pone 7. Eso como seguramente sabrán, significa que hay 7 personas.

Lo que haremos será subir un numero al 7, poner un 8. Y después darle al botón Cambiar Eventos:




Ahora, se creará una nueva persona, y aparecerá en la esquina izquierda del mapa:


Colocamos al personaje que hemos creado donde queramos, y ahora lo que haremos será abrir el XSE. Pero antes haremos una cosa.
Pondremos el XSE como Editor de Scripts del Advance Map.
¿Como hacemos eso?
Pues fácil. Vamos a Opciones, y clicamos en Choose Script Editor:



Después nos aparecerá un mensaje. Le clicamos en NO:



Ahora, lo que haremos será abrir el XSE 1.1.1:



Entonces cargaremos nuestro Rom. Una vez que carguemos el Rom empezaremos a poner nuestro código.

Primero, empezamos poniendo este código:

#dynamic 0x900000

¿Qué es esto?
Pues #dynaimc 0x900000 lo que hace es buscar espacio libre a partir de la dirección 900000. Por lo que no tengamos que estar buscando espacio libre desde el FSF (Free Space Finder)

#org @inicio

Esto, siempre se ha de poner al principio de todos los scripts, acompañado de una dirección. Pero como hemos usado el #dynamic, pues pondremos @inicio.

Ahora, algo muy importante: faceplayer y lock.

faceplayer
lock

Esto lo que hace es, que cuando le hables a una persona, te mire con el faceplayer, y que se quede quieto con lock para que no se mueva mientras se está produciendo el Script

Ahora, pondremos el msgbox 0xA.

msgbox @texto 0xA


Ahora explicare esto: ponemos msgbox acompañado de un puntero, que será el puntero del texto que pongamos, y al lado un 0xA. Eso indica que el msgbox será para hacer una llamada del Pokénav.

Después solo queda poner un release y un end

release
end

¿Que es esto?
Pues esto hace que el lock deje de funcionar con el release, y que se pueda mover el personaje al que hablamos otra vez. Y el end, lo que hace es terminar el script. Es muy fácil.

Ahora, pondremos el texto de la llamada, para ello hacemos esto:

#org @texto
= aquí el texto que quieras poner.

Bien explico: #org @texto es el puntero del msgbox, para que se ejecute el msgbox.
El "=" siempre va ahí al principio, para que se vea el texto en pantalla. Pero no hay que escribir el mensaje desde ahí, se puede usar el Ajustador de Línea, para hacerlo pulsamos Ctrl + T. Entonces escribimos lo que queremos en la pantalla que nos salga, después cuando terminemos de escribir, le damos a Convertir, y seguidamente le damos a Insertar.
¡Y listo! Ya tendremos nuestro script hecho

Aquí dejo la imagen del que he hecho yo:


Yo he puesto otro msgbox de tipo normal, es decir, el msgbox 0x6. Para darle una conversación más chula xD :)

Aquí os dejo el código para que lo podáis copiar y pegar. Pero recomiendo que lo hagáis vosotros para ir aprendiendo:



Ahora, tendremos que compilar el script, para eso, le daremos a este botón: y así saldrá una nueva pantalla. En esa pantalla saldrá nuestro script compilado, y los offset que se han buscado libres del @inicio y @texto. Entonces, copiamos el primero que ya saldrá marcado en azul. Y despues cerramos la ventanita:



Ahora, solamente tenemos que poner el offset que hemos copiado en donde dice Script Offset:


El último paso será guardar los cambios en el Rom. Para ello le damos en el botón de Guardar Mapa: y listo.

Solo queda abrir el Rom con el emulador, y probar nuestro script.


Bueno... Pues aquí termina este tutorial. Espero que os sirva. Y si tenéis alguna duda, mandarme un MP o decírmelo por mi perfil.

Un saluder! :D
#1
Aarón~ 24267
Esta bien el tutorial, bien explicado y paso por paso. Buen aporte para los que recien aprenden!