AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

Partagez
 

 Integration d'un menu bestiaire

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
1475369
Poulet Lv.1
Poulet Lv.1
1475369


Masculin Inscrit le : 27/02/2010
Messages : 8

Integration d'un menu bestiaire Empty
MessageSujet: Integration d'un menu bestiaire   Integration d'un menu bestiaire Icon_minitimeMer 2 Mar 2011 - 13:19

Bonjour !
J'ai voulu récement integrer une option bestiaire a mon menu. Je débute dans le script. Etant donner que j'utilise également le script Menu_Mog_Yui (désoler je ne me souvient plus du nom exacte Embarassed ) j'ai integrer mon bestiaire au scripte scene_menu ET a mon script mog_menu mais au lancement du jeu tout va bien et dès que j'ouvre le menu sa plante avec le message "Script 'Mog_menu' line 381: NoMethodError occurred. undefined method 'bestiaire' for Vocab:Module". Voila ce que j'ai changer a mes script :

Scene_Menu:

Code:
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
  s7 = Vocab::bestiaire
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)    # Disable item
      @command_window.draw_item(1, false)    # Disable skill
      @command_window.draw_item(2, false)    # Disable equipment
      @command_window.draw_item(3, false)    # Disable status
    end
    if $game_system.save_disabled            # If save is forbidden
      @command_window.draw_item(4, false)    # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Save
        $scene = Scene_File.new(true, false, false)
      when 5      # End Game
        $scene = Scene_End.new
      when 6
        $scene = Scene_Liste_Monstres.new
        end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end



Mog_Menu :

Code:
#################################################
# Mog Menu Yui V 1.0                                                #
##################################################
# By Moghunter
# http://www.atelier-rgss.com
##################################################
# Menu com layout em pictures.
# É necessário criar uma pasta com o nome de
# Menus e colocar todas as imagens dentro dela, de resto
# é só criar o seu próprio estilo de menu através de um
#editor de imagem.
#-------------------------------------------------
###############
# module Cache #
###############
module Cache
  def self.menu(filename)
    load_bitmap("Graphics/Menus/", filename)
  end
end
###############
# Window_Base #
###############
class Window_Base < Window 
  def draw_actor_level_menu(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)
  end 
  def draw_currency_value_menu(value, x, y, width)
    cx = contents.text_size(Vocab::gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(x, y, width-cx-2, WLH, value, 1)
  end
def draw_actor_hp_menu(actor, x, y)
back = Cache.menu("Meter_Back")   
cw = back.width 
ch = back.height
src_rect = Rect.new(0, 0, cw, ch)   
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = Cache.menu("HP_Meter")   
cw = meter.width  * actor.hp / actor.maxhp
ch = meter.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = Cache.menu("HP_Text")   
cw = text.width 
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.hp.to_s, 2)   
end   
def draw_actor_mp_menu(actor, x, y)
back = Cache.menu("Meter_Back")   
cw = back.width 
ch = back.height
src_rect = Rect.new(0, 0, cw, ch)   
self.contents.blt(x + 65, y - ch + 30, back, src_rect)
meter = Cache.menu("MP_Meter")   
cw = meter.width  * actor.mp / actor.maxmp
ch = meter.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 65, y - ch + 30, meter, src_rect)
text = Cache.menu("MP_Text")   
cw = text.width 
ch = text.height
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x + 35, y - ch + 30, text, src_rect)
self.contents.font.color = Color.new(0,0,0,255)
self.contents.draw_text(x + 81, y - 1, 48, 32, actor.mp.to_s, 2)
self.contents.font.color = Color.new(255,255,255,255)
self.contents.draw_text(x + 80, y - 2, 48, 32, actor.mp.to_s, 2)   
end     
def draw_actor_name_menu(actor, x, y)
    self.contents.font.color = text_color(23)
    self.contents.draw_text(x, y, 108, WLH, actor.name,1)
end 
def draw_actor_level_menu(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, WLH, " L")
    self.contents.font.color = text_color(10)
    self.contents.draw_text(x + 18, y, 24, WLH, actor.level, 1)
