vityinformatica.files.wordpress.com€¦  · web viewdibuja brillos sólo si es necesario, tienes...

51
Introducción ¿Quién nunca quiso crear su propio juego de Pokémon, con nuevas aventuras y nuevos lugares a explorar? Hacer tu propio hack es la manera perfecta de cumplir ese sueño. Hackear es divertido, reconfortante y por sobre todas las cosas apasionante, tanto el proceso de creación como el resultado final, y la satisfacción que genera que muchas personas puedan disfrutar de tu juego tanto como uno disfruta crearlo. Un hack no se hace de la noche a la mañana, requiere esfuerzo y dedicación. Nadie empieza sabiendo todo, y hay muchas cosas que son, en un principio, difíciles de entender. Lo principal es no desanimarse si las cosas no salen en un principio como queremos, si no que seguirnos esforzando, que las cosas de a poco van saliendo, y luego se verán excelentes resultados. Para que no haya tantas dificultades en poder hacer un hack original y que pueda satisfacer a uno mismo, en WAH hemos redactado muchísimos manuales muy útiles que deberían leer. Además está nuestro foro, que lo consideramos una plaza donde todos intentamos demostrar que somos capaces, nos ayudamos mutuamente y exponemos nuestros trabajos. Les recomendamos que se registren, exploren y se sientan como en casa, aunque siempre respetando las normas. Hacks que deben probar Para ver los resultados que se pueden llegar a lograr, les recomendamos probar los Hack-Roms de nuestra página, tales como: Pokémon Naranja, hack con aspecto profesional y gráficos totalmente cambiados con ambiente tropical, reviviendo las aventuras de la 2da temporada del anime de Pokémon. Pokémon Shiny Gold, un remake del Pokémon Oro, algo que todo el mundo siempre quiso y Nintendo nunca hizo. Revives las aventuras tal y como eran en la edición metálica y también vive nuevas y emocionantes aventuras nunca antes vistas. Pokémon Omega, Pokémon Marble, Pokémon Black&White, Pokémon DarkBlue y muchos más son la prueba de que se pueden hacer cosas increíbles y novedosas.

Upload: others

Post on 23-Nov-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Introducción¿Quién nunca quiso crear su propio juego de Pokémon, con nuevas aventuras

y nuevos lugares a explorar? Hacer tu propio hack es la manera perfecta de cumplir ese sueño. Hackear es divertido, reconfortante y por sobre todas las cosas apasionante, tanto el proceso de creación como el resultado final, y la satisfacción que genera que muchas personas puedan disfrutar de tu juego tanto como uno disfruta crearlo.

Un hack no se hace de la noche a la mañana, requiere esfuerzo y dedicación. Nadie empieza sabiendo todo, y hay muchas cosas que son, en un principio, difíciles de entender. Lo principal es no desanimarse si las cosas no salen en un principio como queremos, si no que seguirnos esforzando, que las cosas de a poco van saliendo, y luego se verán excelentes resultados. Para que no haya tantas dificultades en poder hacer un hack original y que pueda satisfacer a uno mismo, en WAH hemos redactado muchísimos manuales muy útiles que deberían leer. Además está nuestro foro, que lo consideramos una plaza donde todos intentamos demostrar que somos capaces, nos ayudamos mutuamente y exponemos nuestros trabajos. Les recomendamos que se registren, exploren y se sientan como en casa, aunque siempre respetando las normas.

Hacks que deben probarPara ver los resultados que se pueden llegar a lograr, les recomendamos

probar los Hack-Roms de nuestra página, tales como:Pokémon Naranja, hack con aspecto profesional y gráficos totalmente cambiados con ambiente tropical, reviviendo las aventuras de la 2da temporada del anime de Pokémon.Pokémon Shiny Gold, un remake del Pokémon Oro, algo que todo el mundo siempre quiso y Nintendo nunca hizo. Revives las aventuras tal y como eran en la edición metálica y también vive nuevas y emocionantes aventuras nunca antes vistas.Pokémon Omega, Pokémon Marble, Pokémon Black&White, Pokémon DarkBlue y muchos más son la prueba de que se pueden hacer cosas increíbles y novedosas.

 

Page 2: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

¿Qué rom es el mejor para usar como base para mi hack?Pues eso es decisión de cada uno, cada rom tiene sus ventajas y

desventajas. 

En la comunidad hispana el rom más usado es el Pokémon Rubí en inglés, ya que hay mayor cantidad de herramientas que sirven para editarlo y es considerado por algunos más fácil de hackear.

¿Cómo empiezo mi hack?Antes de poder empezar, claramente hay que descargar los programas o

herramientas necesarios para empezar a modificar a los roms de Pokémon. Cuando recién empezamos aun no tenemos el conocimiento para entender a todas las herramientas ni a todos los manuales, así que no se desesperen que de a poco se vaya entendiendo más y más. Para poder empezar deberían descargar el Pack de inicio de Whack a Hack, con las herramientas necesarias para empezar.

Teoría GráficaEditar sprites y otros gráficos

Podemos diferenciar entre 3 tipos de gráficos:16 colores no-comprimido, 16 colores comprimido y los de 256 colores, que casi siempre, por no decir siempre, están comprimidos.

Los gráficos del ROM tienen una paleta que va ligada a la imagen. Dicha paleta tiene uno índices preestablecidos, por lo que para editar imágenes debemos utilizar un programa de diseño gráfico que maneje paletas y ya puestos que acepte archivos de extensión PAL. Hay muchos, yo recomendaría el Photo Shop o el Paint shop Pro, pero para conseguirlo (legalmente) hay que pagar.

Decir que el Paint que viene gratuito con Windows no nos sirve para mucho: nos cambiaría los colores de la paleta. Además personalmente recomiendo el emulador Visual boy advance, puesto que necesitamos alguna de sus opciones. Recordad que las imágenes son combinación de colores, así que cuanto más ajustados sean los colores que usemos, mejor será el resultado.

Sustituir un gráfico de 256 coloresLos gráficos de 256 colores suelen estar comprimidos. Por lo tanto,

necesitaremos un programa para gráficos compresos, como UNLZ-GBA.

Page 3: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Una vez encontrado el gráfico en el UNLZ-GBA (modo de 256 colores!), tenemos que buscarlo en el juego. Pongamos por ejemplo que queremos editar el logotipo de la versión de Pokémon Ruby.

Seguiremos estes pasos.

1. En VBA, vamos a TOOLS / LOGGING y activamos SWI.2. Iniciamos el juego y vamos a donde está el logo, que es en la pantalla de

inicio.3. Abrimos el OAM VIEWER desde TOOLS y exportamos los dos OAM que

corresponden al logo. Luego los juntamos en una sola imagen para que quede como la que vemos en el UNLZ-GBA. Para algunos gráficos (como el logotipo de Pokémon) necesitamos el TILE VIEWER de TOOLS

4. Abrimos el PALLETE VIEWER de TOOLS y exportamos la paleta que queremos. En este caso tanto la de Sprites como la de Background son prácticamente iguales, así que podemos exportar cualquiera de las dos teniendo en cuenta que los colores de más abajo pueden ser los de la otra. Entonces le damos a Save OBJ (paleta Sprites) o Save BG (background) y guardaremos un archivo PAL de paleta.

5. Abrimos el programa de dibujo, y en él abrimos la combinación de los OAM o el TILE según el caso. Entoncesaplicamos la PAL a esa imagen. En Paint Shop Pro es en Colors/Load pallete (shift+O).  Si estás usando otro programa, usa la ayuda si tienes problemas (que para eso está)

6. Ahora deberíamos tener una imagen igual a la que se muestra en UNL-GBA pero con los colores que se muestran en el juego. Además esa paleta tiene índices, es decir, cada color de la paleta está numerado. Ahora es el turno de tu vena artística para dibujar. Ten en cuenta que puede serte mucho más fácil si desmontas los OAM y los vuelves a montar luego.

7. Una vez creado tu gráfico, ve al UNLZGBA y guardalo (Write to ROM) donde corresponda. Activa las casillas Export Image y Auto abort if... (Consulta el apartado de UNLZ-GBA para solucionar problemas)

Sustituir un gráfico comprimido de 16 colores16 colores comprimido es la característica más presente en las imágenes de

Pokémon de GBA. Esto es debido a que es la usada para entrenadores y Pokémon. Normalmente estas suelen tener una paleta ligada que se muestra en UNLZ-GBA, pero a veces esto no es así. Cuando sucede, es muy fácil cambiar, además, la paleta. Pongamos por caso que queremos editar a CASTFORM, que en mi ROM es el gráfico número 1178 (este número varía en cada ROM, porque UNLGBA busca archivos comprimidos y puede saltarse alguno)

Seguiremos estes pasos:

1. Exportamos la imagen de Castform de UNLZGBA. Observamos que en UNLZ-GBA no tiene su paleta ligada porque es un gráfico no-entero (cuando se carga solo se carga una parte de él)

2. Necesitamos obtener la paleta de Castform. Para ello EXPORTAMOS una imagen del Pokepic y al mirar su paleta con el programa de dibujo hacemos una captura de la pantalla (no recomiendo usar este programa para guardar cosas en el ROM, puede fastidiarte si utilizas parches ips para distribuír tu ROM), o con el PALLETE VIEWER en TOOLS de Visual Boy Advance hacemos una captura del apartado donde estén los colores que

Page 4: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

buscamos cuando aparezca CASTFORM. En este caso recomiendo la primera opción, porque es más rápida, pero si quieres por ejemplo editar los tiles del mapa recomiendo la segunda.

3. Traspasamos la paleta de 16 colores a la imagen del unlzgba. Para ello, en Paint Shop Pro le damos a shift+P o colors/edit pallete y hacemos doble clic en cada color, luego movemos el cursor hacia el color de la paleta que queremos que ocupa el mismo lugar (si en la 1ª le dimos al primero, en la 2ª se damos también al primero) para copiar ese color, y hacemos así con todos los colores (consulta la ayuda si utilizas otro programa). Como esta imagen carga diferentes paletas, tendrás que repetir este paso varias veces.

4. Ahora debemos tener una imagen con los colores de una de sus partes. Podemos editar ESA parte. Repite el paso 3 para poder editar las demás.

5. Una vez acabado, vamos al UNLZGBA y la guardamos (write to ROM) donde corresponda. Consulta el apartado de UNLZGBA si tienes problemas

Sustituir un gráfico no-comprimido de 16 coloresEstos son quizás los gráficos más asequibles a la hora de editarlos, pero si

queremos un buen resultado se convertirán en los más cansinos, puesto que tendremos que copiar una paleta. Este tipo de gráficos son los que se utilizan para los sprites pequeñitos (los del campo, cuando te puedes mover) y para otras cosas como las medallas, la animación de las flores o las puertas en el mapa, etc. Para estos solemos utilizar TLP o tilemolester. Recomiendo este último y es el que voy a usar yo para explicaros. ¡ADEMÁS CUANDO LO USES ACUERDATE DE USAR LAS OPCIONES ADD TO BOOKMARCKS Y ADD TO PALLETES!

Imaginemos que queremos editar al primer Líder de gimnasio. Seguiremos estes pasos.

1. Buscamos el gráfico. Los de sprites están todos juntos, pero has de tener en cuenta que los bytes no están alineados. Una vez encontrado algo que sospechas que es lo que buscas, dale a Byte back/forward (el + y el – con los dos puntitos que están a la derecha de la barra de herramientas) hasta que creas que se ve bien definido. Luego busca una combinación de bloques. Para ello, ve a View/Block size/custom... y escribe las columnas o filas que deseas. Para ayudarte, te comento que la mayoría de estos sprites tienen 2 columnas y 4 filas.

2. Dale a View/Block grid y luego usa los botones byte/tile/row/page back/forward para encuadrar bien los sprites.

3. ¡Obten la paleta! Para ello puedes hacer una captura del pallete viewer de tools en VBA cuando aparezca la imagen, o por ejemplouna captura del Spread. (Por cierto, podrías usar este programa para editar esto, pero Tilemolester es mucho más fiel y dará un mejor resultado. Es tu decisión) A partir de esa captura puedes obtener el código de RGB de cada color (tiene que aparecer por algún lado, hasta PAINT creo que lo tiene). (Por ejemplo, casi todas usan un blanco que es R248 G248 B248, y un negro que es R0 G0 B0) Yescribimos ese cogido para cada color. Para ello haz doble clic en el color de la paleta de abajo y ve a la pestaña RGB. Recuerda que siempre que guardas una paleta en tilemolester (add to palletes) cualquier cambio que hagas se guardará automáticamente, así que no te toree, dale a las flechas de junto la paleta para cambiar de ídem.

Page 5: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

4. Editalo y dale a guardar.

Editar una paletaNecestas saber la dirección de la paleta, y una imagen con paleta de

índices con los colores que necesitas. Ve a unlzgba, importa la imagen y dale a "write to ROM". Es importante que solo tengas activada la opción export pallete y no la de export image ( a no ser que tambien vayas a exportar una imagen.) Además debes escribir en la casilla pallete offset la dirección de la paleta que quieres sustituír

UNLZ-GBA para principiantes.Potente herramienta para gráficos comprimidos de 16 y 256 colores. Usa los

