Partagez
Aller en bas
Douk
Douk
Membre

Nombre de messages : 296
Age : 25
Distinction : aucune
Date d'inscription : 23/04/2008
http://www.arcantia.info-a.googlepages.com/index.html

Menu tournant ! Empty Menu tournant !

le Dim 29 Juin 2008 - 16:48
Bonjour !

Auteur :
DouglasMF

Screen :

Menu tournant ! Ringme10

Script :

Code:
=begin
Script Criado por DouglasMF das comunidades VilaMakers Online e RPG Maker Brasil
Com base no script Ring Menu feito por XRXS, Dubealex e Hypershadow180

--Inscruction--
Pour installer ce script, mettez le au dessus de Main

=end
#==============================================================================
# Scene_Menu
#------------------------------------------------------------------------------
# Esta classe controla o conjunto de objetos que forma o RingMenu
#==============================================================================

#===============================================================
#                         
#                www.rpgmakervx-fr.com                                         
#     
#===============================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # Inicializa
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # Inicia os objetos do menu
  #--------------------------------------------------------------------------
  def start
    super
    @spriteset = Spriteset_Map.new
    @gold_window = Window_Gold.new(0, 360)
    @win_local = Window_Local.new(0,0)
    @status_window = Window_MenuStatus.new(160, 0)
    px = $game_player.screen_x - 16
    py = $game_player.screen_y - 28
    @ring_menu = Window_RingMenu_Comando.new(px,py)
    @status_window.z = @ring_menu.z + 20
    @status_window.visible = false
  end
  #--------------------------------------------------------------------------
  # Fexa os objetos do menu
  #--------------------------------------------------------------------------
  def terminate
    super
    @spriteset.dispose
    @ring_menu.dispose
    @gold_window.dispose
    @win_local.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # Atualiza os objetos do menu
  #--------------------------------------------------------------------------
  def update
    super
    @ring_menu.update
    @gold_window.update
    @win_local.update
    @spriteset.update
    @status_window.update
    if @ring_menu.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # Atualiza o comando e a seleção do menu
  #--------------------------------------------------------------------------
  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 @ring_menu.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @ring_menu.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @ring_menu.indice
      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
      end
    end
    if Input.trigger?(Input::UP) or  Input.trigger?(Input::LEFT)
      Sound.play_cursor
      @ring_menu.girar(3)
      return
    end
    if Input.trigger?(Input::DOWN) or  Input.trigger?(Input::RIGHT)
      Sound.play_cursor
      @ring_menu.girar(4)
      return
    end
  end
  #--------------------------------------------------------------------------
  # Inicia a seleção de personagem
  #--------------------------------------------------------------------------
  def start_actor_selection
    @ring_menu.active = false
    @status_window.visible = true
    @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
  #--------------------------------------------------------------------------
  # Finaliza a seleção de personagens
  #--------------------------------------------------------------------------
  def end_actor_selection
    @ring_menu.active = true
    @status_window.active = false
    @status_window.visible = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # Atualiza a seleção de personagens
  #--------------------------------------------------------------------------
  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 @ring_menu.indice
      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)
      end
    end
  end
end

#==============================================================================
# Window_RingMenu_Comando
#------------------------------------------------------------------------------
# Esta classe cria o ring menu.
#==============================================================================

class Window_RingMenu_Comando < Window_Base
 
  DurIni = 30
  DurMov = 15
  RaioAnel = 64
  ModoIni = 1
  ModoEsp = 2
  ModoMD = 3
  ModoME = 4
  SE_Inicio = ""
 
  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
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @item_name = [s1,s2,s3,s4,s5,s6]
    @item_max = 6
    @item_icon = [144,128,40,137,149,112]
    @item_hab = [true,true,true,true,true,true]
    @indice = 0
    @cx = centro_x - 12
    @cy = centro_y - 12
    inicia_menu
    refresh
  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 != ""
      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
      @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
#==============================================================================

class Scene_Title
  alias load_database_old load_database
  def load_database
    load_database_old
    $data_mapinfo = load_data("Data/MapInfos.rvdata")
  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)
    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

Info sup' :
A inserer au dessus de Main

PS : Je le traduirais bientôt !


Dernière édition par Douk le Ven 4 Juil 2008 - 21:21, édité 3 fois
Anonymous
Invité
Invité

Menu tournant ! Empty Re: Menu tournant !

le Mar 1 Juil 2008 - 21:07
Eeeeh !! Mais quelle TROUVAILLE !!! Excélent !!!
ça va servir a PLEIN de monde ça !!
Un grand mercii !!!

+1
Sianobel
Sianobel
Membre

Nombre de messages : 25
Age : 32
Localisation : Bruxelles
Distinction : aucune
Date d'inscription : 24/06/2008
http://perhiliel.evoconcept.net/

Menu tournant ! Empty Re: Menu tournant !

le Mer 2 Juil 2008 - 11:01
J'ai testé, c'est impeccable. Moi qui veut que tout tourne autours du personnage principal, c'est tout à fait ce qu'il me fallait.

Y a t il moyen de changer les icônes, juste pour savoir?

