Partagez
Aller en bas
Lityk
Membre

Nombre de messages : 173
Date d'inscription : 11/04/2011

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 0:29
Ok, ça va déjà nettement mieux, toutefois, des bugs persistent.
Lorsque je choisis d'aller dans Quêtes, une erreur apparait

correspondante à la ligne :
       command_quest
Ring Menu - Page 2 Mltz
Lorsque je choisis d'aller dans Equipement, Magies, ou Statut, une autre erreur apparait
Ring Menu - Page 2 0328
correspondante à la ligne :
   if $game_system.maic_inserted_menu_commands.include?(@command_window.current_symbol)
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 0:48
Voici test et dis moi quoi, pour info cette version est testée sur un projet vierge et fonctionne parfaitement :

Code:
#====================================================================
#Script: Ring Menu [ACE]
#Criado por: Victor Gomez
#
#Modifié et traduit par Spywaretof
#Ajout d'une nouvelle entrée ppur le script de quête de Modern Algebra.
#Dernière modif : 24.11.2013
#====================================================================

module Configuration
    #nome dos items, ["items","sair","equip" etc...]
   
    Item_name = [
    "Inventaire",
    "Magie",
    "Equipements",
    "Statut",
    "Quêtes",
    "Formation",
    "Sauvegarder",
    "Quitter"
    ]
   
    #Nombre d'options maximum
    Item_max = 8
    #icones utilisés = [144,128,40,40,137,149,112,1]
    Item_icon = [144,128,40,41,137,149,112,1]
    #Activé  ? ["item","skill"...]
    Item_hab = [true,true,true,true,true,true,true,true]
  end
 

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#==============================================================================

class Scene_Menu < Scene_MenuBase
  #--------------------------------------------------------------------------
  # * Initialisation
  #--------------------------------------------------------------------------
  def start
    super
    @win_local = Window_Local.new(0,0)
    px = $game_player.screen_x - 16
    py = $game_player.screen_y - 28
    @ring_menu = Window_RingMenu_Comando.new(px,py)
    create_status_window
    @status_window.visible = false
    create_gold_window
  end
 
  def update
    super
    @ring_menu.update
    @win_local.update
    if Input.trigger?(Input::C)
    case @ring_menu.indice
      when 0
        command_item
      when 1,2,3,4
        command_personal
      when 5
        command_formation
      when 6
      command_save
      when 7
        command_game_end
      end
    end
    if Input.trigger?(:B)
      return_scene
    end

    if Input.trigger?(Input::UP) or  Input.trigger?(Input::LEFT) and @ring_menu.lol != false
      Sound.play_cursor
      @ring_menu.girar(3)
      return
    end
    if Input.trigger?(Input::DOWN) or  Input.trigger?(Input::RIGHT) and @ring_menu.lol != false
      Sound.play_cursor
      @ring_menu.girar(4)
      return
    end
  end
 
  def terminate
    super
    @ring_menu.dispose
    @win_local.dispose
  end
 
  #--------------------------------------------------------------------------
  # * Cria��o da janela de comando
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,    method(:command_personal))
    @command_window.set_handler(:equip,    method(:command_personal))
    @command_window.set_handler(:status,    method(:command_personal))
    @command_window.set_handler(:formation, method(:command_formation))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
  end
  #--------------------------------------------------------------------------
  # * Cria��o da janela de dinheiro
  #--------------------------------------------------------------------------
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = -20
    @gold_window.y = Graphics.height - @gold_window.height
    @gold_window.opacity = 0
  end
  #--------------------------------------------------------------------------
  # * Cria��o da janela de atributos
  #--------------------------------------------------------------------------
  def create_status_window
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Comando [Item]
  #--------------------------------------------------------------------------
  def command_item
    SceneManager.call(Scene_Item)
  end
  #--------------------------------------------------------------------------
  # * Comando [Habilidade] [Equipamentos] [Atributos]
  #--------------------------------------------------------------------------
  def command_personal
    @status_window.select_last
    @status_window.visible = true
    @ring_menu.lol = false
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_personal_ok))
    @status_window.set_handler(:cancel, method(:on_personal_cancel))
  end
  #--------------------------------------------------------------------------
  # * Comando [Forma��o]
  #--------------------------------------------------------------------------
  def command_formation
    @status_window.select_last
    @status_window.activate
    @status_window.set_handler(:ok,    method(:on_formation_ok))
    @status_window.set_handler(:cancel, method(:on_formation_cancel))
  end
  #--------------------------------------------------------------------------
  # * Comando [Salvar]
  #--------------------------------------------------------------------------
  def command_save
    SceneManager.call(Scene_Save)
  end
  #--------------------------------------------------------------------------
  # * Comando [Fim do Jogo]
  #--------------------------------------------------------------------------
  def command_game_end
    SceneManager.call(Scene_End)
  end
  #--------------------------------------------------------------------------
  # * Comandos individuais [Confirma��o]
  #--------------------------------------------------------------------------
  def on_personal_ok
    case @ring_menu.indice
    when 1
      @status_window.visible = false
      SceneManager.call(Scene_Skill)
    when 2
      @status_window.visible = false
      SceneManager.call(Scene_Equip)
    when 3
      @status_window.visible = false
      SceneManager.call(Scene_Status)
    when 4
      SceneManager.call(Scene_Quest)
    end
  end
  #--------------------------------------------------------------------------
  # * Comandos individuais [Cancelamento]
  #--------------------------------------------------------------------------
  def on_personal_cancel
    @status_window.visible = false
    @ring_menu.lol = true
    @status_window.unselect
  end
  #--------------------------------------------------------------------------
  # * Mudan�a de Ordem [Confirma��o]
  #--------------------------------------------------------------------------
  def on_formation_ok
    @status_window.visible = true
    if @status_window.pending_index >= 0
      $game_party.swap_order(@status_window.index,
                            @status_window.pending_index)
      @status_window.pending_index = -1
      @status_window.redraw_item(@status_window.index)
    else
      @status_window.pending_index = @status_window.index
    end
    @status_window.activate
  end
  #--------------------------------------------------------------------------
  # * Mudan�a de Ordem [Cancelamento]
  #--------------------------------------------------------------------------
  def on_formation_cancel
    if @status_window.pending_index >= 0
      @status_window.pending_index = -1
      @status_window.activate
    else
      @status_window.unselect
      @status_window.visible = false
    end
  end
end

class Window_RingMenu_Comando < Window_Base
 
  DurIni = 30
  DurMov = 15
  RaioAnel = 64
  ModoIni = 1
  ModoEsp = 2
  ModoMD = 3
  ModoME = 4
  SE_Inicio = ""
 
  attr_accessor :lol
  attr_accessor :indice
  #--------------------------------------------------------------------------
  # Inicia o objeto
  #--------------------------------------------------------------------------
  def initialize(centro_x,centro_y)
    super(0, 0, 544, 416)
    self.opacity = 0
    self.contents.font.size = 16
    @item_name = Configuration::Item_name
    @item_max = Configuration::Item_max
    @item_icon = Configuration::Item_icon
    @item_hab = Configuration::Item_hab
    @indice = 0
    @cx = centro_x - 12
    @cy = centro_y - 12
    inicia_menu
    refresh
    @lol = true
  end
  #--------------------------------------------------------------------------
  # Atualiza o objeto
  #-------------------------------------------------------------------------- 
  def update
    super
    refresh
  end
  #--------------------------------------------------------------------------
  # Atualiza o objeto
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    case @modo
    when ModoIni
      refresh_inicio
    when ModoEsp
      refresh_espera
    when ModoMD
      refresh_mover(1)
    when ModoME
      refresh_mover(0)
    end
    sw = self.contents.width
    rect = Rect.new((@cx - ((sw-32)/2))+12, @cy - 40, sw-32, 32)
    self.contents.draw_text(rect, @item_name[@indice],1)
  end
  #--------------------------------------------------------------------------
  # Abre o menu
  #--------------------------------------------------------------------------
  def refresh_inicio
    d1 = 2.0 * Math::PI / @item_max
    d2 = 1.0 * Math::PI / DurIni
    r = RaioAnel - 1.0 * RaioAnel * @passos / DurIni
    for i in 0...@item_max
      j = i - @indice
      d = d1 * j + d2 * @passos
      x = @cx + ( r * Math.sin( d ) ).to_i
      y = @cy - ( r * Math.cos( d ) ).to_i
      desenha_item(x, y, i)
    end
    @passos -= 1
    if @passos < 1
      @modo = ModoEsp
    end
  end
  #--------------------------------------------------------------------------
  # Atualiza o menu
  #--------------------------------------------------------------------------
  def refresh_espera
    d = 2.0 * Math::PI / @item_max
    for i in 0...@item_max
      j = i - @indice
      x = @cx + ( RaioAnel * Math.sin( d * j ) ).to_i
      y = @cy - ( RaioAnel * Math.cos( d * j ) ).to_i
      desenha_item(x, y, i)
    end
  end
  #--------------------------------------------------------------------------
  # Movimenta o menu
  #--------------------------------------------------------------------------
  def refresh_mover(modo)
    d1 = 2.0 * Math::PI / @item_max
    d2 = d1 / DurMov
    d2 *= -1 if modo != 0
    for i in 0...@item_max
      j = i - @indice
      d = d1 * j + d2 * @passos
      x = @cx + ( RaioAnel * Math.sin( d ) ).to_i
      y = @cy - ( RaioAnel * Math.cos( d ) ).to_i
      desenha_item(x, y, i)
    end
    @passos -= 1
    if @passos < 1
      @modo = ModoEsp
    end
  end
  #--------------------------------------------------------------------------
  # Desenha o icone
  #--------------------------------------------------------------------------
  def desenha_item(x, y, i)
    if @indice == i
      self.cursor_rect.set(x-4, y-4, 32, 32)
      draw_icon(@item_icon[i], x, y, @item_hab[i])
    else
      draw_icon(@item_icon[i], x, y, @item_hab[i])
    end
  end
  #--------------------------------------------------------------------------
  # Inicia o menu
  #--------------------------------------------------------------------------
  def inicia_menu
    @modo = ModoIni
    @passos = DurIni
    if  SE_Inicio != nil and SE_Inicio != "" and @activate
      Audio.se_play("Audio/SE/" + SE_Inicio, 80, 100)
    end
  end
  #--------------------------------------------------------------------------
  # Gira o menu
  #--------------------------------------------------------------------------
  def girar(modo)
    if modo == ModoMD
      @indice -= 1
      @indice = @item_hab.size - 1 if @indice < 0
    elsif modo == ModoME
      @indice += 1 and @activate
      @indice = 0 if @indice >= @item_hab.size
    else
      return
    end
    @modo = modo
    @passos = DurMov
  end
 
end

#==============================================================================
# Scene_Title
#------------------------------------------------------------------------------
# Faz modifica��es nescessarias para a exibi��o do nome do mapa
#==============================================================================

module DataManager
    def self.load_normal_database
    $data_actors        = load_data("Data/Actors.rvdata2")
    $data_classes      = load_data("Data/Classes.rvdata2")
    $data_skills        = load_data("Data/Skills.rvdata2")
    $data_items        = load_data("Data/Items.rvdata2")
    $data_weapons      = load_data("Data/Weapons.rvdata2")
    $data_armors        = load_data("Data/Armors.rvdata2")
    $data_enemies      = load_data("Data/Enemies.rvdata2")
    $data_troops        = load_data("Data/Troops.rvdata2")
    $data_states        = load_data("Data/States.rvdata2")
    $data_animations    = load_data("Data/Animations.rvdata2")
    $data_tilesets      = load_data("Data/Tilesets.rvdata2")
    $data_common_events = load_data("Data/CommonEvents.rvdata2")
    $data_system        = load_data("Data/System.rvdata2")
    $data_mapinfos      = load_data("Data/MapInfos.rvdata2")
    $data_mapinfo = load_data("Data/MapInfos.rvdata2")
  end
end

#==============================================================================
# Window_Local
#------------------------------------------------------------------------------
# Cria a janela responsavel pela exibi��o do nome do mapa
#==============================================================================

