Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Nowe Proste Menu
Autor Wiadomość
The Big Master 




Preferowany:
RPG Maker XP

Pomógł: 6 razy
Dołączył: 19 Gru 2012
Posty: 81
Skąd: Masz taki nr. IQ ?
Wysłany: Pią 18 Sty, 2013 14:48
Nowe Proste Menu
~ Menu Simples do Cristiano ~


Krótki opis:
Skrypt Wprowadza nam nowe okno Menu w którym mamy tylko:
Plecak
Wczytaj Grę
Zapisz grę
Wyłącz Grę

Autor:
cristianoforce

Kompatybilność:
RPG Maker XP

Skrypt:
Spoiler:

Kod:
#==============================================================
  # Modificações do usuário
  #==============================================================
  LOAD_OK = 1 # NR. przełąznika który włącza Jogo ładowanie (Jeżeli ma true)
  SIZE_WINDOW = 200 # Wielkość Okna Menu
  SEM_FUNDO = true # Czy okno ma się włączyć z tłem.
  OPACITY = 180 # Krycie w Oknie
  ITEM_ICON = "032-Item01" # Icona Plecaka/Itemów
  SAVE_ICON = "030-Key02" # Icona Save
  LOAD_ICON = "031-Key03" # Icona Ładowania
  FINAL_ICON = "020-Accessory05" # Icona Wyjścia z gry.
end

#==============================================================================
# Window_Icon_Command
#------------------------------------------------------------------------------
# Esta é a janela que exibe as escolhas (com ícones)
#==============================================================================

