Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[RMVX] Tormunds Simple HUD v.2

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker VX [RMVX] Tormunds Simple HUD v.2

Mensaje por tormunds el 2014-06-16, 03:55

Oa. He actualizado mi SimpleHUD a su versión numero 2. Ésta se actualiza sola, sin necesidad de un evento común ni nada por el estilo. Además, puede desactivarse activando un interruptor, por defecto el numero 100. Puedes cambiarlo editando la línea 38, @TormundsHUD.visible = $game_switches[100], cambiando 100 por el numero de el interruptor. Además, ahora muestra la vida y SP de tu primer personaje de tu grupo actual, no del primer personaje de la base de datos.

Autor: Turmundus
Nombre: Tormunds Simple HUD
Imagen:


Código:
#---------------------------------------------------------
# Simple HUD - Este script es op, en serio (?
#---------------------------------------------------------
class Tormunds_SimpleHUD < Window_Base
  def initialize
    super (324, 310, 200, 85)
    refresh
    @achepe = $game_party.members[0].hp
    @emepe = $game_party.members[0].mp
  @Nombre = $game_party.members[0].name
    refresh
  end
    def refresh
      self.contents.clear
      draw_actor_hp_gauge($game_party.members[0], 20, 1)
      draw_actor_mp_gauge($game_party.members[0], 40, 20)
      self.contents.draw_text(1,1,30,30,"HP",1)
      self.contents.draw_text(20,20,30,30,"SP",1)
      draw_actor_graphic($game_actors[001],150,35)
    @achepe = $game_party.members[0].hp
    @emepe = $game_party.members[0].mp
    @Nombre = $game_party.members[0].name
    end
  end
  def update
    refresh if @achepe != $game_party.members[0].hp or @emepe != $game_party.members[0].mp or @Nombre != $game_party.members[0].name
    end
class Scene_Map < Scene_Base
  alias start_hud start
  alias update_hud update
  def start
    @TormundsHUD = Tormunds_SimpleHUD.new
    start_hud
  end
  def update
    update_hud
    @TormundsHUD.visible = $game_switches[100]
    @TormundsHUD.refresh
    end
end


Gracias a:
Youkai por enseñarme muchos métodos y tipos de cosas.

Poner encima de main para que funcione correctamente.

Saludos! Próximamente tendrá soporte para mas jugadores. También intentaré hacerlo mas bonito x3... y también, una versión de XP :D
avatar
tormunds
Iniciado
Iniciado

0/3

Créditos 21

Gracias : 4

Volver arriba Ir abajo

RPG Maker VX Re: [RMVX] Tormunds Simple HUD v.2

Mensaje por Faye Valentine el 2014-06-16, 05:33

*A InVariableZ le gusta tu post*

Faye Valentine
Soñador
Soñador

0/3

Créditos 281

Gracias : 34

Volver arriba Ir abajo

RPG Maker VX Re: [RMVX] Tormunds Simple HUD v.2

Mensaje por Wecoc el 2014-06-16, 15:03

A ver, te puedo dar algunas recomendaciones.

1 - Intenta ordenar mejor las tabulaciones. Me da la impresión de que te dejaste en un end (el de la clase Tormunds_SimpleHUD) eso es porque usaste mal las tabulaciones si no se ve en seguida

Nota: Sé que al postearlo al foro a veces se carga algún espacio o tabulación o no sé, en ese caso no sería culpa tuya... pero creo que al menos en parte no ha sido eso.

Edito: Ah, no te dejaste el end, lo que pasa es que dejaste el update fuera de la clase xD Ese end de más va debajo el update, no debajo el refresh

2 - Pon nombres más definitorios a las variables. En español o en inglés da igual, personalmente lo prefiero en inglés, eso cada uno. Pero @achepe, @emepe... ¿qué costaba escibirlo normal? (@hp, @mp) xD

3 - Me temo que no hace falta poner refresh doble en el initialize, el primero sobra.

4 - Poner if de una sola línea así solo tiene sentido si ese if es corto, en vez de:
Código:
refresh if @achepe != $game_party.members[0].hp or @emepe != $game_party.members[0].mp or @nombre != $game_party.members[0].name


Pon algo lo más ordenado posible. Yo incluso habría hecho cambio de variable ahí
Código:
    hp = $game_party.members[0].hp
    mp = $game_party.members[0].mp
    name = $game_party.members[0].name
    if @achepe != hp or @emepe != mp or @nombre != name
      refresh
    end


5 - Siempre que definas un método que ya existía en la clase ancestral y no quieras perderlo usa super. No se si hay refresh en la Window_Base de VX Ace, pero update seguro que sí así que debajo del def update pon super.

6 - El update lo que hace es hacer refresh solo cuando sea necesario, para evitar el lag. Por ese hecho luego no tiene sentido llamar el refresh en el update del Scene_Map, allí tienes que quitar ese @TormundsHUD.refresh y cambiarlo por @TormundsHUD.update
avatar
Wecoc
Administrador
Administrador



Créditos 12207

Gracias : 632

Volver arriba Ir abajo

RPG Maker VX Re: [RMVX] Tormunds Simple HUD v.2

Mensaje por tormunds el 2014-06-16, 18:02

@Wecoc escribió:A ver, te puedo dar algunas recomendaciones.

1 - Intenta ordenar mejor las tabulaciones. Me da la impresión de que te dejaste en un end (el de la clase Tormunds_SimpleHUD) eso es porque usaste mal las tabulaciones si no se ve en seguida

Nota: Sé que al postearlo al foro a veces se carga algún espacio o tabulación o no sé, en ese caso no sería culpa tuya... pero creo que al menos en parte no ha sido eso.

Edito: Ah, no te dejaste el end, lo que pasa es que dejaste el update fuera de la clase xD Ese end de más va debajo el update, no debajo el refresh

2 - Pon nombres más definitorios a las variables. En español o en inglés da igual, personalmente lo prefiero en inglés, eso cada uno. Pero @achepe, @emepe... ¿qué costaba escibirlo normal? (@hp, @mp) xD

3 - Me temo que no hace falta poner refresh doble en el initialize, el primero sobra.

4 - Poner if de una sola línea así solo tiene sentido si ese if es corto, en vez de:
Código:
refresh if @achepe != $game_party.members[0].hp or @emepe != $game_party.members[0].mp or @nombre != $game_party.members[0].name





Pon algo lo más ordenado posible. Yo incluso habría hecho cambio de variable ahí
Código:
    hp = $game_party.members[0].hp
    mp = $game_party.members[0].mp
    name = $game_party.members[0].name
    if @achepe != hp or @emepe != mp or @nombre != name
      refresh
    end





5 - Siempre que definas un método que ya existía en la clase ancestral y no quieras perderlo usa super. No se si hay refresh en la Window_Base de VX Ace, pero update seguro que sí así que debajo del def update pon super.

6 - El update lo que hace es hacer refresh solo cuando sea necesario, para evitar el lag. Por ese hecho luego no tiene sentido llamar el refresh en el update del Scene_Map, allí tienes que quitar ese @TormundsHUD.refresh y cambiarlo por @TormundsHUD.update




Oh, gracias por los consejos xDD
Escribí emepe y achepe porque así no se mezclaría con variables de otros huds.

Si hago otra versión ten por seguro que tomaré en cuenta todo lo que me dijiste ^^

Saludos!
avatar
tormunds
Iniciado
Iniciado

0/3

Créditos 21

Gracias : 4

Volver arriba Ir abajo

RPG Maker VX Re: [RMVX] Tormunds Simple HUD v.2

Mensaje por orochii el 2014-06-17, 04:45

Escribir @mp es demasiado mainstream. Debes escribir emepe. Ídem para hp/achepe.
Wecoc, no tienes sentido del humor xD (en realidad sí lo tiene, se nota en el último equisdé).

Ya fuera coñas, creo que no puedo decir nada que Wecoc no haya dicho. O quiza sí, pero me da pereza leer 8DDD -bonk!-.
No me agrada mucho lo estrecho que está el HP con el gráfico del personaje. Y hablando del gráfico del personaje...
Código:
draw_actor_graphic($game_actors[001],150,35)

...yo cambiaría $game_actors[001] (que igual no es necesario poner 001) por $game_party.leader (o si no funciona, $game_party.members[0], que sí ví que lo usaste más adelante xD).

Después de eso, pues congratulaciones por el script, y pues que sigas hezscridtptdwtpeando (?).
avatar
orochii
Reportero

0/3

Créditos 7716

Gracias : 435

Volver arriba Ir abajo

RPG Maker VX Re: [RMVX] Tormunds Simple HUD v.2

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.