RPGVX.net

  RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: Chucky am Februar 28, 2009, 18:19:55

Titel: Chucky's HUD System
Beitrag von: Chucky am Februar 28, 2009, 18:19:55
Name: Chucky's HUD System
Version: 0.8 (released 29.02.09)
Autor: Chucky

Einleitung
Hi, habe mal ein kleines HUD System gebastelt, es zeigt bis jetzt die Heldennamen und HP, MP der Helden an. Habe aber noch vor es zu erweitern.

Changelog
#==============================================================================
# ¦ v0.8 (released 29.02.09)
#------------------------------------------------------------------------------
# ? Zweiter Beta Release
# ? Skript erweitert mit Positionänderung des HUD
#==============================================================================
#==============================================================================
# ¦ v0.7 (released 28.02.09)
#------------------------------------------------------------------------------
# ? Erster Beta Release
#==============================================================================

Bilder
(http://sonic.hostyours.de/bilder/hud.png)

Anleitung
Das Skript wie gewohnt über main einfügen:

Chucky's HUD System:
#==============================================================================
# ¦ Chucky's HUD System
#------------------------------------------------------------------------------
# ? Version: 0.8 (released 29.02.09)
# ? Created by Chucky
#==============================================================================
#==============================================================================
# ? Main Config
#==============================================================================
$hud_position = "top" # Position of HUD = top, left, right, bottom
#==============================================================================
class Scene_Map < Scene_Base
#==============================================================================
  #--------------------------------------------------------------------------
  # ? Start Processing
  #--------------------------------------------------------------------------
  alias start_hud start
  def start
    start_hud
    @window_hud = Window_HUD.new
  end
  #--------------------------------------------------------------------------
  # ? Termination Processing
  #--------------------------------------------------------------------------
  alias terminate_hud terminate
  def terminate
    terminate_hud
    if @window_hud != nil and @window_hud.disposed? == false
      @window_hud.dispose
    end
  end
  #--------------------------------------------------------------------------
  # ? Update HUD Window
  #-------------------------------------------------------------------------- 
  alias update_hud update
  def update
    update_hud
    if @window_hud != nil and @window_hud.disposed? == false
      @window_hud.update
    end
  end
end
#==============================================================================
class Window_HUD < Window_Base
#==============================================================================
  #--------------------------------------------------------------------------
  # ? Initialization Processing
  #--------------------------------------------------------------------------
  def initialize
    if $hud_position == "top"
      super(-6, -15, 580, 100)
    elsif $hud_position == "left"
      super(-6, -15, 180, 450)
    elsif $hud_position == "right"
      super(400, -15, 180, 450)
    elsif $hud_position == "bottom"
      super(-6, 328, 580, 100)
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    self.opacity = 0
    @actor_hp = []
    @actor_mp = []
    $game_party.members.each_with_index do |member, i|
      refresh(i)
    end
  end
  #--------------------------------------------------------------------------
  # ? Refresh
  #--------------------------------------------------------------------------
  def refresh(a)
    if $hud_position == "top" or $hud_position == "bottom"
      @actor_hp << $game_party.members[a].hp
      @actor_mp << $game_party.members[a].mp
      draw_actor_name($game_party.members[a], 135 * a, 0)
      draw_actor_hp($game_party.members[a], 135 * a, 20)
      draw_actor_mp($game_party.members[a], 135 * a, 40)
    elsif $hud_position == "left" or $hud_position == "right"
      @actor_hp << $game_party.members[a].hp
      @actor_mp << $game_party.members[a].mp
      draw_actor_name($game_party.members[a], 0, 115 * a)
      draw_actor_hp($game_party.members[a], 0, 115 * a + 20)
      draw_actor_mp($game_party.members[a], 0, 115* a + 40)
    end
  end
  #--------------------------------------------------------------------------
  # ? Update Actors HP and MP
  #--------------------------------------------------------------------------
  def update
    $game_party.members.each_with_index do |member, i|
      if @actor_hp[i] != member.hp or @actor_mp[i] != member.mp
        refresh(i)
        super
      end
    end
  end
end

Wenn ihr das HUD an einer anderen Position haben wollt, müsst ihr in Zeile 10 nur eine kleine Änderung vornehmen, welches sich aber von selbst erklären dürfte:
$hud_position = "top" # Position of HUD = top, left, right, bottom


Viel Spaß damit.

~Chucky
Titel: Re: Chucky's HUD System
Beitrag von: Stef-san am Februar 28, 2009, 19:50:59
so kurz und doch so viel Anzeige? nice. Nettes kleines Script fuer Games, welche auf echtzeitfights setzen und sowas. Bin gespannt was du noch erweitern wirst.
Titel: Re: Chucky's HUD System
Beitrag von: Chucky am März 01, 2009, 02:09:31
Kleines Update von v0.7 -> v0.8:
Es ist jetzt möglich die Position des HUD zu ändern.

~Chucky
Titel: Re: Chucky's HUD System
Beitrag von: Herendil am Mai 10, 2009, 14:49:41
Sehr Schön, passt am besten in mein neues Projekt. nimmt wenig Platz weg, und hat nicht diesen draw.actorgraphic drin, das passt bei mir nicht so gut.... sehr schön

Edit: ich hab ein Autoplay Intro, da stört dieses HUD schon. Gibt es da einen Befehl, dies zu aus und wieder einzublenden?
Titel: Re: Chucky's HUD System
Beitrag von: Chucky am Mai 13, 2009, 14:23:30
Ja, wenn ich noch einen Befehl mit einbaue, der erlauben würde das HUD ein und auszuschalten ;).

~Chucky
Titel: Re: Chucky's HUD System
Beitrag von: Whiskydrinker am Juni 04, 2009, 16:14:34
könntest du das denn machen??? Is wirklich total cool abwer wäre halt noch besser wenn man ein und aus machen könnte.

Whiskydrinker
Titel: Re: Chucky's HUD System
Beitrag von: spitfire am Juni 04, 2009, 19:09:28
kann man doch per Conditional Branch oder?
Titel: Re: Chucky's HUD System
Beitrag von: Fr4z0R am Februar 07, 2011, 21:15:02
Super Sache! Dank dir.
Klein Praktisch, nicht störend.
Perfekt meiner Meinung nach :)
Top
SimplePortal 2.3.3 © 2008-2010, SimplePortal