end 
end
############
# Game_Map #
############
class Game_Map
attr_reader  :map_id 
def mpname
$mpname = load_data("Data/MapInfos.rvdata")
$mpname[@map_id].name
end
end
########################
# Window_Selectable_Menu #
########################
class Window_Selectable_Menu < Window_Base
  attr_reader  :item_max             
  attr_reader  :column_max           
  attr_reader  :index                   
  def initialize(x, y, width, height, spacing = 32)
    @item_max = 1
    @column_max = 1
    @index = -1
    @spacing = spacing
    super(x, y, width, height)
  end
  def create_contents
    self.contents.dispose
    self.contents = Bitmap.new(width - 32, [height - 32, row_max * WLH].max)
  end 
  def index=(index)
    @index = index
  end
  def row_max
    return (@item_max + @column_max - 1) / @column_max
  end
  def top_row
    return self.oy / WLH
  end
  def top_row=(row)
    row = 0 if row < 0
    row = row_max - 1 if row > row_max - 1
    self.oy = row * WLH
  end
  def page_row_max
    return (self.height - 32) / WLH
  end
  def page_item_max
    return page_row_max * @column_max
  end
  def bottom_row
    return top_row + page_row_max - 1
  end
  def bottom_row=(row)
    self.top_row = row - (page_row_max - 1)
  end
  def cursor_movable?
    return false if (not visible or not active)
    return false if (index < 0 or index > @item_max or @item_max == 0)
    return false if (@opening or @closing)
    return true
  end
  def cursor_down(wrap = false)
    if (@index < @item_max - @column_max) or (wrap and @column_max == 1)
      @index = (@index + @column_max) % @item_max
    end
  end
  def cursor_up(wrap = false)
    if (@index >= @column_max) or (wrap and @column_max == 1)
      @index = (@index - @column_max + @item_max) % @item_max
    end
  end
  def cursor_right(wrap = false)
    if (@column_max >= 2) and
      (@index < @item_max - 1 or (wrap and page_row_max == 1))
      @index = (@index + 1) % @item_max
    end
  end
  def cursor_left(wrap = false)
    if (@column_max >= 2) and
      (@index > 0 or (wrap and page_row_max == 1))
      @index = (@index - 1 + @item_max) % @item_max
    end
  end
  def update
    super
    if cursor_movable?
      last_index = @index
      if Input.repeat?(Input::DOWN)
        cursor_down(Input.trigger?(Input::DOWN))
      end
      if Input.repeat?(Input::UP)
        cursor_up(Input.trigger?(Input::UP))
      end
      if Input.repeat?(Input::RIGHT)
        cursor_down(Input.trigger?(Input::DOWN))
      end
      if Input.repeat?(Input::LEFT)
        cursor_up(Input.trigger?(Input::UP))
      end

      if @index != last_index
        Sound.play_cursor
      end
    end
  end
end
#######################
# Window_MenuStatus_Yui #
#######################
class Window_MenuStatus_Yui < Window_Selectable_Menu
  def initialize(x, y)
    super(x, y, 460, 300)
    self.contents.font.bold = true
    self.contents.font.shadow = true
    self.contents.font.size = 16
    refresh
    self.active = false
    self.index = -1
  end
  def refresh
    self.contents.clear
    @item_max = $game_party.members.size
    for actor in $game_party.members
      if actor.index == 0
      draw_actor_graphic(actor, 65, 110)
      draw_actor_name_menu(actor, 15, 120)
      draw_actor_level_menu(actor, -5, 55)   
      draw_actor_state(actor, 20, 100)     
      draw_actor_hp_menu(actor,  -30, 25)
      draw_actor_mp_menu(actor, 0, 45)     
      elsif actor.index == 1
      draw_actor_graphic(actor, 170, 210)
      draw_actor_name_menu(actor, 120, 220)
      draw_actor_level_menu(actor, 100, 155) 
      draw_actor_state(actor, 125, 200)           
      draw_actor_hp_menu(actor,  75, 120)
      draw_actor_mp_menu(actor, 105, 145)         
      elsif actor.index == 2
      draw_actor_graphic(actor, 265, 110)
      draw_actor_name_menu(actor, 215, 120) 
      draw_actor_level_menu(actor, 195, 55)   
      draw_actor_state(actor, 220, 100)           
      draw_actor_hp_menu(actor,  170, 20)
      draw_actor_mp_menu(actor, 205, 45)       
      elsif actor.index == 3
      draw_actor_graphic(actor, 370,  210) 
      draw_actor_name_menu(actor, 320, 220)   
      draw_actor_level_menu(actor, 370, 155) 
      draw_actor_state(actor, 325, 200)                 
      draw_actor_hp_menu(actor,  275, 120)
      draw_actor_mp_menu(actor, 245, 145)       
      end
    end
  end
  def update_cursor
  end
end
###############
# Window_Time #
###############
class Window_Mapname < Window_Base
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    self.contents.font.bold = true
    self.contents.font.size = 16   
    refresh
  end 
def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120, 32, $game_map.mpname.to_s, 1)
end
end
###################
# Window_Gold_Menu #
###################
class Window_Gold_Menu < Window_Base
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    self.contents.font.bold = true
    self.contents.font.size = 16
    self.contents.font.color = power_up_color   
    refresh
  end
  def refresh
    self.contents.clear
    draw_currency_value_menu($game_party.gold, 10, 0, 120)
  end
end
###############
# Window_Time #
###############
class Window_Time < Window_Base
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    self.contents.font.bold = true
    self.contents.font.size = 16
    self.contents.font.color = power_up_color
    refresh
  end
  def refresh
    self.contents.clear
    @total_sec = Graphics.frame_count / Graphics.frame_rate
    hour = @total_sec / 60 / 60
    min = @total_sec / 60 % 60
    sec = @total_sec % 60
    text = sprintf("%02d:%02d:%02d", hour, min, sec)
    self.contents.draw_text(4, 0, 120, 32,  text, 2)
