[DoE] Cylosis Administrateur fondateur
Nombre de messages : 281 Age : 28 Date d'inscription : 09/06/2007
Mon niveau de Making Niveau Script: (14/20) Niveau construction de MAP: (15/20) Niveau Base de donnée: (19/20)
| Sujet: [Script] Barre de progression d'expérience Dim 10 Juin - 15:47 | |
| Barre de progression Ce script permettra de faire aparaître une jauge qui représentera le niveau d'expérience ! Je ne l'ai pas testé, donc vous pourrez me dire si il marche ou pas Mettez ce script en Bas de Window_Base: - Code:
-
#===================================== #Gradient Bars with customizable lengths, thicknesses, types and Colors #By AcedentProne #===================================== def draw_normal_barz(x, y, type, length, thick, e1, e2, c1 = Color.new(255,0,0,255), c2 = Color.new(0,0,0,255)) if type == "horizontal" width = length height = thick self.contents.fill_rect(x-1, y - 1, width+2, height + 3, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width, height + 1, Color.new(0, 0, 0, 255)) w = width * e1 / e2 for i in 0..height r = c1.red + (c2.red - c1.red) * (height -i)/height + 0 * i/height g = c1.green + (c2.green - c1.green) * (height -i)/height + 0 * i/height b = c1.blue + (c2.blue - c1.blue) * (height -i)/height + 0 * i/height a = c1.alpha + (c2.alpha - c1.alpha)* (height -i)/height + 255 * i/height self.contents.fill_rect(x, y+i, w, 1, Color.new(r, g, b, a)) end elsif type == "vertical" width = thick height = length self.contents.fill_rect(x-1, y - 1, width+3, height + 2, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width+1, height , Color.new(0, 0, 0, 255)) h = height * e1 / e2 for i in 0..width r = c1.red + (c2.red - c1.red) * (width -i)/width + 0 * i/width g = c1.green + (c2.green - c1.green) * (width -i)/width + 0 * i/width b = c1.blue + (c2.blue - c1.blue) * (width -i)/width + 0 * i/width a = c1.alpha + (c2.alpha - c1.alpha)* (width -i)/width + 255 * i/width self.contents.fill_rect(x+i, y, 1, h, Color.new(r, g, b, a)) end end end def draw_actor_barz(actor,x, y, type, length, thick, e1, e2, c1 = Color.new(255,0,0,255), c2 = Color.new(0,0,0,255)) if type == "horizontal" width = length height = thick self.contents.fill_rect(x-1, y - 1, width+2, height + 3, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width, height + 1, Color.new(0, 0, 0, 255)) w = width * e1 / e2 for i in 0..height r = c1.red + (c2.red - c1.red) * (height -i)/height + 0 * i/height g = c1.green + (c2.green - c1.green) * (height -i)/height + 0 * i/height b = c1.blue + (c2.blue - c1.blue) * (height -i)/height + 0 * i/height a = c1.alpha + (c2.alpha - c1.alpha)* (height -i)/height + 255 * i/height self.contents.fill_rect(x, y+i, w, 1, Color.new(r, g, b, a)) end elsif type == "vertical" width = thick height = length self.contents.fill_rect(x-1, y - 1, width+3, height + 2, Color.new(255, 255, 255, 255)) self.contents.fill_rect(x, y, width+1, height , Color.new(0, 0, 0, 255)) h = height * e1 / e2 for i in 0..width r = c1.red + (c2.red - c1.red) * (width -i)/width + 0 * i/width g = c1.green + (c2.green - c1.green) * (width -i)/width + 0 * i/width b = c1.blue + (c2.blue - c1.blue) * (width -i)/width + 0 * i/width a = c1.alpha + (c2.alpha - c1.alpha)* (width -i)/width + 255 * i/width self.contents.fill_rect(x+i, y, 1, h, Color.new(r, g, b, a)) end end end
Puis creer un nouveau scrîpt au dessus de Main nommé [Scene_Progress] Mettez ce Code: Code: #Game Progress Screen made by osbornecreations A.K.A Lewis Osborne #This was made by an englishman!!! (thats me) go on son! #Just put in a new screen above main. it shouldn't interfere with anything. #To call the scrîpt, use $scene = Scene_Progress.new and to change the #game progress bar, it is assigned using $game_variables[1] so through the game #call a scrîpt and type in something like $game_variables[1] =10 to make the game 10% complete. #=================================================== # Scene_Progress #=================================================== class Scene_Progress #--------------------------------------------------------------------------------- def initialize end #--------------------------------------------------------------------------------- def main @window1 = Window_Progress.new @window1.x =160 @window1.y =200 @window1.height = 100 @window1.width = 341 [email]#@window1.z[/email] = 200 Graphics.transition loop do Graphics.update Input.update if Input.trigger?(Input::B) # LZ SE t $game_system.se_play($data_system.cancel_se) # }bvハノリヨヲ @sprite = Sprite.new @sprite.bitmap = RPG::Cache.panorama("", 0) $scene = Scene_Menu.new end #update if $scene != self break end end Graphics.freeze @window1.dispose end #--------------------------------------------------------------------------------- #--------------------------------------------------------------------------------- def update end #--------------------------------------------------------------------------------- end class Window_Progress < Window_Base #--------------------------------------------------------------------------------- def initialize super(0, 0, 341,100) self.contents = Bitmap.new(width - 50, height - 32) self.contents.font.name = "Tahoma" self.contents.font.size = 24 self.contents.font.color = text_color(0) self.contents.draw_text(20, 0, 33, 33, "Progré") self.contents.draw_text(55, 0, 33, 33, "du") self.contents.draw_text(88, 0, 33, 33, "Jeu ") self.contents.draw_text(110, 0, 33, 33, "% ") draw_actor_barz(0,20,35, "horizontal", 255, 28,$game_variables[1],100) @sprite = Sprite.new @sprite.bitmap = RPG::Cache.panorama("004-CloudySky01", 0) end #--------------------------------------------------------------------------------- end Puis pour utiliser ce script Mettez: - Code:
-
$scene = Scene_Progress.new Utilisation: Ligne 62:Specifiez La police Du message Ligne 63:Specifiez La Taille Du message Ligne 64:Specifiez La couleur Du message Lignes 65,66,67,68:Le contenu du Message Ligne 69:Specifiez L'id de Lavariable[Si vous voulez que la barre soit affichée verticalement changez"horizontal"par"vertical"] Ligne 71:Specifiez le nom du panorama. | |
|