Buzón de Dudas


Para preguntar, usar los comentarios. Acotad el tema primero: [SBLP], [ARPG], [SMP], [Var. Puntero]. No responderé dudas básicas ni rggs.

Anuncios

Acerca de lampardarrowt

Soy el creador del juego YSNE: Hope of a Dream (el mismo rurouni_h de los créditos del juego). Llevo usando el RPG Maker desde los años de H2 (Hellsoft 2), Mi actual proyecto nació en 2003, y sigue en evolución constante desde entonces.

Publicado el 24 junio 2011 en General y etiquetado en , . Guarda el enlace permanente. 5 comentarios.

  1. Aquellos que tengáis dudas básicas del maker, acudir a los enlaces en el blog correspondientes a: Tutoriales-Maker, Mundo Maker, Aldea RPG, Hellsoft, Comunidad Hispana o Planeta RPG. Insisto en que las dudas básicas y de RGGS serán borradas de inmediato, puesto que los sitios mencionados tienen una ayuda más amplia y eficaz que la que yo os podría dar. En cuanto a RGGS, olvidaos por completo, pues el RM2K y RM2K3 no trabajan con scripts, y no sé programar nada.

    La única duda básica que responderé son los conceptos en corchetes:

    – [SBLP] –> Sistema de Batalla Lateral Personalizado (CBS en inglés). Puede ser estilo FF clásicos o no. Por turnos o ATB. Se realizan ajeno al sistema de batalla default del programa.

    – [ARPG] –> Action RPG o Action Battle System. Es el clásico sistema de batalla en tiempo real, al más puro estilo Zelda o Alundra.

    – [SMP] –> Sistema de Menú Personalizado (CMS en inglés). No creo que requiera explicación, y se puede hacer desde en la misma pantalla o en otra distinta. Usando imágenes, al propio personaje, o preguntas y respuestas.

    – [Var. Puntero] –> Variable Puntero. Son variables algo excepcionales. No recogen un valor propiamente dicho (atributos, coordenadas, dinero, números, etc), sino que recogen variables. Es decir, si las variables “0001 [Manzanas] = 1”; “0002 [Peras] = 2; “0003 [Mangos] = 4” son normales, que recogen la cantidad de cada pieza de fruta, la Variable Puntero “0004 [Tipos de Fruta]” la usaremos para saber cuántos tipos tenemos. Es decir, veremos si las variables 0001, 0002 y 0003 son iguales a cero o mayores o iguales a 1. Si no son igual a cero, significa que tenemos ese tipo de fruta. Así pues, Si a la variable puntero “0004 [Tipos de Fruta]” le damos el valor ” = 1″, estará observando la variable 0001 Manzanas, pero no cuántas tenemos. Lo simplifico. Estamos eligiendo la variable 0001. Si pusiésemos dos, elegiríamos la variable 0002.
    Los que seáis más observadores habréis deducido que es la herramienta perfecta para crear listas y en función de si tenemos un objeto o no, correr de orden los elementos. Esto nos permitirá que en 3 líneas tengamos programado un menú sin bugs que sirve para muchas cosas distintas sin tener que repetirlo de nuevo. Así nos ahorraremos muchas líneas de códigos de condiciones y efectos, y tener que volver a repetir el mismo engine para adaptarlo a cada situación.

  2. – [ARPG] [RM2k3]
    ¡Hola Lampard!
    Tengo un par de dudas con las cuales necesitaría un consejillo. La primera duda es sobre los charas. A veces los frames de éstos me resultan demasiado pequeños para dibujar la animación del personaje blandiendo su espada, por lo que probé utilizando Battle Animations. Pero me encontré un nuevo bug, ya que los Battle tienen mayor prioridad sobre los charas y al mostrarlos a veces los pies de mi personaje se muestran por encima de la cabeza de los charas de los monstruos. Es decir, solapando. No sé si me explico correctamente. ¿Se te ocurre alguna solución? Últimamente había estado pensando en hacerlo con acciones que contengan la parte del gráfico que no me cabía en un solo chara. De esta forma, al pulsar la tecla de atacar la acción se moverá al tile que está justo por delante del héroe “fusionándose” los gráficos. Creo que debe haber algo más sencillo, así que espero tu respuesta.

    Por otra parte, ¿cuál es la mejor forma de comprobar si has golpeado a un enemigo? Yo siempre hago la típica de que cuando pulses la tecla atacar, además de mostrar la animación correspondiente, también comprueba las coordenadas x e y (con un condiciones y efectos) de cada enemigo para comprobar si se encuentran justo delante del héroe. ¿Hay alguna forma menos costosa de hacerlo que no implique cuatro condiciones y efectos (arriba, debajo, izquierda y derecha) seguidos por cada enemigo?

    Muchas gracias ;).
    Un saludo.

  3. ¡Hola!
    Pues tus dudas tienen soluciones sencillas. En el primer caso, deberías utilizar una acción más cuando ataque tu personaje, como dices. Realmente es lo más simple, y te ayudaría a resolver tu segunda duda. Además, es un problema muy frecuente el que tienes, pq tanto pictures como battle animation tienen ese inconveniente que has comentado. ¿Cómo lo haría? pues si el héroe está mirando hacia la derecha, la acción (el evento) con la parte restante de la animación tendría que ir situado un tile más a la derecha. Esto se consigue igualando sus coordenadas a la del héroe, y sumándole uno en el eje de las equis. Si fuese hacia la izquierda, se le restaría uno al eje X; y para abajo y arriba, lo mismo, pero en el eje y. Una vez obtenidas las coordenadas, usa la herramienta asignar lugar evento y ponlo con esas mismas que hemos calculado según la posición del héroe. Ahora, yo en tu lugar, si pudiese dejar en un chara solo la animación del ARPG, lo haría. Aunque el método que te digo es cómodo igualmente.

    Siguiendo con lo que te estaba diciendo, y enganchando con tu segunda pregunta: hay un método “más” sencillo para verificar si atacas a un enemigo: usar la ID de Evento, herramienta que está en la 2ª o 3ª página. ¿Cómo se consigue? Usando un “evento de ataque” que en los tiles que se posicione (en los que se amplíe nuestro ataque) verifique si el ID de evento es cero o mayor. Si es mayor, nos hemos topado con otra acción (ojo el problema de esta forma es que si tienes eventos en el mapa y se posiciona un enemigo en él y atacas, no te pillará la ID del enemigo). Lo bueno de este método, es que podemos hacer ataques circulares, lineales, o de cualquier forma, respetando los límites de paso de cada entorno, y de una manera muy práctica, pues con un condiciones y efectos podemos ver si atamos a un enemigo o no, y para mover el “evento de ataque” sólo hay que cambiar sus coordenadas. Lo más tedioso es hacer la base, luego quedará reusable totalmente. Otra ventaja es que no necesitas verificar las coordenadas del enemigo. La ID de evento se corresponde con el número que tienen todas las acciones. Por decirlo de alguna forma simple: lo podrás ver como el nombre de la acción cuando la creas, en la parte de arriba izquierda, en plan EV0001, etc…
    Resumiendo, en tu caso, puedes usar el “evento de ataque” a la vez que lo usas para completar la animación. Insisto, el mismo evento puede funcionar para arcos, espadas, magias, etc… invariablemente, pues su uso es como un “script” dentro del rm2k, muy genérico.

    Espero que me hayas entendido, y sino, vuélveme a cuestionar sin problema. Un saludo.

  4. – [ARPG] [RM2k3]

    Muchasísimas gracias por tu rápida y precisa respuesta ;).

    Entonces, debería usar la misma acción o evento como “ampliación de chara” y como “evento de ataque” y con prioridad “Sobre el personaje” supongo, de tal forma que cuando dicha acción y un enemigo coincidan en el mismo tile se le reste “Vida” a la variable correspondiente. Ahora mismo no tengo el RPG Maker en este pc, así que no puedo comprobar cómo funciona exactamente el comando “ID de Evento”, pero supongo que no bastará con comprobar que es distinto de cero, sino que también habrá que saber que ID tiene exactamente para disminuir la vida de la variable correspondiente al enemigo al que estamos golpeando ¿verdad?

    Me recomiendas que toda la animación quepa en un solo chara. ¿Se te viene a la cabeza qué inconvenientes me podría acarrear ampliar los gráficos con acciones como pretendía?

    En el caso de los ataques que afecten a más de un tile, como es el caso de los ataques circulares que tú mencionabas, ¿es necesario crear un “evento de ataque” por cada tile afectado o es suficiente con uno sólo? Si la respuesta, es el segundo caso, ¿qué hay que hacer? ¿Habría Mover el Evento hacia el 1º tile, Comprobar ID, Mover al 2º tile, comprobar ID, mover al 3º, etc. secuencialmente?

    Gracias de nuevo.
    Un saludo.

  5. No vas muy desencaminado. Únicamente bastará saber que número de eventos en el mapa corresponden a los enemigos y cuales no (Un condiciones y efecto para el valor mínimo, y otro dentro de este para el máximo). A partir de ahí utiliza un interruptor si necesitas crear un proceso para restar vida si fuese necesario. En mi caso, todo lo que es muertes de enemigos y restar vida lo meto dentro de la acción de cada enemigo correspondiente en una página que tenga como condición de inicio el ID de evento igual al de la acción a la que ataco, y con el interruptor de “ataque héroe” activado para evitar que se produzcan cosas raras. Es decir, lo que hago con ese interruptor es “paralizar” los ataques de todas las acciones para que no puedan dañar al héroe si tocas a un enemigo para evitar bugs. En esa página que te digo que creé le resto la vida y etc. Recuerda ponerla en automático, y que tras la animación de matar esté el comando “Eliminar evento momentaneamente” si quieres que reaparezca al cambiar de mapa. El ID de evento es sencillo. Necesita 3 variables: coordenadas X e Y y otra para la ID.

    El único problema que veo con más de un evento para el ataque es que se pueden descoordinar entre sí los eventos. Más allá de ello nada. Pura cuestión estética. Hombre, mientras no hagas 4 o 5 eventos que entorpezcan la toma de ID, no pasa nada. Eso ya sería ser muy bestia.

    Atendiendo a los ataques de más de un tile: No. No es necesario crear más de uno. Únicamente debes mover el evento de tile en tile y verificar la ID, tal y como dices. Funciona bien y no da lag (además es muy rápido). Yo lo hago así con un par de ataques especiales que podréis ver más adelante en sucesivas demos, pero para la que sacaré el mes que viene, podrás ver dentro del maker como he hecho el código, pues estará abierta. Recomiendo que no lo fusiles, pues no funcionará. Intenta entender la estructura y adaptarlo a tus necesidades. De todas formas, había unos ejemplos muy buenos de DyA en internet muy básicos que son de gran ayuda para estas cosas.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: