Registrarse

Guía de Herramientas

Estado
Cerrado para nuevas respuestas.

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Guía de Herramientas NDS

Quiero aclarar que esto no es un tutorial de como hacer cosas especificas, es decir, mi objetivo es guiar a los nuevos en el uso de las herramientas. No pretendo enseñar como se hace cada cosa minuciosamente.

Antes de continuar leyendo el tutorial entrad en este post y descargad las herramientas que vayais necesitando.

Esta herramienta es como el AM de GBA pero mucho más importante pues nos permite hacer cosas como editar los pokemon salvajes, editar las conexiones entre los mapas, editar los textos, los scripts, editar los entrenadores y un larga lista de cosas. En definitiva, permite editar las cosas esenciales para poder crear un hack ROM en base NDS.

El SDSME soporta cualquier ROM de cuarta y quinta generación de Pokemon en cualquier idioma.

Antes de nada abrid el SDSME, tardará un rato. A continuación id a la pestaña de archivo y clicad en Abrir ROM… Después nos saldrá una pestaña de Headers encontrados, aceptad.

Como veis tendremos un cuadrado cuadriculado en columnas y filas donde van todos los mapas y sus respectivas características.

A la izquierda en columna hay cuatro opciones: Eventos, Pokemon Salvajes, Entrenadores y Archivos de sonido. Ahora pasaré a explicar cada una de ellas.

Tal y como dice el nombre sirve para editar los Pokemon de cada mapa, sus porcentajes de aparición, niveles… Una vez abierto nos saldrá esta pestaña:

Color amarillo: Al desplegar esta pestaña podréis acceder a editar todos los Pokemon de cada ruta y ese rollo. Para saber a qué mapa pertenece cada número id a Headers y mirad que número pone en Salvajes.

Color negro: Aquí podéis elegir a editar los Pokemon que os salen caminando por la hierba o los que salen en el agua. Un poco más adelante explico lo otro también pero ahora me centraré en los de hierba.

Color turquesa clarito: Estos son los porcentajes de aparición de los Pokemon que están en la misma fila del número, Cabe destacar de que el cuadro de la derecha está formado por tres columnas (los Pokemon que salen de mañana, día y noche respectivamente) y de doce filas a cada cual se le asigna un porcentaje de aparición.

No se pueden cambiar esos porcentajes pero si que se pueden hacer combinaciones entre ellas asignándole la misma especie para lograr diferentes porcentajes de aparición.


Color verde: Esto es la especie que os saldrá si os salen en manadas, tenéis la opción de editar las manadas terrestres, las que salen surfeando, con caña buena o súper caña.

Color añil: Este es el ratio de aparición de los Pokemon. Es decir, la probabilidad de encontraros con un Pokemon salvaje. Aun número bajo le corresponde una probabilidad baja y viceversa. Sinceramente no os recomiendo cambiar esto excepto en algún caso particular.

Color gris: Al usar la MO Golpe Roca contra una roca os salen Pokemon. Pues esto nos da la opción de editarlo de tal forma de que nos salga el Pokemon que queramos en nueve de cada diez y otro uno de cada diez (o siempre el mismo como queráis).

El ratio es lo mismo que en el caso de arriba. Además, podéis editar sus niveles. En cuanto a la opción de la derecha ni idea de que sirve, si alguien lo sabe que lo deje en un post aquí y lo edito en cuanto pueda.
La pestaña de agua

En este apartado podéis editar los Pokemon que saldrán surfeando, o con cañas. El porcentaje de aparición, niveles y su ratio funciona igual que con los Pokemon terrestres.

Esta pestaña da la opción de crear nuevos entrenadores o modificar los ya existentes. Es decir, deja cambiar los cuatro objetos que puede llevar un entrenador, su cantidad de Pokemon…

Color negro: Si se despliega esta pestaña aparecerán todos los entrenadores de la ROM, no tiene más misterio. Si lo que queremos es editar los Pokemon del rival del primer combate, clicamos en él y listo.

Color amarillo: Esto sirve para añadir nuevos entrenadores. Al crear el primer nuevo entrenador se le otorgará el siguiente número del último de la lista.

Color blanco: Si verificamos “ataques” y “objetos”, la herramienta nos permitirá editar los ataques de los Pokemon y los objetos que lleven equipados respectivamente.

Color dorado: Si desplegamos cualquiera de estas pestañas, veremos la lista de todos los objetos existentes. Si lo que queréis es que vuestro entrenador tenga un restaura todo, simplemente desplegad el primero y seleccionáis el objeto. Si lo que queréis es que tenga dos, repetid el proceso con el segundo y así sucesivamente hasta un máximo de cuatro. Claro que puede ser cualquier objeto en cualquier pestaña, por si alguien lo dudaba.

Color verde: Aquí podéis seleccionar cualquier cantidad de Pokemon que queréis que tenga el entrenador hasta un máximo de seis. También podéis escoger si es combate individual o combate doble (si lo queréis individual no toquéis nada, en caso contrario verificadlo). Además tenéis la oportunidad de establecer el niven del IA.

Color rojo: Aquí veréis los tipos de entrenadores que hay, y si clicais en la opción de “Clases de entrenadores” podéis seleccionar la clase de entrenador que queráis y cambiarle de nombre, exportar o importar el sprite, añadir uno nuevo o borrar el último.

Color rosa: Simplemente es el nombre propio del entrenador, podéis cambiarlo por el nombre que queráis.



Color amarillo: Es el número del Pokemon del equipo, no creo que haga falta una explicación más extensa.

Color negro: Estas dos pestañas son la especie del Pokemon y el objeto que lleva equipado. En el de arriba tenéis a todos los Pokemon hasta la cuarta generación en orden de pokedex, en la de abajo todos los objetos que hay, si no queréis que lleve objeto dejadlo como estaba.

Color gris: Es el niven del Pokemon, del uno al cien.

Color rojo: Son los puntos individuales o IVs del Pokemon. Si no sabéis lo que significa buscadlo en internet, pues no tiene que ver con el ROM Hacking. Sabed que el mínimo es 0 y el máximo es 31.

Color azul claro: Son los cuatro ataques que puede saber el Pokemon, no tenéis porque seleccionar cuatro movimientos pero bueno.

Al clicar en esta opción os aparecerán todas las midis que tiene la ROM, tanto el nombre interno como el número asignado cuando aparece en el cabezal. Desde aquí podéis exportar las midis en formato .sseq.
Aquí está una pestaña bastante importante la verdad. Sirve para editar los scripts y otras características que tienen los muebles, overworlds… además de poder editar los warps entre mapas desde aquí.


Color amarillo: Aquí podréis ver todos los eventos una vez despleguéis la pestaña. Para saber a que mapa pertenece lo de siempre. Id a Headers y consultadlo ahí.

Color negro: Esto es algo que no he explicado en otros apartados porque me parece de sentido común. Una vez hagáis cambios clicad aquí para qur se guarde.

Color añil: Hay cuatro opciones dentro de eventos, que son los que están dentro del cuadrado, los cuales explicaré ahora.


Los muebles son como overworlds pero sin sprite, por ejemplo: un objeto oculto.

Rojo: Lista de muebles, puedes añadir nuevos o eliminar los existentes.

Azul: Script
Indica el script que se ejecuta al interactuar con el mueble

Verde: X Y Z
Ubicación del mueble en la matriz.

Purpura: ?
Posiblemente un valor que indica desde que lados se puede interactuar con el mueble.



Rojo: La lista de overworlds, puedes eliminar el overworld seleccionado o añadir uno nuevo.

Amarillo: ID Es el numero por el cual se puede controlar el overworld a través de scripts, por ejemplo "RemovePeople 0x2" donde 0x2 es la ID del overwold que se muestra en la imagen.

Morado:
Overworld. Indica el sprite del overworld.

Celeste: Movimiento. Indica una propiedad si el overworld se mueve y como.

Azul oscuro:
Flag. Es la flag se puede controlar si el overword hace aparición o no, si la flag se activa entonces el overwold no aparece.

Verde: Script. Es el script que se ejecuta cuando se habla con el overworld, el script normalmente es el del archivo de scripts del mapa pero puede tener otros comportamientos.

