Jordinateur Blob
Nombre de messages : 260 Localisation : Devant mon ordinateur !(enfin sa dépend, peut-être avec ma copine aussi ^^) Humeur/Caractère : Aller a l'école T_T Date d'inscription : 12/05/2006
| Sujet: Systeme de vie avec des coeurs comme Zelda Dim 21 Mai - 2:17 | |
| Pour les zelda et autres, un script pour afficher la vie sous forme de coeurs, testé et fonctionne Créez un script nommé "Window_Corazones" et collez le code ci-dessous : - Code:
-
#============================================================================== # Window_Corazones # Par DarkRog #Modifié par mithos # #Modif: nb de coeurs =1 pour 100 hp max perso 1 #options modifiables #Corazones = changer le 100 pour le nombre de pt de vie par coeur #Opacidad = l'opacité des coeurs. #Opcion = Le texte affiché en dessous des coeurs. #1 = Nom du héros. #2 = PV actuels et max du héros. #3 = Nombre de coeurs pleins. #4 = Pourcentage de vie restant #5 = Rien. #------------------------------------------------------------------------------ #==============================================================================
class Window_Corazones < Window_Base def initialize super(-8, -8, 640, 96) #=== Options === corazones = $game_actors[1].maxhp / 100 opacidad = 255 opcion = 2 #=== Options fin == self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize self.opacity = 0 @hearts = corazones @opacity = opacidad @option = opcion @hr = 0 refresh end #-------------------------------------------------------------------------- # - Actualisation #-------------------------------------------------------------------------- def refresh self.contents.clear @n = $game_party.actors[0].hp @mn = $game_party.actors[0].maxhp #n is the value, and mn the maxvalue: @hr = 0 @lh = 0 for i in 0..@hearts-1 self.contents.fill_rect(i*14, 4, 1, 2, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+1, 3, 1, 4, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+2, 2, 1, 6, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+3, 1, 1, 8, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+4, 0, 1, 10, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+5, 1, 1, 10, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+6, 2, 1, 10, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+7, 1, 1, 10, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+8, 0, 1, 10, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+9, 1, 1, 8, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+10, 2, 1, 6, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+11, 3, 1, 4, Color.new(0, 0, 0, @opacity)) self.contents.fill_rect(i*14+12, 4, 1, 2, Color.new(0, 0, 0, @opacity)) # self.contents.fill_rect(i*14+1, 4, 1, 2, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+2, 3, 1, 4, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+3, 2, 1, 6, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+4, 1, 1, 8, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+5, 2, 1, 8, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+6, 3, 1, 8, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+7, 2, 1, 8, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+8, 1, 1, 8, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+9, 2, 1, 6, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+10, 3, 1, 4, Color.new(255, 255, 255, @opacity)) self.contents.fill_rect(i*14+11, 4, 1, 2, Color.new(255, 255, 255, @opacity)) # #@c = 255 @l = @n*100/@mn @ho = @l*@hearts c_color(1) self.contents.fill_rect(i*14+2, 4, 1, 2, Color.new(@c, 0, 0, @opacity)) c_color(2) self.contents.fill_rect(i*14+3, 3, 1, 4, Color.new(@c, 0, 0, @opacity)) c_color(3) self.contents.fill_rect(i*14+4, 2, 1, 6, Color.new(@c, 0, 0, @opacity)) c_color(4) self.contents.fill_rect(i*14+5, 3, 1, 6, Color.new(@c, 0, 0, @opacity)) c_color(5) self.contents.fill_rect(i*14+6, 4, 1, 6, Color.new(@c, 0, 0, @opacity)) c_color(6) self.contents.fill_rect(i*14+7, 3, 1, 6, Color.new(@c, 0, 0, @opacity)) c_color(7) self.contents.fill_rect(i*14+8, 2, 1, 6, Color.new(@c, 0, 0, @opacity)) c_color(8) self.contents.fill_rect(i*14+9, 3, 1, 4, Color.new(@c, 0, 0, @opacity)) c_color(9) self.contents.fill_rect(i*14+10, 4, 1, 2, Color.new(@c, 0, 0, @opacity))
@hr += 1 end if @option == 1 self.contents.font.color.set(0, 0, 0) self.contents.draw_text(0 - 1, 7 - 1, 160, 32, $game_party.actors[0].name, 0) self.contents.draw_text(0 - 1, 7 + 1, 160, 32, $game_party.actors[0].name, 0) self.contents.draw_text(0 + 1, 7 - 1, 160, 32, $game_party.actors[0].name, 0) self.contents.draw_text(0 + 1, 7 + 1, 160, 32, $game_party.actors[0].name, 0) self.contents.font.color = normal_color self.contents.draw_text(0, 7, 160, 32, $game_party.actors[0].name, 0) elsif @option == 2 self.contents.font.color.set(0, 0, 0) self.contents.draw_text(0 - 1, 7 - 1, 160, 32, "#{@n}/#{@mn}", 0) self.contents.draw_text(0 - 1, 7 + 1, 160, 32, "#{@n}/#{@mn}", 0) self.contents.draw_text(0 + 1, 7 - 1, 160, 32, "#{@n}/#{@mn}", 0) self.contents.draw_text(0 + 1, 7 + 1, 160, 32, "#{@n}/#{@mn}", 0) self.contents.font.color = normal_color self.contents.draw_text(0, 7, 160, 32, "#{@n}/#{@mn}", 0) elsif @option == 3 self.contents.font.color.set(0, 0, 0) self.contents.draw_text(0 - 1, 7 - 1, 160, 32, "#{@ho/100}/#{@hearts}", 0) self.contents.draw_text(0 - 1, 7 + 1, 160, 32, "#{@ho/100}/#{@hearts}", 0) self.contents.draw_text(0 + 1, 7 - 1, 160, 32, "#{@ho/100}/#{@hearts}", 0) self.contents.draw_text(0 + 1, 7 + 1, 160, 32, "#{@ho/100}/#{@hearts}", 0) self.contents.font.color = normal_color self.contents.draw_text(0, 7, 160, 32, "#{@ho/100}/#{@hearts}", 0) elsif @option == 4 self.contents.font.color.set(0, 0, 0) self.contents.draw_text(0 - 1, 7 - 1, 160, 32, "#{@l}%", 0) self.contents.draw_text(0 - 1, 7 + 1, 160, 32, "#{@l}%", 0) self.contents.draw_text(0 + 1, 7 - 1, 160, 32, "#{@l}%", 0) self.contents.draw_text(0 + 1, 7 + 1, 160, 32, "#{@l}%", 0) self.contents.font.color = normal_color self.contents.draw_text(0, 7, 160, 32, "#{@l}%", 0) end end
def c_color(a) if @hr <= (@ho/100)-1 @c = 255 else if @ho/10-@hr*10 >= a and @ho/10-@hr*10 <= 9
@c = 255 else @c = 0 end end end
def corazones(corazones) @hearts = corazones end end
Puis dans Scene_Map, en dessous de la ligne 15, ajoutez : - Code:
-
@corazones = Window_Corazones.new En dessous de la ligne 37 : - Code:
-
@corazones.dispose
En dessous de la ligne 75 : - Code:
-
@corazones.refresh Un truc, c'est qu'il faut le remplacer dans les scripts de a rpg, c'est mieux. Et aussi faire en sorte de ne pas avoir le système de niveaux mais seulement des events et objets qui vous donnent 100 pts de vie, mais ce n'est qu'un conseil | |
|