school_archive
Thread Id: 22434
Thread Name: Escuela de ROM Hacking GBA general de Ramihack
#0
Ramihack 26248
Os doy la bienvenida a mi escuela de ROM Hacking
Hola a todos los hackers. He abierto esta escuela para que, si acabáis de empezar no tengáis dificultades a la hora de aprender a romhackear. En esta escuela aprenderéis de todos los campos del ROM Hacking periódicamente, es decir, primero las bases del mapping, scripting, tiling, etc. Luego conocimientos avanzados… Espero que mis lecciones os resulten amenas y explicativas. Mi intención es ir posteando una lección de cada campo cada 2 días, pero si queréis que las suba diariamente, avisadme. No hay inconveniente. Al final de cada lección os propongo unos ejercicios para practicar lo aprendido en la lección. Si queréis que los evalúe y os de consejos para mejorarlos, subid una imagen de los mapas y gráficos y un vídeo de los scripts. Os daré una nota sobre diez y consejos sobre cómo mejorar, por ejemplo, vuestra combinación de gráficos en los mapas. Hablemos de los temas importantes de la escuela. Para que podáis seguir mi escuela sin problemas, aquí os dejo el link de un pack que he preparado con herramientas y ROMs.

Pack de Hack ROM GBA by Ramihack 20-07-2013.rar

Normas:
Me gustaría que la escuela se mantenga lo más limpia posible, así que, por favor, únicamente postead dudas aquí. Los comentarios negativos, me los decís por perfil o por MP, y los del tipo “Gracias” o “Tus lecciones me han ayudado”, no los posteéis. Simplemente dadle al botón de +Gracias del post principal. Las nuevas lecciones las postearé en el post principal para evitar confusión.

Inscripciones:
Si queréis, podéis inscribiros avisándome por MP o por perfil. Yo os inscribiré en la escuela. Puedo admitir un máximo 20 alumnos, aunque todos podéis postear vuestras dudas, estéis o no inscritos. La única diferencia, es que a los alumnos inscritos les avisaré por MP cada vez que suba nuevas lecciones, y responderé antes a sus dudas. Aunque responderé a las de todos. De momento están inscritos:

• Nintendo123
• Agh14
• Don!
• Braxpok
• Lord Roxas
• Pacodelopio
• KakilbG
• Lord Darkrai
• currokiko10
• serguis
• G&G Pokémon
• Mega~Luc@rio╚S╣
• xWarCry

Dudas:
Postead aquí las dudas y yo las responderé. Si veo que una duda puede interesar a más gente, la postearé en el apartado “Dudas de interés general”. Responderé antes a las dudas de los alumnos inscritos oficialmente, aunque os responderé a todos.

Acepto peticiones y sugerencias:
Si queréis que haga una lección sobre un tema en particular que no es lo suficientemente amplio como para dedicarle una sección entera, decídmelo, y será posteado en el apartado “Lecciones a petición de los usuarios”. En cuanto a las sugerencias, si no os queda claro algo de mis lecciones, o veis que algo no está bien explicado, decídmelo y lo corregiré.
Sobre las prácticas:

Al final de cada lección, como ya dije, os propongo unos ejercicios de práctica para que mejoréis vuestras habilidades de hackers. Los ejercicios, como dije antes, serán evaluados por mí si así lo decidís. Si queréis que los evalúe, mandádmelos por MP. Según como sean las prácticas, os pediré una foto o un vídeo. Por favor, mandadme los ejercicios por MP. No los posteéis en la escuela ya que sería un caos. Cuando haya evaluado vuestros ejercicios, os diré la nota y los consejos por MP.

No me enrollo más con normas y movidas de estas y empiezo a postear.







[/SPOILER]













Script de ejemplo:

#dynamic 0x000000

#org @inicio
lock
faceplayer
msgbox @mensaje 0x6
applymovement 0x2 @movimiento
release
end

#org @mensaje
=Mira como me muevo.

#org @movimiento
#raw 0x8
#raw 0x9
#raw 0xFE

PARA PRACTICAR
Hacer un script de applymovement moviendo el mini que queráis. Subid el vídeo para que lo vea.

[/SPOILER]





Fadesong
Reproduce cierta canción durante el transcurso del script. Se escribe así:

fadesong 0x(número de la canción)

El número de las canciones lo podemos averiguar con Advance Map. Nos vamos a cualquier mapa y en el cabezal, donde definimos la música del mapa, en la lista de canciones hay un número al lado de cada canción. Por ejemplo, 015E. Se pondría fadesong 0x15E. El primer cero delante del número de la canción no se pone.

Cry
Reproduce el grito de un Pokémon. Se escribe así:

cry 0x(número del pokémon en la pokédex nacional en hex)

Para saber el número del Pokémon, abrid el archivo stdpoke que viene con vuestro XSE.

PARA PRACTICAR
Hacer un script con cada uno de los tres comandos. Subid el vídeo para que lo vea.
[/SPOILER]





Fadescreen

Hace un flash de pantalla. Se escribe así:

fadescreen 0x(tipo de fade)

Los tipos de fade son los siguientes:

0x0-negro rápido
0x1-blanco rápido
0x2-negro largo
0x3-blanco largo

Movesprite
El movesprite es un tipo de applymovement muy peculiar. Lo que hace es que mueve un mini del mapa a las coordenadas x e y indicadas. Se escribe así en un script:

movesprite 0x(número de gente) 0x(coordenada x) 0x(coordenada y)

Para saber la coordenada x e y de un bloque del mapa se coloca el puntero sobre el bloque al que queremos mover el mini y las coordenadas aparecen abajo a la izquierda.

Setmaptile

El setmaptile es un comando bastante útil, aunque su uso es peculiar. Lo que hace este comando es mapear mediante script. Es decir, nos permite colocar el bloque indicado en la posición del mapa que queramos. Se escribe así en un script:

setmaptile 0x(coordenada x) 0x(coordenada y) 0x(número de tile) 0x(tipo de movimiento del tile)

Ya sabéis como averiguar las coordenadas, pero no el número del tile. El número del tile lo podemos saber en Advance Map. Ponemos el puntero sobre el tile a colocar y abajo a la izquierda aparecerán dos números. El número de tile es el que está a la izquierda. Lo del tipo de movimiento del tile… solo podemos poner dos tipos: 0x0(no se puede pasar) y 0x1(se puede pasar). Un ejemplo de setmaptile:

setmaptile 0x14 0x2F 0x4E 0x0

Tened en cuenta que el setmaptile se deshace cuando salís del mapa, de manera que el tile volverá a la normalidad.

Setweather y doweather

Unos comandos cuyos nombres bien explican su función. Setweather hace que cambie el clima, y doweather lo ejecuta. Me explico, si pones setweather pero no doweather, no ocurrirá nada. Se escribe así en un script:

setweather 0x(tipo de clima)

Aquí os dejo la lista de los climas:



Warp

Nada más fácil. Nos lleva a otro mapa. Se escribe así:

warp 0x(banco de mapa) 0x(número de mapa) 0x(warp de ese mapa por el que saldremos) 0x(coordenada x) 0x(coordenada y)

Hay varios tipos de warp, a saber:
Warp: nos teleporta. Con efecto puerta.
Warphole: con efecto agujero.
Warpmuted: sin ningún efecto.
Warpwalk: con efecto de caminar
Warpteleport: con efecto de teleportador

Showpokepic

Sencillísimo. Nos muestra el sprite de un Pokémon. Se escribe así (todo en hexadecimal)
showpokepic 0x(número del Pokémon) 0x(coordenada x) 0x(coordenada y)
Ya´ta. Eso es todo. Cuando queramos que el sprite desaparezca de la pantalla hay que poner hidepokepic.

PARA PRACTICAR
Hacer un script de cada tipo explicado en la lección. Subid el vídeo para que lo vea.
[/SPOILER]



[/SPOILER]







[/SPOILER]








[/SPOILER]





Créditos a DAGERMN por la información.



Créditos a Acspower por la información.



Créditos a Davoker por la información

Os lo explicaré paso a paso:

1.- Buscar nuestro Worldmap en UNLz GBA:
Lo que hay que hacer es ir a la dirección en UNLz de nuestro Worldmap. Una vez lleguemos a ella, veréis un gráfico un tanto extraño. Algo como esto.



