RPGVX.net
RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet 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
-
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.
-
Kleines Update von v0.7 -> v0.8:
Es ist jetzt möglich die Position des HUD zu ändern.
~Chucky
-
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?
-
Ja, wenn ich noch einen Befehl mit einbaue, der erlauben würde das HUD ein und auszuschalten ;).
~Chucky
-
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
-
kann man doch per Conditional Branch oder?
-
Super Sache! Dank dir.
Klein Praktisch, nicht störend.
Perfekt meiner Meinung nach :)
Top