-42%
Le deal à ne pas rater :
Acer Chromebook Plus Vero 514 – PC portable 14″ (via ODR 50€)
319.99 € 549.99 €
Voir le deal

Aller en bas
Zephyr_1.2
Zephyr_1.2
Membre

Nombre de messages : 158
Localisation : Scénariste érrant...
Distinction : aucune
Date d'inscription : 13/02/2008

Mog Menu_Status_Aya V 1.0 Empty Mog Menu_Status_Aya V 1.0

Mer 13 Fév 2008 - 23:33
Voici un script qui vous permet de modifier l'apparence de votre menu statut.

Ici, un screen : Mog Menu_Status_Aya V 1.0 Mogsta10

Code:
##################################################
# Mog Menu_Status_Aya V 1.0                                     
##################################################
# By Moghunter
# http://www.atelier-rgss.com
# Traduit par: Ouroboros [metalic_puppets@hotmail.fr] pour RPG MAKER VX
# Exclusivité RPG MAKER VX http://rpgmakervx.1fr1.net
##################################################
# Le Menu statut nécéssite des images.
# Il est nécessaire de garder les mêmes nom
# Créer dans le dossier Graphics, un nouveau dossier nommé Menus et mettez y les image du menu.
# Vous pourrez personnaliser votre menu en éditant les images à l'aide d'un logiciel de retouche.
#-------------------------------------------------

#===============================================================
#                           
#                rpgmakervx.1fr1.net                                           
#       
#===============================================================

module MOG_VX07
# Configuration des paramètres maximum.
MAX_PARAMETER = 999
end
##############
# Game_Actor #
##############
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
###############
# module Cache #
###############
module Cache
def self.menu(filename)
load_bitmap("Graphics/Menus/", filename)
end
end
##############
# Window_Base #
##############
class Window_Base < Window 
 def draw_actor_atk_menu_status(actor, x, y)
 back = Cache.menu("Parameter_Bar_Back")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch + 30, back, src_rect)
 meter = Cache.menu("Parameter_Bar")   
 cw = meter.width  * actor.atk / MOG_VX07::MAX_PARAMETER
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch + 30, meter, src_rect)
 self.contents.font.size = 14
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 70, y + 5 , 80, 32, actor.atk.to_s , 2)
 end   
 def draw_actor_def_menu_status(actor, x, y)
 back = Cache.menu("Parameter_Bar_Back")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch + 30, back, src_rect)
 meter = Cache.menu("Parameter_Bar")   
 cw = meter.width  * actor.def / MOG_VX07::MAX_PARAMETER
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch + 30, meter, src_rect)
 self.contents.font.size = 14
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 70, y + 5 , 80, 32, actor.def.to_s , 2)
 end   
 def draw_actor_spi_menu_status(actor, x, y)
 back = Cache.menu("Parameter_Bar_Back")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch + 30, back, src_rect)
 meter = Cache.menu("Parameter_Bar")   
 cw = meter.width  * actor.spi / MOG_VX07::MAX_PARAMETER
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch + 30, meter, src_rect)
 self.contents.font.size = 14
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 70, y + 5 , 80, 32, actor.spi.to_s , 2)
 end   
 def draw_actor_agi_menu_status(actor, x, y)
 back = Cache.menu("Parameter_Bar_Back")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch + 30, back, src_rect)
 meter = Cache.menu("Parameter_Bar")   
 cw = meter.width  * actor.agi / MOG_VX07::MAX_PARAMETER
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch + 30, meter, src_rect)
 self.contents.font.size = 14
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 70, y + 5 , 80, 32, actor.agi.to_s , 2)
 end
 def draw_item_name_menu_status(item, x, y, enabled = true)
 if item != nil
 draw_icon(item.icon_index, x, y, enabled)
 self.contents.font.color = normal_color
 self.contents.font.color.alpha = enabled ? 255 : 128
 self.contents.draw_text(x + 30, y, 155, WLH, item.name)
 end
 end
 def draw_equipments_menu_status(actor, x, y)
 draw_item_name_menu_status(actor.equips[0], x , y)
 draw_item_name_menu_status(actor.equips[1], x , y + 45)
 draw_item_name_menu_status(actor.equips[2], x , y + 90)
 draw_item_name_menu_status(actor.equips[3], x + 125, y + 20)
 draw_item_name_menu_status(actor.equips[4], x + 125, y + 65)
 end
 def draw_actor_hp_menu_status(actor, x, y)
 back = Cache.menu("MeterBack")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch + 30, back, src_rect)
 meter = Cache.menu("HPMeter")   
 cw = meter.width  * actor.hp / actor.maxhp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch + 30, meter, src_rect)
 self.contents.font.size = 14
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 22, y + 5 , 80, 32, actor.hp.to_s + " / " + actor.maxhp.to_s, 1)
 end 
 def draw_actor_mp_menu_status(actor, x, y)
 back = Cache.menu("MeterBack")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch + 30, back, src_rect)
 meter = Cache.menu("MPMeter")   
 cw = meter.width  * actor.mp / actor.maxmp
 ch = meter.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch + 30, meter, src_rect)
 self.contents.font.size = 14
 self.contents.font.color = Color.new(255,255,255,255)
 self.contents.draw_text(x + 22, y + 5 , 80, 32, actor.mp.to_s + " / " + actor.maxmp.to_s, 1)
 end 
 def draw_actor_class_menu_status(actor, x, y)
 self.contents.font.color = normal_color
 self.contents.draw_text(x, y, 90, WLH, actor.class.name, 1)
 end
 def draw_actor_level_menu_status(actor, x, y)
 self.contents.font.color = normal_color
 self.contents.draw_text(x + 32, y, 24, WLH, actor.level, 1)
 end 
 def draw_menu_status_obj(x,y)
 lay = Cache.menu("Menu_Status_OBJ")
 cw = lay.width
 ch = lay.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x , y - ch, lay, src_rect)   
 end
 def draw_actor_exp_meter_status_menu(actor, x, y) 
 if actor.next_exp != 0
 rate = actor.now_exp.to_f / actor.next_exp
 else
 rate = 1
 end
 back = Cache.menu("MeterBack")   
 cw = back.width 
 ch = back.height
 src_rect = Rect.new(0, 0, cw, ch)   
 self.contents.blt(x , y - ch , back, src_rect)
 bitmap = Cache.menu("EXPMeter")
 if actor.level < 99
 cw = bitmap.width * rate
 else
 cw = bitmap.width
 end 
 ch = bitmap.height
 src_rect = Rect.new(0, 0, cw, ch)
 self.contents.blt(x  , y - ch , bitmap, src_rect)
 if actor.next_exp != 0
 self.contents.draw_text(x + 30, y - 20, 80, 32, actor.next_rest_exp_s, 2)   
 else
 self.contents.draw_text(x + 30, y - 20, 80, 32, "Max", 2)
 end
 self.contents.draw_text(x - 30, y + 10, 120, 32, actor.exp_s.to_s, 2)
 end 
