Bueno, les dejo este gran tuto, que explica claramento, como realizar la acción de poner personajes ocultos: [SPOILER]
Code
Para conseguir esto tenemos que jugar un poco con la organización de la pantalla de selección de personaje. Los iconos de los personajes están organizados en forma de rejilla, con un determinado número de filas y columnas (ambos configurables). Lo bueno del asunto es que las dimensiones de la rejilla no están limitadas por la pantalla, sino que pueden extenderse fuera de ella. Dicho de otra forma, podemos organizar la rejilla de forma que algunos iconos queden fuera de la pantalla, quedando ocultos, lo que nos permite unos truquillos. Por ejemplo, podríamos hacer algo parecido a esto (viva el arte ASCII XD):
De esta forma, toda la fila de abajo quedaría escondida a los ojos del jugador. Sin embargo, esto no significa que no se pueda seleccionar, se puede. Si el jugador pulsa abajo estando en la fila central al cursor de movería a la fila inferior sin problemas. Por suerte hay una forma de evitar que el personaje pueda seleccionar estos personajes. La clave es colocarlos en una posición en que no haya ningún personaje seleccionable en su misma fila o columna. Lo entenderás mejor con un ejemplo. Mira esta rejilla de personajes:
Los "**" representan celdas vacías (sin personaje) en la rejilla. A menos que le indiques al MUGEN que haga lo contrario, el cursor no puede colocarse en una celda vacía, sino que salta sobre ella o se mueve al extremo opuesto si no hay ninguna celda no vacía en la misma dirección. Así que si colocamos un personaje en una posición en que no tenga ninguna celda no vacía en su misma fila o columna, como en el ejemplo encima de estas líneas, el personaje no puede ser alcanzado por el cursor (o sea, el jugador). Si además esta posición queda fuera de la pantalla, automáticamente tenemos un personaje oculto y que no se puede seleccionar. Por ejemplo, de esta forma:
Los personajes escondidos de esta forma no pueden ser seleccionados por el jugador (escepto si salen por casualidad al seleccionar una celda "random") pero sí por la máquina, ya que están incluídos en la rejilla de personajes. Ésto es útil, además de para Bonus, para incluir jefes secretos. La desventaja es que estos jefes tampoco se podrán seleccionar en partidas a dobles, pero para niveles de Bonus como éste es perfecto ;).
Bueno, basta ya de teoría. Vamos a ver cómo hacer esto en MUGEN:
La información sobre cada personaje, secreto o no, está guardada en el archivo "select.def", que se encuentra en la carpeta \data bajo la carpeta MUGEN. Si usas algún screenpack (motif), éste puede tener su propio archivo select.def en su carpeta (en \data\nombre_del_motif), y si lo tiene, tendrá preferencia sobre el que está en \data, así que puedes tener una plantilla de personajes distinta para cada screenpack que tengas. Centrándonos en lo que nos ocupa, los datos de cada personaje están en la sección [Characters] de este archivo, de esta forma:
[Characters]
(seguramente tu select.def tiene aquí un texto bastante largo explicando el formato de la definición de personajes, puedes ignorarlo, o mejor, leerlo y aprender cómo añadir personajes)
datos_personaje_1 datos_personaje_2 ... -1 <-- Ésto significa que esta celda estará vacía al seleccionar ... personaje. datos_último_personaje
Los personajes están organizados en la rejilla de personajes por filas, o sea, son leídos de la sección [Characters] del select.def secuencialmente y colocados primero en la primera fila, de izquierda a derecha hasta que la fila se llene, después en la segunda, y así sucesivamente hasta que la rejilla de personajes se llene o se acaben los personajes. Si en vez de la definición de un personaje MUGEN encuentra un -1, habrá una celda vacía en su lugar.
La información de la rejilla de personajes se encuentra en el archivo "system.def", en la misma carpeta que el select.def, y que también puede ser incluído en la carpeta de algún screenpack teniendo preferencia sobre el que está en \data. La información que estamos buscando está en la sección [Selection info]:
Los parámetros "rows =" y "columns =" indican cuántas filas y columnas respectivamente tendrá la rejilla. El parámetro "showemptyboxes =" indica que no se debe dibujar el fondo de las celdas vacías. El parámetro "moveoveremptyboxes =" debe ser puesto a 0, para que el cursor no se pueda poner en una celda vacía. Ésto es todo lo que tienes que saber. Ahora todo lo que hay que hacer es colocar los datos de los personajes en select.def en el orden correcto, añadiendo celdas vacías donde haga falta.
Por ejemplo, para obtener la organización mostrada en el últmo ejemplo "gráfico" necesitaremos una rejilla de personajes de 4 filas y 11 columnas (las celdas vacías también cuentan), y entonces añadir, en el select.def, la definición de cada personaje con las celdas vacías apropiadas, así:
Como hacer para limitar la cantidad de proyectiles que puede tirar un char a la vez? O sea como hacer que un char pueda lanzar como maximo 2 proyectiles seguidos.
Para arthas, aca esta el codigo del ataque de knuckles, donde se entierra en el suelo y sale disparado contra el enemigo:
LO QUE ESTÄ EN ROJO SON LOS HELPERS DE LAS ROCAS QUE SALEN DEL PISO; NO EN NESESARIO QUE LOS PONGAS SI NO SABES HACER LOS HELPERS
;--------------------------------------------------------------------------- ;major eruption [statedef 1100] type = A movetype = A Physics = N anim = 1100 ctrl = 0
Estoy tratando de crear a mi primer char, pero a la hora de probar si se movía, ése no daba ni un solo paso... He estado buscando algún tutorial que dijera cómo hacer saltar a tu personaje, o que camine, pero aún no lo he encontrado...
¿Podéis ayudarme, por favor? No sé prácticamente nada sobre programar chars, y no sé que puedo hacer. (Por algo se empieza...)
Y además, probando a lazar un proyectil, éste impacta y hace daño al oponente, pero mi char se queda repitiendo la acción de lanzar el proyectil, como un ciclo... Lo hice usando la opción que te da el programa. ¿Cómo puedo solucionarlo?