31
Poké-Hacking: La técnica detrás del mito. Aprende a programar scripts y traducir el ROM. Por: ~Areku! Introducción. Hola de nuevo! ^^U! Bueno, este es mi 4ta guía, decidí esta vez incluir en gran parte una traducción y adaptación que he hecho de una las mejores guías acerca del Scripting en el Poké-Hacking, “XSE – Comprehensive Scripting Guide”, redactada por HackMew, una gran ROM-Hacker y una gran persona a la cual admiro bastante y que ha aportado bastante al hacking. Si deseas publicarla en algún foro, no hace falta avisarme, sólo darnos el crédito necesario a ambos (~Areku y HackMew) y listo ^^. Y recuerden esto:

Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

  • Upload
    areku

  • View
    1.304

  • Download
    5

Embed Size (px)

DESCRIPTION

Un tutorial más ^^!!Espero y les guste.Hecho por ~Areku!

Citation preview

Page 1: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Poké-Hacking: La técnica detrás del mito.

Aprende a programar scripts y traducir el ROM.

Por: ~Areku!

Introducción.

Hola de nuevo! ^^U!Bueno, este es mi 4ta guía, decidí esta vez incluir en gran parte

una traducción y adaptación que he hecho de una las mejores guías acerca del Scripting en el Poké-Hacking, “XSE – Comprehensive Scripting Guide”, redactada por HackMew, una gran ROM-Hacker y una gran persona a la cual admiro bastante y que ha aportado bastante al hacking.

Si deseas publicarla en algún foro, no hace falta avisarme, sólo darnos el crédito necesario a ambos (~Areku y HackMew) y listo ^^.

Y recuerden esto:

¡¡¡Prohibida su venta!!!

Page 2: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Palabras raras (‘’’._.’’’?)Compilar:Se le llama así al procedimiento de convertir una serie

de órdenes que podemos interpretar fácilmente a un código.

Decompilar:Es lo contrario a compilar; convierte código a una serie

de órdenes.

Hexadecimal:Sistema universal de codificación que va desde el 0 a

la F.(Lo veremos más adelante a detalle.

Scripts: ¿Qué son?

Bueno, viene del inglés guión, y aplicado al Poké-Hacking son la gran mayoría aquellas acciones que ocurren a lo largo del juego tales como movimientos, diálogos, batallas, movimiento de datos como variables, flags, entre muchas otras cosas interesantes ^^ escritas en una serie de órdenes. El código más utilizado por los ROM-Hackers es el Rubikon, originalmente utilizado por ScriptEd de Kyoufu Kawa y DJ Bouché y mejorado por el XSE (eXtreme Script Editor), de nuestro amigo italiano HackMew, 2 grandes programadores que han aportado bastante al hacking.

*El origen de los Scripts*

Todos los ROM-Hacker comienzamos por la parte más fácil del hacking, la cual trabaja con herramientas o Hack-tools y no necesita mucha habilidad ni conocimientos, con la excepción de la creación de un mapa o los gráficos,

Page 3: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

donde se necesita conocer un poco de estética y tener algo de imaginación visual.

Y crear scripts es algo parecido, contamos con las herramientas para descompilar scripts el cual trabaja en un lenguaje de programación bastante sencillo de entender, y si, como todo código lo compilamos mal, se nos va al caño nuestro script. Si crees que crear un script tiene mucha similitud con programar, tienes mucha razón.

Y bueno, todo ROM sea de Pokémon o no, incluso de SNES, NES, N64, GBC y todas las ROM de Nintendo trabajan con un sistema de codificación llamado “sistema hexadecimal”, de ahí se han basado absolutamente todos los programadores de herramientas para crearlas, analizando el comportamiento del ROM al cambiar parte de su código, interesante ¿No?.

Aunque el crear scripts en GBA existe una gran ventaja, que se cuenta con una base de datos de órdenes, que interpretan la gran mayoría de los códigos y lo decompila a un lenguaje de programación, en lugar de tener que estar descifrando sólo código, código y más código en unos números y letras que no entendemos ^^ (Qué flojera l-<_>-l).

Los Scripts en el ROM.

En una primera impresión los scripts nos parecen una serie de números y letras que nos quieren decir algo, una mezcla de números y letras, y bueno, no es muy obvio.

El scripting puede ser considerarse como un lenguaje programación aunque limitándose a una serie de comandos pre-definidos presentes en nuestra ROM, y bueno, podrás darte cuenta de que un script es una serie de instrucciones representadas por comandos ya elaborados.

Page 4: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Bueno, comencemos con el tema, todo script está localizado en un offset en nuestra ROM, te preguntarás ¿Y eso con qué se come? Hehe, pues es en realidad la dirección donde se guardan los datos que contiene nuestro script.

Todo, absolutamente toda información, ya sea sprites, diálogos, movimientos, comportamientos de los minis, entrenadores, pokemons y obviamente los scripts, tienen un offset; esto nos es muy útil a la hora de crear un script, no debemos elegir una dirección al azar, ya que podría sobrescribir datos valiosos de nuestra ROM para que funcione correctamente y dañarlo.

Me gustaría incluír la comparación que HackMew hizo de una ROM con un libro, intentaré de que la traducción del inglés sea lo más fiel al original ^^.

“Tomemos un libro, este libro tiene páginas, las cuales están ennumeradas, cada página tiene algunos párrafos, ahora tratemos el libro como un ROM; los párrafos representan los diferentes scripts; las palabras dentro de los párrafos representan las líneas de comandos con sus respectivos parámetros.”

Entonces un offset es muy parecido a la página de un libro y el necesitaremos saber qué pagina de libro, o más bien qué offset tiene nuestro script para poder colocarselo a un minisprite, un gatillo o un poste (más adelante veremos qué es cada cosa).

El sistema hexadecimalEl sistema hexadecimal es un sistema de numeración

de base 16 (es decir, utilizan 16 símbolos como dígitos), usualmente utiliza el 0-9, más el “A”, “B”, “C”, “D”, “E” y “F” o alternativamente “a”, “b”, “c”, “d”, “e” y “f” para representar valores del 10 al 15. No estamos acostumbrados a utilizar la numeración de esta forma, ya que los seres humanos siempre nos hemos acostumbrado a trabajar con el sistema decimal, del 0 al 9.

Page 5: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Pero, ¿Por qué me quiero centrar tanto hacia el sistema hexadecimal o “hex”? Primeramente por que los editores hexadecimales definen todos los datos numéricos como hexadecimales. Entonces, cuando utilices un script podrías utilizar un editor hexadecimal para depurar el script, o sea, corregir cualquier error. (haha, repito demasiado

“hexadecimal” ¿No creen?, es para que se acostumbren a este término, bastante importante en el

ROM-Hacking a nivel universal, no sólo de Pokémon o de GBA)

Bueno, tomaré de nuevo el ejemplo del libro de HackMew pero ahora con otro enfoque.

Supongamos que ese libro te ha gustado mucho, pero hay un pequeño problema, está en inglés, necesitarías traducirlo al español ¿No?. La información es básicamente la misma, pero necesitas traducirla a tu idioma para de esta forma entenderla.

Exactamente ocurre lo mismo con el sistema hexadecimal y el sistema decimal ^^. El hexadecimal es el lenguaje del editor (en el caso del libro sería el inglés) y el decimal el lenguaje que utilizamos comúnmente. Los datos y la información son exactamente iguales, pero expresado en otra forma u otro sistema.

He aquí una pequeña tabla que nos muestra una comparación de algunos números del sistema decimal con el sistema hexadecimal, tomada de la guía oficial del XSE, hecha por HackMew.

Decimal (Dec) Hexadecimal (Hex)

00 0x00

01 0x01

02 0x02

03 0x03

Page 6: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

04 0x04

05 0x05

06 0x06

07 0x07

08 0x08

09 0x09

10 0x0A

11 0x0B

12 0x0C

13 0x0D

14 0x0E

15 0x0F

16 0x10

17 0x11

18 0x12

19 0x13

De modo que cuando queremos trabajar este tipo de numeración en XSE podemos optar por 2 formas.

Page 7: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

- Usar el prefijo “0x”, por ejemplo 0x1F4. El “0” denota un número y el “x” que trabajamos con hexadecimal.

- Utilizar el prefijo “&H”, por ejemplo &H3e8

Esto es bastante importante, ya que si no agregamos estos prefijos el número será tratado como número decimal y se distorsionará el valor. Por ejemplo si compilamos solamente “12” valdrá eso, en cambio si compilamos 0x12 tomará el valor de 19, ya que ese es su valor hexadecimal.

Y bueno, quisiera escribir algunas curiosidades que me parecieron interesantes.1.- El compilador de scripts no distingue mayúsculas ni minúsculas al compilar un script. Da igual si compilas 0xF3 que 0xf3 o de esta forma 0xDa0E, aunque la “x” debe siempre ir en minúscula.

2.- Muchos comandos y números en hexadecimal que se compilan en un script utilizan la “ingeniería reversa” es decir, si tu compilas 0x12AB00 en el editor aparecerá 00 AB 12.

Términos extraños

Imagina por tercera vez el mismo libro. (Otra vez la burra al trigo ¬¬U!) Y… ¡Oh sorpresa!

Encuentras un párrafo mal escrito, hay palabras que le faltan sílabas y letras, y no entiendes concretamente lo que dice el párrafo.

Page 8: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora comparémoslo con el ROM, la palabra en este caso es el comando; las letras y algunas sílabas son los parámetros, con esto quiero decir que una palabra no nos dice nada si no tiene letras, al igual que un comando no nos dice nada si no tiene parámetros, entonces un comando, por ende, necesita tenerlos, para que de esta forma nos diga qué expresa en concreto, qué valores tiene o qué es lo que hará.

Un claro ejemplo de un comando debe incluir un parámetro y que no lo tiene:

Wildbattle

¿Qué significa esto?Una batalla contra un Pokémon, sólo eso. Pero te

preguntarás ¿Qué Pokémon? ¿Qué nivel tiene? ¿En qué escenario?

Pues bien, los parámetros nos responden a esas incógnitas, entonces el mismo comando pero ahora con los parámetros incluídos sería escrito de esta forma:

Wildbattle 0x4 0x5 0x0

Ahora podemos darnos cuenta de que se trata de una batalla contra un Charmander, nivel 5 en un escenario regular.Quiero pensar que quedó claro todo ^^U!

Ahora pasemos a lo demás, esos parámetros de los que hablé ahora suelen escribirse en parejas de dígitos, por ejemplo 04, FE o 9A. Un byte puede representar desde el 0 (00) hasta el 255 (FF), de hecho, los comandos que compilamos los ROM-Hackers se convierten a bytes una vez compilados, al igual que toda la información y datos que ingresamos a nuestra ROM, sean sprites, minisprites, tiles, scripts, etc.Así que, cuando compilamos un comando con parámetros, se convierte todo a sistema hexadecimal.

Tal vez todo esto suene confuso en un inicio, pero hagamos un resumen de algunas palabras raras utilizadas en el Scripting.

Byte:

Page 9: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

La unidad más pequeña de información, consiste en una pareja de dígitos en sistema hexadecimal. Puede significar desde 0 (00) hasta 255 (FF).

Word:Es otro tipo de parámetro, este consiste en 2 bytes, es

decir, 2 parejas de dígitos, un ejemplo de ello es el “People ID” del AdvanceMap.

Flag:Es un tipo especial de “Word”, ésta mas bien actúa

como interruptor, ya que puede tener 2 tipos de valor, activado y desactivado. (0 y 1)Estas suelen utilizarse para evitar la repetición de un script o para deshabilitar algun evento después de ocurrir otro.Existen también “flags” especiales, las cuales nos permiten activar la PokéDex, el PokéNav y las de las medallas de gimnasio.

Offset:Es la dirección del ROM en la que se guarda el script que hacemos. Un ejemplo podría ser 0x7A6B5A. Se forma por 3 bytes.

Pointer o Puntero:Bueno, yo confundía este término con el de Offset, pero después de leer la guía del XSE me dí cuenta que es casi lo mismo, la única diferencia es que contiene un byte al inicio que determina qué tipo de memoria accederá. Por lo ahora sólo utilizar la memoria ROM, de modo que un puntero se conforma de esta forma, 1 byte que determina el tipo de memoria al que accederemos y los últimos 3 bytes nos indican el offset.08 XX XX XX

Bueno, supongo que ya tienes una noción del lenguaje en el scripting, el tipo de codificación que existe, qué es un puntero, offset, parámetro, etc.

Traduciendo una ROM.

Page 10: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora pasemos a la siguiente lección:En lo personal, antes de saber scriptear yo solía traducir, así que aprendiendo a traducir o cambiar un diálogo nos es fácil, les enseñaré la forma en la que yo solía traducir ^-^.

Para eso necesitaremos el Thingy32, un editor hexadecimal que soporta tablas.¿Y qué es una tabla? Pues es un archivo que nos permite interpretar cada byte de nuestra ROM como una letra, número o signo y de esta forma poder crear nuestros diálogos.El editor se encuentra en www.wah.studiopokemon.com en la sección de herramientas y las tablas en esa misma página pero en la sección Tablas.

Bueno, ahora aprenderemos a utilizar el Thingy32, lo abrimos, en primera instancia nos pedirá el ROM, en tipo de archivo, seleccionamos “Todos los archivos(*.*)” para que de esta forma podamos encontrar nuestra ROM de GBA.

Pulsamos Abrir, ahora nos pedirá una tabla, la cual consiste en un archivo con extensión TBL.

Page 11: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

WAH tiene 3 tablas, ahora lo que nos interesa es la “Tabla.tbl”La cual nos permite convertir cada byte a una letra, signo o clave, como ya lo habia mencionado.Cuando nos pida la segunda tabla, podemos optar por cancelar o por abrir cualquier otra de las 2. Una vez que te hayas decidido aparecerá esta pantalla.

Page 12: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Solo veo un montón de signos raros >_<. ¿Y dónde están los diálogos ¬_¬…?Recuerda que estás abriendo el ROM y que él contiene absolutamente toda la información que lo hace funcionar, diálogos, sprites, scripts, etc.Los diálogos se encuentran en una parte del ROM, de modo que podemos encontrarlo fácilmente.Basta con pulsar “B”, aparecerá esto.

Ahora probemos con un diálogo que queramos modificar y lo tecleamos en esa ventana, he aquí un ejemplo:

Ahora pulsamos “Enter”

Page 13: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora el dicho de “El que busca encuentra” se hace tan real como esto.¿Y cómo lo selecciono x3!!!?Pulsa la barra de espacio al inicio del texto, ahora desplázate con el cursor hasta la “$” donde finaliza el mensaje, una vez que llegues a este punto presiona de nuevo la barra de espacio.Aparecerá esto:

Escribe tu propio diálogo.Recuerda no pasarte de la línea, esto se evita

poniendo las claves de salto de línea, las dejo aquí, nos serán bastante útiles.

“$2” salto de línea automático.“$1” Salto de párrafo. (Es cuando aparece la flecha

roja al final del texto)“$$” Fin del texto.

Page 14: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora pondré un ejemplo de estas 3 claves.

Ahora pulsamos Enter, se guarda automáticamente al hacer cualquier cambio. Veamos cómo nos quedó en el emulador ^^.

Estilos de letra

Gracias a HackMew y su guía, pude enterarme de que puede escribirse más de un estilo de letra, un gran truco para aquellos que nos gusta variar de estilo ^^.

Page 15: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Utilizando bytes en el thingy.Bueno, este es un tema que quise agregar debido a

que nos podría ser útil usar el nombre el protagonista, un color diferente en los diálogos, variar el estilo de letra entre el estilo japonés y el occidental, un búfer (esto último lo usan mas que nada los scripters avanzados, no lo necesitaremos en un inicio), entre otras cosas.

En el XSE todo esto es posible, pero preferiría explicarlo cómo pueden hacerlo manualmente para que de esta forma puedan dominar ambos métodos.

Bueno, modificaré este mismo texto para no buscar de nuevo otro, y mostrarles cómo se pueden escribir bytes en el Thingy32.

Editamos de nuevo

Page 16: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora en lugar de escribir nuestro texto lo que haremos será escribir una arroba "@” y nos aparecerá esto.

Ponemos el byte que queremos, y automáticamente el

editor lo reconocerá como ingresado. ¿Cómo podemos saber el byte que ingresamos?Simple, los bytes aparecen debajo de donde

escribimos, a diferencia de los caracteres, signos, letras y números que aparecen en donde escribimos.

Les dejo una serie de bytes combinados con las que pueden hacer cosas interesantes.

Nombre del protagonista:FD + 01

Todo esto que sigue se pone antes de nuestro texto, así que recuerda guardar los suficientes espacios para insertar los bytes, por ejemplo, asigna 3 espacios si quieres insertar 3 bytes.He aquí algunos trucos.

Darle color a nuestro texto.FC + 01 + Byte de color de texto:Ejemplo FC + 01 + 02 para color rojo.

Page 17: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

He aquí una tabla de los colores gracias a HackMew.[Transparente] 00

[darkgrey_rs] 01

[red_rs] 02

[lightgreen_rs] 03

[blue_rs] 04

[yellow_rs] 05

[cyan_rs] 06

[magenta_rs] 07

[grey_rs] 08

[black_rs] 09

[black2_rs] 0A

[lightgrey_rs] 0B

[white_rs] 0C

[skyblue_rs] 0D

[darkskyblue_rs] 0E

[white2_rs] 0F

Estilo japonés de letra:FC + 16

Estilo occidental de letra:FC + 15

…:::Ingresar los movimientos:::…

Bueno, en esto también utilizaremos el Thingy32, pero ahora cambiaremos la tabla llamada “tabla.tbl” a la tabla de “Movimientos.tbl”, para hacer esto, no necesitas cerrar el Thingy, basta con presionar “O” y seleccionar Abrir nueva tabla…

Page 18: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora nuestra pantalla se ve así, no?

Bueno, aquí no cambiaremos ningún movimiento por otro, sino que insertaremos nuevos en un espacio vacío del ROM,

para aquellos que no lo saben, Pokémon Ruby sólo utiliza casi el 60 o 70% de su capacidad total de 16MB. De modo

que nos queda muchísimo espacio libre para poder ingresar los datos que queramos, como scripts, diálogos o

movimientos, entre muchas otras cosas, el espacio libre se caracteriza por repetirse mucho los bytes FF y 00, como puedes observar los bytes se ubican al lado izquierdo del

editor.

Page 19: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Ahora vamos a un espacio libre del ROM.

Ahora podemos optar por 2 opciones, ingresarlos como bytes o como claves de movimiento. Les dejo la lista de Bytes y la intepretación de cada byte según la tabla.

Ni crean que traduciré cada movimiento >.<, así que si no saben inglés les dejo una noción de lo que significa cada cosa.Down=AbajoUp=ArribaLeft=IzquierdaRight=DerechaSlide=DeslizarRun=CorrerJump=CorrerAlert=Exclamación (!)Question=Pregunta (?)Love=Amor (♥) Sale un corazón.

HopTile=Cuando salta de una baldosa. (Esta imagen es un ejemplo) (Díganme quien diablos les explica tan detalladamente todo esto xD)(Tomada del Pokémon Never Black&White, hecho por mi amigazo Skoria)

Page 20: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

Y ahora los números0=Mirar1=Caminar

00=Down001=Up002=Left003=Right004=Down105=Up106=Left107=Right108=Down209=Up20A=Left20B=Right20C=HopTileDown0D=HopTileUp0E=HopTileLeft0F=HopTileRight10=Delay011=Delay112=Delay213=Delay314=Delay415=Down316=Up317=Left318=Right319=StDown11A=StUp11B=StLeft11C=StRight11D=StDown21E=StUp21F=StLeft220=StRight221=StDown322=StUp323=StLeft324=StRight325=StDown4

Page 21: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

26=StUp427=StLeft428=StRight429=Down32A=Up32B=Left32C=Right32D=Down42E=Up42F=Left430=Right431=SlideFaceDown32=SlideFaceUp33=SlideFaceLeft34=SlideFaceRight35=RunDown36=RunUp37=RunLeft38=RunRight39=St03A=HighHopDown3B=HighHopUp3C=HighHopLeft3D=HighHopRight3E=Up0A3F=Down0A40=mov4041=mov4142=JumpDown43=JumpUp44=JumpLeft45=JumpRight46=HopDown47=HopUp48=HopLeft49=HopRight4A=HopDown1804B=HopUp1804C=HopLeft1804D=HopRight1804E=Down0B4F=StRun

Page 22: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

50=mov5051=mov5152=mov5253=mov5354=Hide55=Show56=Alert57=Question58=Love59=mov595A=Pokeball5B=mov5B5C=mov5C5D=mov5D5E=mov5E5F=mov5F60=mov6061=mov6163=Up0B64=mov6465=Right0A66=RunStopLoopDown67=RunStopLoopUp68=RunStopLoopLeft69=RunStopLoopRight6A=StDown1i6B=StUp1i6C=StLeft1i6D=StRight1i6E=StDown56F=StUp570=StLeft571=StRight572=Down1573=Up1574=Left1575=Right1576=mov7677=mov7778=mov7879=mov797A=Down6

Page 23: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

7B=Up67C=Left67D=Right67E=RunDown27F=RunUp280=RunLeft281=RunRight282=Down783=Up784=Left785=Right786=IceSlideDown87=IceSlideUp88=IceSlideLeft89=IceSlideRight8A=8A8B=8B8C=8C8D=8D8E=8E8F=8F90=9091=9192=9293=9394=9495=9596=9697=9798=9899=999A=9A9B=9B9C=9C9D=9D9E=9E9F=9FA0=A0A1=A1A2=A2A3=A3A4=A4

Page 24: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

A5=A5A6=A6A7=A7A8=A8A9=A9AA=AAAB=ABAC=ACAD=ADAE=AEAF=AFB0=B0B1=B1B2=B2B3=B3B4=B4B5=B5B6=B6B7=B7B8=B8B9=B9BA=BABB=BBBC=BCBD=BDBE=BEBF=BFC0=C0C1=C1C2=C2C3=C3C4=C4C5=C5C6=C6C7=C7C8=C8C9=C9CA=CACB=CBCC=CCCD=CDCE=CE

Page 25: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

CF=CFD0=D0D1=D1D2=D2D3=D3D4=D4D5=D5D6=D6D7=D7D8=D8D9=D9DA=DADB=DBDC=DCDD=DDDE=DEDF=DFE0=E0E1=E1E2=E2E3=E3E4=E4E5=E5E6=E6E7=E7E8=E8E9=E9EA=EAEB=EBEC=ECED=EDEE=EEEF=EFF0=F0F1=F1F2=F2F3=F3F4=F4F5=F5F6=F6F7=F7F8=F8

Page 26: Poké-Hacking - La técnica Detrás Del Mito - Introduccion a Scripts y Traducir El ROM

F9=F9FA=FAFB=FBFC=FCFD=FDFE=ExitFF=FF

Bueno, hemos llegado al final de este manual, espero y les haya servido ^^. Suerte!