end
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end
##############
# Scene_Menu #
##############
class Scene_Menu 
  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(menu_index = 0)
    @menu_index = menu_index
  end 
  def perform_transition
    Graphics.transition(10, "Graphics/System/BattleStart", 80)   
  end
  def start
    @menu_back = Plane.new   
    @menu_back.bitmap = Cache.menu("Background")
    @menu_layout = Sprite.new 
    @menu_layout.bitmap = Cache.menu("Menu_Layout")
    @menu_com = Sprite.new 
    @menu_com.bitmap = Cache.menu("Menu_Com01")
    @menu_select = Sprite.new 
    @menu_select.bitmap = Cache.menu("Menu_Select00")
    create_command_window
    @gold_window = Window_Gold_Menu.new(195, 45)
    @status_window = Window_MenuStatus_Yui.new(100, 60)
    @playtime_window = Window_Time .new(165, 0)
    @mapname_window = Window_Mapname.new(195,360)
    @status_window.opacity = 0
    @playtime_window.opacity = 0
    @mapname_window.opacity = 0
    @gold_window.opacity = 0   
  end
  def pre_terminate
  end 
  def terminate
    @menu_back.dispose
    @menu_layout.dispose
    @menu_com.dispose
    @menu_select.dispose
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @playtime_window.dispose
    @mapname_window.dispose
  end
  def update
    @menu_back.ox += 1
    @command_window.update
    @gold_window.update
    @status_window.update
    @mapname_window.update
    @playtime_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    s7 = Vocab::bestiaire
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    @command_window.openness = 0
    @command_window.open
    @command_window.opacity = 0
    @command_window.contents_opacity = 0
    if $game_system.save_disabled             
      @command_window.draw_item(4, false)   
    end
  end
  def update_command_selection   
    case @command_window.index
  when 0
    @menu_com.bitmap = Cache.menu("Menu_Com01")
    when 1
    @menu_com.bitmap = Cache.menu("Menu_Com02")
    when 2
    @menu_com.bitmap = Cache.menu("Menu_Com03")
    when 3
    @menu_com.bitmap = Cache.menu("Menu_Com04")
    when 4
    @menu_com.bitmap = Cache.menu("Menu_Com05")
    when 5
    @menu_com.bitmap = Cache.menu("Menu_Com06")   
    when 6
    @menu_com.bitmap = Cache.menu("Menu_Com07")
    end         
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0     
        $scene = Scene_Item.new
      when 1,2,3 
        start_actor_selection
      when 4     
        $scene = Scene_File.new(true, false, false)
      when 5   
        $scene = Scene_End.new
      when 6
        $scene = Scene_Liste_Monstres.new
        end
    end
  end
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @menu_select.bitmap = Cache.menu("Menu_Select00")
    @status_window.index = -1
  end
  def update_actor_selection   
    case @status_window.index
    when 0
    @menu_select.bitmap = Cache.menu("Menu_Select01")
    when 1
    @menu_select.bitmap = Cache.menu("Menu_Select02")
    when 2
    @menu_select.bitmap = Cache.menu("Menu_Select03")
    when 3
    @menu_select.bitmap = Cache.menu("Menu_Select04")
    end
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1
        $scene = Scene_Skill.new(@status_window.index)
      when 2 
        $scene = Scene_Equip.new(@status_window.index)
      when 3 
        $scene = Scene_Status.new(@status_window.index)
      when 4
        $scene = Scene_Liste_Monstres.new(@status_window.index)
        end
    end
  end
end
$mogscript = {} if $mogscript == nil
$mogscript["menu_yui"] = true

Merci d'avance
Revenir en haut Aller en bas
BARVACHE
Vache Folle
Vache Folle
BARVACHE


Masculin Age : 29
Inscrit le : 22/05/2010
Messages : 3005

Integration d'un menu bestiaire Empty
MessageSujet: Re: Integration d'un menu bestiaire   Integration d'un menu bestiaire Icon_minitimeMer 2 Mar 2011 - 13:24

Le menu mog est simplement incompatible avec le bestiaire. Il faudrait revoir le menu mog et je doute qu'un scripteur accepte^^"
Revenir en haut Aller en bas
1475369
Poulet Lv.1
Poulet Lv.1
1475369


Masculin Inscrit le : 27/02/2010
Messages : 8

Integration d'un menu bestiaire Empty
MessageSujet: Re: Integration d'un menu bestiaire   Integration d'un menu bestiaire Icon_minitimeMer 2 Mar 2011 - 14:35

Merci mais j'ai résolu mon problème en modifiant le script du menu mog.
Revenir en haut Aller en bas
Contenu sponsorisé




Integration d'un menu bestiaire Empty
MessageSujet: Re: Integration d'un menu bestiaire   Integration d'un menu bestiaire Icon_minitime

Revenir en haut Aller en bas
 

Integration d'un menu bestiaire

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Mettre le bestiaire dans le menu tournant.
» [VX] Je voudrai un bestiaire pour le menu ! (script) merci d'avance
» Bestiaire => SBS 3.3
» Probleme integration de personnage ou faceset
» Aller directement à un sous-menu sans passer par le menu général

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit | Informatique et Internet | Informatique et électronique