botones NEXT y PREVIOUS para moverte atrás o adelante en los gráficos, o en las casillas con números escribe el número de gráfico al lago de GOTO y pulsa GOTO. Lo propio añadiendo PAL para las paletas. + y – alinean los tiles de la imagen. Save as... exporta la imagen e import la carga al programa (no al juego) RawDump es algo que solo complica las cosas si no sabes manejarlo, y write to ROM guarda la imagen al juego. Dentro de esta opción hay 4 opciones, de las que nos interesan EXPORT IMAGE, que guarda la imagen; EXPORT PALLETE, que guarda la paleta de la imagen; AUTO ABORT..., opción de seguridad para no estropear el ROM. Además hay dos casilleros para introducir manualmente las direcciones de la imagen y la paleta.

¿Qué hacer si la imagen es muy grande?

Debes tener en cuenta que los ROMS no son infinitos. Tienen un tamaño limitado y hay que respetarlo. Aunque tienen espacio libre donde puedes intentar exportar y luego repuntear la imagen (no lo he probado todavía).

Si tu imagen es muy grande puedes hacer lo siguiente:

1. Probar en un ROM aparte si la imagen cabe en su sitio sin estropear el gráfico siguiente y funcionan ambos en el juego quitando el Auto abort. Si es así debería hacer lo mismo en el ROM de tu hack, aunque recomiendo hacer copias de seguridad “a lo loco”.

2. Reducir el peso de la imagen. Los CAMBIOS DE COLOR aumentan su peso y los COLORES UNIFORMES son más ligeros. Los bytes se comprimen horizontalmente, así que ten en cuenta que los cambios de color se tienen que hacer menos horizontalmente

Page 6: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Scripts: Teoría básicaComandos obligatorios y ejemplos más o menos sencillos.

Cualquier videojuego actual es como una película interactiva, y por lo tanto tiene un guión. Pero al referirnos a la interactividad, el guión de cada evento cobra más importancia, porque dependerá de las demás acciones, si ya se han ejecutado para, sobretodo, conseguir coherencia en la historia. Además muchas de esas acciones deberán ser ejecutadas una sola vez, por lo que la cosa se complica. En esta guía se muestra solamente un punto de partida para crear scripts más o menos decentes, puesto que es una materia muy difícil de aprender y muy difícil de enseñar. Así, mostraré scripts desarrollados de las cosas más solicitadas por la gente, y daré nociones básicas para que puedas crear scripts buenos. Ten en cuenta que esto se trata de lógica, de leer las opciones que tienes y encadenarlas coherentemente. Ah, por cierto: estaré usando Rubikon Scripted y Elitemap, de Kyofu Kawa. Ambos están incluidos en  Elitemap 3.6.

Empezamos a crear un scriptLa creación de scripts se basa en consultar fuentes de información. Con

Elitemap 3.6, estas son las fuentes de información que podemos aplicar a los guiones:

Los archivos *.rbh: std, stditems, stdpoke. Son archivos que pueden compilarse a la par que nuestro guión (El archivo std suele incluirse por defecto). Se basan en el comando de rubikon #define, que le da un nombre específico a ciertos valores. Abrelos con el bloq de notas para echarle un vistazo, y encontrarás cosas como que hay flags (banderas) para habilitar el POKéNAV o la POKéDEX. Además stditems y stdpoke contienen una lista de los objetos y los Pokémon, que puedes aplicar en otras cosas. Inclúyelos en tu script con el comando #include [nombre del arhivo (que esté en la misma carpeta)]

Algunos archivos rbc que ya vienen incluidos, como es el richboy.rbc. Pueden servirte de ejemplo.

El más importante: commands.html. Aquí tienes la lista de casi todos los comandos que hay en rubikon (queda, por ejemplo, killscript, que es absurdo, como deducirán los que sepan inglés) además de su equivalente hexadecimal (rubikon lo que hace es transformar el texto que tu escribes a hexadecimal). Consúltalo siempre que vayas a hacer un script, para ver ejemplos y demás. No está actualizado del todo, así que hay ejemplos que quizás no sean correctos, etc. Pero es la base más importante a la hora de escribir guiones, no lo olvides

ROM. Sí, comprueba los eventos del rom con EM para buscar cómo lo hicieron los de Nintendo.

Page 7: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Bien. Ahora es la hora de empezar a escribir. Actúa con lógica y piensa siempre qué estás haciendo, y cuando acabes un guión leelo e intenta seguirlo. Hay algunos comandos que no están bien programados, y por ello a veces debes escribir #raw [hexa del comando] si ves que aunque coincide con el ejemplo de commands.html el programa te da error (por ejemplo, una vez no me funcionaba el comando waitfanfare y escribí #raw 32. Aquí va lo básico:

' - incluye un apóstrofe antes de cualquier cosa que no quieras que sea compilada, como es una nota.

#org 0x[6dígitos-dirección] - indica donde empiezas a escribir ¡No te olvides de incluirlo o te empezará a escribir en el principio del rom, con lo cual te lo destrozará!

#auntobank on –no es necesario incluirlo puesto que el archivo std.rbh se incluye por defecto y este incluye este comando, pero por motivos de seguridad, puedes añadirlo al principio de tu script si usas Scripted.

nop – ¿absolutamente nada? ¡Un nop me ha salvado de estar toda mi vida peleando con un script! Equivale a escribir #raw 00. Cumplen similar función #raw 01 o #raw C6.

End – acaba el script Goto, call, jump – saltan a otra posición

Además, mientras compilas te darás cuentas que necesitarás usar flags o variables, básicamente las primeras. Las flags son valores asignados a cada evento que puede estar activada (1) o desactivada (0). Cualquier otro valor inhabilitará el evento. Actívalas o desactívalas con clearflag o setflag (yo necesité escribir a continuación #raw 0x01 para un setflag, ¡aviso!) El estado de un flag no afecta al evento, pero sí puedes utilizarlo con checkflag para mirar este valor y hacer cosas dependiendo si está activada o no. Además puedes cambiar el valor por defecto del evento o el número del flag en ELITEMAP. Observa este ejemplo:

#org 0x[offset script principal]

jingle ‘básicamente esto no hace ná, pero queda bonito que haya algo antes de todo.

checkflag 0x[flag del evento] ‘comprobar el estado del flag.

if 0x1 call 0x[Sansacabó] ‘si está activada, ir a Sansacabó

goto 0x[offset núcleo] ‘si no, ir al núcleo

end

#org 0x[offset núcleo]

release ‘muchas veces el personaje se bloquea, así sigue caminando

‘[núcleo del evento, incluye aquí la acción que quieras que se ejecute]

Page 8: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

setflag 0x[flag del evento] ‘activa la flag

#raw 0x1 ‘lo que decía antes]

end ‘se acabó

#org 0x[Sansacabó]

release

end

Ten en cuenta que las flags tienen cuatro dígitos y las direcciones (offsets), seis.

Entonces, este evento lo que hace es que la primera vez que se ejecute el script, ocurra lo que escribas en núcleo, y al activarse la bandera, cuando se vuelva a ejecutar, como el evento comprueba el estado de la bandera, las siguientes veces no ocurrirá nada.

Principales eventos que puedes compilar, con explicación.

MOSTRAR UN TEXTO, preguntar sí o no e ir a una dirección diferente en cada caso.

#org 0x[offset script principal]

message 0x[offset texto] ‘se puede escribir con el commando “=”, pero conviene

mucho más hacerlo manualmente con editor hexadecimal

boxset BOXSET_YESNO ‘o 0x05, ambas formas están aceptadas. Hace que se pregunte SI/NO

if B_NO goto 0x[offset script no] ‘si se responde que no, ir al script de "no"

goto 0x[offset script sí] ‘si se responde que sí, ir al script sí. Puedes escribirlo aquí

directamente, pero personalmente prefiero mandarlo a otro script.

BATALLA CON UN Pokémon. ¡Vamos a cazar un jirachi!

#org 0x[offset script principal]

Page 9: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

#include stdpoke.rbh ‘si no lo includes, en vez de PKMN_JIRACHI debes escribir 409,

y personalmente no estoy muy seguro de esto. También puedes escribir

antes “#define PKMN_JIRACHI 409”, al fin y al cabo esto es lo que necesitamos del stdpoke.rbh.

checkflag 0x[FLAG]

if 0x1 goto 0x[offset ya activada]

cry PKMN_JIRACHI

message 0x[offset texto] ‘Ej: JIRACHI: ¡raaaaaaashi!

boxset 0x6 ‘cerrarse la ventana al pulsar A

wildbattle PKMN_JIRACHI 70 3

End

#org 0x[offset ya activada]

release ‘si ya ocurrió el evento solo release

end

Como puedes comprobar, los guiones son complicados de explicar. Se aprende mucho más probándolo tú mismo, así que actua con sapiencia y paciencia... y todo lo que acabe en –encia y no te preocupes si no te sale.

Crear Paso a paso sprites de fakémonTodo lo que debes saber para diseñar, dibujar e insertar nuevos sprites

Cuando estamos hackeando un juego de pokémon, lo primero que queremos hacer suele ser crear nuestras propias criaturas, bien pokémon o bien criaturas con otro nombre (me acuerdo de un hack llamado POWMON red/blue, de un tal señor mostaza). He aquí una guía básica para, a partir de las criaturas de nintendo, hacer criaturas propias. Esto no solo sirve para pokémon, sino para muchos otros juegos, puesto que el formato “64x64, 16 colores, comprimido” es muy común en la gameboy advance.

Yo utilizaré los siguientes recursos. Siempre se pueden utilizar recursos similares, por supuesto, cada uno se arregla mejor a su manera:

Lápiz (o portaminas, que yo el lápiz no lo trago) y papel

Page 10: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

unLZ-GBA. Se puede usar RS-BALL, pero unLZ-GBA te pone las barreras necesarias para que no estropees tu rom, aparte de una buena edición de las paletas y navegación por imágenes y paletas

Paint Shop Pro (se pueden usar otros programas. Nunca aconsejo paint, de hecho lo desaconsejo. Probad con otro programa que acepte limitaciones de paleta, imprescindible para la tarea, por ejemplo photofiltre, que creo que es gratuito –el psp no-, y muchas más, lo que pasa es que no los conozco)

RS-BALL, para cuando desistamos de aligerar la imagen o creemos una paleta que no quepa encima de la otra. Lo usaremos como repunteador.

De la idea al comienzo de su realizaciónTodo parte de una idea sobre un papel. El diseño del pokémon no se hace

delante de una pantalla sino delante de un papel. Imagina a tu criatura. Decide qué pokémon va  a sustituir, qué características tiene, qué cualidades especiales tiene –como si crearas un personaje. Por ejemplo, jigglipuff canta nanas, pineco anda siempre explotando, charizard es un orgulloso, etc. Esto dará personalidad a tu criatura, haciéndola más verosimil. Recuerda las introducciones de Pokémon: “Los pokémon son nuestras mascotas, blah blah blah, aunque a veces los usemos para luchar”: las criaturas no son sólo armas.-, piensa en su tipo y en sus ataques. Ahora es el momento de dibujarlo. Haz varios bocetos si no te convencen, y no tengas escrúpulos en tachar una mala idea. Bueno, os voy a presentar uno de mis pokémon, que estoy creando hoy para enseñaros cómo lo hago: coccnuto, el pokémon cocotero, que sustituirá a sudowoodo:

Una vez se tiene la idea en el papel, abrimos unlzgba y buscamos el pokémon que va a sustituir. Hacemos clic en “save as” y guardas la imagen donde quieras.

Page 11: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

 

El dibujoAbrimos la imagen en nuestro programa de dibujo. Observamos la paleta (en

psp, clic en los colores que usamos) y comprobamos que hay 16 colores y 240 negros. Solo usaremos los 16 primeros, que se pueden cambiar en psp tecleando shift+P fuera de esa ventana.

Observa tambien el tamaño del pokémon en la imagen, y tenlo en cuenta porque si el pokémon ocupa todo el recuadro la imagen será demasiado grande. Más adelante se explicará como solventar este problema.

Ahora limpia la imagen, es decir, quítale la figura dejando tan solo el color de fondo (1)

AHORA ESTAMOS TABAJANDO CON LA HERRAMIENTA PINCEL

RADIO-1 PÍXEL

COLOR-NEGRO

Pon mucho zoom a la imagen y traza las líneas. Recuerda trabajar con el dibujo delante, y no importa si te pasas de largo o de corto, luego repararemos esas líneas. Un consejo: dibuja primero la silueta del pokémon, dejando los detalles para luego. (2)

 

Repara la silueta, moviendo lo que consideres oportuno y coloreando con el color de fondo donde te hayas salido para hacer el trazo más fino. Vuelve a dibujar las partes que veas necesarias, y dibuja las partes del cuerpo que no le hayas dibujado (brazos, cabeza, pelo...) (3)

Page 12: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Dibuja los detalles, primero trazando y luego reparando y afinando el trazo. Si no estás muy seguro del resultado, quita el zoom y míralo a escala 1:1, que es donde tiene que quedar bien, y la 1:4, que es en la que suele jugar la mayoría de la gente (aunque sé de gente que juega a escala 1:1, bueno, los ópticos también tienen que comer) (4)

AHORA ESTAMOS TABAJANDO CON LA HERRAMIENTA RELLENO (CUBO)

COLOR-EL DEL POKEMON

Escoge los colores que vas a usar y aplica un color uniforme en las zonas del interior del pokémon. (5)

AHORA ES

TAMOS TABAJANDO CON LA HERRAMIENTA PINCEL

RADIO-1 PÍXEL

COLOR-EL DEL POKEMON

 

Pinta los bordes del color más oscuro del mismo matiz en cada zona, procura que no se use mucho el negro excepto donde sea necesario. Esto quitará aspecto de dibujo animado a tu pokémon.

Ahora aplica brillos y sombras a tu pokémon. Imagínatelo en tres dimensiones, como si fuese de verdad o como si estuviese en el pokemon colosseum. Dibuja con colores oscuros en un borde en un área considerable y ve poco a poco hacia el color claro. Dibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”, por ejemplo, un pokémon dorado no solo tiene que ser amarillo sino que tiene que tener brillos, sin embargo un pokémon peludo no tendría brillos, y a veces hasta hay que aplicar texturas a la piel, para que parezca envejecida, rocosa, etc. En resumen: usa las sombras y los brillos para dar realismo a la criatura.  (6)

           

Insertando en UnlzYa casi has acabado. Ahora cruza los dedos y abre unlzgba (quizás tengas

que descruzar los dedos para eso, cada uno tiene el control que tiene del ratón), busca el pokemon y dale a import. Busca tu imagen y ábrela. Dale a Write To ROM y cerciónate de que la casilla “Auto abort if new data is bigger” está activada. Si no lo está, activala. Esto puede ocasionarte problemas pero es mejor no insertar la imagen que cargarte el rom, ¿verdad? Dale a OK y espera a ver que pasa.

Page 13: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Yo he tenido suerte con coccnuto (soy el jefe!!!). ¿Y vosotros? Si os ha aparecido el mensaje “image is too big: size is XXX”, la imagen pesa demasiado y no la podéis insertar ahí. Consulta el apartado de imagen muy grande

Una cosa: podeis darle a “next pal” para ver cómo sería tu pokémon en versión brillante (shiny) –ooooh! Un coccnuto verde y rojo! De la misma manera, al exportar la imagen trasera puedes darle a “previous pal” para editar desde la paleta normal.

Por detrás, no te costará másMi consejo al trabajar en los gráficos traseros es hacer una “mesa de

trabajo”. La mesa consiste en una imagen tamaño 200x64x16M en la que colocaremos 2 imágenes para trabajar con ellas. Yo suelo colocar la imagen delantera a la izquierda (para verla mientras dibujamos), la imagen trasera en el centro y luego, a la derecha, coloco los bordes de la imagen central: una vez coloco la imagen central en el centro (por eso la llamo central), cojo los bordes superior e inferior (desde que acaba la imagen y empieza el fondo vacío) y los aparto a la derecha, quedando la imagen central lista para trabajar y sabiendo que va a estar exacta para que ni sobren ni falten lineas mientras se juega.

NOTA: el borde superior no es necesario que esté limpio, así que puedes pintar en el y aparecerá en el juego, pero si haces una imagen muy grande no te cabrá.

 

Ahora procedemos como con la imagen delantera para hacer el dibujo. Para la imagen trasera, quizás no te haga falta dibujarlo (yo no lo suelo hacer, la imagen de arriba es solo una muestra), pero ten en cuenta que nada que pueda mejorar el resultado está de más. Una vez acabes la imagen (esta será más fácil que la anterior), coloca los bordes que separaste de nuevo donde estaban. Copia la

Page 14: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

imagen y pégala en la que exportaste de unlzgba. Impórtala al programa y guarda al rom. Si la imagen es demasiado grande, siempre puedes aligerarla bajando la figura, acordandose de cortar por la línea inferior.

Si la imagen es demasiado grandePuede ocurrir que la imagen resulte más grande que la original, y que por lo

tanto unlzgba no te deje introducirla y pokepic te alargue el rom (rs ball no sé que hace). Hay varias maneras de solucionar esto:

1. Redibujando la imagen, pero haciéndola más pequeña. Ten en cuenta el tamaño de la criatura con su tamaño real, y un pichu no puede ocupar todo el recuadro de 64x64

2. Aligerando la imagen. Si es una trasera, córtala x líneas y bájala el mismo número de líneas. Si es delantera, procura rellenar ahí donde veas puntos de colores diferentes separados. Un área grande de un sólo color es más ligera que un área con muchos puntos de diferentes colores. En teoría, creo que los puntos al comprimirse se cargan en horizontal, así que utiliza el mismo criterio para aligerarlo. También puedes esconder partes del cuerpo para que no se vean o se vean menos, haciendo una imagen más ligera. A veces incluso moviendo la figura unos píxeles arriba, abajo o a los lados se pueden conseguir buenos resultados.

Observa estas dos imágenes que hice para mi pokémon Gritespec. La de la izquierda era demasiado grande, la aligeré y el resultado fue la de la izquierda, que es la que aparece ahora en mi juego, pues cupo.

 

Con el tiempo tendrás que recurrir menos a la aligeración de la imagen porque cogerás práctica de hacer las imágenes más pequeñas, y sólo te hará falta cuando el pokémon original sea muy pequeño (cleefa, igglibuff, chimecho, pichu, etc)

3. Repunteando la imagen (recomendado para impacientes que estén hartos de aligerar, o para bestias que hagan pichus de 5 metros) No lo he probado...:

Busca con tu editor hexadecimal un offset que esté libre (que aparezca el mismo valor muchas veces seguidas), y anota su posición. Ahora en unlzgba importa la imagen y guardala, pero en la ventana de opciones de guardar desactiva “auto abort” y escribe tu offset en “image offset” NOTA: los offsets en unlzgba tienen 4 pares, así que como el tuyo tendrá 3, escribe 00 antes de tu offset. Dale a ok

Page 15: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

AHORA ABRE RS BALL y busca tu pokémon. En gestión de puntos de localización, escribe tu offset (3 pares de cifras) y aplica los cambios. Si todo salió bien, tu imagen debería aparecer en el lugar de la original.

Comandos para scriptsExplicación de toooodos los comandos

Tras hablar con la gran cantidad de gente que me agrega al msn porque no le da la gana de preguntar en foros y prefieren molestarme >_< (por favor no lo hagais, para las dudas están los foros), me he dado cuenta de que el mayor problema a la hora de hacer scripts es no comprender los comandos, porque no saben inglés y no entienden el commands.html que viene con elitemap.

Rubycode es el lenguage que utiliza Scripted y sus precursores Rubikon y Diamond Cutter. Entender este lenguaje es el primer paso para poder hacer un buen script, así que lo he traducido a español. Entre paréntesis está la traducción el nombre del comando, aunque tienes que usar el nombre en inglés.

Debajo del nombre aparece su formato. Luego su descripción y después un ejemplo.

Ahora que sabeis que significan, un consejo: leed los scripts como si fueran textos.

Por ejemplo:

#org 0x800000

faceplayer

message 0x800100

boxset 0x06

end

“Empieza a escribir en 0x800000, encara el sprite al jugador y muestra el mensaje escrito en 800100, según el parámetro 0x06 (cerrar al pulsar A)

Comandos de RubiKodeEstá altamente recomendado escribir los comandos en minúsculas y cualquier

cosa "#definida" en mayúsculas.

Comandos de preprograma

Son comandos que no se compilan, pero que coordinan el funcionamiento del programa

#include (#incluye)

#include nombredelarchivo

Page 16: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Incluye otro archivo en el proceso de compilación. Las comillas se quitan automáticamente.

Ejemplo:

#include "misconfiguraciones.rbh"

#include stdpoke.rbh

#define (#define) #define nombre_simbolo índice_número Te permite definir símbolos para reemplazar números. Solo se permiten números pero pueden ser de cualquier tamaño de byte a dword. Es recomendable usar mayúsculas para el nombre del símbolo.

Ejemplo:

#define MASTERBALL 1 'Entonces, cada vez que escribas MASTERBALL, Scripted

compilará un “1” (cabe añadir que la masterball es el primer objeto de la

lista)

#org

Indica un cursor para el compilador, a un sitio específico del rom (indica donde empieza a escribir el guión)

Ejemplo:

#org 0x605040 'continúa (o empieza) a escribir en el offset 0x605040

#autobank (#autobanco) #autobank on #autobank off

Algunos prefieren hacerlo manualmente, otros no. Autobank inserta en los punteros un 08 automáticamente. Solo #org no está afectado )porque, como archivo, el rom empieza en el offset 0x000000)

Autobank, por defecto (porque se incluye #autobank on en std.rbh) está activo, asíq eu no te preocupes por el.

Ejemplo:

#autobank on

message 0x604020 'se vuelve 0F00 08604020

#autobank off

Page 17: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

message 0x604020 'se vuelve 0F00 00604020, Lo cual no es bueno.

#raw

Aliados: #binary #raw aLot

Inserta una carga de datos raw en el ROM. Puede ser usado para comandos defectuosos o no soportados así como para los datos de movimiento. Para determinar que tipo de datos usar, escribelo antes de los números. Por defecto es byte. Puedes usar los prefijos hexadecimales 0x o &H, pero no son necesarios

Los tipos de datos pueden ser:

byte (tambien char) word (tambien int o integer) dword (tambien long) pointer (tambien ptr)

Ejemplo:

#raw 12 69 word 1234 dword 12345678 pointer 0xABCDEF

Este ejemplo insertaría dos bytes, un word, un dword y un puntero. Ten en cuenta que el puntero es afectado por Autobank y Dword no

=

= texto

Inserta un texto basado en una tabla hecha por los creadores de Elitemap

Ejemplo:

= ¡Hola, soy tan feliz y estúpido!\feliz feliz feliz...

Comandos generalesnop (00, 01) (no)

nop

Absolutamente NADA.

end (02) (fin)

end

Termina la ejecución del script.

return (03) (volver)

return

Page 18: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Vuelve a donde has sido llamado (call o #org). Como el sistema GOSUB...RETURN de Basic

call (04) (llamar)

call puntero

Llama a otro script. Puedes volver a ahí mediante return.

Ejemplo:

call JUMP_BAGISFULL

goto (05) (ir a)

goto punteroobjetivo

Continúa la ejecución desde el putnero objetivo. Return no está permitido.

if (06) (si)

if valorcondicional acción punteroobjetivo

Si la última comparación devolvió un valor concreto, saltar o ir a otro script. Las acciones pueden ser goto o call. Si no se especifica, se presume call por loq ue return puede ser usado.

Los valores condicionales son: 00 – Menor/falso (<<), tb FALSE 01 – Igual/verdadero (==), tb TRUE 02 - Mayor (>>) 03 – Menor o igual (>=) 04 – Mayor o igual (<=) 05 – Desigual (!=)

Ejemplo:

compare LASTRESULT 0x4

if TRUE goto JUMP_BAGISFULL

boxset (09) (determinar la caja)

Aliases: callstd

boxset valor

Llama a una función standart. En general se usa para mostrar la caja de diálogo con los parámetros 0x04 o 0x06, o usar 0x05 para preguntas de si/no (la cual, además, mete un valor en LASTRESULT.

Ejemplo:

message 0x604000 'texto normal

boxset 4 'no cerrarse despues de pulsar A

Page 19: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

message 0x604020 'pregunta

boxset BOXSET_YESNO '(= 0x05)

if NO 0x600020 'ir a la rama "no"

'la rama “si” va aquí

...

end

#org 0x600020

'la rama “no” va aquí

...

end

message (0F) (mensaje)

message punterodelmensaje

Prepara un puntero para usar por comandos como boxset. Se usa para los textos.

Ejemplo:

message 0x604020

boxset 0x06 'cerrar al puslar A

setvar (16) (determinar variable)

Alias: setvar1

setvar indicevariable numerovalor

Determina una variable a un valor concreto.

Analogo a A = 4 de Basic

copyvar (19) (copiar variable)

Alias: setvar2

copyvar indicevariable indicevariable

Copia el valor de una variable a otra.

Analogo al A = B de Basic.

Page 20: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

copyvarifnotzero (1A) (copiar variable si no es 0)

Alias: setvar3

copyvarifnotzero variable variable

Copia el valor de una variable a otra, si esta no tiene como valor 0.

Analogo al IF B > 0 THEN A = B de Basic.

compare (21) (comparar)

compare variable valor

Compara una variable con un valor. Usado en conjunción con if y mayormente.

con LASTRESULT como valor.

Compares a variable with a value. Used in conjunction with if and mostly with LASTRESULT as a parameter.

Ejemplo:

compare LASTRESULT 0x4

if TRUE JUMP_BAGISFULL

special (25) (especial)

special indicedeevento

Activa un evento especial

Ejemplo:

special SPECIAL_WALLYCATCH 'Reproduce la película de

Wally cazando al Ralts

*NOTA DE BARO: estaría bien probar los especiales, quizás encontrais algo que os guste.

special2 (26) (especial2)

special2 variable indice

¿Comprueba cosas especiales? Se usa en revanchas y otras situaciones especiales.

pause (28) (pausa)

pause itiempo

Page 21: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

setflag (29) (poner bandera)

setflag numeroflag

Activa un flag.

Ejemplo:

setflag 0x64

checkflag 0x64

compare LASTRESULT YES

if 1 0x600020 'ir a la rama “si”

'rama “no” va aquí

...

end

#org 0x600020

'rama “si” va aquí

...

end

clearflag (2A) (limpiar bandera)

clearflag numero flag

Desactiva un flag.

checkflag (2B) (comprueba flag)

checkflag numeroflag

comprueba si el flag está activado (ver ejemplo en setflag)

cry (30) (grito)

cry indiceespecies

Reproduce el grito de la especie indicada.

Ejemplo:

cry PKMN_PIKACHU

Page 22: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

fanfare (31) (himno)

fanfare indicecanción

Reproduce una canción de fondo.

waitfanfare (32) (espera himno)

waitfanfare

Espera por el sonido de fanfare para acabar.

playsound (33) (tocar canción)

playsound indicecanción

Cambia abruptamente a otra canción.

fadedefault (35) (aparece por defecto)

fadedefault

Suavemente cambia a la canción por defecto del mapa

fadesound (36) (aparece canción)

fadesound indicecanción

Suavemente cambia a la canción con el indice indicado.

fadeout (37) (desaparece)

fadeout

Suavemente apaga la canción sonando

fadein (38) (aparece)

fadein

Suavemente aparece la canción que estaba sonando antes.

warp (39) (teletransporte)

warp bancodelmapa numerodelnivel numerodelasalida

checkitem (47) (comprobar objeto)

checkitem indiceobjeto

Comprueba si el jugador lleva como mínimo una unidad del objeto mencionado.

Ejemplo:

checkitem ITEM_MAXPOTION

Page 23: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

compare LASTRESULT YES

if TRUE 0x604020

applymovement (4F) (aplicar movimiento)

applymovement Spriteafectado punterodelmovimiento

Aplica el movimiento descrito en el puntero.

Ejemplo:

applymovement

0x5 0x604020

pause 0x0 'espera a que el movimiento se complete

movesprite (57) (mueve minisprite)

movesprite indice ejeX ejeY

faceplayer (5A) (encarar sprite)

faceplayer

Gira el minisprite hacia el jugador

trainerbattle (5C) (batalla de entrenador)

trainerbattle tipo batalla punterodeltextointro

punterodeltextovencido

Empieza un combate de entrenador

El tipo es 0x00 para batallas normales, 0x04 para 2 contra 2 y 0x05 para revanchas. Para batallas 2 contra 2 o para gimnasios, añade otro parámetro, punteroespecial.

Las batallas 2-2 requieren punteroespecial para mostrar un mensaje si el jugador solo tiene un pokémon.

Los líderes de gimnasio te darán regalos como medallas en la continuación de la batalla. Mira tu lider favorito en scripted para ver un ejemplo.

Ejemplo:

trainerbattle 0 TEXTOINTRO TEXTOALVENCER

message TEXTO DE DESPUES

boxset 4

Page 24: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

jingle (69) (sonidillo)

jingle

Se supone que reproduce un sonido, pero no hace nada.

lock (6A) (bloquear)

lock

Bloquea el movimiento del sprite que llama

release (6C) (liberar)

release

Devuelve el movimiento bloqueado con lock

multi (6F) (multiple)

multi posizquierda posarriba indicelista Cancelar

Pone una lista de opciones para que escoja el jugador. Las opciones dependen de la lista (indicelista). Cancelar indica si el último elemento es Cancelar o no. (si sí, 0x01, si no, 0x00) La respuesta se almacena en LASTRESULT

Ejemplo:

message 0x604020 '”que ciudad te gusta más?”

choice 2 2 13 0 'las opciones son littlerrot, slateport y lilycove

compare LASTRESULT 1

if 0 0x600030 'rama de littleroot

if 1 0x600050 'rama de slateport

'aquí va la rama de lilycove. No se necesita “il lastresult 3”

givepokemon (79) (dar pokémon)

givepokemon indiceespecie nivel Item

Le da al jugador un pokémon de un determinado nivel y con un determinado objeto, si item > 0.

pokemart (86) (poketienda)

pokemart punterolistadeobjetos

Inicia el sistema de compra de pokemart con los objetos/precios que se encuentran en punterolistadeobjetos.

fadescreen (97) (fundido en negro)

Page 25: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

fadescreen in/out

Fundido en negro hacia dentro/fuera

checkgender (A0) (comprueba sexo)

checkgender

Pone un 1 en LASTRESULT si el jugador es una chica o 0 si es un chico.

setmaptile (A2) (poner bloque en el mapa)

setmaptile ejeX ejeY numerodebloque movpermitido

Pone un tile en el mapa. Tienes que refrescar de algún modo esa parte, alejando la vista y volviendo, o llamar este comando desde el script del nivel.

setweather (A4) (determinar clima)

setweather valorclima

Prepara un clima para ser activado por doweather

Los valores son 00 - Nada 03 - Lluvia 04 – copos de nieve (Breve) 05 - Tormenta 06 - Niebla 07 – Ceniza 08 – Tormenta arena 09 – Otra niebla 0A – niebla clara 0B – Oscuridad (nocturno!!) 0C - Sofoco 0D – Tormenta 2 0E - Submarino 0F - Nada

doweather (A5) (hacer clima)

doweather

Activa el clima preparado por setweather.

Construídos (comandos complejos)

wildbattle (batalla salvaje)

wildbattle indiceespecie nivel estilo

Originalmente un verdadero comando, ahora un construído.

El estilo puede ser 0 normal 

Page 26: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

1 movimiento en zigzag, tierra 2 movimiento en zigzag, hierba 3 movimiento en torbellino

Ejemplo:

wildbattle 0x196 70 3 'lucha contra un RAYQUAZA NIVEL 70!

giveitem (dar objeto)

giveitem objeto cantidad

Da un objeto

Este construído combina dos setvarifnotzero

Ejemplo:

giveitem ITEM_SODAPOP 1

Comandos chungosjumpstd (08) (salta std)jumpstd bValue Salta a una función estándar. Del estilo de BoxSet, pero con una lógica ligeramente diferente, como comparar en Basic'sGOSUB con GOTO. comparevars (1B) (compara variables)

comparevars variable variable

comparevartobyte (1C) (compara variable con byte)

comparevartobyte variable valorbyte

comparevartofarbyte (1D) (compara variable con byte lejano)

comparevartofarbyte variable puntero

Byte lejano = byte localizado en un puntero.

comparefarbytetovar (1E) (compara byte lejano con variable)

comparefarbytetovar puntero variable

Compares a byte at some location with a variable.

comparefarbytetobyte (1F) (compara byte lejano con byte)

comparefarbytetobyte puntero valorbyte

Compares a byte at some location with a byte value.

comparefarbytetofarbyte (20) (compara byte lejano con byte lejano)

comparefarbytetofarbyte puntero puntero

Page 27: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Variables predefinidas y constantes en STD.RBHB_YES, B_NO, B_TRUE, B_FALSE, B_BOY y B_GIRL

(SI, NO, VERDADERO, FALSO, CHICO, CHICA)

Me gustan las booleanas (kyoufu Kawa). Son fáciles de #definir.

B_<<, B_==, B_>>, B_<=, B_>= y B_!=

Como B_TRUE y B_FALSE arriba, pero con todo el poder lógico para los más expertos.

BOXSET_DONTCLOSE, BOXSET_YESNO y BOXSET_NORMAL

Parámetros de Boxset más normales.

MENU_PARTY, MENU_POKEDEX y MENU_NAVIGATOR

Parámetros de Setflag para cada uno d elos tres elementos del menu (equipo, pokedex y navegador). Se peude usar, por ejemplo, para que el TEAM te robe tu material.

0x800D – LASTRESULT (ultimo resultado)

Casi siempre que algo se comprueba, la información se mete en esta variable: LASTRESULT.

SPRITEMOVE_INDEXSPRITEMOVE_NEWXPOSSPRITEMOVE_NEWYPOS

Combinados con Setvar, los mueves a cierta posición en el mapa. Se usa en littleroot para mover a la madre dependiendo del sexo del jugador.

APPLYMOVE_PLAYER (aplicarmovimiento al jugador)

Porque tiene más sentido que “0xFF” en applymovement. Ponlo como el indice del sprite para que el afectado sea el jugador. Aunque es más corto el típico "0xFF"

JUMP_BAGISFULL (saltar a “si la mochila está llena”)

Cómo parchear?Pasos necesarios para jugar un hack

Page 28: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Para los más inocentes que no tienen ni idea de parchear, y aunque se lo expliquen no saben, aquí tenéis un manual ¡con imágenes!

Ve a tu carpeta de Elite Map y busca un icono de una luna. Cuidado hay tres iconos. La aplicación que buscar es "Lips.exe" y en vista previa se verá Lips:

Bien, ahora dale dos veces, o sea: ábrelo. Tienes 3 opciones:

-Apply IPS Patch (aplicar parche IPS). -Create IPS Patch (crear parche IPS). -About LIPS (a cerca de LIPS).

A nosotros nos interesa "Apply IPS Patch", por que queremos parchear un rom:

Se abrirá una nueva ventana, la cual pide archivos de parche (lunar ips); los puedes reconocer por que sus iconos son corazones.

Selecciona el parche y ábrelo:

Page 29: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Cuando lo abras se te volverá a abrir otra ventana, esta pide archivos GBA. Pero ¡Ojo! que sean originales (sin modificar), si no lo son te puede salir mal la jugada o tal vez no...

Selecciona tu archivo de rom y ábrelo.

Si has hecho todo bien y como te dice arriba la pantalla que te debe salir es esta:

Si después de esto aún no sabes parchear, lo lleváis claro...

Cambiar PaletasCambia los colores de cualquier parte de tu hack

Tutorial usando un HexRecuerda que para seguir este manual necesitas algún editor hexadecimal,

aunque esta guía en concreto está hecha con Hex Workshop que puedes bajar   aquí .

1) Haces una copia del juego que quieras modificar.

2)Lo abres (el juego, no la copia), buscas la pantalla que cambiar y pinchas tools, palette viewer, pulsas pausa (cntrl+ p) y localizas los colores que quieras cambiar.

Page 30: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

3) Copias los números que te salen al pincharlos, dados vuelta y en el block de notas.

Page 31: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

4) Quitas la pausa y buscas otros colores que te gusten.

5) Los copias en el bloc de notas, debajo y comparas el numero de colores y el orden (claro a oscuro u oscuro a claro).

Page 32: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

6) Cierras el juego, abres el editor y buscas los colores originales en el juego nuevo.

7) Cierras la ventana de buscar.

Colocas el cursor en los primeros números del principio. Pinchas edit, replace, y escribes los colores del bloc de notas

Page 33: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

8) Pinchas aceptar, y el juego comenzará a buscar, pulsa varias veces “find next” para comprobar q solo exista una copia de los colores q buscas, si existe solo una pulsa “replace”, si existen varias puedes pulsar “replace all” paraa sustituir todas, o ir sustituyendo y guardando una a una y comprobar q se hayan cambiado en el juego.

9) Lo que hayas modificado se verá en rojo, guarda el juego y entonces se verá en azul.

Page 34: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

10) Cierra el editor y abre el juego para comprobar que se ha cambiado.

Tutorial usando APEAbrir el APE y cargar rom (en este caso Pokémon Ruby)

Page 35: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

En donde dice "offset (hex)" con la opcion de "loadear offset" puesta pones la direccoón de la paleta que quieres cambiar (en este caso la de los arboles).

Donde dice "paleta actual" es donde esta la paleta sin modificar.

Page 36: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

En el color que quieres modificar, donde dice Paleta modificada pones al código en hex del color que quieras modificar.

Page 37: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Otra manera es poniendo cualquier numero de color y donde aparece el color le das doble clic, entonces aparecerá este cartel:

Page 38: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Ahí hay muchas opciones, hay un historial de colores para usar uno que ya hayas usado, puedes elegir los colores desde ahí y lo más sorprendente, ¡hay un cuentagotas! Si tienes la paleta en Paint u otro sitio simplemente pinchas en el cuenta gotas y arrastras hasta tocar el color, luego sueltas y te aparecerá el color ya en APE.

Cuando ya has elegido al color simplemente cierra y verás que se a cambiado, o sigues con los otros colores hasta haber cambiado toda la paleta.

Page 39: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Si solo vas a cambiar unos pocos colores y dejar el resto igual, dale al menú "editar"->"paleta actual"->"copiar" y te saldrán automáticamente la paleta anterior oara que la modifiques, así te ahorrarás el tener que copiar uno a uno el resto de colores.

Page 40: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Al hacer eso, la casilla de reemplazar se activa, entonces le pinchas en reemplazar y ahí se reemplazan las paletas del juego por las tuyas.

¡Ya se cambiaron las paletas!

TileMolester¿Como usar TileMolester?

Page 41: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Este tutorial ese para que aprendierais a insertar minisprites en el TileMolester porque, la verdad, es un programa quele da una apariencia totalmente distinta a los hack rom. También vale para para insertar cualquier otra cosa.

Con los recursos de Baro en la sección de de herramientas te puedes ahorrar los pasos 2, 3, 4 y 5 si usas el rubí o zafiro:

Primer PasoDibuja lo que vas a insertar.

Segundo PasoAbre el TM, localiza los minisprites y encaja sus tiles para que no se vean

partidos:

Tercer PasoImita la paleta sobre del minisprite que vas a insertar en TM. Para ver las paletas

pincha en el emulador “tools” -> “palette viewer”, para poner los colores en TM haz doble click en los colores de la paleta de abajo de TM..

Cuarto PasoSelecciona el tamaño de los bloques como 2 columnas y 4 filas (“view” -> “block

size” ):

Page 42: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Quinto PasoBusca al protagonista (está por arriba) y ordena los tiles dentro de los bloques:

Sexto PasoColoca los bloques por orden con las teclas señaladas:

Page 43: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Ahora, según esta imagen:

...y dentro de esta plantilla:

hay que poner el dibujo del paso 1, adaptando el movimiento del personaje

Pon el fondo uniforme para que quede transparente:

Septimo PasoInserta los tiles (“edit” -> “paste from” ):

Page 44: vityinformatica.files.wordpress.com€¦  · Web viewDibuja brillos sólo si es necesario, tienes que hacer que la piel del pokemon parezca lo mismo en el dibujo que “la realidad”,

Octavo Paso¡Guardalo!

Noveno Paso¡Compruebalo!