Registrarse

[RH - Scripting] Hacer que mini salga del mapa por una puerta sin atravesarla

Estado
Cerrado para nuevas respuestas.

Pableroski

Novato - Rpg en desarrollo
El título lo deja claro.

Soy un novato y estoy intentando que mi mini, el personaje principal, entre en una casa. Pero con el applymovement atraviesa la puerta (y por supuesto no va a ningún lado) y con el warp se teletransporta pero ocurre que no está la animación de la puerta, simplemente hay un fundido negro y reaparezco en el lugar que debo.

¿Cómo puedo activar la animación de la puerta?

ROM: Fire Red
Uso XSE y Advance Map
 

Nacho

Rompiendo límites
El título lo deja claro.

Soy un novato y estoy intentando que mi mini, el personaje principal, entre en una casa. Pero con el applymovement atraviesa la puerta (y por supuesto no va a ningún lado) y con el warp se teletransporta pero ocurre que no está la animación de la puerta, simplemente hay un fundido negro y reaparezco en el lugar que debo.

¿Cómo puedo activar la animación de la puerta?

ROM: Fire Red
Uso XSE y Advance Map
A ver es un detalle genial el que quieres implementar, pero de momento no sabría responderte con seguridad como hacerlo, no es nada común. Yo creo que se podría investigar quizá otra persona aquí lo sabe. Me imagino que con un "doanimation" quizás permite hacer eso, o algún otro comando. Pero no estoy seguro tampoco. Es algo que nunca he visto la verdad, generalmente omitimos esa parte. Intenta probar con los distintos comandos de "warp" hay varios también.
 

Pableroski