Rosa: Visión. Indica una propiedad de visión del overwolrd, por ejemplo: que tan lejos te puede ver un entrenador.

Naranja: X Y Z. Indica la ubicación inicial del overwold en la matriz a la que este asignada el archivo de eventos.



Rojo: Lista de warps, puedes añadir uno o eliminar el seleccionado

Azul: X Y. Ubicacion del warp en la matriz

Naranja: ID Mapa. Indica el mapa al cual teletransporta el warp, el mapa sale en la primera columna de los headers

Verde: ID Warp. Indica el warp al que te le teletransporta el warp... es decir, el warp te tiene que teletransportar a la ubicacion de otro warp en otro mapa.



Los gatillos o triggers marcan sitios que si los pisas ejecutan un script.

Rojo: Lo típico, la lista de gatillos, puedes eliminar el seleccionado o añadir uno nuevo.

Azul: Script. Es el numero de script que se ejecuta al pisar el gatillo, que normalmente se encuentra en el archivo de scripts asignado al mapa.

Verde: X Y. Indica la posición de inicio del script desde la esquina superior izquierda.

Morado: Ancho Alto. Indica la extension del gatillo a partir de X Y, el Ancho extiende hacia la derecha y el Alto hacia abajo, formando un area rectangular.

Amarillo: Flag. A pesar de que aquí dice "Flag", los gatillos que ya están en el juego usan ordenes de 16.500 más o menos (0x4000+-), lo que en teoría son variables, si la variable asignada al gatillo es 0x1 el gatillo se desactiva.


En las pestañas de la fila de arriba a la derecha encontrareis cinco opciones: Headers, matrices, mapas, textos y scripts.


Headers o cabezal es la tabla de filas y columnas que indican las características generales de cada mapa. Las filas representan las diferentes características de un mismo mapa. Por el contrario, las columnas indican la misma característica de distintos mapas.



Nombre interno: Es el nombre que cada mapa posee dentro de la ROM, hay una notación lógica. Las rutas son “RX” donde equis es el número de ruta, y así sucesivamente.

Textura 1: Se refiere al tileset que usa cada mapa.

Textura 2: Ni idea.

Matriz: Indica el número que tiene cada mapa en el la matriz, es decir, su posición en el worldmap, si hacéis doble clic os llevará allá automáticamente.

Scripts: Indica el número de script que cada mapa tiene asignado. Al igual que antes, doble clic para ir ahí.

Scripts de nivel: Significa el número de script de nivel del mapa, ineditable desde aquí.

Textos: Es el número que posee el grupo de textos de cada mapa.

Música de día y de noche: Es la midi que corresponde día y noche a cada mapa.

Eventos: Es el número que corresponde al evento de cada mapa.

Nombre: Indica el nombre que aparecerá al jugar que tiene cada mapa.

Estilo del nombre: Os da a elegir si queréis que aparezca el nombre del mapa o no.

Clima: Permite cambiar el clima que tiene cada mapa. Aquí están los números asignados a cada uno.

Cámara: Esto hace que podáis escoger 2D o 3D, aparte de diferentes tipos de 3D.

Flags: Esto se refiere al número de flag que tiene el mapa.

Salvajes: Haciendo doble clic os llevará a la pestaña donde he explicado como cambiar y editar los Pokemon salvajes.

Se que falta alguno pero actualizaré cuando lo vaya averiguando.

En la pestaña que pone “Matriz 0” podéis elegir cualquier otro, el cero es el mapa de exteriores y todos los demás son para hacer los interiores.

Voy a comentar algo más esto porque parece simple pero no lo es. La matriz 0 es el worldmap, donde están todos los mapas de exteriores. Cada uno de estos cuadrados son un mapa, hay conjuntos de mapas que pertenecen a una misma ciudad o ruta. Esto podréis comprobarlo viendo cuales tienen el mismo número. Bien, para saber a que modelo 3D pertenece cada uno debeis consultarlo en archivos de mapa. Cada recuadro es de 32x32 pasos. Es decir, que toda la región mide 32*el número de columnas y 32*el número de filas. El origen de coordenadas está arriba a la izquierda. Cuando veais las coordenadas de un overworld o cualquier cosa que ocupe un punto de mapa, para saber su posicion exacta haced lo siguiente: (lo explicaré con un ejemplo)