class Window_Local < Window_Base
  #--------------------------------------------------------------------------
  # Inicia o objeto
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 160, 96)
    self.opacity = 0
    refresh
  end
  #--------------------------------------------------------------------------
  # Atualiza o objeto
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120, 32, "Local:")
    self.contents.font.color = system_color
    self.contents.draw_text(4, 32, 120, 32, $data_mapinfo[$game_map.map_id].name, 2)
  end
end

_________________
Ring Menu - Page 2 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Ring Menu - Page 2 344805
Lityk
Lityk
Membre

Nombre de messages : 173
Age : 27
Localisation : Metz
Distinction : aucune
Date d'inscription : 11/04/2011

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 1:31
Toujours le même problème à la ligne 2867 du script de journal de quetes.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 1:40
Le script de quête ne fait que 2744 lignes merci de prendre la dernière version de son script soit la version 1.0.3 pour VxAce.

_________________
Ring Menu - Page 2 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Ring Menu - Page 2 344805
Lityk
Lityk
Membre

Nombre de messages : 173
Age : 27
Localisation : Metz
Distinction : aucune
Date d'inscription : 11/04/2011

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 1:44
Aurai tu un lien pour cette version ? Je crois avoir la version 1.0.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 1:48
Voila le lien vers la nouvelle version de ton script de quête :

http://rmrk.net/index.php/topic,45127.0.html

_________________
Ring Menu - Page 2 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Ring Menu - Page 2 344805
Lityk
Lityk
Membre

Nombre de messages : 173
Age : 27
Localisation : Metz
Distinction : aucune
Date d'inscription : 11/04/2011

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 1:54
Ca ne change rien au problème, malheureusement. J'ai toujours cette même erreur des que je vais dans un sous menu. S'il y a plus de lignes c'est parce qu'il y a déjà des quêtes que j'ai préparées.
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 2:00
Bizarre de mon côté cela fonctionne bien, je t envoi la démo des que j ai un moment.

_________________
Ring Menu - Page 2 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Ring Menu - Page 2 344805
Lityk
Lityk
Membre

Nombre de messages : 173
Age : 27
Localisation : Metz
Distinction : aucune
Date d'inscription : 11/04/2011

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 2:14
C'est vraiment étrange. Le pire étant que ça se bloque a cette ligne
if $game_system.maic_inserted_menu_commands.include?(@command_window.current_symbol)

qui est quasiment la dernière, je n'arrive pas à comprendre à quoi cela correspond et avec ton aide, j'ai tellement l'impression de toucher au but...
Spytje
Spytje
Administrateur

Nombre de messages : 5933
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 2:22
Dans le début du script essaie de mettre false à la ligne ou il te demande si tu veux que l option qui permet de rentrer dans le menu quête soit apparent. Je pense qu elle est sur true et elle doit être sur false.

_________________
Ring Menu - Page 2 911

LE PROJET SUR FACEBOOK

N'hésitez pas à suivre la page  Ring Menu - Page 2 344805
Lityk
Lityk
Membre

Nombre de messages : 173
Age : 27
Localisation : Metz
Distinction : aucune
Date d'inscription : 11/04/2011

Ring Menu - Page 2 Empty Re: Ring Menu

le Lun 25 Nov 2013 - 2:32
MENU_ACCESS = false
Pourtant le problème persiste.
Pollius
Pollius
Membre

Nombre de messages : 42
Distinction : aucune
Date d'inscription : 23/10/2015

Ring Menu - Page 2 Empty Re: Ring Menu

le Sam 31 Oct 2015 - 20:42
J'ai utilisé ce menu en le combinant avec un script d'alchimie et je ne l'ai pas dans le menu tu pourrais faire une version avec un icône en plus ?
Zangther
Zangther
Membre

Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013

Ring Menu - Page 2 Empty Re: Ring Menu

le Mar 3 Nov 2015 - 22:39
T'as une version customisable ici : https://www.rpgmakervx-fr.com/t13778-ring-menu
Suffit juste d'ajouter une option dans la configuration et c'est bon.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum