quarta-feira, 3 de abril de 2013

RPGMAKERVXACE - voando


# Muda o gráfico do jogador para: Actor4_v por exemplo
# Mostra animação do gráfico voando(batendo asas)
# Caso o gráfico voando não exista, não irá dar erro e nem voar.
# Você pode mudar o _v para qualquer outro sufixo
# Você pode escolher qual Tecla vai fazer o jogador voar.
# Você pode escolher se só pode voar se tiver tal acessório
# Você pode escolher uma Switch para poder voar

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#|Autor: RD12|             Jogador poder Voar
#------------------------------------------------------------------------------------
#       Muda o gráfico do jogador para ele voando, e faz atravessar tudo
#                        www.aldeiarpgbr.com
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Você pode escolher qual Tecla vai fazer o jogador voar.
# Você pode escolher se só pode voar se tiver tal acessório

module Conf_Voar
  #Teclas: "A" = Z : "Y" = S : "Z" = D : "X" = A : "L" = Q : "R" = W
  Tecla = :Y
  Acessorios = {}
  #ID dos Acessórios que fazem voar | Deixe false para poder voar sem acessório
  Acessorios = [false,55, 54]
  #Sufixo que ficará na frente do nome do char voando
  Sufixo = "_v"
  #Velocidade Voando (a normal é 4)
  Vel_Voando = 4.5
  #ID da Switch para poder voar (on)
  Switch = 5
end

class Game_Character
  attr_accessor   :character_name
  attr_accessor   :through
  attr_accessor   :move_speed
  attr_accessor   :always_on_top
  attr_accessor   :walk_anime
end

class Scene_Map
   alias voar_update update
  def update
      voar_update
     
    #Guarda o nome e index do gráfico normal do jogador
    @old_graphic = $game_player.character_name if @old_graphic.nil?
    actor = $game_party.members[0]
      if !(Input.press?(Conf_Voar::Tecla) and $game_switches[Conf_Voar::Switch])
        $game_player.through = false
        $game_player.move_speed = 4
        $game_player.always_on_top = false
        $game_player.walk_anime = false
        #Muda para o gráfico normal
        actor.mudar_voando(@old_graphic)
        $game_player.refresh
      end
    if !Conf_Voar::Acessorios[0] and $game_switches[Conf_Voar::Switch]
       if Input.press?(Conf_Voar::Tecla)
        graphic = @old_graphic + Conf_Voar::Sufixo
        #Verifica se o gráfico existe para não dar erro
        filename = "Graphics/Characters/"+graphic+".png"
        return if !FileTest.exist?(filename)
        #Muda para o gráfico voando, aumenta velocidade, bota pra atravessar tudo...
        actor.mudar_voando(graphic)
        $game_player.through = true
        $game_player.move_speed = Conf_Voar::Vel_Voando
        $game_player.always_on_top = true
        $game_player.walk_anime = true
        $game_player.refresh
       end
       return
     end
     if $game_switches[Conf_Voar::Switch] and Input.press?(Conf_Voar::Tecla)
      return if !Conf_Voar::Acessorios[0] or actor.equips[4].nil?
       if Conf_Voar::Acessorios.include?(actor.equips[4].id)
        graphic = @old_graphic + Conf_Voar::Sufixo
        #Verifica se o gráfico existe para não dar erro
        filename = "Graphics/Characters/"+graphic+".png"
        return if !FileTest.exist?(filename)
        #Muda para o gráfico voando, aumenta velocidade, bota pra atravessar tudo...
        actor.mudar_voando(graphic)
        $game_player.through = true
        $game_player.move_speed = Conf_Voar::Vel_Voando
        $game_player.always_on_top = true
        $game_player.walk_anime = true
        $game_player.refresh
      end
     end
  end
end

class Game_Actor < Game_Battler
  def mudar_voando(character_name)
    @character_name = character_name
  end
end

Nenhum comentário:

Postar um comentário