Imaginad que tengo un punto con las coordenadas x=634 y=345

Para esto hay que saber dividir, quiero pensar que todos sabemos hacerlo, prestad atención:

La columna en la que está mi punto: 634/32=19*32+26. Mi punto estará en la columna número 19 a 26 pasos del borde izquierdo del mapa.

La fila en la que está mi punto: 345/32=10*32+25. Mi punto estará en la fila número 10 a 25 pasos desde arriba.



Esto es lo equivalente al worldmap, es decir, aquí editareis los números del dibujo para hacer las conexiones entre mapas. Antes de nada, podéis cambiar los cuadrados de alto y ancho que tiene el mapa depende del tamaño que queráis que tenga vuestro mapa.

Como veis, hay cuadrados blancos y negros. Los negros son el vacío y los blancos con numeritos son los mapas, cada mapa con su número colindante claro.

Para poder editar el número clicad una vez y poned el que queráis. Para saber a qué mapa pertenece clicad dos veces seguidas y os llevara al cabezal del mapa.

Tal y como indica su nombre sirve para fijar el mapa a una altura determinada.



La mayor función de esto es cambiar los bordes de los mapas que no tiene otro mapa colindante. Si en los cuadrados morados hacéis doble clic os llevará al borde en cuestión. Podéis editar los bordes (029-agua, 028-arboles, 0210-rocoso en HGSS). Otra cosa muy importante de esto es que si clicais en algún recuadro de estos dos veces os llevará automáticamente a su mapa.

Desde aquí podreis acceder directamente al modelo 3D al que pertenece cada uno de los recuadros. Simplemente clicad dos veces y os llevará automaticamente allí.


Tal y como dice el nombre este apartado sirve para editar los textos de la ROM, tenéis los textos ordenados por números todos los textos que hay. Como podemos observar hay un botón donde pone “Texto 0”. Pues si lo desplegamos aparecerán todos los textos. Algunos de estos textos como el texto 5 que no son diálogos, sino otros textos, en lo personal no os recomiendo tocarlos.

Para saber a qué mapa pertenece cada grupo de diálogos vamos a headers y clicamos dos veces en la columna de textos en el mapa deseado. Por ejemplo en headers he buscado Pueblo Paleta y he ido al texto “Texto 446”. Podéis observar que aparecen los diálogos de los NPC y algunos carteles de las casas.


Debajo hay dos opciones de añadir mensaje y borrar último mensaje. Tal y como indican sus nombres sirven para agregar más textos o borrar los que queramos.



Los scripts son una sucesión de comandos en catarata que se ejecutan uno detrás de otro. Como podemos apreciar hay tres pestañas una al lado de la otra; scripts, funciones y movimientos.

El número del script corresponde al número de cada mapa el cual podéis consultar el headers, dentro de cada uno de estos tenemos una serie de bloques independientes. Cada uno de estos bloques va precedido por “Script #X” donde x son los números naturales (1,2,3,4…).

Cada uno de estos scripts está formado por comandos que una vez ejecutados tienen su apariencia a la hora de jugar. Es decir, conversaciones, movimientos de overworlds… Consultad esta guía de @Mikelan98 a cerca de los distintos comandos que hay. A continuación, podéis aprender scripting básico aquí y scripting avanzado aquí, cortesía de @B!ack

Cabe destacar que cada uno de estos scripts son asignados a minis o postes.

Son las variantes que pueden tener los scripts del anterior apartado. Es decir, depende del valor de las flags y las variables irá a una u otra función o simplemente por un comando. No hay mucho más que añadir. Solo quiero comentar que en el anterior apartado va el bloque principal del script y aquí van los distintos tipos de finales que pueden haber, lo cual no significa que deban acabar aquí, un script puede terminar en la pestaña de scripts.


Esto es algo fácil de entender. En funciones o scripts hay determinados sitios donde se aplican movimientos. Pues bien. Esos movimientos se definen en este apartado. Como habréis podido observar tanto los scripts, como las funciones y los movimientos tienen asignados un número. Es decir, si en algún momento del script salta al movimiento número cinco, id a movimientos y el movimiento correspondiete será aquel que salga debajo de Movement #5.

Antes de nada, para saber que mapa pertenece a cada fila de headers, id a ese apartado y buscad el nombre del mapa que queréis editar. Por ejemplo, Pueblo Primavera. Una vez lo localicéis buscad el recuadro donde pone el número del mapa asignado. Clicad dos veces y os llevará al mapa.

Color rojo: Si lo desplegáis os aparecerán todos los mapas de la ROM. Resulta un tanto confuso buscar los mapas así, mi recomendación es buscar los mapas desde headers en vez de desde aquí.

Color amarillo: Esto sirve para editar los permisos del mapa. Es decir, por donde se puede pasar, surfear… Donde hay sonido de hierba… Y ese tipo de cosas. Si os estáis iniciando en esto del Rom Hacking NDS no os recomiendo tocar nada. Como podéis ver podéis exportar los existentes o importarlos.

Color verde: Sirve para importar o exportar los edificios que hay en la ROM, no creo que necesite mucha más explicación. Además, desde el editor de edificios se cambian la cantidad de edificios y su posición en cada mapa que tiene cada uno.

Me parecía necesario hacer un pequeño inciso en esto. En cuanto cliqueis en la opcion os saldrán dos nuevas ventanas. En una de ellas aparecen enumerados todos los edificios del mapa en cuestión. En la otra todos los edificios existentes y sus respectivas paletas.

Esto es muy importante porque a la hora de editar los mapas debéis exportarlos primero, eso si, siempre en formato .obj. Que no se os olvide. Importar sirve para poner en la ROM el mapa ya editado.

Aquí podéis exportar o importar el terreno.


En esta pestaña se encuentra la imagen del mapa en cuestión. Tenéis la opción de verlo en 3d o en 2d. Además, para que el mapa se vea bien es preciso ir al cabezal del mapa correspondiente y ver que textura tiene el mapa.

Otra opción de esta pestaña es poder ver el mapa en wireframe. En palabras más sencillas, el esqueleto, por así decirlo, del mapa.


Antes de nada quiero aclarar que a cada tipo de terreno, es decir, hierba, camino, arboles… se le asigna un número. Por ejemplo, a la hierba normal y a los caminos es 00, para los arboles 06, para la hierba alta 02, para el agua 15… Podéis ir descubriendo las demás investigando un poco los mapas de la Rom para ver como se hacen los saltos de altura… Pero bueno, una lista con todo lo que he averiguado, si sabéis más avisad y lo añado.

00-Suelo
02-Hierba alta
06-Arboles
15-Agua
3B-Salto de altura (de arriba abajo)
38-Salto de altura (de izquierda a derecha)
39-Salto de altura (de derecha a izquierda)
69-Puertas
4B-Treparrocas
Donde arriba pone paso libre, paso bloqueado y sonido de hierba sirve para editar un recuadro puntual. Es decir, clicad en el recuadro que queráis. Si clicais dos veces podréis editar su comportamiento y ponerle cualquiera de la lista que he puesto antes. Además, podréis decidir si ese recuadro es accesible o no, o si queréis que lo sea y además suene el sonido de la hierba.

Abajo a la izquierda hay unas opciones donde pone “activar” y una opción de poner el numero que queráis, además de on, off o hierba. Pues bien, una vez le deis a activar podéis escoger el número que queráis y una vez que cliqueis en un recuadro del mapa este cambiara automáticamente al numero que habéis elegido. Además, al igual que antes podéis escoger la accesibilidad (on=paso permitido, off=paso bloqueado, hierba=sonido de hierba).


Desde aquí podreis exportar o importar los tilesets para poder editarlos. Antes de nada debéis ver si queréis editar los tilesets de exteriores o interiores. Para esto escogéis entre mapas y edificios.

Justo debajo de esta opción están enumerados en una columna todos los tilesets. Id al tileset que deseéis desde aquí para poder ver sus texturas. Justo a la derecha tenemos dos cajas, una de texturas y otra de sus respectivas paletas. La primera paleta corresponde a la primera textura, la segunda a la segunda y asi sucesivamente. Dentro de cada caja veréis todas las texturas y paletas que tiene ese tileset.

