Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Mensaje por Alcacho el 2018-07-13, 17:55

Hola a todos solo les queria preguntar ¿Como hacer que cuando un aliado muera desaparezsca?
si hay un script para eso es que no soy muy bueno con eso XD
Esta pregunta es para el XP

Ponganlo asi si no lo consigo pronto me muero :)
avatar
Alcacho
Iniciado
Iniciado

1/3

Créditos 79

Gracias : 8

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Mensaje por Wecoc el 2018-07-13, 18:28

¿Te refieres a que al morir deje de salir en la ventana de batalla, más o menos igual como desaparecen los enemigos?

Puedes poner este script encima de main, a ver si es como lo quieres

Código:
# Fix - Don't display dead party members

class Window_BattleStatus < Window_Base
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      next if actor.dead?
      actor_x = i * 160 + 4
      draw_actor_name(actor, actor_x, 0)
      draw_actor_hp(actor, actor_x, 32, 120)
      draw_actor_sp(actor, actor_x, 64, 120)
      if @level_up_flags[i]
        self.contents.font.color = normal_color
        self.contents.draw_text(actor_x, 96, 120, 32, "¡Sube Nivel!")
      else
        draw_actor_state(actor, actor_x, 96)
      end
    end
  end
end

Pero ten cuidado porque si hubiera alguna habilidad u objeto que también fuera aplicable a alguien muerto seguirías pudiendo seleccionar el actor pese a no verse; lo único que hace el script es dejar de mostrarlo en la ventana.

No sé si además quieres que desaparezcan para siempre de la party. En ese caso en el mismo script al final, añade esto:

Código:
# Fix - Remove dead actors from party

class Scene_Battle
  alias remove_dead_battle_end battle_end unless $@
  def battle_end(result)
    for actor in $game_party.actors
      $game_party.remove_actor(actor.id) if actor.dead?
    end
    remove_dead_battle_end(result)
  end
end
avatar
Wecoc
Administrador
Administrador



Créditos 12291

Gracias : 646

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Mensaje por xXIsrael0499Xx el 2018-07-14, 14:10

Creo que se refiere a que si pierde a un actor en medio de la batalla, luego desaparezca. Y si eso es lo que hace tu script wecoc, entonces mi comentario esta de mas.

Aunque tambien hay una forma engorrosa de hacerlo sin necesidad de script, haciendo un mini-engine de comprovacion de si x_actor esta en estado muerto, entonces retirar x_actor del grupo.

Saludos.
avatar
xXIsrael0499Xx
Veterano
Veterano

0/3

Créditos 2047

Gracias : 113

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Mensaje por Gacoro el 2018-07-14, 23:00

lo que esta mostrando wicoc es un script que lo elimine totalmente del juego (creo), pero supongo que no es necesario llegar a eso, eso nos lleva a la respuesta de Israel, simplemente con quitarlo del grupo y asegurarse de que el personaje no pueda volver a integrarse al grupo seria suficiente pero bueno, eso ya depende de que quieras hacer y asta donde quieras llegar con lo de "desaparecer".

Suerte.
avatar
Gacoro
Principiante
Principiante

0/3

Créditos 390

Gracias : 30

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Mensaje por Wecoc el 2018-07-15, 01:23

Para que nos entendamos, con el primer script que puse los actores desaparecen de la batalla, pero tras terminarla si abres el menú siguen estando en la party con el estado Muerte (o como se llame en el juego). Eso será útil si por ejemplo hay un NPC capaz de curarlos, pero tú no puedes directamente desde batalla.

La segunda parte del script es parecida pero si abres el menú los miembros muertos tampoco aparecen ahí. Es como el engine que mencionó Isra pero por script, así que es más fácil.

Eso sería interesante en varios casos:

1 - Simplemente ya no puedes recuperar los héroes muertos en todo el juego. Ouch.
2 - Puedes ir a buscarlos al Hospital y que vuelvan al grupo tras pagar cierta cantidad de dinero.
3 - Similar al Heroes of Might and Magic: Cada personaje tiene un rol (guerrero, arquero, etc). Si se muere ya no puedes recuperar ese pero puedes obtener otro personaje del mismo rol, reiniciado, y que ocupará la misma ranura. Para ello seguramente necesitarás un sistema que genere su nombre (y quizá gráfico) al azar cada vez que lo obtengas así que es algo más complicado, pero igualmente posible con el script que pasé y un engine o script según la complejidad que se busque.
avatar
Wecoc
Administrador
Administrador



Créditos 12291

Gracias : 646

Volver arriba Ir abajo

RPG Maker XP Re: [Ayuda][XP] ¿Como hago que cuando muera un aliado desaparezca?

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.