class Window_Icon_Command < Window_Command

  def initialize(width, commands, icons)
    @icons = icons
    super(width, commands)
  end
 
  #--------------------------------------------------------------------------
  # Desenhar Item
  #
  #     index : índice
  #     color : cor do texto
  #--------------------------------------------------------------------------
 
  def draw_item(index, color)
    self.contents.font.color = color
    bitmap = RPG::Cache.icon(@icons[index])
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(4, 32 * index + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    rect = Rect.new(32, 32 * index, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect, @commands[index])
  end
end

#==============================================================================
# Scene_Menu
#------------------------------------------------------------------------------
# Janela do Menu
#==============================================================================

class Scene_Menu
 
  #--------------------------------------------------------------------------
  # Inicializaç&#227;o dos Objetos
  #
  #     menu_index : posiç&#227;o inicial do cursor de comando
  #--------------------------------------------------------------------------
 
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
   
  #--------------------------------------------------------------------------
  # Processamento Principal
  #--------------------------------------------------------------------------
 
  def main
    # Se o fundo for o mapa
    if Cris::SEM_FUNDO
       @spriteset = Spriteset_Map.new
    end
    # Criar janela de comando
    s1 = $data_system.words.item
    s2 = "Salvar Jogo"
    s3 = "Carregar Jogo"
    s4 = "Finalizar"
    @command_window = Window_Icon_Command.new(Cris::SIZE_WINDOW, [s1, s2, s3, s4], [Cris::ITEM_ICON, Cris::SAVE_ICON, Cris::LOAD_ICON, Cris::FINAL_ICON])
    @command_window.index = @menu_index
    @command_window.x = (640 - @command_window.width) / 2
    @command_window.y = (480 - @command_window.height) / 2
    @command_window.opacity = Cris::OPACITY
    # Se o número de membros do Grupo de Heróis for 0
    if $game_party.actors.size == 0
      # Desabilar as janelas de Item
      @command_window.disable_item(0)
    end
    # Se Salvar for Proibido
    if $game_system.save_disabled
      # Desabilitar Salvar
      @command_window.disable_item(1)
    end
    # Se Carregar o jogo for proibido
    if $game_switches[Cris::LOAD_OK] == true
      # Desabilitar carregar jogo
      @command_window.disable_item(2)
    end
    # Executar transiç&#227;o
    Graphics.transition
    # Loop principal
    loop do
      # Atualizar a tela de jogo
      Graphics.update
      # Atualizar a entrada de informaç&#245;es
      Input.update
      # Atualizar Frame
      update
      # Abortar loop se a tela for alterada
      if $scene != self
        break
      end
    end
    # Preparar para transiç&#245;a
    Graphics.freeze
    # Exibiç&#227;o das janelas
    @command_window.dispose
    @spriteset.dispose unless Cris::SEM_FUNDO == false
  end
 
  #--------------------------------------------------------------------------
  # Atualizaç&#227;o do Frame
  #--------------------------------------------------------------------------
 
  def update
    # Atualizar janelas
    @command_window.update
    # Se a janela de comandos estiver ativo: chamar update_command
    if @command_window.active
      update_command
      return
    end
  end
 
  #--------------------------------------------------------------------------
  # Atualizaç&#227;o do Frame (Quando a janela de Comandos estiver Ativa)
  #--------------------------------------------------------------------------
 
  def update_command
    # Se o bot&#227;o B for pressionado
    if Input.trigger?(Input::B)
      # Reproduzir SE de cancelamento
      $game_system.se_play($data_system.cancel_se)
      # Alternar para a tela do mapa
      $scene = Scene_Map.new
      return
    end
    # Se o bot&#227;o C for pressionado
    if Input.trigger?(Input::C)
      # Se o comando for outro sen&#227;o Salvar, Carregar, Fim de Jogo e o número de Heróis no
      # Grupo for 0
      if $game_party.actors.size == 0 and @command_window.index < 1
        # Reproduzir SE de erro
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Ramificaç&#227;o por posiç&#227;o do cursor na janela de comandos
      case @command_window.index
      when 0  # Itens
        # Reproduzir SE de OK
        $game_system.se_play($data_system.decision_se)
        # Alternar para a tela de Itens
        $scene = Scene_Item.new
      when 1  # Salvar
        # Se Salvar for proibido
        if $game_system.save_disabled
          # Reproduzir SE de erro
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Reproduzir SE de OK
        $game_system.se_play($data_system.decision_se)
        # Alternar para a tela de save
        $scene = Scene_Save.new
      when 2 # Carregar
        # Reproduzir SE de OK
        $game_system.se_play($data_system.decision_se)
        # Alternar para a tela de load
        $scene = Scene_Load.new
      when 3  # Finalizar
        # Reproduzir SE de OK
        $game_system.se_play($data_system.decision_se)
        # Alternar para a tela de Fim de Jogo
        $scene = Scene_End.new
      end
      return
    end
  end
end

#==============================================================================
# Scene_Save
#------------------------------------------------------------------------------
# Esta classe processa o Save
#==============================================================================

class Scene_Save
 
  #--------------------------------------------------------------------------
  # Processamento de Decis&#227;o
  #--------------------------------------------------------------------------
  alias on_decision_new on_decision
  def on_decision(filename)
    on_decision_new(filename)
    # Mudar para a tela do Menu
    $scene = Scene_Menu.new(1)
  end
 
  #--------------------------------------------------------------------------
  # Processo de Cancelamento
  #--------------------------------------------------------------------------
 
  alias on_cancel_new on_cancel
  def on_cancel
    on_cancel_new
    # Mudar para a tela do Menu
    $scene = Scene_Menu.new(1)
  end
end

#==============================================================================
# Scene_Load
#------------------------------------------------------------------------------
# Esta classe processa a tela de Continuar
#==============================================================================

class Scene_Load
 
  #--------------------------------------------------------------------------
  # Cancelando o Processamento
  #--------------------------------------------------------------------------
 
  alias on_cancel_new on_cancel
  def on_cancel
    on_cancel_new
    # Reproduzir SE de cancelamento
    $game_system.se_play($data_system.cancel_se)
    # Mudar para a tela do Menu
    $scene = Scene_Menu.new(2)
  end
end

#==============================================================================
# Scene_End
#------------------------------------------------------------------------------
# Esta classe processa a tela de Game Over
#==============================================================================

class Scene_End
 
  #--------------------------------------------------------------------------
  # Atualizaç&#227;o do Frame
  #--------------------------------------------------------------------------
 
  alias update_new update
  def update
    update_new
    # Se o bot&#227;o B for pressionado
    if Input.trigger?(Input::B)
      # Reproduzir SE de cancelamento
      $game_system.se_play($data_system.cancel_se)
      # Alternar para a tela de Menu
      $scene = Scene_Menu.new(3)
      return
    end
  end
 
  #--------------------------------------------------------------------------
  # Processamento na Escolha do Comando Cancelar
  #--------------------------------------------------------------------------
 
  alias command_cancel_new command_cancel
  def command_cancel
    command_cancel_new
    # Reproduzir SE de OK
    $game_system.se_play($data_system.decision_se)
    # Alternar para a tela do Menu
    $scene = Scene_Menu.new(3)
  end
end


Screeny:
Spoiler:



Dodatkowe informacje:
Skrypt został znaleziony na portugalskiej str. o RM'ie
Link do tematu:
http://www.mundorpgmaker....?topic=105851.0
Małe objaśnienie Konfiguracji:
Kod:

  #==============================================================
  #Modyfikacja Skryptu
  #==============================================================
  LOAD_OK = 1 # Przełącznik który wyłącza polecenie Jogo ładowania[Jeżeli mamy tam true]
  SIZE_WINDOW = 200 # Menu rozmiar okna
  SEM_FUNDO = true #Czy menu ma właczyć się z tłem tak=true,nie=false
  OPACITY = 180 # Krycie w oknie
  ITEM_ICON = "032-Item01" # Ikona Plecaka
  SAVE_ICON = "030-Key02" # Ikona Save
  LOAD_ICON = "031-Key03" # Ikona Wczytywania
  FINAL_ICON = "020-Accessory05" # Ikona Wyłaczenia


Nie ponoszę odpowiedzialności za skrypt używasz go na własną odpowiedzialność.
________________________
Siema

Gość, Jeżeli ci Pomogłem, możesz mi dać .
_______________________________________________________________
Niestety, padł mi komp z Projektami, więc przez pewien czas niestety nici z Projektów :C
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene