RMB - Vivenciando as mudanças da vida. Vá agora para a nova RMB! rpgmakerbrasil.net!


    [Pedido] Respawn ao invés de game over.

    Compartilhe

    Elric
    Novato
    Novato

    Mensagens : 13
    Experiência : 2340
    Reputação : 10

    [Pedido] Respawn ao invés de game over.

    Mensagem por Elric em Ter Ago 10, 2010 3:03 pm

    Sofrendo com isso a cada vez que eu morro.
    Preciso de algo que retire o game over e dê apenas respawn.

    Alucard_2
    Administrador
    Administrador

    Masculino Mensagens : 820
    Experiência : 3369
    Reputação : 57
    - : Melhor Tutorial - Oscar 2010

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por Alucard_2 em Ter Ago 10, 2010 3:45 pm

    Aqui, está tudo certinho com as instruções no script. Cole-o acima do Main.

    Spoiler:

    Código:

    #==============================================================================
    # Game_Interpreter
    #------------------------------------------------------------------------------
    # Esta classe interpreta os comandos de evento e os transforma no código da
    # engine do RPG Maker. As classes Game_Map, Game_Troop, Game_Event são usadas.
    #==============================================================================

    # Altere os valores aqui. Para alterar no meio do jogo, basta chamar o script
    # por enventos:

    =begin

    $dead_gameover = false  # Ir para tela de GameOver ao morrer?
    $respawn_mapid = 1      # Mapa ao dar Respawn
    $respawn_x = 8          # Coordenada x (horizontal) ao dar Respawn
    $respawn_y = 4          # Coordenada y (vertical) ao dar Respawn
    $actor_hppc = 100      # Porcentagem do HP Máx ao dar Respawn
    $actor_hppc = 100      # Porcentagem do MP Máx ao dar Respawn

    =end

    $dead_gameover = false  # Ir para tela de GameOver ao morrer?
    $respawn_mapid = 1      # Mapa ao dar Respawn
    $respawn_x = 8          # Coordenada x (horizontal) ao dar Respawn
    $respawn_y = 4          # Coordenada y (vertical) ao dar Respawn
    $actor_hppc = 50      # Porcentagem do HP Máx ao dar Respawn
    $actor_mppc = 50      # Porcentagem do MP Máx ao dar Respawn

    class Game_Interpreter
      #--------------------------------------------------------------------------
      # Mudar HP
      #--------------------------------------------------------------------------
      def command_311
        value = operate_value(@params[1], @params[2], @params[3])
        iterate_actor_id(@params[0]) do |actor|
          next if actor.dead?
          if @params[4] == false and actor.hp + value <= 0
            actor.hp = 1    # Se não for permitido, HP será 1
          else
            actor.hp += value
          end
          actor.perform_collapse
        end
        if $game_party.all_dead?
          if $dead_gameover == true
            $game_temp.next_scene = "gameover"
          else
            iterate_actor_id(@params[0]) do |actor|
              for actor in $game_party.members
                actor.hp = actor.maxhp*$actor_hppc/100
                actor.mp = actor.maxmp*$actor_mppc/100
              end
            end
            $game_map.setup($respawn_mapid) # ID do Mapa
            $game_player.moveto($respawn_x, $respawn_y)
            $game_player.refresh
            $scene = Scene_Map.new
          end
        end
        return true
      end
    end



    _________________________________________________
    O que estou fazendo agora:
    Avaliando Concursos
    Vamos ajudar a nova RMB a crescer!


    Elric
    Novato
    Novato

    Mensagens : 13
    Experiência : 2340
    Reputação : 10

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por Elric em Qua Ago 11, 2010 12:35 am

    Alucard_2 escreveu:Aqui, está tudo certinho com as instruções no script. Cole-o acima do Main.

    Spoiler:

    Código:

    #==============================================================================
    # Game_Interpreter
    #------------------------------------------------------------------------------
    # Esta classe interpreta os comandos de evento e os transforma no código da
    # engine do RPG Maker. As classes Game_Map, Game_Troop, Game_Event são usadas.
    #==============================================================================

    # Altere os valores aqui. Para alterar no meio do jogo, basta chamar o script
    # por enventos:

    =begin

    $dead_gameover = false  # Ir para tela de GameOver ao morrer?
    $respawn_mapid = 1      # Mapa ao dar Respawn
    $respawn_x = 8          # Coordenada x (horizontal) ao dar Respawn
    $respawn_y = 4          # Coordenada y (vertical) ao dar Respawn
    $actor_hppc = 100      # Porcentagem do HP Máx ao dar Respawn
    $actor_hppc = 100      # Porcentagem do MP Máx ao dar Respawn

    =end

    $dead_gameover = false  # Ir para tela de GameOver ao morrer?
    $respawn_mapid = 1      # Mapa ao dar Respawn
    $respawn_x = 8          # Coordenada x (horizontal) ao dar Respawn
    $respawn_y = 4          # Coordenada y (vertical) ao dar Respawn
    $actor_hppc = 50      # Porcentagem do HP Máx ao dar Respawn
    $actor_mppc = 50      # Porcentagem do MP Máx ao dar Respawn

    class Game_Interpreter
      #--------------------------------------------------------------------------
      # Mudar HP
      #--------------------------------------------------------------------------
      def command_311
        value = operate_value(@params[1], @params[2], @params[3])
        iterate_actor_id(@params[0]) do |actor|
          next if actor.dead?
          if @params[4] == false and actor.hp + value <= 0
            actor.hp = 1    # Se não for permitido, HP será 1
          else
            actor.hp += value
          end
          actor.perform_collapse
        end
        if $game_party.all_dead?
          if $dead_gameover == true
            $game_temp.next_scene = "gameover"
          else
            iterate_actor_id(@params[0]) do |actor|
              for actor in $game_party.members
                actor.hp = actor.maxhp*$actor_hppc/100
                actor.mp = actor.maxmp*$actor_mppc/100
              end
            end
            $game_map.setup($respawn_mapid) # ID do Mapa
            $game_player.moveto($respawn_x, $respawn_y)
            $game_player.refresh
            $scene = Scene_Map.new
          end
        end
        return true
      end
    end


    Parece ótimo, porém eu continuo a ir pro "Game Over".
    Sistema ABS.
    Eu morro e dá game over, poderia me explicar melhor?
    Mas mesmo assim fui grato (:

    Alucard_2
    Administrador
    Administrador

    Masculino Mensagens : 820
    Experiência : 3369
    Reputação : 57
    - : Melhor Tutorial - Oscar 2010

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por Alucard_2 em Qua Ago 11, 2010 4:52 pm

    Poderia me dizer qual o seu sistema ABS?


    _________________________________________________
    O que estou fazendo agora:
    Avaliando Concursos
    Vamos ajudar a nova RMB a crescer!


    Elric
    Novato
    Novato

    Mensagens : 13
    Experiência : 2340
    Reputação : 10

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por Elric em Qua Ago 11, 2010 11:15 pm

    Alucard_2 escreveu:Poderia me dizer qual o seu sistema ABS?

    Requiem ABS 5.

    NickTheMaster
    Membro
    Membro

    Masculino Mensagens : 87
    Experiência : 2465
    Reputação : 22

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por NickTheMaster em Dom Ago 22, 2010 1:25 pm

    Ei, com o requiem abs 9 tbm dava esse problema, mas eu concertei XD. (to ficando fod4 em script, todo q eu pego entra em confronto com outros sahuuashhuashuauhasuashusahu). Isso dava problema pq o requiem ele ativa o gameover e nao esse script entao.
    Pra usa substitui o script do Scene_game over por esse:
    Código:
    #==============================================================================
    # Scene_Gameover
    #------------------------------------------------------------------------------
    # Classe de operações na tela de Game Over.
    #==============================================================================

    class Scene_Gameover < Scene_Base
      #--------------------------------------------------------------------------
      # Inicialização do processo
      #--------------------------------------------------------------------------
      def start
        super
        RPG::BGM.stop
        RPG::BGS.stop
        $data_system.gameover_me.play
        Graphics.transition(120)
        Graphics.freeze
        create_gameover_graphic
      end
      #--------------------------------------------------------------------------
      # Fim do processo
      #--------------------------------------------------------------------------
      def terminate
        super
        dispose_gameover_graphic
        $scene = nil if $BTEST
      end
      #--------------------------------------------------------------------------
      # Atualização da tela
      #--------------------------------------------------------------------------
      def update
        super
        if Input.trigger?(Input::C)
          $game_map.setup($respawn_mapid) # ID do Mapa
          $game_player.moveto($respawn_x, $respawn_y)
          $game_player.refresh
          for actor in $game_party.members
              actor.hp = actor.maxhp*$actor_hppc/100
              actor.mp = actor.maxmp*$actor_mppc/100
          end
          $scene = Scene_Map.new
          Graphics.fadeout(120)
        end
      end
      #--------------------------------------------------------------------------
      # Execução da transição
      #--------------------------------------------------------------------------
      def perform_transition
        Graphics.transition(180)
      end
      #--------------------------------------------------------------------------
      # Criação do gráfico de Game Over
      #--------------------------------------------------------------------------
      def create_gameover_graphic
        @sprite = Sprite.new
        @sprite.bitmap = Cache.system("GameOver")
      end
      #--------------------------------------------------------------------------
      # Dispose do gráfico de Game Over
      #--------------------------------------------------------------------------
      def dispose_gameover_graphic
        @sprite.bitmap.dispose
        @sprite.dispose
      end
    end

    Você ainda precisa do script do alucard, vc ajusta onde vai ser o respawn e a pocentagem de hp recuperado la

    XD

    eduardofel
    Colaborador
    Colaborador

    Masculino Mensagens : 163
    Experiência : 2447
    Reputação : 14

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por eduardofel em Qui Set 16, 2010 2:47 pm

    Brigadao a vcs

    Usarei isso no meu projeto

    Conteúdo patrocinado

    Re: [Pedido] Respawn ao invés de game over.

    Mensagem por Conteúdo patrocinado Hoje à(s) 9:56 pm


      Data/hora atual: Qui Dez 08, 2016 9:56 pm