De Whack a Hack Wiki!

Revisión del 20:33 13 dic 2019 de Samu (discusión | contribuciones) (Los Script permiten programar eventos de forma rápida y sencilla, haciendo uso de una lista de comandos pre-programados dentro del juego. En decompilación de GBA (ruby, firered y emerald) se tienen los siguientes comandos:)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)

Lista de Comandos para Scripts

ID Comando Parámetros Descripción Plataforma
0x00 nop - Comando vacío. No hace nada. R-FR-E
0x01 nop1 - Comando vacío. No hace nada. R-FR-E
0x02 end - Finaliza la ejecución del script. R-FR-E
0x03 return - Vuelve a la línea siguiente al último comando 'call' ejecutado. R-FR-E
0x04 call [script] Ejecuta el script pasado como argumento. Permite la vuelta mediante 'return' R-FR-E
0x05 goto [script] Continua la ejecución en el script pasado como argumento R-FR-E
0x06 goto_if [condición] [script] Continua la ejecución en el script pasado como argumento, siempre que se cumpla la condición. R-FR-E
0x07 call_if [condición] [script] Similar a 'goto_if', pero permite la vuelta al script original usando 'return'. R-FR-E
0x08 gotostd [función standard] Permite ejecutar una de las funciones standard del juego. Uso anecdótico. R-FR-E
0x09 callstd [función standard] Similar a 'gotostd', pero permite volver desde un 'return'. Uso anecdótico. R-FR-E
0x0A gotostd_if [condicion] [función standard] Ejecuta una de las funciones standard, siempre que se cumpla la condición. Uso anecdótico. R-FR-E
0x0B callstd_if [condición] [función standard] Similar a gotostd_if, pero permite volver desde un 'return'. Uso anecdótico. R-FR-E
0x0C returnram - Ejecuta el script cuyo puntero esté almacenado dinámicamente en gUnknown_020375C0. Uso anecdótico. E
0x0C gotoram - Es igual a returnram, pero en pokefirered y pokeruby. R-FR
0x0D killscript - Finaliza la ejecución del script reseteando completamente la RAM de scripts. R-FR-E
0x0E setmysteryeventstatus [estado] Modifica un valor relacionado con el evento misterioso. Utilizado únicamente en Ruby, y como herramienta de Debug. R-FR-E
0x0F loadword [buffer_id] [2 bytes] Almacena un valor de 2 bytes (u16) en el buffer de scripts especificado R-FR-E
0x10 loadbyte [buffer_id] [byte] Almacena un valor de 1 byte (u8) en el buffer de scripts especificado. R-FR-E
0x11 writebytetoaddr [byte] [dirección RAM] Almacena un valor de 1 byte (u8) en la dirección RAM especificada. R-FR-E
0x12 loadbytefromaddr [buffer_id] [dirección RAM] Almacena en el buffer seleccionado el valor contenido en la dirección RAM especificada (1 byte). R-FR-E
0x13 setptrbyte [buffer_id] [dirección RAM] Almacena en la dirección RAM especificada el valor (1 byte) del buffer seleccionado. R-FR-E
0x14 copylocal [buffer_id destino] [buffer_id origen] Copia el valor del buffer seleccionado como origen en el buffer seleccionado como destino. R-FR-E
0x15 copybyte [RAM destino] [RAM origen] Copia el valor (1 byte) de la dirección RAM marcada como origen en la dirección RAM de destino. R-FR-E
0x16 setvar [var_id] [valor] Establece el valor indicado para la variable seleccionada. R-FR-E
0x17 addvar [var_id] [valor] Añade el valor indicado al valor actual de la variable seleccionada. R-FR-E
0x18 subvar [var_id] [valor] Resta el valor indicado al valor actual de la variable seleccionada. R-FR-E
0x19 copyvar [var_id destino] [var_id origen] Copia el valor de la variable origen en la variable destino. R-FR-E
0x1A setorcopyvar [var_id destino] [origen] Si el origen es una variable, actuará como 'copyvar'. En caso contrario será como 'setvar'. R-FR-E
0x1B compare_local_to_local [buffer_id1] [buffer_id2] Compara el valor de dos buffers de scripts. R-FR-E
0x1C compare_local_to_value [buffer_id] [byte] Compara el valor de un buffer con el valor indicado. R-FR-E
0x1D compare_local_to_addr [buffer_id] [dirección RAM] Compara el valor de un buffer con el valor almacenado en la dirección RAM indicada. R-FR-E
0x1E compare_addr_to_local [dirección RAM] [buffer_id] Compara el valor almacenado en una dirección RAM con el valor del buffer indicado. R-FR-E
0x1F compare_addr_to_value [dirección RAM] [byte] Compara el valor almacenado en una dirección RAM con el valor indicado. R-FR-E
0x20 compare_addr_to_addr [dirección RAM 1] [dirección RAM 2] Compara el valor almacenado en una dirección RAM con el de otra dirección RAM. R-FR-E
0x21 compare_var_to_value [var_id] [byte] Compara el valor de una variable con el valor indicado. R-FR-E
0x22 compare_var_to_var [var_id1] [var_id2] Compara el valor de una variable con el de otra variable. R-FR-E
0xFF R-FR-E


Funciones Standard

Las funciones standard, son una serie de funcionalidades básicas utilizadas por los scripts de los juegos de tercera generación. En total son 11, y están contenidos dentro de gStdScripts en "./data/event_scripts.s".

Función Standard Descripción
Std_ObtainItem Mensaje de texto por defecto la obtener un objeto.
Std_FindItem Mensaje de texto por defecto al encontrar un objeto.
Std_MsgboxNPC Cuadro de texto mostrado al hablar con un npc.
Std_MsgboxSign Cuadro de texto mostrado al hablar con un poste.
Std_MsgboxDefault Cuadro de texto mostrado por defecto.
Std_MsgboxYesNo Cuadro de texto con opciones "Sí/No"
Std_MsgboxAutoclose Cuadro de texto que se cierra automáticamente
Std_ObtainDecoration Mensaje de texto mostrado por defecto al obtener una decoración de la base secreta.
Std_RegisteredInMatchCall Mensaje de texto mostrado por defecto al registrar alguien en el pokenav (solo ruby y emerald)
Std_MsgboxGetPoints Mensaje por defecto mostrado al recibir puntos de la torre batalla.
Std_10 Mensaje relacionado con el Pokenav.