Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Benutzerinformationen überspringen
Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.
Ganz simples HUD
Ich bin auf der Suche nach einem ganz, ganz simplen HUD für den RM VX Ace. Ich habe schon viele gefunden, so ist es nicht - nur sind sie alle für meinen Geschmack etwas zu überkandiddelt.
Was ich suche, ist etwas absolut simples, wo nur das Nötigste zu sehen sein soll: Name + HP und MP. Mehr nicht. Meinetwegen noch der Level, aber selbst das muss nicht unbedingt sein.
Ich habe im Anhang mal ein Bild gesetzt. Dort habe ich ganz fix bei PS zusammengeschraubt, wie in etwa ich mir das vorstelle. Kennt jemand so einen Script? Oder kann mir vielleicht sogar jemand so einen "schnell" schreiben?
--------------------------------------------------------------------------










































--------------------------------------------------------------------------
Bevorzugter Maker:

Ebenfalls im Besitzt:



Benutzerinformationen überspringen
Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.
Simple HUD - Completed Ace Scripts - RPG Maker Central Forums
Das kannst du auch ganz einfach auf deine Wünsche spezifizieren:
Zum Beispiel in Zeile 51 die refresh Methode so abändern:
![]() |
Ruby Quellcode |
1 2 3 4 5 6 7 8 |
def refresh @actor_values = [@actor.mhp,@actor.hp,@actor.mmp,@actor.mp,@actor.character_name,@actor.character_index,@actor.name] contents.clear #draw_character(@actor.character_name, @actor.character_index, 12, 32) draw_actor_name(@actor, 0 , 0, self.contents.width-32) draw_actor_hp(@actor, 0, self.contents.height/3,self.contents.width) draw_actor_mp(@actor, 0, self.contents.height/3*2,self.contents.width) end |
In Zeile 54 habe ich auskommentiert (es wird also keine Actor Grafik gezeichnet). In Zeile 55 den Wert 32 auf 0 setzen, damit ist der Actorname
nicht mehr mittig sondern links ausgerichtet.
Wenn du dann noch einen anderen Window-Style haben möchtest, kannst du ja den Windowskin des Fensters ändern.
Das müsstest du in Zeile 42 in der initialize-Methode machen. Und zwar füngst du einfach die folgende Zeile ein;
![]() |
Ruby Quellcode |
1 |
self.windowskin = Cache.system("meinFenster") |
Es sollte dann so aussehen:
![]() |
Ruby Quellcode |
1 2 3 4 5 6 7 |
def initialize(x,y,actor_id) @actor = $game_party.all_members[actor_id] super(x,y,Graphics.width/4,fitting_height(3)) self.opacity = WINDOW_ALPHA self.windowskin = Cache.system("meinFenster") refresh end |
Dann machst du einfach einen neuen Windowskin (zB ohne Rahmen usw, einfach schwarzer Hintergrund mit bisschen Transparenz), importierst den in dein Spiel und fertig.
-
Projekte
-
Tutorials & Hilfreiches aus der Eventtechnik
[Tutorial] Skills, Stats und Bosse - So erstellt ihr einen guten Bosskampf
[Tutorial] Kampf - Unendlich Gegner erscheinen lassen
[Tutorial] Kämpfe, Klassen und Balancing
[Tutorial] Entwickler Talk: Skalierungen
NPC verfolgt Held durch Türen
Pokemon- Fangskript
Monstergruppenführer
Automatisches prioritätsgesteuertes Anordnen von Bildern
Doppelte Eventfunktionen auf Map
Objekte schieben & ziehen
Benutzerinformationen überspringen
Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.
Zwei Frage hätte ich aber noch:
Wäre es vielleicht möglich, das HUD noch schmaler zu machen? Also etwas kleinere Schrift und die Kästen nicht ganz so hoch?
Und kann man das Dimmen der Kästen - wenn man sich unter dem HUD befindet - auch auf die Schrift anwenden?
--------------------------------------------------------------------------










































--------------------------------------------------------------------------
Bevorzugter Maker:

Ebenfalls im Besitzt:



Benutzerinformationen überspringen
Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.
Ich werde mich heut abend mal dran versuchen.
Ich habs jetzt so gemacht, dass du im Modul einfach einstellen kannst, wie du das Hud designst. Das Problem ist nur die Schriftgröße und
Transparenz der HP/MP-Balken (falls du die willst).
Wenn du die HP und MP Balken auch transparenter machen willst, dann musst du bei deinem Windowskin, den du (nur) für dieses Hud Window verwendest,
diese Farben auch teiltransparent darstellen.
Ansonsten musst du noch dein Windowskin einfügen, den du verwenden willst im Fenster wie oben gezeigt:
![]() |
Ruby Quellcode |
1 |
self.windowskin = Cache.system("meinFenster") |
Im Module oben im Skript kannst du jetzt die folgenden Dinge einstellen:
![]() |
Ruby Quellcode |
1 2 3 4 5 |
FONT_SIZE = 16 NORMAL_COLOR = Color.new(255, 255, 255, 200) WINDOW_HEIGHT = 84 OFFSET_HP = 14 OFFSET_MP = 34 |
Denke FONT_SIZE und WINDOW_HEIGHT ist selbsterklärend. WINDOW_HEIGHT musst du evtl. anpassen, wenn du die Schrifgröße oder die Offsets veränderst.
Die Transparenz der Schriftfarbe kannst du in NORMAL_COLOR ändern. Aktuell ist der Wert auf 200 (rgba-Farbpalette).
OFFSET_HP: y-Anfangskoordinate des HP-Balkens (+Schriftzug).
OFFSET_MP: y-Anfangskoordinate des MP-Balkens (+Schriftzug).
Sprich: Wenn du die Fontsize veränderst, wird du vermutlich die Höhe des Fensters, sowie die beiden Offsets anpassen müssen.
-
Projekte
-
Tutorials & Hilfreiches aus der Eventtechnik
[Tutorial] Skills, Stats und Bosse - So erstellt ihr einen guten Bosskampf
[Tutorial] Kampf - Unendlich Gegner erscheinen lassen
[Tutorial] Kämpfe, Klassen und Balancing
[Tutorial] Entwickler Talk: Skalierungen
NPC verfolgt Held durch Türen
Pokemon- Fangskript
Monstergruppenführer
Automatisches prioritätsgesteuertes Anordnen von Bildern
Doppelte Eventfunktionen auf Map
Objekte schieben & ziehen
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mitsch93« (20. Juni 2018, 20:00)
Benutzerinformationen überspringen
Motto: Menschen sind doof, Tiere sind doof, Pflanzen sind doof... Steine sind okay.
Offset und Font Size läuft, nur ändert sich nichts, wenn ich die Fenstergröße ändere.
Der Name steht noch sehr weit oben. Den hätte ich gern ein Stück runter, und dafür dann das Fenster nicht so hoch
--------------------------------------------------------------------------










































--------------------------------------------------------------------------
Bevorzugter Maker:

Ebenfalls im Besitzt:



Benutzerinformationen überspringen
Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.
Im Anhang mal nen Screen.
Hab den Code noch dahingehend verändert, dass du die Y-Koordinate des Namen
verändern kannst im Modul:
![]() |
Ruby Quellcode |
1 |
OFFSET_NAME = 0 |
![]() |
Ruby Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
#╔═════════════════════════════════════════════════════════════════════════════╗ #║ Simple HUD ║ #║ by DigiDeity ║ #║ contact: digideity@yandex.com ║ #║ Want to use this for a commercial purpose? Contact me! :) ║ #╠Description══════════════════════════════════════════════════════════════════╣ #║ This Script allows the user to use a simple HUD which will display the HP, ║ #║ MP, Actor Charset and the name of every actor in the current party. ║ #╠Usage════════════════════════════════════════════════════════════════════════╣ #║ Just setup the setting below this discription and you can start using it. ║ #╠Note═════════════════════════════════════════════════════════════════════════╣ #║ Feel free to contact me if you want to report bugs or any ideas for updates.║ #║ Also I'm trying to improve my English in genral if you find any big mistakes║ #║ you would help me by letting me know. ;) ║ #╚═════════════════════════════════════════════════════════════════════════════╝ module DoubleD module Simple_HUD #╔Settings═════════════════════════════════════════════════════════════════════╗ # Choose an ID fot the switch which determinates if the HUD is visible VISIBLE_SWITCH_ID = 1 # Choose the value (0-255) for the opacity of the HUD (Window) WINDOW_ALPHA = 125 # Choose the value (0-255) for the opacity of the HUD (Window) if the Player # collides with it. WINDOW_COLLIDE_ALPHA = 50 # Choose the position of the HUD # 1 => Top, 2 => Bot, 3 => Left, 4 => Right, 5 => Every Corner (works only with 4 members) HUD_POSITION = 5 # Edit: FONT_SIZE = 16 NORMAL_COLOR = Color.new(255, 255, 255, 200) WINDOW_HEIGHT = 84 OFFSET_NAME = 0 OFFSET_HP = 14 OFFSET_MP = 34 #╚EndOfSetting═════════════════════════════════════════════════════════════════╝ end end include DoubleD::Simple_HUD #============================================================================== # ** Window_Base_HUD #------------------------------------------------------------------------------ # This is a super class of all windows within the game to show a simple HUD. #============================================================================== class Window_Base_HUD < Window_Base #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(x,y,actor_id) @actor = $game_party.all_members[actor_id] super(x,y,Graphics.width/4, WINDOW_HEIGHT) self.opacity = WINDOW_ALPHA refresh end #-------------------------------------------------------------------------- # * Create Window Contents #-------------------------------------------------------------------------- def refresh contents.font.size = FONT_SIZE @actor_values = [@actor.mhp,@actor.hp,@actor.mmp,@actor.mp,@actor.character_name,@actor.character_index,@actor.name] contents.clear draw_actor_name_hud(@actor, 0 , OFFSET_NAME, self.contents.width-32) draw_actor_hp_hud(@actor, 0, OFFSET_HP, self.contents.width) draw_actor_mp_hud(@actor, 0, OFFSET_MP, self.contents.width) contents.font.size = Font.default_size end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update refresh if need_update? && $game_switches[VISIBLE_SWITCH_ID] update_visibility end #-------------------------------------------------------------------------- # * Update the visibility and opacity #-------------------------------------------------------------------------- def update_visibility self.visible = $game_switches[VISIBLE_SWITCH_ID] self.opacity = ($game_player.screen_x >= self.x && $game_player.screen_x <= self.x + self.width && $game_player.screen_y >= self.y && $game_player.screen_y <= self.y + self.height) ? WINDOW_COLLIDE_ALPHA : WINDOW_ALPHA end #-------------------------------------------------------------------------- # * Determinates if the window have to be redrawn #-------------------------------------------------------------------------- def need_update? return @actor_values[0] != @actor.mhp || @actor_values[1] != @actor.hp || @actor_values[2] != @actor.mmp || @actor_values[3] != @actor.mp || @actor_values[4] != @actor.character_name || @actor_values[5] != @actor.character_index || @actor_values[6] != @actor.name end #-------------------------------------------------------------------------- # * Draw Actor Name (HUD) #-------------------------------------------------------------------------- def draw_actor_name_hud(actor, x, y, width = 112) contents.font.color = NORMAL_COLOR draw_text(x, y, width, line_height, actor.name) end #-------------------------------------------------------------------------- # * Draw HP (HUD) #-------------------------------------------------------------------------- def draw_actor_hp_hud(actor, x, y, width = 124) draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2) contents.font.color = NORMAL_COLOR draw_text(x, y, 30, line_height, Vocab::hp_a) draw_current_and_max_values_hud(x, y, width, actor.hp, actor.mhp, NORMAL_COLOR, NORMAL_COLOR) end #-------------------------------------------------------------------------- # * Draw MP (HUD) #-------------------------------------------------------------------------- def draw_actor_mp_hud(actor, x, y, width = 124) draw_gauge(x, y, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2) contents.font.color = NORMAL_COLOR draw_text(x, y, 30, line_height, Vocab::mp_a) draw_current_and_max_values_hud(x, y, width, actor.mp, actor.mmp, NORMAL_COLOR, NORMAL_COLOR) end #-------------------------------------------------------------------------- # * Draw Values #-------------------------------------------------------------------------- def draw_current_and_max_values_hud(x, y, width, current, max, color1, color2) change_color(color1) xr = x + width if width < 96 draw_text(xr - 40, y, 42, line_height, current, 2) else draw_text(xr - 92, y, 96, line_height, current.to_s + "/" + max.to_s, 2) end end end #============================================================================== # * Simple_HUD #------------------------------------------------------------------------------ # This is a super class of the simple HUD which will be displayed on the map #============================================================================== class Simple_HUD #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize() @hud_windows = [] for i in 0...$game_party.all_members.size case HUD_POSITION when 1 # Top @hud_windows.push(Window_Base_HUD.new(Graphics.width/4*i,0,i)) when 2 # Bot @hud_windows.push(Window_Base_HUD.new(Graphics.width/4*i,Graphics.height-(3*24+24),i)) when 3 # Left @hud_windows.push(Window_Base_HUD.new(0,(3*24+24)*i,i)) when 4 # Right @hud_windows.push(Window_Base_HUD.new(Graphics.width-Graphics.width/4,(3*24+24)*i,i)) when 5 # Corner case i when 0 @hud_windows.push(Window_Base_HUD.new(0,0,i)) when 1 @hud_windows.push(Window_Base_HUD.new(Graphics.width-Graphics.width/4,0,i)) when 2 @hud_windows.push(Window_Base_HUD.new(0,Graphics.height-(3*24+24),i)) when 3 @hud_windows.push(Window_Base_HUD.new(Graphics.width-Graphics.width/4,Graphics.height-(3*24+24),i)) end end end @party_size = $game_party.all_members.size end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update if @party_size != $game_party.all_members.size terminate initialize end for window in @hud_windows window.update end end #-------------------------------------------------------------------------- # * Terminate all windows #-------------------------------------------------------------------------- def terminate for window in @hud_windows window.dispose end end end #============================================================================== # ** Spriteset_Map #------------------------------------------------------------------------------ # This class brings together map screen sprites, tilemaps, etc. It's used # within the Scene_Map class. #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- # * Aliased methods #-------------------------------------------------------------------------- alias doubleD_simple_hud_initialize initialize alias doubleD_simple_hud_update update alias doubleD_simple_hud_dispose dispose #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize(*args) doubleD_simple_hud_initialize(*args) @doubleD_simple_hud = Simple_HUD.new() end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update(*args) doubleD_simple_hud_update(*args) @doubleD_simple_hud.update if !@doubleD_simple_hud.nil? end #-------------------------------------------------------------------------- # * Disposing all stuff #-------------------------------------------------------------------------- def dispose(*args) doubleD_simple_hud_dispose(*args) @doubleD_simple_hud.terminate if !@doubleD_simple_hud.nil? end end |
-
Projekte
-
Tutorials & Hilfreiches aus der Eventtechnik
[Tutorial] Skills, Stats und Bosse - So erstellt ihr einen guten Bosskampf
[Tutorial] Kampf - Unendlich Gegner erscheinen lassen
[Tutorial] Kämpfe, Klassen und Balancing
[Tutorial] Entwickler Talk: Skalierungen
NPC verfolgt Held durch Türen
Pokemon- Fangskript
Monstergruppenführer
Automatisches prioritätsgesteuertes Anordnen von Bildern
Doppelte Eventfunktionen auf Map
Objekte schieben & ziehen

Ähnliche Themen
-
Einsteigerhilfe »
-
HP anzeige, Geld anzeige, Spielzeit usw... (4. Juni 2013, 21:20)
-
Skript-Anfragen »
-
ich suche nen Action Battle System script ?? (29. Dezember 2012, 18:06)
-
RGSS 1 Probleme & Talk »
-
Kann spiel nicht laden (1. August 2011, 10:43)
-
RGSS / RGSS 2 / RGSS 3 / jsPlugins »
-
[RGSS] Eigener HUD (16. Juni 2007, 02:26)
-
Menüs »
-
Questlog V3 (6. Juni 2006, 16:42)