Cada vez que seleccionáis una paleta abajo os aparecerá un recuadro con todos los colores de esa paleta.

Debajo de la lista de los tilesets podéis elegir entre importarlos o exportarlos. Cabe destacar que podéis exportar las texturas en formato .PNG tal y como se indica.


Al abrir la rom, el spiky utiliza una dependencia llamada "ndstool" para extraer los datos de la rom en una carpeta llamada *_SDSME, donde "*" es el nombre del archivo abierto.

La carpeta se genera dentro de la misma carpeta donde esta la rom que se abrió.

A partir de aquí el spiky empezará a trabajar con los archivos dentro de esta carpeta y no hará más nada con la rom que se abrió, al guardar algo en el spiky (por ejemplo, un cambio en los textos o un script, las modificaciones se guardaran en los archivos extraídos entiempo real). No es necesario seleccionar "Guardar ROM" para guardar los cambios, sin embargo "Guardar ROM" lo que hace es coger todos los archivos de la carpeta de los datos y genera una nueva ROM a partir de ellos.

Como se explico, esta carpeta contiene todos los cambios que se han hecho a través de spiky, si se borra, todos los cambios se pierden (a menos de que hayas seleccionado "guardar rom" en ese caso, todos los cambios estan guardados en susodicha rom y se puede abrir con el spiky para volver a generar la carpeta con todos los datos de la rom, que obviamente ya incluye modificaciones previas).

Para manejar la relación "carpeta-rom original", el spiky se guia del nombre de la rom y el nombre de la carpeta, si existe una carpeta con el mismo nombre de la rom, se le preguntara al usuario si desea utilizar los datos extraídos de la carpeta, si se selecciona "no", se sobreescribira toda la carpeta de datos, es importante recordar que las modificaciones no se guardan en la rom que se abrió con el spiky, (a menos de que sobrescribas la rom abierta al "guardar rom")

Los datos dentro de la carpeta no deben ser modificados arbitrariamente, ya que puedes corromper el resultado final "la rom", manejar estos archivos no es necesario al usar el spiky (a excepciones) pero aprender que contienen algunos archivos y sus ubicaciones puede dejarnos hacer ciertas virguerias, aprender sobre estos archivos os tocara al momento de usar tinke, la cual
es otra herramienta para manejar el sistema de archivos de las roms de nds.

Agradecimientos a @Jes++ por echarme una mano con los archivos del SDSME y a @Mikelan98 por haberme resuelto alguna que otra duda.

Cuando pueda lo subiré en formato PDF a MediaFire. El objetivo de esto es ir explicando todas las herramientas importantes que hay en DS. Un apoyo al principio siempre ayuda.

Descargar en formato PDF:

SDSME:Guía SDSME

Si hay alguna duda o sugerencia posteadla aquí abajo. Si es un comentario ofensivo también dejadlo, así al menos os desahogareis. :)
 
Última edición:

DavZero

Estoy mamadísimo
Miembro de honor
Usuario de Oro
Respuesta: Guía Herramientas NDS

¿Nadie comenta? Vaya.

Gran aporte @Gorka, siempre está bien traer guías del hacking NDS para que más usuarios se motiven y comiencen a experimentar esta plataforma. En cuanto pueda lo pongo en el índice de tutoriales para que sea más visible. Sin dudas será de ayuda.
 

Fran

Profesional de WaH
Re: Guía Herramientas NDS

¡Hey! Bastante bueno Gorka. Hacen faltas guías así. Quizá más gente se anime a esta plataforma.
Hace unos meses pude cambiar la textbox y hacer un pequeño script, pero nada serio xD.
Espero sigas actualizando ^^
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Re: Guía Herramientas NDS

Muchas gracias @Zero y @Frank por comentar, me dais animos para seguir adelante. Ultimamente ando un poco liado con la uni pero poco a poco iré añadiendo más herraminetas.

Lo prometido es deuda a si que quí está la guía del SDSME en formato PDF para descargar.

 
Estado
Cerrado para nuevas respuestas.
Arriba