Novato - Rpg en desarrollo
A ver es un detalle genial el que quieres implementar, pero de momento no sabría responderte con seguridad como hacerlo, no es nada común. Yo creo que se podría investigar quizá otra persona aquí lo sabe. Me imagino que con un "doanimation" quizás permite hacer eso, o algún otro comando. Pero no estoy seguro tampoco. Es algo que nunca he visto la verdad, generalmente omitimos esa parte. Intenta probar con los distintos comandos de "warp" hay varios también.
El doanimation requiere un parámetro en el XSE (pone #). ¿Es el que sale en el Advance Map en el comportamiento del tile? Pero digo yo, que aunque esté el doanimation en el script, la animación la haría el personaje y no la puerta, ¿no?

La verdad que nunca me había fijado en que los RomHacking no estaba esa mecánica, yo lo intentaba hacer lo más realista posible, pero si veo que no se puede seguiré para adelante.

En el supuesto de que continúe sin esa animación, sería lo de applymovement + warp?
El problema que le veo al warp es que de momento solo soy capaz de teletransportar a mi mini, y no al npc, el XSE no te da opción de la persona. Entonces si quiero que alguien entre antes que yo lo tengo crudo. Los otros warps que hay modifican el sonido pero poco más

Gracias por la rapidez de la respuesta, no me imaginé que sería tan rápido.
 

Nacho

Rompiendo límites
El doanimation requiere un parámetro en el XSE (pone #). ¿Es el que sale en el Advance Map en el comportamiento del tile? Pero digo yo, que aunque esté el doanimation en el script, la animación la haría el personaje y no la puerta, ¿no?

La verdad que nunca me había fijado en que los RomHacking no estaba esa mecánica, yo lo intentaba hacer lo más realista posible, pero si veo que no se puede seguiré para adelante.

En el supuesto de que continúe sin esa animación, sería lo de applymovement + warp?
El problema que le veo al warp es que de momento solo soy capaz de teletransportar a mi mini, y no al npc, el XSE no te da opción de la persona. Entonces si quiero que alguien entre antes que yo lo tengo crudo. Los otros warps que hay modifican el sonido pero poco más

Gracias por la rapidez de la respuesta, no me imaginé que sería tan rápido.
Eso ya es más facil, solo debes hacer 3 cosas

1 applymovement con el OW que quieras mover (numero de gente)
2 hacerlo desaparecer justo cuando pase por la puerta (hidesprite + setflag)
3 usar el "sound" de puerta

Luego haces un apply con el player´+ warp y ya está
 

Pableroski

Novato - Rpg en desarrollo
Eso ya es más facil, solo debes hacer 3 cosas

1 applymovement con el OW que quieras mover (numero de gente)
2 hacerlo desaparecer justo cuando pase por la puerta (hidesprite + setflag)
3 usar el "sound" de puerta

Luego haces un apply con el player´+ warp y ya está
Podria hacerse con variables y no con flags?? Para no malgastarlas.

Lo he intentado pero no puedo evitar que se repita. Se que con flags no se repetiria pero, hay alguna manera de hacerlo sin flags? He probado a cambiar el valor de la variable cuando acababa el sprite pero nada, siempre acaba moviendose si le vuelves a hablar
 

darkeon75

Un vaso es un vaso y un plato es un plato -M.Rajoy
Hay un comando para eso:
setdooropened - pones las coordenadas x y donde está la puerta en el mapa para abrirla
setdoorclosed - pones las coordenadas x y donde está la puerta en el mapa para cerrarla
 

Nacho

Rompiendo límites
Podria hacerse con variables y no con flags?? Para no malgastarlas.

Lo he intentado pero no puedo evitar que se repita. Se que con flags no se repetiria pero, hay alguna manera de hacerlo sin flags? He probado a cambiar el valor de la variable cuando acababa el sprite pero nada, siempre acaba moviendose si le vuelves a hablar
en lo que respecta a hacer desaparecer minis hazlo con flags, para eso usalas. En todos los demás scripts usa variables. Pero repito para desaparecer minis usa flags en el ID del mini.


Respecto a hacer que no se repita es fácil, con flags es cosa de apagar o encenderla y respeto de eso hacer un "goto" para poder activar las condiciones antes y despues de activado.

Respecto para una Var, solo debes hacer un compare, y comparar el valor de la variable, y en funcion de eso tb hacer un goto.

En ambos casos tanto flags como variables, o debes activar la flag mediante "setflag" o cambiar el valor de la variable mendiante un "setvar" o "addvar" al final de la primera rama de arbol, así irá a la 2da una vez se active la primera.

Cualquier duda al discord
Nachosky582 #5709
 

DrakoVinyl

Usuario de Platino
Respuesta: Re: Hacer que mini salga del mapa por una puerta sin atravesarla

Podria hacerse con variables y no con flags?? Para no malgastarlas.

Lo he intentado pero no puedo evitar que se repita. Se que con flags no se repetiria pero, hay alguna manera de hacerlo sin flags? He probado a cambiar el valor de la variable cuando acababa el sprite pero nada, siempre acaba moviendose si le vuelves a hablar
Yo lo que hacía para ahorrar flags era lo siguiente: Todos los minis del mapa que fueran a "desaparecer" en algún momento, ya sea por un script de nivel, de gatillo, etc, los ponía en el mapa de modo que siempre estuvieran fuera del campo de visión del jugador
Luego, si los quisiera mover, usaba un script de nivel de esos que se ejecutan siempre que entras al mapa. En dicho script lo que hacía era reposisionar al míni. Como los scripts de nivel funcionan con variables, puedes hacer lo que quieras con ellos; reposisionar minis, desaparecer minis, todo eso siempre y cuando la variable asignada esté activa.

Es cutre y muchas veces ineficiente, pero si quieres escatimar flags a más no poder, es lo que hay.

Att: El tito Sub. (^3^)_b
 
Última edición:

Pableroski

Novato - Rpg en desarrollo
Re: Respuesta: Re: Hacer que mini salga del mapa por una puerta sin atravesarla

Yo lo que hacía para ahorrar flags era lo siguiente: Todos los minis del mapa que fueran a "desaparecer" en algún momento, ya sea por un script de nivel, de gatillo, etc, los ponía en el mapa de modo que siempre estuvieran fuera del campo de visión del jugador
Luego, si los quisiera mover, usaba un script de nivel de esos que se ejecutan siempre que entras al mapa. En dicho script lo que hacía era reposisionar al míni. Como los scripts de nivel funcionan con variables, puedes hacer lo que quieras con ellos; reposisionar minis, desaparecer minis, todo eso siempre y cuando la variable asignada esté activa.

Es cutre y muchas veces ineficiente, pero si quieres escatimar flags a más no poder, es lo que hay.
Una chapuza inteligente. De momento usaré las flags y si me quedo sin ellas en algún momento, lo usaré. Muy ingenioso, hay que reconocerlo

Muchas gracias
 

DrakoVinyl

Usuario de Platino
Respuesta: Re: Respuesta: Re: Hacer que mini salga del mapa por una puerta sin atravesarla

Una chapuza inteligente. De momento usaré las flags y si me quedo sin ellas en algún momento, lo usaré. Muy ingenioso, hay que reconocerlo

Muchas gracias
Difícilmente las uses todas. Tienes +200 flags que son seguras y las puedes usar todas, no obstante con un poco de ingenio (en casos muy concretos) puedes reutilizarlas ya que puedes jugar con el estado de la flag (off-on) y hacer que pasen cosas diferentes según el caso.

Si te soy sincero, yo alternaría entre la implementación de lo que mencione en el anterior mensaje y el uso normal de las flag porque a veces eso último es estrictamente necesario.

Hay que reconocer que las flags tienen muchas limitaciones en cuanto a un método óptimo y eficiente de administrarlas. Lo mejor es que las uses del modo en el que te resulte más cómodo.

Att: El tito Sub. (^3^)_b
 
Estado
Cerrado para nuevas respuestas.
Arriba