end
####################
# Window_Status_Left #
####################
class Window_Status_Left < Window_Base
  def initialize(actor)
    super(0, 0, 560, 430)
    @actor = actor
    self.opacity = 0
    self.contents.font.bold = true
    self.contents.font.shadow = true
    refresh
  end
  def refresh
    self.contents.clear
    draw_actor_face(@actor, 350, 90)
    draw_actor_class_menu_status(@actor, 350, 195)
    draw_actor_level_menu_status(@actor, 450, 195)
    draw_actor_hp_menu_status(@actor, 350, 213)
    draw_actor_mp_menu_status(@actor, 380, 240)
    draw_actor_exp_meter_status_menu(@actor, 350, 300)
    draw_actor_atk_menu_status(@actor, 50, 170)
    draw_actor_def_menu_status(@actor, 70, 200)
    draw_actor_spi_menu_status(@actor, 90, 230)
    draw_actor_agi_menu_status(@actor, 110, 260)
    draw_equipments_menu_status(@actor, 30, 40)
    draw_actor_state(@actor,190, 320)
  end
end
#####################
# Window_Status_Right #
#####################
class Window_Status_Right < Window_Base
  def initialize(actor)
    super(0, 0, 560, 430)
    @actor = actor
    self.opacity = 0
    self.contents.font.bold = true
    self.contents.font.shadow = true
    refresh
  end
  def refresh
    self.contents.clear
    draw_actor_name(@actor, 55, 367)
    draw_menu_status_obj(0, 380)
  end
end
###############
# Scene_Status #
###############
class Scene_Status
  def main
    start                       
    perform_transition         
    Input.update                 
    loop do
      Graphics.update           
      Input.update               
      update                   
      break if $scene != self   
    end
    Graphics.update
    pre_terminate               
    Graphics.freeze           
    terminate                   
  end 
  def initialize(actor_index = 0)
    @actor_index = actor_index
  end
  def start
    @actor = $game_party.members[@actor_index]
    @status_window_right = Window_Status_Right.new(@actor)
    @status_window_right.x = 544
    @status_window_right.contents_opacity = 0
    @status_window_left = Window_Status_Left.new(@actor)
    @status_window_left.x = -544
    @status_window_left.contents_opacity = 0
    @menu_back = Plane.new   
    @menu_back.bitmap = Cache.menu("Background")
    @menu_layout = Sprite.new 
    @menu_layout.bitmap = Cache.menu("Menu_Status_Layout") 
 end
  def perform_transition
    Graphics.transition(0)
  end 
  def pre_terminate
      for i in 0..25
      @status_window_right.x += 25
      @status_window_left.x -= 25 
      @status_window_right.contents_opacity -= 15     
      @status_window_left.contents_opacity -= 15
      @menu_back.ox += 1     
      Graphics.update 
      end
  end 
  def terminate
    @status_window_right.dispose
    @status_window_left.dispose
    @menu_back.dispose
    @menu_layout.dispose
  end
  def return_scene
    $scene = Scene_Menu.new(3)
  end
  def next_actor
    @actor_index += 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Status.new(@actor_index)
  end
  def prev_actor
    @actor_index += $game_party.members.size - 1
    @actor_index %= $game_party.members.size
    $scene = Scene_Status.new(@actor_index)
  end
  def update
    @menu_back.ox += 1
    @status_window_right.contents_opacity += 10   
    @status_window_left.contents_opacity += 10   
    if @status_window_right.x  > 0
      @status_window_right.x -= 25
    elsif @status_window_right.x  <= 0
      @status_window_right.x = 0
      @status_window_right.contents_opacity = 255
    end
    if @status_window_left.x  < 0
      @status_window_left.x += 25
    elsif @status_window_left.x  >=0
      @status_window_left.x = 0
      @status_window_left.contents_opacity = 255     
    end   
    @status_window_right.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R) or Input.trigger?(Input::RIGHT)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L) or Input.trigger?(Input::LEFT)
      Sound.play_cursor
      prev_actor
    end
    super
  end
end
#-------------------------------------------------
$mogscript = {} if $mogscript == nil
$mogscript["menu_status_aya"] = true
#-------------------------------------------------


Vous trouverez les images dans la démo: DEMO


Dernière édition par le Ven 15 Fév 2008 - 23:25, édité 1 fois
Widowan
Widowan
Fondateur
Nombre de messages : 1435
Age : 41
Localisation : France
Distinction : Sergent
Tyran professionnel
Date d'inscription : 15/12/2007
https://www.rpgmakervx-fr.com

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Mer 13 Fév 2008 - 23:39
Merci à toi, et merci à Mog !
Vivement la suite du menu....
Mister Geek
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 30
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Sam 16 Fév 2008 - 12:16
Pour ceux qui souhaitent un screen :

Mog Menu_Status_Aya V 1.0 Vx_menu04_im01
Zephyr_1.2
Zephyr_1.2
Membre

Nombre de messages : 158
Localisation : Scénariste érrant...
Distinction : aucune
Date d'inscription : 13/02/2008

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Sam 16 Fév 2008 - 12:25
Merci pour le screen ^^
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 32
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Dim 17 Fév 2008 - 12:23
Impressionnant... Un peu trop flashy à mon goût mais on peut modifier les images à sa guise, donc tout va bien Smile
Dydc4
Dydc4
Membre

Nombre de messages : 135
Age : 30
Localisation : Dans le 79 tu me trouveras.
Distinction : aucune
Date d'inscription : 20/12/2007
http://www.picnicland.superforum.fr

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Dim 17 Fév 2008 - 12:29
Gamemaker a écrit:Impressionnant... Un peu trop flashy à mon goût mais on peut modifier les images à sa guise, donc tout va bien Smile

Oui, flashy il est aussi a mon gout.
Mais bien fait, il est.
moruto
moruto
Membre

Nombre de messages : 20
Distinction : aucune
Date d'inscription : 23/02/2008

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Jeu 28 Fév 2008 - 6:13
Ou sinon c'est normal qu'il marche pas chez moi?
Albalrogue
Albalrogue
Membre

Nombre de messages : 33
Age : 31
Localisation : Dans mon petit monde...
Distinction : aucune
Date d'inscription : 19/02/2008

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Jeu 28 Fév 2008 - 14:19
Moi non plus ça ne marche pas.
Contenu sponsorisé

Mog Menu_Status_Aya V 1.0 Empty Re: Mog Menu_Status_Aya V 1.0

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum