Visita el area de tutoriales sobre pokéhacking.
No es una pila de documentos para resolver dudas puntuales sino una wiki dinámica donde investigar y publicar técnicas para que la comunidad mejore.
Wah es una comunidad hispana dedicada a la creación y modificación de contenido creativo sobre Pokémon.
Ver todos los Hacks Hall de la FamaEl museo donde se exponen los trabajos de dibujantes de sprites seleccionados para que sirvan de ejemplo a seguir por otros spriters.
Ver GaleríasCon autoaprendizaje, y descargando aquí los archivos necesarios, el único límite será tu propia imaginación.
Descargas Códigos Tiles Parches Hacks HerramientasComo ubicar scripts en la cabecera de una mapa
El objetivo es conseguir que se carguen scripts nada más entrar en un mapa. Como cuando alguna gente cambia de posición hasta que ocurran determinados eventos, o cuando entras en el club de Fans de Pokémon después de ganar la liga y la gente se te acercan para felicitarte.
Bueno, esto es el resultado de un poco de investigación que hice para hacerme yo un script de mapa. Voy a explicar un poco como llegué yo a los resultados (incompletos, pero suficientes), para que así podais indagar vosotros en los scripts de otros mapas:
El mapa en el que investigué fue el Centro Pokémon de One Island (la primera de las islas Sevii).
Lo primero que teneis que saber es donde encontrar/poner los datos del cabezal del mapa. En Elitemap, puedes encontrar su dirección dándole al botón "ver guión del nivel" (se te abrirá en scripted... pero kawa no sabía que esos datos no son un script cuando lo hizo).
Para estar más seguro (y no tener que abrir elitemap, yo apenas lo uso y uso mucho advancemap), en Advancemap lo puedes encontrar en el cabezal del mapa.
Para ver el cabezal del mapa, activa antes la opcion "vistra profesional del cabezal " o pulsa ctrl+H. Ve a la pestaña "Visor del cabezal" y en el cabezal del mapa verás un montón de números. Cada dos números es un byte. Los primeros 4 bytes contienen el puntero del mapeado. Los 4 siguientes el puntero de los eventos. Los 4 siguientes pertenecen al cabezal del mapa y es lo que nos interesa aquí.
Como deberías saber, las direcciones en hex se deben pasar de dirección a puntero: están permutadas (cambiando los bytes de orden) y siempre llevan un 08 delante. Por ejemplo, en la imagen vemos el cabezal del mapa del Centro Pokémon de One Island. Los números subrayados son el puntero al cabezal del mapa: F8 0B 17 08. Es decir, que los datos del cabezal del mapa de ese nivel se encuentran en 0x170BF8. Si el puntero fuese AB CD EF 08, los datos estarían en la dirección 0xEFCDAB.

En thingy32 (sirve cualquier editor hex, de hecho ni siquiera necesitas uno que acepte tablas, cygnus es muy bueno, por ejemplo) vamos a la dirección 0x170BF8 y esto es lo que vemos (os lo pongo con colorines para que os deis cuenta de la estructura)

Como puedes ver, es una estructura con varias parejas de byte y puntero. Los bytes indican cómo y cuando se ejecutan los scripts.
Como siempre, las direcciones estan permutadas. Ten en cuenta que:
Mirando los scripts del centro, me doy cuenta de lo siguiente:
El 03 lo usa para mover minisprites (comando 0x63) y para el comando de hacer que aparezcas ahí cuando pierdes (0x9f).
El 05 lo usa para un special. En este caso, special 0x182, que no sé que hace... aunque posiblemente sea el que hace que puedas consultar los cuatro mapas.
El 01 lo usa para scripts de setmaptiles.
Sin explicar que es cada byte exactamente, pero los vas a usar para estas cosas.
El 02 es un dirección a otra estructura. En este caso, [02] A7 0C 17 08 nos lleva a 0x170CA7 donde encontramos lo siguiente:
76 40 00 00 B1 0C 17 08 00 00
O agrupando los bytes de otra manera:
0x4076 - Flag (o variable) del que depende el evento
0x0000 - Condición del script. equivalente a var value en AM.
0x8170CB1 - Script que se ejecuta. En este caso, el script de Bill y Celio.
0x0000 - Espacio vacío.
El script que aparece en esta estructura se ejecuta siempre que el flag o variable cumpla la condición que se señala.
Nota: el script se ejecuta continuamente siempre que se cumpla la condición, así que incluye un setvar en el script para que pare.
Tutorial escrito por Baro.
Web designed by Serg!o.
Hosting powered by HostingGazel.
Pokémon y todos sus respectivos nombres son marcas registradas y © de Nintendo Nintendo 1996-2010.
Para más información véase el aviso legal.