O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Kinsoyo RGSS3 Factory - Basic Scripts (Interrompida)

Iniciado por miguel8884, 30/08/2014 às 17:32

05/09/2014 às 17:21 #15 Última edição: 05/09/2014 às 19:39 por hategum rpg
Membro:  miguel8884
Pedido: Menu edit
Imagens:
Spoiler
[close]
Spoiler
[close]
Spoiler
[close]
Spoiler
[close]

Algo em que se basear: Eu pensei que poderia usar aquele script de enciclopedia so que não encontrei : (
Complexidade da configuração: Bem ...não sei se é complexo...
Sobre o windons Batler era tipo assim
Spoiler
[close]

Aí vai depender da edição! Se você me passar a imagem, use a ficha aí se for possível eu faço!

05/09/2014 às 18:59 #17 Última edição: 05/09/2014 às 19:21 por ArrowPotter
Oba! Vou testar depois dou edit! Obrigado!

-> Edit!

Funcionou perfeitamente, estou usando um script para aumentar a tela ai fica com 640x480 (acho que é isso) então a imagem está sobrepondo o texto "Possui" e talz, tem como descer esse texto? Ai está uma imagem de como a a imagem fica. O script ficou ótimo só precisa descer o texto um pouco! Valeu mesmo!

Spoiler
[close]


Olha ficaria meio difícil para mim reposicionar perfeitamente, mas eu adicionei no script uma configuração para vc colocar a posição vertical.

Aumente para baixar mais e diminua para subir!

#===============================================================================
# ** Kynsoyo RGSS3 - Pedido
# Mudança na Scene_Item - Miguel8884
#===============================================================================
module Item_Menu_Conf
  #--------------------------------------------------------------------------
  # * Criação de variável - Não mexa
  #--------------------------------------------------------------------------
  Photo = Array.new
  #--------------------------------------------------------------------------
  # * Imagens
  #--------------------------------------------------------------------------
  # Posições das imagens #
  Images_XY = [310,135]
  Name_And_Amount_Y = [254,274]
  #--------------------------------------------------------------------------
  # * Vocabulário
  #--------------------------------------------------------------------------
  # Vocabulário para quantidade de itens #
  Item_Amount_Vocab = "Possui:"
  #--------------------------------------------------------------------------
  # * Imagens que irão ser utilizadas para os itens
  #--------------------------------------------------------------------------
  Photo[0] = ""
  Photo[1] = "Img1"
  #--------------------------------------------------------------------------
  # * Fim das configurações
  #--------------------------------------------------------------------------
end
# Aqui começa o script #
class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # * Aquisição de largura do item
  #--------------------------------------------------------------------------
  def item_width
    return 24
  end
  #--------------------------------------------------------------------------
  # * Aquisição de altura do item
  #--------------------------------------------------------------------------
  def item_height
    return 24
  end
  #--------------------------------------------------------------------------
  # * Aquisição do espaçamento entre os itens
  #--------------------------------------------------------------------------
  def spacing
    return 15
  end
  #--------------------------------------------------------------------------
  # * Aquisição do número de colunas
  #--------------------------------------------------------------------------
  def col_max
    return 7
  end
  #--------------------------------------------------------------------------
  # * Desenho de um item
  #     index : índice do item
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    if item
      rect = item_rect(index)
      rect.width -= 4
      draw_icon(item.icon_index, rect.x, rect.y, enable?(item))
    end
  end
end

class Scene_Item < Scene_ItemBase
  #--------------------------------------------------------------------------
  # * Aliases
  #--------------------------------------------------------------------------
  alias gst_sef_start start
  alias gst_sef_update update
  alias gst_sef_terminate terminate
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    gst_sef_start
    create_item_datawindow
  end
  #--------------------------------------------------------------------------
  # * Atualização do processo
  #--------------------------------------------------------------------------
  def update
    gst_sef_update
    @data_window.actual_item = @item_window.item
  end
  #--------------------------------------------------------------------------
  # * Finalização do processo
  #--------------------------------------------------------------------------
  def terminate
    gst_sef_terminate
    @data_window.dispose_images
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de itens
  #--------------------------------------------------------------------------
  def create_item_window
    wy = @category_window.y + @category_window.height
    wh = Graphics.height - wy
    @item_window = Window_ItemList.new(0, wy, Graphics.width-252, wh)
    @item_window.viewport = @viewport
    @item_window.help_window = @help_window
    @item_window.set_handler(:ok,     method(:on_item_ok))
    @item_window.set_handler(:cancel, method(:on_item_cancel))
    @category_window.item_window = @item_window
  end
  #--------------------------------------------------------------------------
  # * Criação da janela dos dados dos itens
  #--------------------------------------------------------------------------
  def create_item_datawindow
    wy = @category_window.y + @category_window.height
    wh = Graphics.height - wy
    @data_window = Window_ItemData.new(@item_window.width,wy,Graphics.width-@item_window.width,wh,@viewport)
    @data_window.viewport = @viewport
  end
end

class Window_ItemData < Window_Base
  attr_accessor :actual_item
  #--------------------------------------------------------------------------
  # * Inicialização do objeto
  #     x        : coordenada X
  #     y        : coordenada Y
  #     width    : largura
  #     height   : altura
  #     viewport : camada
  #--------------------------------------------------------------------------
  def initialize(x,y,width,height,viewport)
    super(x,y,width,height)
    @actual_item = 0
    @image = Sprite.new(viewport)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Atualização do objeto
  #--------------------------------------------------------------------------
  def update
    super
    refresh
  end
  #--------------------------------------------------------------------------
  # * Criação e renovação do conteúdo
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    if @actual_item != 0 and @actual_item != nil
      draw_text(0,Item_Menu_Conf::Name_And_Amount_Y[0],self.width,24,@actual_item.name)
      draw_text(0,Item_Menu_Conf::Name_And_Amount_Y[1],self.width,24,"#{Item_Menu_Conf::Item_Amount_Vocab} #{sprintf("%2d",$game_party.item_number(@actual_item))}")
      if @actual_item.note.match(/Image=(\d+)/im)
        image_note = Item_Menu_Conf::Photo[$1.to_i]
      else
        image_note = Item_Menu_Conf::Photo[0]
      end
      @image.bitmap = Cache.picture(image_note)
      @image.x = Item_Menu_Conf::Images_XY[0]
      @image.z = 100
      @image.y = Item_Menu_Conf::Images_XY[1]
    end
  end
  #--------------------------------------------------------------------------
  # * Apagar as imagens
  #--------------------------------------------------------------------------
  def dispose_images
    @image.bitmap.dispose
    @image.dispose
  end
end

# Fim do script #

Valeu funcionou!!! Obrigado! Como estou sem scripter na minha equipe, tive que lhe pedir! Obrigado!!!

Nada, se precisar de mais alguma coisa, só pedir! A fábrica está aqui para isso!

Então, eu editei la em cima o pedido, você consegue fazer?

Bem é um pedido bem grande, o menu eu entendi, tenho quase certeza que consigo fazer, já a da batalha ficou meio confuso /=, se puder explicar um pouco melhor...

[box2 class=titlebg title=Pedido]Membro: Miguel8884
Pedido: Queria poder adicionar "Gêneros" aos itens, ai no próprio mapa eu criaria um Evento Comum com Chamar Script, so que nesse Chamar Script eu poderia colocar um dos gêneros, então apareceria a Window de Itens só que ocultando os itens que não são do gênero definido. Ai o jogador só poderá escolher os itens de tal gênero (isso não quer dier que os outros itens tenham sido deletados da mochila).
Imagens: Não necessário.
Algo em que se basear: Encontrei esse script de restaurante que acho que pode ser utilizado como base... ele é de um membro da MRM, você conhece? Sem sombra de dúvida você conhece ele.  :clown:
Spoiler
    #===============================================================================
    # ** Restaurant Menu System
    # Autor: miguel8884
    #-------------------------------------------------------------------------------
    # Data de lançamento: 21/08/2014
    # Versão: 1.0
    #-------------------------------------------------------------------------------
    # Dependências:
    # * Nenhum
    # Sugestões:
    # * Geconomy
    #-------------------------------------------------------------------------------
    # Descrição:
    #
    # O script permite você criar uma tela onde aparece um cardápio que mostra os
    # itens que você pode comprar, sendo que pelas opções o item pode ir para o
    # seu inventário ou simplesmente ser consumido na hora.
    #-------------------------------------------------------------------------------
    # Características:
    # * Suporta multiplas economias!
    # * Itens ilimitados e diferentes menus!
    # * Possibilidade de por imagens ilimitadas!
    # * Fácil configuração!
    # * Grande quantidade de opções!
    # * Altamente configurável!
    # * Possível mudanças no jogador, em variáveis, e switches!
    #-------------------------------------------------------------------------------
    # Log:
    # v1.0
    #   21/08/2014 - Script lançado!
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # - Modificando o menu atual -
    #
    # Nunca inicie o cena antes de definir o menu para evitar bugs.
    # Apenas use no chamar script:
    # change_menu(id)
    # No lugar de id coloque o menu que vai aparecer quando a cena for chamada.
    #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    # - Chamando a cena -
    # Para chamar a cena, use no chamar script:
    #
    # SceneManager.call(Scene_Rest)
    #===============================================================================
    module Rest
      #--------------------------------------------------------------------------
      # * Criação das variáveis - Não mexa
      #--------------------------------------------------------------------------
      # Criação da hash que os itens vão ser criados #
      Items = Hash.new
      # Criação da array que os menus vão ser criados #
      Menus = Array.new
      #--------------------------------------------------------------------------
      # * Configurações
      #--------------------------------------------------------------------------
      # Ganhar o item que você comprar no restaurante? #
      Gain_Item = true
      # Consumir automaticamente o item que você comprar no restaurante? #
      Consume_Item = true
      # Possibilidade de ativar as switches ao consumir algum item? #
      Use_Switches = false
      # Possibilidade de usar variáveis ao consumir algum item? #
      Use_Variables = true
      # Possibilidade mudar hp, mp ou status do herói? #
      Change_Actor_Stats = true
      # Tocar um SE ao entrar na cena? #
      Play_Se_On_Enter = true
      # Usar a base da window no menu? #
      Use_Window_Image = false
      # Possibilidade de usar o script de economias? #
      Use_Geconomie = true
      # Som tocado ao slecionar uma opção que não for possível #
      Wrong_SE = "Buzzer1"
      # Som tocado ao entrar na cena caso esteja habilitado #
      Enter_SE = "Bell3"
      #--------------------------------------------------------------------------
      # * Vocabulário
      #--------------------------------------------------------------------------
      # Vocabulário da janela superior #
      Top_Window_Vocab = "Cardápio"
      # Vocabulário para janela de comando => comer #
      Eat_Vocab = "Comidas"
      # Vocabulário para janela de comando => sair #
      Exit_Vocab = "Sair"
      #--------------------------------------------------------------------------
      # * Imagens
      #--------------------------------------------------------------------------
      # Alguma imagem de fundo? Se não quiser coloque como "nil" sem aspas #
      Background = nil
      # Animação da imagem de fundo? #
      Animated_Background = false
      # Velocidade da animação da imagem do fundo #
      Animation_Speed = 1
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Qualquer imagem extra
      # Para adicionar novas imagens:
      # Abra colchetes e coloque uma vírgula [],
      # Dentro você colocará:
      # O nome da imagem na pasta pictures
      # A posição x da imagem
      # A posição y da imagem
      # A opacidade da imagem - máx 255
      # Tudo seguido por vírgula, exemplo:
      #
      # Images = [
      # ["Miguel8884",10,50,255],
      # ["Ghost",30,20,255]
      # ]
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Image = [
      ["Back1",(544-314)/2,0,255]
      ]
      #--------------------------------------------------------------------------
      # * Itens
      #--------------------------------------------------------------------------
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Criando um novo item
      #
      # Pegue o template no tópico e cole abaixo do último criado.
      #
      # Items[id] = {
      # No lugar de id, coloque o id do item que está fazendo.
      #
      # name: "",
      # Coloque o nome do item, não tire a vírgula, exemplo: name: "Frango",
      #
      # icon: id,
      # No lugar de id, coloque o id do icone.
      #
      # price: value,
      # Coloque no lugar de value o preço do item.
      #
      # var_id: id,
      # Id da variável que você pode mudar.
      #
      # var: amount,
      # Quantidade que você quer adicionar nessa variável, para retirar coloque o -
      # na frente.
      #
      # switch_id: id,
      # Coloque o id da switch que será ativada, se não quiser deixe como "nil" sem
      # aspas.
      #
      # hp: amount,
      # Quantidade de hp que o herói vai ter alterado.
      #
      # mp: amount,
      # Quantidade de mp que o herói vai ter alterado.
      #
      # state: id,
      # Id do status que o herói vai pegar, caso não queira, deixe no 0.
      #
      # item: id
      # Id do item que o herói vai ganhar.
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Items[0] = {
      name: "Porco",
      icon: 200,
      price: 10,
      var_id: 1,
      var: 15,
      switch_id: 1,
      hp: 10,
      mp: 15,
      state: 0,
      item: 3
      }
      Items[1] = {
      name: "Filé",
      icon: 201,
      price: 20,
      var_id: 1,
      var: 0,
      switch_id: 1,
      hp: 10,
      mp: 15,
      state: 1,
      item: 2
      }
      Items[2] = {
      name: "Macarrão",
      icon: 202,
      price: 50,
      var_id: 1,
      var: 0,
      switch_id: 1,
      hp: 10,
      mp: 15,
      state: 1,
      item: 1
      }
      #--------------------------------------------------------------------------
      # * Menus
      #--------------------------------------------------------------------------
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      # Criando novos menus
      #
      # Menu[id] = [
      # Id do menu que está criando.
      #
      # Economie = id,
      # Economia que vai usar caso esteja usando o Geconomy, caso não queira,
      # deixe como "nil" sem aspas.
      #
      # Item = [],
      # Itens presentes no menu, coloque o id do item dentro dos colchetes
      # seguido por vírgula seguid do outro item.
      #
      # images = []
      # Coloque o id das imagens presentes nessse menu, mesmo esquema dos itens.
      #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      Menus[0] = [
      Economie = 0,
      Item = [0,1,2],
      Images = [0]
      ]
      Menus[1] = [
      Economie = 1,
      Item = [0,1],
      Images = []
      ]
      #--------------------------------------------------------------------------
      # * Fim das configurações
      #--------------------------------------------------------------------------
    end
    #----------------------------------------------------------------------------
    # * Classe incrementada com método de mudar o menu
    #----------------------------------------------------------------------------
    class Game_Interpreter
      #--------------------------------------------------------------------------
      # * Mudar o menu
      #     menu     : Novo menu
      #--------------------------------------------------------------------------
      def change_menu(menu)
        $gst_menu = menu
      end
    end
    #----------------------------------------------------------------------------
    # * Classe que cria a janela superior
    #----------------------------------------------------------------------------
    class Window_RestTop < Window_Base
      #--------------------------------------------------------------------------
      # * Inicialização do objeto
      #--------------------------------------------------------------------------
      def initialize
        super((544-314)/2,0,314,fitting_height(1))
        if Rest::Use_Window_Image == false
          self.opacity = 0
        end
        set_text
      end
      #--------------------------------------------------------------------------
      # * Desenha o texto
      #--------------------------------------------------------------------------
      def set_text
        draw_text(-10,0,314,24,Rest::Top_Window_Vocab,1)
      end
    end
    #----------------------------------------------------------------------------
    # * Classe que a janela de comando horizontal
    #----------------------------------------------------------------------------
    class Window_RestCommand < Window_HorzCommand
      #--------------------------------------------------------------------------
      # * Inicialização do objeto
      #--------------------------------------------------------------------------
      def initialize
        super((544-314)/2,fitting_height(1))
        if Rest::Use_Window_Image == false
          self.opacity = 0
        end
      end
      #--------------------------------------------------------------------------
      # * Número de colunas
      #--------------------------------------------------------------------------
      def col_max
        return 2
      end
      #--------------------------------------------------------------------------
      # * Largura da janela
      #--------------------------------------------------------------------------
      def window_width
        return 314
      end
      #--------------------------------------------------------------------------
      # * Constrói a janela de comando
      #--------------------------------------------------------------------------
      def make_command_list
        add_command(Rest::Eat_Vocab,:eat)
        add_command(Rest::Exit_Vocab,:exit)
      end
    end
    #----------------------------------------------------------------------------
    # * Janela que cria seu dinheiro
    #----------------------------------------------------------------------------
    class Window_Economie < Window_Base
      #--------------------------------------------------------------------------
      # * Inicialização do objeto
      #     menu      : Menu atual
      #--------------------------------------------------------------------------
      def initialize(menu)
        super((544-314)/2,416-fitting_height(1),314,fitting_height(1))
        if Rest::Use_Window_Image == false
          self.opacity = 0
        end
        @menu = menu
        refresh
      end
      #--------------------------------------------------------------------------
      # * Atualiza a janela
      #--------------------------------------------------------------------------
      def update
        super
        refresh
      end
      #--------------------------------------------------------------------------
      # * Renova o conteúdo da janela
      #--------------------------------------------------------------------------
      def refresh
        self.contents.clear
        if Rest::Menus[@menu][0] != nil
          draw_text(0,0,314,24,"#{Geconomy::Economies[Rest::Menus[@menu][0]][0]}: #{$game_party.economies[Rest::Menus[@menu][0]][1]}")
        else
          draw_text(0,0,314,24,"#{Vocab.currency_unit}: #{$game_party.gold}")
        end
      end
    end
    #----------------------------------------------------------------------------
    # * Janela das comidas disponíveis
    #----------------------------------------------------------------------------
    class Window_RestEatList < Window_Selectable
      #--------------------------------------------------------------------------
      # * Inicialização do objeto
      #     menu      : Menu a ser utilizado
      #--------------------------------------------------------------------------
      def initialize(menu)
        @menu = menu
        super((544-314)/2, 96, window_width, window_height)
        if Rest::Use_Window_Image == false
          self.opacity = 0
        end
        refresh
      end
      #--------------------------------------------------------------------------
      # * Aquisição da largura da janela
      #--------------------------------------------------------------------------
      def window_width
        return 314
      end
      #--------------------------------------------------------------------------
      # * Aquisição da altura da janela
      #--------------------------------------------------------------------------
      def window_height
        return 416-96-fitting_height(1)
      end
      #--------------------------------------------------------------------------
      # * Aquisição do número máximo de itens
      #--------------------------------------------------------------------------
      def item_max
        return Rest::Menus[@menu][1].size
      end
      #--------------------------------------------------------------------------
      # * Aquisição de altura do item
      #--------------------------------------------------------------------------
      def item_height
        return 24
      end
      #--------------------------------------------------------------------------
      # * Desenho de um item
      #     index : índice do item
      #--------------------------------------------------------------------------
      def draw_item(index)
        draw_icon(Rest::Items[Rest::Menus[@menu][1][index]][:icon],0,index*24)
        draw_text(35,index*24,314,24,Rest::Items[Rest::Menus[@menu][1][index]][:name])
        if Rest::Menus[@menu][0] != nil
          draw_text(185,index*24,314-140,24,"#{Geconomy::Economies[Rest::Menus[@menu][0]][0]}: #{Rest::Items[Rest::Menus[@menu][1][index]][:price]}")
        else
          draw_text(185,index*24,314-140,24,"#{Vocab.currency_unit}: #{Rest::Items[Rest::Menus[@menu][1][index]][:price]}")
        end
      end
      #--------------------------------------------------------------------------
      # * Retorno à seleção anterior
      #--------------------------------------------------------------------------
      def select_last
        select(self.index)
      end
    end
    #----------------------------------------------------------------------------
    # * Classe que gerencia a cena
    #----------------------------------------------------------------------------
    class Scene_Rest < Scene_Base
      #--------------------------------------------------------------------------
      # * Inicialização da cena
      #--------------------------------------------------------------------------
      def start
        super
        @images = []
        play_se
        create_background
        create_windows
        create_horz_window
        create_command_window
        create_images
      end
      #--------------------------------------------------------------------------
      # * Atualização da cena
      #--------------------------------------------------------------------------
      def update
        super
        update_background
      end
      #--------------------------------------------------------------------------
      # * Término da cena
      #--------------------------------------------------------------------------
      def terminate
        super
        dispose_background
        dispose_windows
        dispose_images
      end
      #--------------------------------------------------------------------------
      # * Tocar um SE
      #--------------------------------------------------------------------------
      def play_se
        RPG::SE.new(Rest::Enter_SE,80).play
      end
      #--------------------------------------------------------------------------
      # * Criar as janelas
      #--------------------------------------------------------------------------
      def create_windows
        @top_window = Window_RestTop.new
        @economie_window = Window_Economie.new($gst_menu)
      end
      #--------------------------------------------------------------------------
      # * Criar a janela de comando horizontal
      #--------------------------------------------------------------------------
      def create_horz_window
        @horzcommand_window = Window_RestCommand.new
        @horzcommand_window.set_handler(:eat,method(:eat_list))
        @horzcommand_window.set_handler(:exit,method(:exit_command))
      end
      #--------------------------------------------------------------------------
      # * Output ao confirmar a lista de comida
      #--------------------------------------------------------------------------
      def eat_list
        @command_window.select(0)
        @command_window.activate
      end
      #--------------------------------------------------------------------------
      # * Output ao confirmar a saída da cena
      #--------------------------------------------------------------------------
      def exit_command
        return_scene
      end
      #--------------------------------------------------------------------------
      # * Cria a janela de comando
      #--------------------------------------------------------------------------
      def create_command_window
        @command_window = Window_RestEatList.new($gst_menu)
        @command_window.set_handler(:ok,method(:on_item_ok))
        @command_window.set_handler(:cancel,method(:on_cancel))
      end
      #--------------------------------------------------------------------------
      # * Output ao confirmar um item
      #--------------------------------------------------------------------------
      def on_item_ok
        if Rest::Menus[$gst_menu][0] == nil
          if $game_party.gold > Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:price]
            $game_party.lose_gold(Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:price])
            if Rest::Consume_Item
              if Rest::Change_Actor_Stats
                $game_party.members[0].hp += Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:hp]
                $game_party.members[0].mp += Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:mp]
                $game_party.members[0].add_state(Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:state])
              end
              if Rest::Use_Variables
                $game_variables[Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:var_id]] += Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:var]
              end
              if Rest::Use_Switches
                if Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:switch_id] != nil
                  $game_switches[Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]]][:switch_id] = true
                end
              end
            end
            if Rest::Gain_Item
              $game_party.gain_item(Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:item],1)
            end
            @command_window.select_last
            @command_window.activate
          else
            RPG::SE.new(Rest::Wrong_SE,80).play
            @command_window.select_last
            @command_window.activate
          end
        elsif Rest::Menus[$gst_menu][0] != nil
          if $game_party.economies[Rest::Menus[$gst_menu][0]][1] > Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:price]
            $game_party.economies[Rest::Menus[$gst_menu][0]][1] -= Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:price]
            if Rest::Consume_Item
              if Rest::Change_Actor_Stats
                $game_party.members[0].hp += Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:hp]
                $game_party.members[0].mp += Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:mp]
                $game_party.members[0].add_state(Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:state])
              end
              if Rest::Use_Variables
                $game_variables[Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:var_id]] += Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:var]
              end
              if Rest::Use_Switches
                if Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:switch_id] != nil
                  $game_switches[Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]]][:switch_id] = true
                end
              end
            end
            if Rest::Gain_Item
              $game_party.gain_item($data_items[Rest::Items[Rest::Menus[$gst_menu][1][@command_window.index]][:item]],1)
            end
            @command_window.select_last
            @command_window.activate
          else
            RPG::SE.new(Rest::Wrong_SE,80).play
            @command_window.select_last
            @command_window.activate
          end
        end
      end
      #--------------------------------------------------------------------------
      # * Output a cancelar um item
      #--------------------------------------------------------------------------
      def on_cancel
        @horzcommand_window.select(0)
        @horzcommand_window.activate
        @command_window.unselect
      end
      #--------------------------------------------------------------------------
      # * Criar o fundo
      #--------------------------------------------------------------------------
      def create_background
        if Rest::Background == nil
          @background_sprite = Sprite.new
          @background_sprite.bitmap = SceneManager.background_bitmap
          @background_sprite.color.set(16, 16, 16, 128)
        else
          if Rest::Animated_Background
            @background_sprite = Plane.new
            @background_sprite.bitmap = Cache.parallax(Rest::Background)
          else
            @background_sprite = Sprite.new
            @background_sprite.bitmap = Cache.picture(Rest::Background)
          end
        end
      end
      #--------------------------------------------------------------------------
      # * Atualizar o fundo
      #--------------------------------------------------------------------------
      def update_background
        @background_sprite.ox += 1 if @background_sprite.is_a?(Plane)
      end
      #--------------------------------------------------------------------------
      # * Apagar o fundo
      #--------------------------------------------------------------------------
      def dispose_background
        @background_sprite.bitmap.dispose
        @background_sprite.dispose
      end
      #--------------------------------------------------------------------------
      # * Criar as imagens extras
      #--------------------------------------------------------------------------
      def create_images
        for i in 0..Rest::Menus[$gst_menu][2].size-1
          @images.push(Sprite.new)
          @images[i].bitmap = Cache.picture(Rest::Image[Rest::Menus[$gst_menu][2][0]][0])
          @images[i].x = Rest::Image[Rest::Menus[$gst_menu][2][i]][1]
          @images[i].y = Rest::Image[Rest::Menus[$gst_menu][2][i]][2]
          @images[i].opacity = Rest::Image[Rest::Menus[$gst_menu][2][i]][3]
        end
      end
      #--------------------------------------------------------------------------
      # * Apagar as imagens extras
      #--------------------------------------------------------------------------
      def dispose_images
        @images.each{|i|
          i.bitmap.dispose
          i.dispose
        }
      end
      #--------------------------------------------------------------------------
      # * Apagar as janelas
      #--------------------------------------------------------------------------
      def dispose_windows
        @command_window.dispose
        @horzcommand_window.dispose
        @top_window.dispose
        @economie_window.dispose
      end
    end
    #----------------------------------------------------------------------------
    # * Fim do script
    #
    # GST Scripts - acesse o blog:
    # http://gstrgss.weebly.com/
    #
    # Créditos: Miguel8884 - Autor do script
    #----------------------------------------------------------------------------
[close]
Complexidade da configuração: Deve ser Média/Difícil. [/box2]

Bem, não é para ser igual o do restaurante claro, mas deve aparecer a visualização do card definido no item... é possível sem ter que modificar o outroo script que pedi? Se não eu posso fazer umas mudanças no meu pedido.  :ok:

Eu acho que conheço ele sim, lembro quando ele fez esse script! Deixa-me ver se entendi, você quer que no mapa, você defina os itens que serão mostrados na janela de itens no momento? Tipo, eu tenho 3 tipos, maça, adaga e espada, aí você quer que em um mapa apreça apenas adagas na janela de itens, aí eu possa mudar isso?

É mais ou menos isso, tomando seu exemplo, eu teria que definir um gênero para os itens, tipo:

Maçã > Fruta
Banana > Fruta
Adaga > Arma
Vestido > Roupa
Espada > Arma
Chapéu > Roupa
Uvas > Fruta

Ai no mapa eu usaria (exemplo):

Chamar Script: Scene_Gênero: Fruta

Ai apareceria na janela apenas os itens: Maçã, Banana, Uvas.

Seria uma espécie de "Itens, Armas,  Armaduras" (aquelas do database) só que seriam todos apenas itens e cada item com um gênero. Só que só apareceria FRUTAS ao chamar o script com o tal gênero, no Menu pode aparecer todos os itens normalmente.

Por enquanto so os scripts do menu por favor,
o de batalha é para um outro projeto então é melhor não se preocupar com ele : )

05/09/2014 às 21:30 #27 Última edição: 06/09/2014 às 09:28 por miguel8884
Citação de: ArrowPotter online 05/09/2014 às 21:20
É mais ou menos isso, tomando seu exemplo, eu teria que definir um gênero para os itens, tipo:

Maçã > Fruta
Banana > Fruta
Adaga > Arma
Vestido > Roupa
Espada > Arma
Chapéu > Roupa
Uvas > Fruta

Ai no mapa eu usaria (exemplo):

Chamar Script: Scene_Gênero: Fruta

Ai apareceria na janela apenas os itens: Maçã, Banana, Uvas.

Seria uma espécie de "Itens, Armas,  Armaduras" (aquelas do database) só que seriam todos apenas itens e cada item com um gênero. Só que só apareceria FRUTAS ao chamar o script com o tal gênero, no Menu pode aparecer todos os itens normalmente.

Agora eu entendi! Vou fazer sim, só vou fazer primeiro o hategum rpg, depois o seu!

Edit

Hateum rpg, seu pedido foi aceito, mas eu queria saber se o suporte vai para apenas um membro da equipe?

CitarHategum rpg, seu pedido foi aceito, mas eu queria saber se o suporte vai para apenas um membro da equipe?

Suporte? não sei, se fala da quantidade de personagens é normal, a janela pode subistituir a atual mostrando o outro personagem do jogador.

Hategum, veja se é dessa forma que você quer:

class Window_MenuStatus < Window_Selectable
  def initialize(x)
    super(x, window_y, window_width, window_height)
    @pending_index = -1
    refresh
  end
  def window_height
    98 + 24
  end
  def window_y
    Graphics.height-(98+24)
  end
  def item_height
    98
  end
end

class Window_MenuCommand < Window_Command
  def initialize(x)
    super(x, window_y)
    select_last
  end
  def window_y
    Graphics.height-(98+24)-fitting_height(7)
  end
end

class Scene_Menu < Scene_MenuBase
  def start
    super
    create_command_window
    create_status_window
    create_gold_window
  end
  def create_status_window
    @status_window = Window_MenuStatus.new(0)
  end
  def create_command_window
    @command_window = Window_MenuCommand.new(0)
    @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
  def create_gold_window
    @gold_window = Window_Gold.new
    @gold_window.x = 160
    @gold_window.y = Graphics.height - @gold_window.height - @status_window.height
  end
end