Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


2 participantes

    Sistema de troféu

    The Suspect
    The Suspect
    Ocasional
    Ocasional


    Mensagens : 206
    Créditos : 83

    Sistema de troféu Empty Sistema de troféu

    Mensagem por The Suspect Sáb Nov 20, 2010 8:09 pm

    Sistema de Troféus in-game
    Versão: 1.3
    Autor: kako92

    Introdução
    Este script lhe permite criar uma lista de troféus para que você possa,de certo modo, arquivar as conquistas no seu jogo.
    Instruções
    -Crie um novo troféu na array T_LIST com um novo id. EX: T_LIST[26];
    -Crie os detalhes do novo troféu seguindo o modelo acima da array T_DET;
    -Configure as outras opções a vontade, porem não altere onde há o aviso;
    -Crie um novo evento;
    -Use o comando "Chamar Script" abaixo do passo anterior com as seguintes infos:
    -$trophy = Trophy_Display.new() o id se refere ao número do troféu.
    -Utilize o comando "Esperar" e determine alguns frames para o proximo passo;
    -Após determinar os frames, use chamar script novamente com $trophy.close;
    -E pronto! O troféu será ativado.
    -Para visualisar a porcentagem e a quantidade de troféus adquiridos, pressione a tecla Enter no menu de troféus
    Screenshots
    Spoiler:
    Script
    Código:
    #===============================================================================
    #                    Scene_Trophy 1.3, feito por kako92 em 17/08/2010
    #===============================================================================
    #                                  INTRODUÇÃO:
    # Este script lhe permite criar uma lista de troféus para que você possa,
    # de certo modo, arquivar as conquistas no seu jogo.
    #===============================================================================
    #                              INCOMPATIBILIDADE:
    #                  A maioria dos scripts de Scene_Map customizado.
    #===============================================================================
    #                                  INTRUÇÕES:
    #===============================================================================
    # -Crie uma pasta com o nome de Trophy dentro da sua pasta Graphics;
    # -Crie um novo troféu na array T_LIST com um novo id. EX: T_LIST[26];
    # -Crie os detalhes do novo troféu seguindo o modelo acima da array T_DET;
    # -Configure as outras opções a vontade, porem não altere onde há o aviso;
    # -Crie um novo evento;
    # -Use o comando "Chamar Script" abaixo do passo anterior com as seguintes infos:
    # -Trophy_Display.new() o id se refere ao número do troféu.
    # -E pronto! O troféu será ativado.
    #===============================================================================

    #===============================================================================
    # Observações:
    #
    # Na versão 1.0 o script necessitava de uma variável do sistema e de vários
    # switchs, também do sistema, para ativar os troféus, ja na versão 1.1 o
    # script atualiza os troféus com switchs e variáveis internos, poupando assim
    # o desperdicio de ferramentas de jogo.
    # Pretendo, na versão 1.2, criar a opção de escolher uma imagem para cada
    # troféu, e classificar os rankings de C à S automaticamente com icones dos
    # respectivos tipos de troféus.
    # Previsão da versão 1.2: 18/08/2010
    #-------------------------------------------------------------------------------
    # Versão 1.2 pronta, para a 1.3 pretendo implementar o sistema de imagens
    # diferentes para cada troféu.
    # Previsão da versão 1.3: 19/08/2010
    #-------------------------------------------------------------------------------
    # Versão 1.3 concluida, agora o sistema usa uma pasta própria para o
    # armazenamento das imagens do script e cada troféu tem a possibilidade de
    # ter uma imagem particular.
    #===============================================================================

    ################################################################################
    #
    #                    INICIO DO MODULO DE CONFIGURAÇÃO
    #
    #===============================================================================
    # Sumário:
    # -De 1.1 à 1.4, configurações dos troféus;
    # -Em 2.1, opção de ativação;
    # -De 3.1 à 3.2, opções de textos;
    # -De 4.1 à 4.3, opções de gráficos;
    # -Em 5.1, transparência das janelas;
    # -De 6.1 à 6.2, customizações adcionais.
    ################################################################################
    module Trophy

    #===============================================================================
    # 1.1 Lista de troféus, lembre-se de criar os detalhes mais abaixo.
    #===============================================================================

      T_LIST = [] # < Não modificar
      # Abaixo está a lista de troféus, para criar mais, apenas adcione um T_LIST[]
      # com o proximo ID em colchetes.
      # EX: T_LIST[] = "" ou T_LIST[20] = "oi"
     
      T_LIST[0] = "Inicio"
      T_LIST[1] = "Vontade"
      T_LIST[2] = "Cobiça"
      T_LIST[3] = "Rotina"
      T_LIST[4] = "Monotonia"
      T_LIST[5] = "Descrença"
      T_LIST[6] = "Tédio"
      T_LIST[7] = "Meio"
      T_LIST[8] = "Esperança"
      T_LIST[9] = "Ihaaa!!!"
      T_LIST[10] = "Nunca desista!"
      T_LIST[11] = "Quase lá..."
      T_LIST[12] = "Desejo."
      T_LIST[13] = "Véspera"
      T_LIST[14] = "Fim."
     
    #===============================================================================
    # 1.2 Graficos dos troféus
    #===============================================================================

      T_GRAPH = [] # < Não modificar
      # Aqui você pode escolher os graficos dos troféus e suas miniaturas.
      # Elas devem estar na sua pasta Graphics/System.
      # Dimensões recomendadas. GRAPH grande: 75x75 GRAPH mini: 25x25
      T_GRAPH[0] = ["bronze","minibronze"]
      T_GRAPH[1] = ["silver","minisilver"]
      T_GRAPH[2] = ["gold","minigold"]
      T_GRAPH[3] = ["platinum","miniplat"]
     
    #===============================================================================
    # 1.3 Imagens dos troféus
    #===============================================================================
     
      T_IMG = [] # < Não modificar
      # Aqui você pode escolher as imagens de troféus.
      # Elas devem estar na sua pasta Graphics/Trophy/.
      # Dimensões recomendadas: 75x75
     
      T_IMG[0] = "trophy0"
      T_IMG[1] = "trophy1"
      T_IMG[2] = "trophy"
      T_IMG[3] = "trophy0"
      T_IMG[4] = "trophy1"
      T_IMG[5] = "trophy"
      T_IMG[6] = "trophy0"
      T_IMG[7] = "trophy1"
      T_IMG[8] = "trophy"
      T_IMG[9] = "trophy0"
      T_IMG[10] = "trophy1"
      T_IMG[11] = "trophy"
      T_IMG[12] = "trophy0"
      T_IMG[13] = "trophy1"
      T_IMG[14] = "trophy"

    #===============================================================================
    # 1.4 Detalhes dos troféus
    #===============================================================================
      T_DET = [] # < Não modificar
     
      # Modelo
      # T_DET[] = [, ]
      #  é o ID do troféu;
      #  é a categoria ou dificuldade do troféu. veja abaixo como utilizar;
      # T_GRAPH[0] = Rank C;
      # T_GRAPH[1] = Rank B;
      # T_GRAPH[2] = Rank A;
      # T_GRAPH[3] = Rank S;
      #  é obviamente a descrição do troféu;
     
      T_DET[0] = [T_GRAPH[0],"Troféu 1."]
      T_DET[1] = [T_GRAPH[0],"Troféu 2"]
      T_DET[2] = [T_GRAPH[0],"Troféu 3."]
      T_DET[3] = [T_GRAPH[0],"Troféu 4."]
      T_DET[4] = [T_GRAPH[0],"Troféu 5."]
      T_DET[5] = [T_GRAPH[1],"Troféu 6."]
      T_DET[6] = [T_GRAPH[1],"Troféu 7."]
      T_DET[7] = [T_GRAPH[2],"Troféu 8."]
      T_DET[8] = [T_GRAPH[1],"Troféu 9."]
      T_DET[9] = [T_GRAPH[1],"Troféu 11."]
      T_DET[10] = [T_GRAPH[2],"Troféu 11."]
      T_DET[11] = [T_GRAPH[2],"Troféu 12."]
      T_DET[12] = [T_GRAPH[2],"Troféu 13."]
      T_DET[13] = [T_GRAPH[2],"Troféu 14."]
      T_DET[14] = [T_GRAPH[3],"Derrote Vampiro Mestre"] 
     
      # Aqui serão definidos os nomes e os icones para os ranks
      RANK_3 = ["S",138] # Muito dificil
      RANK_2 = ["A",139] # Dificil
      RANK_1 = ["B",140] # Médio
      RANK_0 = ["C",141] # Fácil
      HIDDEN = ["?",142] # Desconhecido
     
    #===============================================================================
    # 2.1 Defina como o Scene_Trophy será utilizado.
    #    Pelo Scene_Menu ou através do Scene_Map
    #===============================================================================

      CALL_ON_MAP = true # Defina true para chamar pelo Scene_Map e false para não.
      TRIGGER = Input::R # Defina a tecla a ser utilizada.
       
    #===============================================================================
    # 3.1 Cores dos textos em RGB
    #===============================================================================
      NAME_COLOR = Color.new(255, 255, 255) # Cor do nome
      RANK_COLOR = Color.new(218, 165, 32 ) # Cor do Ranking
      DATA_COLOR = Color.new(255, 255, 255) # Cor da porcentagem
      DESC_COLOR = Color.new(255, 255, 255) # Cor da descrição
     
    #===============================================================================
    # 3.2 Sombras no texto. true = usar e false = não usar
    #===============================================================================
      TEXT_SHADOW = true
     
    #===============================================================================
    # 4.1 Imagem de fundo da scene, defina como nil para não utilizar.
    #===============================================================================
      T_BACK = "Trback"
     
    #===============================================================================
    # 4.2 Imagem de fundo da janela de troféus
    #===============================================================================
      T_DISPLAY_BACK = "trophyback"
     
    #===============================================================================
    # 4.3 Imagem de fundo dos comandos
    #===============================================================================
      T_COMMAND_BACK = "ProfileItem"
     
    #===============================================================================
    # 5.1 Transparência das windows. 0 = invisivel 200 =  visivel
    #    Alterar apenas os números.
    #===============================================================================
     if T_BACK != nil
      OPACITY = 0
     else
      OPACITY = Horegan::OPACITY
     end
     
    #===============================================================================
    # 6.1 Defina se quer usar colunas na lista de troféus e a quantidade.
    #===============================================================================
      USE_COLUMN = false
      COLUMN_NUMBER = 2
     
    #===============================================================================
    # 6.2 Limite de troféus. True para usar, e false para não usar.
    #===============================================================================
     T_LIMIT_USE = true
     T_LIMIT = 26 # Defina aqui o maximo de troféus possiveis.
    #===============================================================================
    end


    ################################################################################
    #
    #                    FIM DO MODULO DE CONFIGURAÇÃO
    #
    ################################################################################


    #-------------------------------------------------------------------------------
    # Não altere os dados abaixo:
    #-------------------------------------------------------------------------------
    $imported = {} if $imported == nil
    $imported["Scene_Trophy"] = true
    $trophy_switches = []
    #-------------------------------------------------------------------------------

    module Cache
      def self.trophy(filename)
        load_bitmap("Graphics/Trophy/", filename)
      end
    end

    ################################################################################
    # Inicio da Scene_Trophy
    ################################################################################

    class Scene_Trophy < Scene_Base
    #===============================================================================
    # Metodo Inicial
    #===============================================================================
      def initialize(index = 0)
          @index = index
      end
    #===============================================================================
    # Metodo Start
    #===============================================================================
      def start
        @window_info = Window_Base.new(0,363,544,53)
        @window_info.visible = false
        @window_info.opacity = Trophy::OPACITY
    #-------------------------------------------------------------------------------
        @window_pre_info = Window_Base.new(0,363,544,53)
        @window_pre_info.visible = true
        @window_pre_info.opacity = Trophy::OPACITY
    #-------------------------------------------------------------------------------
        @window_image = Window_Base.new(161,43,100,100)
        @window_image.opacity = Trophy::OPACITY
    #-------------------------------------------------------------------------------
        @window = Window_Base.new(@window_image.x + 100,@window_image.y,283,100)
        @window.opacity = Trophy::OPACITY
    #-------------------------------------------------------------------------------
        @window2 = Window_Base.new(@window_image.x,@window_image.y + 100,383,110)
        @window2.opacity = Trophy::OPACITY
    #-------------------------------------------------------------------------------
        @window3 = Window_Base.new(@window_image.x,@window_image.y + 210,383,110)
        @window3.opacity = Trophy::OPACITY
    #-------------------------------------------------------------------------------
        @preview = Sprite.new
        @preview.x = @window_image.x + 13
        @preview.y = @window_image.y + 13
        @preview.z = 100
        @preview.visible = true
    #-------------------------------------------------------------------------------
        @preview2 = Sprite.new
        @preview2.x = @window_image.x + 13
        @preview2.y = @window_image.y + 13
        @preview2.z = 100
        @preview2.visible = false
    #-------------------------------------------------------------------------------
        create_menu_background
        create_command_window
        create_menu_back_items
        n_switchs
      end
    #===============================================================================
    # Calculo do valor da variável a partir dos switches
    #===============================================================================
      def n_switchs
        @total = 0
        for i in 0 .. $trophy_switches.size
          @total += 1 if $trophy_switches[i] == true
        end
        return @total
      end
    #===============================================================================
    # Update
    #===============================================================================
      def update
        @window.update
        @window2.update
        @window3.update
        @window_image.update
        @window_pre_info.update
        @window_info.update
        @command_window.update
        @menuback_sprite.update
        @menubackitem_sprite.update
        @preview.update
        @preview2.update
       
    #-------------------------------------------------------------------------------
    # Atualização de conteúdo
    #-------------------------------------------------------------------------------
        @window.contents.clear
        @window_pre_info.contents.clear
        @window_info.contents.clear
        @window2.contents.clear
        @window3.contents.clear
       
    #-------------------------------------------------------------------------------
    # Calculo de porcentagem.
    #-------------------------------------------------------------------------------

        @trophy_var = n_switchs
        @perc_tt = 100
        @perc_at = @trophy_var * @perc_tt / Trophy::T_LIST.size
       
    #-------------------------------------------------------------------------------
    # Criação dos textos
    #-------------------------------------------------------------------------------

        @window.contents.font.color = Trophy::NAME_COLOR
        @window.contents.font.size = 20
        @window.contents.font.shadow = Trophy::TEXT_SHADOW
        @window.contents.draw_text(1, 1, @window.width,32,@name, 0)
        @window.contents.font.bold = true
       
        @window2.contents.font.color = Trophy::RANK_COLOR
        @window2.contents.font.size = 25
        @window2.contents.font.shadow = Trophy::TEXT_SHADOW
        @window2.contents.draw_text(0, 0, @window2.width,24,"Ranking: "+ "#{@rank.to_s}", 0)
       
        @window_pre_info.contents.font.color = Trophy::DATA_COLOR
        @window_pre_info.contents.font.size = 20
        @window_pre_info.contents.font.shadow = Trophy::TEXT_SHADOW
        @window_pre_info.contents.font.bold = true
        @window_pre_info.contents.draw_text(150, 0, @window_pre_info.width,25,"Pressione C ou Enter", 0)
       
        @window_info.contents.font.color = Trophy::DATA_COLOR
        @window_info.contents.font.size = 15
        @window_info.contents.font.shadow = Trophy::TEXT_SHADOW
        @window_info.contents.font.bold = true
        @window_info.contents.draw_text(130, 0, @window_info.width,25,"Porcentagem:"+"#{@perc_at.to_s}"+"%", 0)
        @window_info.contents.draw_text(50, 0, @window_info.width,25,"#{@trophy_var.to_s}/#{Trophy::T_LIST.size.to_s}", 1)

        @window3.contents.font.color = Trophy::DESC_COLOR
        @window3.contents.font.size = 20
        @window3.contents.font.shadow = Trophy::TEXT_SHADOW
        @window3.contents.draw_text(1, 1, @window3.width,24,@description, 0)
       
    #-------------------------------------------------------------------------------
    # Condição de limite
    #-------------------------------------------------------------------------------

        if Trophy::T_LIMIT_USE == true
        if Trophy::T_LIST.size > Trophy::T_LIMIT
          print "Você excedeu o limite!"
          exit
        end
      end
     
    #-------------------------------------------------------------------------------
    # Interação entre comandos e descrições
    #-------------------------------------------------------------------------------

        @command_id = @command_window.index
        case @command_id
          when @command_id
          if $trophy_switches[@command_id+1]
            if Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[0]
              @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[0][0])
              @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
              @rank = Trophy::RANK_0[0]
              @icon = Trophy::RANK_0[1]
              @window2.draw_icon(@icon, 120, 0, enabled = true)
            elsif Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[1]
              @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[1][0])
              @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
              @rank = Trophy::RANK_1[0]
              @icon = Trophy::RANK_1[1]
              @window2.draw_icon(@icon, 120, 0, enabled = true)
            elsif Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[2]
              @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[2][0])
              @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
              @rank = Trophy::RANK_2[0]
              @icon = Trophy::RANK_2[1]
              @window2.draw_icon(@icon, 120, 0, enabled = true)
            elsif Trophy::T_DET[@command_id][0] == Trophy::T_GRAPH[3]
              @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[3][0])
              @preview2.bitmap = Cache.trophy(Trophy::T_IMG[@command_id])
              @rank = Trophy::RANK_3[0]
              @icon = Trophy::RANK_3[1]
              @window2.draw_icon(@icon, 120, 0, enabled = true)
            end
              @name = Trophy::T_LIST[@command_id]
              @description = Trophy::T_DET[@command_id][1]
            else
              @preview.bitmap = Cache.trophy("hidden")
              @preview2.bitmap = Cache.trophy("hiddentrophy")
              @name = "-?????????-"
              @rank = Trophy::HIDDEN[0]
              @icon = Trophy::HIDDEN[1]
              @window2.draw_icon(@icon, 120, 0, enabled = true)
              @description = "-?????????-"
            end
          end
         
    #-------------------------------------------------------------------------------
    # Condições de trigger
    #-------------------------------------------------------------------------------

        if Input.trigger?(Input::B) # Pressionar ESC ou B
          Sound.play_cancel
          close
          if Trophy::CALL_ON_MAP == false
            $scene = Scene_Menu.new(0)
          else
            $scene = Scene_Map.new
          end
        end
       
        if Input.trigger?(Input::C) # Pressionar ENTER ou C
          if @window_info.visible == false and @preview2.visible == false
            @window_pre_info.visible = false
            @window_info.visible = true
            @preview.visible = false
            @preview2.visible = true
          elsif @window_info.visible == true and @preview2.visible == true
          @window_pre_info.visible = true
          @window_info.visible = false
          @preview.visible = true
          @preview2.visible = false
          end
      end
      end
    #===============================================================================
    # Metodo de encerramento
    #===============================================================================
      def close
      @window.dispose
      @window2.dispose
      @window3.dispose
      @window_image.dispose
      @window_pre_info.dispose
      @window_info.dispose
      @preview.dispose
      @preview2.dispose
      @command_window.dispose
      @menuback_sprite.dispose
      @menubackitem_sprite.dispose
      end
    #===============================================================================
    # Criação da janela de comandos
    #===============================================================================
      def create_command_window
        if Trophy::USE_COLUMN == true
        @command_window_column = Trophy::COLUMN_NUMBER
        else
        @command_window_column = 1
        end
        @command_window = Window_Command.new(160,Trophy::T_LIST,@command_window_column)
        @index = @command_window.index
        @command_window.x = 1
        @command_window.y = 43
        @command_window.height = 320
        @command_window.opacity = Trophy::OPACITY
      end
    #===============================================================================
    # Criação das imagens de fundo dos comandos
    #===============================================================================
      def create_menu_back_items
        @menubackitem_sprite = Sprite.new
        @menubackitem_sprite.opacity = 100
        width = 160
        height = @command_window.height-32
        @menubackitem_sprite.bitmap = Bitmap.new(width, height)
        bitmap = Cache.trophy(Trophy::T_COMMAND_BACK)
        rect = Rect.new(0, 0, 160, 24)
        y = 0
        loop do
          break if y >= height
          @menubackitem_sprite.bitmap.blt(0, y, bitmap, rect)
          y += 24
        end
        @menubackitem_sprite.y = @command_window.y+16
      end
    #===============================================================================
    # Criação da imagem de fundo da scene
    #===============================================================================
      def create_menu_background
      if Trophy::T_BACK != nil
        @menuback_sprite = Sprite.new
        @menuback_sprite.bitmap = Cache.trophy(Trophy::T_BACK)
        @menuback_sprite.color.set(1, 1, 0, 0)
        update_menu_background
      else
        @menuback_sprite = Sprite.new
        @menuback_sprite.bitmap = $game_temp.background_bitmap
        @menuback_sprite.color.set(16, 16, 16, 128)
        update_menu_background
      end
     end
    #===============================================================================
    # Fim do Scene_Trophy
    #===============================================================================
    end

    ################################################################################
    # Classe do display de novo troféu
    ################################################################################
    class Trophy_Display < Window_Base
    #===============================================================================
    # Metodo inicial
    #===============================================================================

     def initialize(id)
      super (343,1,200,75)
      @trophy_id = id
      self.visible = true
      self.opacity = 0
      @auto = true
      @preview = Sprite.new
      if Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[0]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[0][1])
      elsif Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[1]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[1][1])
      elsif Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[2]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[2][1])
      elsif Trophy::T_DET[@trophy_id][0] == Trophy::T_GRAPH[3]
          @preview.bitmap = Cache.trophy(Trophy::T_GRAPH[3][1])
      end
      @preview.x = self.x + 15
      @preview.y = self.y + 20
      @preview.z = 100
      if Trophy::T_DISPLAY_BACK != nil
        self.opacity = 0
        @preview_back = Sprite.new
        @preview_back.bitmap = Cache.trophy(Trophy::T_DISPLAY_BACK)
        @preview_back.x = self.x
        @preview_back.y = self.y
      else
        self.opacity = 200
      end
      update
        end
       
    #===============================================================================
    # Metodo de Update
    #===============================================================================
     def update
      self.contents.clear
      $trophy_switches[@trophy_id+1] = true
      trophy_save
      @trophy_name = Trophy::T_LIST[@trophy_id]
      self.contents.font.color = Color.new(30, 144, 255)
      self.contents.font.size = 12
      self.contents.font.shadow = Trophy::TEXT_SHADOW
      self.contents.draw_text(4, 1, width,WLH,"Você Adquiriu um troféu!", 1)
      self.contents.font.color = normal_color
      self.contents.font.size = 12
      @tx = 1
      @ty = 15
      self.contents.draw_text(@tx, @ty, width,WLH,@trophy_name, 1)
      if Input.trigger?(Input::C)
          self.visible = false
          close
          $scene = Scene_Map.new
      end
     end
    #===============================================================================
    # Metodo de encerramento
    #===============================================================================
     def close
      self.visible = false
      self.contents.clear
      @preview.dispose
      if Trophy::T_DISPLAY_BACK != nil
        @preview_back.dispose
      end
      end
    end

    ################################################################################
    # Condição para abrir ou não o Scene_Trophy a partir do Scene_Map
    ################################################################################

    if Trophy::CALL_ON_MAP == true
    #===============================================================================
    # Modificação para o Scene_Trophy ser chamado a partir do Scene_Map
    #===============================================================================
    class Scene_Map < Scene_Base
      alias update_scene_map update
      def update
        update_scene_map
        update_call_trophy
      end
      #--------------------------------------------------------------------------
      # Tela de troféus
      #--------------------------------------------------------------------------
      def call_trophy
        $game_temp.next_scene = nil
        $scene = Scene_Trophy.new
      end
      def update_call_trophy
        if Input.trigger?(Trophy::TRIGGER)
          Sound.play_decision
          $game_temp.next_scene = "trophy"
        end
      end
      def update_scene_change
        return if $game_player.moving?    # Jogadores em movimento?
        case $game_temp.next_scene
        when "battle"
          call_battle
        when "shop"
          call_shop
        when "name"
          call_name
        when "menu"
          call_menu
        when "save"
          call_save
        when "debug"
          call_debug
        when "gameover"
          call_gameover
        when "title"
          call_title
        when "trophy"
          call_trophy
        else
          $game_temp.next_scene = nil
        end
      end
    end
    end
    #===============================================================================
    ADD-On 0.2
    Código:
    =begin
    ================================================================================

                            SCENE_TROPHY ADD-ON 0.2
                            criado por kako92
      Baseado no script de Persistência de variáveis e switches feito por br_lemes
    ================================================================================

                                ATENÇÂO:
              Use por sua conta e risco. Tambem gostaria de deixar claro que o
              script original foi feito pelo br_lemes, todos créditos à ele pela
              criação, e a mim, pela adaptação para o meu script.
             
    ================================================================================
                                INTRODUÇÃO                           
            Este script tem a simples finalidade de fixar os valores
            de porcentagem e de troféus adquiridos, para que, mesmo
            o jogo sendo reiniciado, fechado ou carregado, os valores
            continuem os mesmos.
    ================================================================================
                                INSTRUÇÕES
            Apenas coloque o script acima de Main, abaixo do Scene_Trophy e,
            caso esteja usando uma modificação no Scene_Title ou Game_Over no
            seu projeto, coloque abaixo deles tambem.
    ================================================================================
    =end

    $RMVX = $TEST != nil

    $PERSIST_NAME = $RMVX ? "Data/Trophies.rvdata" : "Data/Trophies.rxdata"

    def trophy_save
      trophy_data = [{},{}]
      for i in 0..Trophy::T_LIST.size
        trophy_data[0][i] = $trophy_switches[i]
      end
      save_data(trophy_data, $PERSIST_NAME)
    end

    def trophy_load
      return if !FileTest.exist?($PERSIST_NAME)
      trophy_data = load_data($PERSIST_NAME)
      for i in 0..Trophy::T_LIST.size
        $trophy_switches[i] = trophy_data[0][i]
      end
      $game_map.refresh
    end

    class Scene_Title
      alias trophy_command_new_game command_new_game
      def command_new_game
        trophy_command_new_game
        trophy_load
      end
    end

    class Scene_File
      alias trophy_do_save do_save
      def do_save
        trophy_do_save
        trophy_save
      end
      alias trophy_do_load do_load
      def do_load
        trophy_do_load
        trophy_load
      end
    end

    class Scene_Gameover
      alias trophy_main main
      def main
        trophy_save
        trophy_main
      end
    end
    Demo da Demo
    4Shared

    Demo das Imagens
    Quem não vê necessidade em baixar a demo(não aconselho), pode baixar somente as imagens aqui.
    4Shared

    Agradecimentos
    -Kyo Panda;
    -Falco;
    -Mandajuv;
    -Sojabird da RRPG e outros...
    -E especialmente a todos que utilizarem o script em seus projetos, pois me sinto honrado em fazer parte dos seus objetivos.
    ' Wwebr
    ' Wwebr
    Membro Ativo
    Membro Ativo


    Medalhas : Sistema de troféu Trophy11
    Mensagens : 347
    Créditos : 72

    Sistema de troféu Empty Re: Sistema de troféu

    Mensagem por ' Wwebr Sáb Nov 20, 2010 8:38 pm

    Muito loko cara Very Happy
    Estilo Xbox e PS3 HAUAHAUAHAUAHU ...
    +1cred

    Fallowz ~//


    _________________
    Sistema de troféu 2ppa821

    ---

    - Baía de Barbalian -

    Lista Negra:



      Data/hora atual: Sáb Nov 23, 2024 7:47 am