Edit moi: Pour ceux qui employerait le script pour augmenter la résolution, il faut changer cette ligne:
Code:
@gold_window = Window_Gold.new(0, 360)
en
Code:
@gold_window = Window_Gold.new(0, 425)
pour que la fenêtre où il y a l'or soit bien en bas de l'écran
Mister Geek
Mister Geek
Staffeux retraité

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

Menu tournant ! Empty Re: Menu tournant !

le Ven 4 Juil 2008 - 21:16
Ah, le script XP remixé façon VX :P
J'l'attendais c'lui-là ^_^


Merci bien Wink
Douk
Douk
Membre

Nombre de messages : 296
Age : 25
Distinction : aucune
Date d'inscription : 23/04/2008
http://www.arcantia.info-a.googlepages.com/index.html

Menu tournant ! Empty Re: Menu tournant !

le Ven 4 Juil 2008 - 21:19
Ouais moi aussi je l'attendais et puis je l'ai trouvé sous VX, ...
Donc c'est cool ^^
Zodiak
Zodiak
Membre

Nombre de messages : 209
Age : 24
Localisation : Entre l'Enfer et le Paradis
Distinction : Souffre douleur


Ne sert pas à grand chose
Mais on l'aime quand même
[ Zang ]
Date d'inscription : 26/05/2008

Menu tournant ! Empty Re: Menu tournant !

le Lun 14 Juil 2008 - 22:58
Hello !
J'ai un problème lorsque je veux ouvrir mon menu, ça me donne ça :
Spoiler:
Menu tournant ! Jhguiu10
Quelqu'un pourrait m'aider ?
Je donne aussi un screen du script, si cela peut aider :
Spoiler:
Menu tournant ! Bloblo10
Zodiak
Zodiak
Membre

Nombre de messages : 209
Age : 24
Localisation : Entre l'Enfer et le Paradis
Distinction : Souffre douleur


Ne sert pas à grand chose
Mais on l'aime quand même
[ Zang ]
Date d'inscription : 26/05/2008

Menu tournant ! Empty Re: Menu tournant !

le Mar 15 Juil 2008 - 13:27
Désolé pour le double-post mais....

Personne pour m'aider ? Menu tournant ! 264173 Menu tournant ! 354280
Gummy
Gummy
Staffeux retraité

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

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Menu tournant ! Empty Re: Menu tournant !

le Mar 15 Juil 2008 - 14:07
Hummm j'ai le même problème mais je vois pas du tout où est le problème ce coup-ci... =/
Need pro-scripter here.
Zodiak
Zodiak
Membre

Nombre de messages : 209
Age : 24
Localisation : Entre l'Enfer et le Paradis
Distinction : Souffre douleur


Ne sert pas à grand chose
Mais on l'aime quand même
[ Zang ]
Date d'inscription : 26/05/2008

Menu tournant ! Empty Re: Menu tournant !

le Mar 15 Juil 2008 - 15:42
N'y a-t-il pas un scripteur dans le coin où quelqu'un qui sait comment résoudre le problème ? Menu tournant ! 264173
Widowan
Widowan
Fondateur
Nombre de messages : 1435
Age : 37
Localisation : France
Distinction : Sergent
Tyran professionnel
Date d'inscription : 15/12/2007
https://www.rpgmakervx-fr.com

Menu tournant ! Empty Re: Menu tournant !

le Mar 15 Juil 2008 - 15:58
P'tain vous êtes vraiment myopes ! xD

J'ai posté un autre script de menu, en mieux LA

_________________
"Si le monde appartiens à ceux qui se lèvent tôt, et si le royaume des cieux est destiné aux simples d'esprit, alors j'essaye juste de squatter un peu..."
Masouf
Masouf
Membre

Nombre de messages : 284
Age : 25
Localisation : Rennes
Distinction : aucune
Date d'inscription : 24/12/2008

Menu tournant ! Empty Re: Menu tournant !

le Dim 29 Mar 2009 - 0:17
Bonjour,
Je sais que c'est un énorme nécropost, mais j'ai le même probleme et les deux script menu tournant marche pas pour moi Sad
Voila si quelqu'un pourais me réparer au moins le plus simple se serait sympa, Merci!


Le script a été corrigé et marche correctement.
squall564
squall564
Membre

Nombre de messages : 7
Age : 24
Localisation : Devant mon ordi où au lycée (ne pas se fié au apparance car un lycée peu faire aussi college.
Distinction : aucune
Date d'inscription : 20/11/2008
http://jirach3.wix.com/lesgeeksdacote

Menu tournant ! Empty Re: Menu tournant !

le Lun 24 Mai 2010 - 20:48
Dîte quelqu'un saurait comment rajouter une icone pour les invocation ?
ZangtherOld
ZangtherOld
Membre

Nombre de messages : 1711
Date d'inscription : 07/08/2009

Menu tournant ! Empty Re: Menu tournant !

le Lun 24 Mai 2010 - 22:14
Je ne crois pas que ce script soit fait pour être modifié par des néophytes. Regarde donc sur le forum s'il n'y en a pas un autre plus adapté a tes besoins.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum