Registrarse

¿Como pongo un evento al entrar en un mapa?

Estado
Cerrado para nuevas respuestas.
Hola, he oido que se pueden poner eventos que se activan justo al entrar en una casa u otro tipo de mapa y no son scripts de gatillo normales, ¿alguien me puede explicar cómo se hace? Porque al llegar en A-Map a el apartado de cabezal, ya no sabría cómo hacer el script, por ejemplo, que al entrar en una casa, una persona te salude, te hable y vaya hacia ti por ejemplo (se me acaba de ocurrir). Pero que sólo realice esa acción una vez, no se me ocurre cómo hacer el script. ¿Se haría igual que un script de gatillo normal?
No se si me he explicado bien, soy nuevo en el foro y no se manejarlo muy bien aun'^^'^^
 
Script de Nivel.
Técnicamente si son Scripts de Gatillo normales, puesto que igualmente presentan una variable y un valor para funcionar.
Para lo que tú quieres lograr se utiliza un Script de nivel del tipo 02, si mal no recuerdo.
Para que se active una sola vez, tienes que usar el comando setvar 0x[Variable del Script] 0x[Valor diferente al puesto en el A-Map].

En otras palabras, lo que debes hacer es lo siguiente:
>Crear y compilar un Script. De preferencia, uno en el que el comando setvar esté presente. (Aquí hay un Tutorial sobre cómo usar las variables y el comando correctamente: http://whackahack.com/foro/t-9184/gba-scripting-scripts-gatillo-flags-variables-basico)
>Abrir el cabezal del mapa en donde ocurrirá el evento.
>En donde dice "Map script", agregas un Script del tipo 02.
>En donde dice "Script offset 2", pones el offset del Script que se ejecutará, ya compilado, obviamente.
>En donde dice "Flag", pones la variable que usarás con el Script.
>El "Value" dependerá de el estado de la variable. Si es una variable libre, que nunca has usado, obviamente la dejas en cero. Guardas.
>Abres el cabezal en modo Profesonal (Presionando Ctrl+H).
>En donde dice "Map Offset", buscas, copias y pegas el offset en donde dice "Map Script Offset".
>Abres XSE y pegas la dirección copiada anteriormente en la barra superior. Clickeas en el ícono de la llave inglesa (La cual normalmente dice "Script de nivel") y posteriormente, clickeas en el ícono del destornillador y la llave (EL cual normalmente dice "Descompilar").
>Buscas en los primeros comandos un #raw word que no tenga un 0x0 como valor. Normalmente son los raws que se ubican al final de cada parte del Script, y generalmente aparecen como 0xFFFF. De ser así, cambias el 0xFFFF a un 0x0.

Haciendo esto creo que ya debería de funcionar.
 
Re: Respuesta: ¿Como pongo un evento al entrar en un mapa?

Antes de preguntar hay que buscar en la zona de tutoriales, no es muy difícil encontrar este post: GBA Hacking desde 0 (¡8ª y 9ª Entrega!)
, el cual si te miras en una de las últimas entregas te explica los scripts de nivel.
¡Gracias! La próxima vez que tenga una duda me miraré esos tutoriales primero!;)

Antes de preguntar hay que buscar en la zona de tutoriales, no es muy difícil encontrar este post: GBA Hacking desde 0 (¡8ª y 9ª Entrega!)
, el cual si te miras en una de las últimas entregas te explica los scripts de nivel.
¡Gracias! La próxima vez que tenga una duda me miraré esos tutoriales primero!;)

Script de Nivel.
Técnicamente si son Scripts de Gatillo normales, puesto que igualmente presentan una variable y un valor para funcionar.
Para lo que tú quieres lograr se utiliza un Script de nivel del tipo 02, si mal no recuerdo.
Para que se active una sola vez, tienes que usar el comando setvar 0x[Variable del Script] 0x[Valor diferente al puesto en el A-Map].

En otras palabras, lo que debes hacer es lo siguiente:
>Crear y compilar un Script. De preferencia, uno en el que el comando setvar esté presente. (Aquí hay un Tutorial sobre cómo usar las variables y el comando correctamente: http://whackahack.com/foro/t-9184/gba-scripting-scripts-gatillo-flags-variables-basico)
>Abrir el cabezal del mapa en donde ocurrirá el evento.
>En donde dice "Map script", agregas un Script del tipo 02.
>En donde dice "Script offset 2", pones el offset del Script que se ejecutará, ya compilado, obviamente.
>En donde dice "Flag", pones la variable que usarás con el Script.
>El "Value" dependerá de el estado de la variable. Si es una variable libre, que nunca has usado, obviamente la dejas en cero. Guardas.
>Abres el cabezal en modo Profesonal (Presionando Ctrl+H).
>En donde dice "Map Offset", buscas, copias y pegas el offset en donde dice "Map Script Offset".
>Abres XSE y pegas la dirección copiada anteriormente en la barra superior. Clickeas en el ícono de la llave inglesa (La cual normalmente dice "Script de nivel") y posteriormente, clickeas en el ícono del destornillador y la llave (EL cual normalmente dice "Descompilar").
>Buscas en los primeros comandos un #raw word que no tenga un 0x0 como valor. Normalmente son los raws que se ubican al final de cada parte del Script, y generalmente aparecen como 0xFFFF. De ser así, cambias el 0xFFFF a un 0x0.

Haciendo esto creo que ya debería de funcionar.
¡Muchas Gracias tio por este tutorial! :blush: Así seguro que me resulta mucho más facil, ya que por ahora estoy aprendiendo losconceptos antes de empezar con un proyecto en concreto. GRACIAS:boogie::boogie:
 
Estado
Cerrado para nuevas respuestas.
Arriba