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



Le Deal du moment : -17%
SSD interne Crucial SSD P3 1To NVME à ...
Voir le deal
49.99 €

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
» Intégration design
» 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 | Cookies | Forum gratuit