Aunque no lo parezca ese es el Worldmap. Lo que pasa es que debemos editarlo en un formato especial. Si editásemos esa extraña imagen como un sprite cualquiera y lo volviéramos a insertar en UNLz, habría problemas. Lo que hay que hacer es editarlo en formato .RAW. Para ello usaremos un programa como Cyclone o NTME. Yo os recomiendo encarecidamente este último. Lo que hay que hacer para exportarlo en RAW es dar en el botón Raw Dump. Entonces lo guardamos.

2.- Encontrar el tileset de nuestro mapa:
Todo gráfico en formato RAW requiere un tileset para ser editado. Para encontrar el tileset de nuestro mapa hay que jugar a nuestro ROM con el Visual Boy Advance. Tenemos que jugar hasta que podamos acceder al Worldmap, es decir, hasta llegar a la habitación del protagonista. Entonces, miramos el worldmap. Cuando lo tengamos en pantalla damos en Tools>Tile Viewer, y nos saldrá una ventana con varias opciones que hay que marcar de la siguiente manera:



Al picar así las opciones veremos el tileset del worldmap. Damos en Save y lo guardamos donde queramos. Ahora hay que editar en paint el tileset. Lo único que hay que hacer es recortar la imagen verticalmente todo lo que podamos de manera que se ajuste al tileset. A mí me quedó así:

Después



Después



3.- Hacer nuestro Worldmap:
Una vez conseguido el tileset hay que abrir NTME. Antes de nada, damos en Edit>Mode>8bpp. Ahora damos en Load Tileset y seleccionamos nuestro tileset. El tileset aparecerá en el cuadro de arriba. Entonces damos en Open TileMap y seleccionamos nuestro Worldmap en formato RAW. Ahora se verá el Worldmap de nuestro juego. Ahora es como hacer un mapa en Advance Map. Con los bloques de arriba construimos nuestro Worldmap en el cuadro de abajo. Esto puede llevaros un buen rato. Yo he hecho este Worldmap de prueba:



Una vez acabado el Worldmap, damos en File>Save Tile Map y lo guardamos donde queramos. Ahora volvemos a UNLz GBA, en el casillero de nuestro mapa damos en File>Load RAW y seleccionamos nuestro mapa. Cuando se haya cargado, damos en Write to ROM y marcamos las dos primeras opciones. Damos en Ok y probamos el ROM. A mí me ha quedado así:

[/SPOILER]
[/SPOILER]


#1
Nintendo123 25967
No lo puedo descargar porque el AVAST me dice que el Advanced Map tiene un virus
#2
Ramihack 26248
No le hagas caso. A mí el Norton me lo dice siempre pero no es una amenaza. Uno de los archivos .INI confunde a los antivirus.
#3
Nintendo123 25967
Pero no me deja, menos mal que tenía un pack de hack rom de gba y ahora utilizo ese.
Y si me falta algo ya lo descargare gracias, me ha servido.

Si muevo las casas de sitio y posición pasara algo ?
#4
Pacodelopio 26193
Yeee yo me bajado tu pack, y todo guay, quiero apuntarme a la escuela de GBC pero no se sabe nada, espero que hayan noticias pronto, si al final de esta semana no la abren o no hay noticias, me pongo con esta y a darle caña!!!!!!!
#5
Braxpok 27283
Duda/Advanced Intro Ed:
Como hago para Saber el Banco y Nº de mapa, Por que cuando pongo los datos que me da el Advanced Map y lo Pongo en el Advanced Intro Ed Empiezo en Otro Mapa que NAda que Ver, Alguna Sugerencia.
#6
Ramihack 26248
Vete al Advance Map y busca en la lista de mapas el mapa en el que quieres aparecer. Habrá dos números al lado del nombre. El primero es el banco y el segundo el número de mapa.
#7
Pacodelopio 26193
¿En la 1a lección de Mapping se pueden editar tiles?
#8
Ramihack 26248
En principio no, pero eso a tu decisión. Los tiles los aprenderemos a insertar en la próxima lección.
#9
Pacodelopio 26193
Donde pone lecciones a petición de usuarios, me gustaría una lección de como cambiar el fondo de las batallas, o por ejemplo tambien el fondo de cuando en la intro el Prof. te habla y te dice como es el mundo y tal.. No se si me explico muy bien... Cambiar fondos En Battle Trainer y Wild Battle y en sitios como la Intro, Se agradecería mucho y creo que ha mucha gente le gustaría :)
#10
Ramihack 26248
Iniciado por Pacodelopio
Donde pone lecciones a petición de usuarios, me gustaría una lección de como cambiar el fondo de las batallas, o por ejemplo tambien el fondo de cuando en la intro el Prof. te habla y te dice como es el mundo y tal.. No se si me explico muy bien... Cambiar fondos En Battle Trainer y Wild Battle y en sitios como la Intro, Se agradecería mucho y creo que ha mucha gente le gustaría :)

OK. Estaba pensando en algo de ese tipo. Me pondré a trabajar en ello ;)
#11
Ramihack 26248
Nintendo 123 me ha hecho una interesante propuesta: Hacer un Hack ROM entre todos los de la escuela. ¿Qué os parece?
#12
Pacodelopio 26193
¿Al final lo de hacer un hackrom todos los de la escuela que?
XD

Yo ya dije que por mi si...
#13
currokiko10 27529
la pregunta es un poco tonta pero soy nuevo y no se registrarme me ayudais??
:blush:
#14
MrOnis 27013
Con respecto al hackrom entre todos los de la escuela por mí genial :3
#15
currokiko10 27529
que día explicaras como editar el fondo de un combate???
#16
Ramihack 26248
Lo siento pero no creo que pueda hacer la lección de cambiar los fondos de batalla. Se ha borrado toda documentación sobre los offsets de las paletas, y es imposible encontrarlas a mano. (la documentación se ha borrado porque estaba en megaupload, el cual cerró).
#17
Pacodelopio 26193
Iniciado por Ramihack
Lo siento pero no creo que pueda hacer la lección de cambiar los fondos de batalla. Se ha borrado toda documentación sobre los offsets de las paletas, y es imposible encontrarlas a mano. (la documentación se ha borrado porque estaba en megaupload, el cual cerró).


Bueno si es por eso, podríamos abrir un tema pidiendolas a ver si alguien del foro las tiene. :D

Luego tenía una duda como hacer el script, de un vehículo? me refiero a la parte, en que el mini entra al tren/barco/bus/lo que sea, y ese vehículo se mueve, aparece en un mapa a parte avanzando, y luego llega a la estación.
Ya tengo los tiles puesto y tal, lo único que me falta es acabar el script, y creo que si supiera hacer un script en que el player es otro mini diferente podría, me refiero que el mini se convierta en otro mini, no se si me e explikado.
#18
Ramihack 26248
Para cambiar el mini del player se usa el comando de script writebytetooffset. Si queréis hago la lección, pero Jo7a hizo un tutorial muy bueno explicándolo. Aquí el link: http://wahackforo.com/t-20467/wbto-cambiar-mini-en-fr
#19
Pacodelopio 26193
¿Podrías hacer una lección de insertar tiles de agua/animados?
#20
GALATAZ 14130
es excelente la escuela y aunke llegue un tiempo tarde creo ke le servira a muchas personas ( a mi me sirvio mucho) +1 gracias xD
#21
Código Trovão =-= 27531
Aqui está minha tarefa de Mapeamento < Pokérmon selvagem e editor de blocos : :D

[/SPOILER]
#22
Donelem 26989
Esta esta muy bien, pero muy bien bien bien, muchas gracias :)
#23
Código Trovão =-= 27531
Depois de tanto tempo, aqui estão algumas de monhas tarefas atrazadas :D !

[/SPOILER]

SCRIPTS







[/SPOILER]



[/SPOILER]



[/SPOILER]

Por enquanto é só ! :D
#24
S_P 27974
Perdona, el XSE que programa es? no lo encuentro
#25
Ramihack 26248
¿Has descargado mi pack? Si no es así, lo tienes en el post principal. Si lo has descargado y no lo encuentras, busca la carpeta Xtreme Script Maker.
#26
S_P 27974
vale,muchas gracias
#27
~MegaLucario™ 27833
Bueno, estuve mucho tiempo con problemas personales y después estuve enfermo :( . Por eso recién te traigo los trabajos de mapping ;) .










Espero que estén bien, Saludos y Felices Fiestas!






-EDIT: Me puedes explicar lo del Scripting? No entendí NADA :(
#28
S_P 27974
el yape no me habre el juego, con lo cual no puedo insertar pokemon, que hago
y lo de los scripts no pille nada