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

MapEquip - Equipamentos na Tela do Mapa Versão 2.0

Iniciado por LoboShow, 06/12/2012 às 21:19

06/12/2012 às 21:19 Última edição: 06/12/2012 às 21:26 por lobozero
MapEquip - Equipamentos na Tela do Mapa Versão 2.0

Compativel com: RMVX
Compatibilidade : ?
Facilidade de uso: ?
Lag gerado: ?

[box class=titlebg]
Condições de Uso
[/box]
- Se for usar esse script,você não é obrigado a incluir meu nome nos creditos,mas eu gostaria que você desse os merecidos creditos ;D
- Você pode usar esse script em jogos não comerciais,se deseja utilizar em algum jogo comercial,entre e contato comigo e entramos em acordo.
- Você pode distribuir/modificar/editar esse script,mas não pode retirar o nome do autor e nem o link para o forum da ReinoRpg.
      - Rafidelis

[box class=titlebg]
Para que serve o script
[/box]
Exiba os equipamentos na Vertical ( | ) ou na Horizontal ( _ )
Exibe o ataque ou a defesa do equipamento.
Mostrar/Ocultar os equipamentos atraves de uma tecla.
Use uma imagem de Fundo,caso deseje.
Exibição de um texto,nos lugares dos equipamentos 'vazios'.
Compativel com scripts que aumentam a quantidade de slots de equipamentos.
Atualizado somente quando algum equipamento é modificado,assim evita totalmente os possiveis lags.

[box class=titlebg]
Script
[/box]
#==============================================================================#
#                [RGSS2] Equipaments in Map Screen                             #
#------------------------------------------------------------------------------#
# $RafiScripts.by = Rafidelis(Rafis)                                           #
# $RafiScripts.version = 1.0                                                   #
# $RafiScripts.release_date = 09/09/09 (legal né?)  (d/m/y)                    #
# $RafiScripts.email = Rafa_Fidelis@hotmail.com or Rafa_Fidelis@yahoo.com.br   #
# $RafiScripts.website = [url=http://www.ReinoRPG.com]www.ReinoRPG.com[/url]  or [url=http://www.ReinoRPG.com/forum]www.ReinoRPG.com/forum[/url]           #
#==============================================================================#

#==============================================================================#
# [** $RafiScripts.versions **]  // Versões do Script/ Script Versions         #
#------------------------------------------------------------------------------#
# 22/09/08 - Lançada Versão 1.0                                               #
# 09/09/09 - Lançada Versão 2.0                                               #
#==============================================================================#

#==============================================================================#
# [** $RafiScripts.desc **]  // Sobre o Script / About Script                  #
#------------------------------------------------------------------------------#
# Este script,é uma nova versão de um velho script que criei,à uns 10 meses    #
# atras.E claro,dessa vez uma versão aprimorada e melhor,totalmente sem lags.  #
# O que este Script Faz? :Ele mostra na tela os equipamentos atuais do jogador #
#------------------------------------------------------------------------------#
# ** Caracteristicas :                                                         #
# (*) Exiba os equipamentos na Vertical ( | ) ou na Horizontal ( _ )           #
# (*) Exibe o ataque ou a defesa do equipamento.                               #
# (*) Mostrar/Ocultar os equipamentos atraves de uma tecla.                    #
# (*) Use uma imagem de Fundo,caso deseje.                                     #
# (*) Exibição de um texto,nos lugares dos equipamentos 'vazios'               #
# (*) Compativel com scripts que aumentam a quantidade de slots de equipamentos#
# (*) Atualizado somente quando algum equipamento é modificado,assim evita     #
#     totalmente os possiveis lags,ou seja,não acaba com seu jogo ò.Ó          #
#------------------------------------------------------------------------------#

#==============================================================================#
# [** $RafiScripts.instr ] // Instruções                                       #
#------------------------------------------------------------------------------#
# 1° Colar Acima do Main                                                       #
# 2° Editar as Constantes no Modulo Rafidelis::MapEquip,se quiser.             #
# 3° Caso queira usar uma imagem de fundo,ela deve esta na pasta Picture.      #
#------------------------------------------------------------------------------#

#==============================================================================#
#                         [** Module Rafidelis ]                               #
#[**Modulo necessario para rodar os Scripts criados por Rafidelis(RafiScripts)]#
#==============================================================================#
module Rafidelis
#==============================================================================#
# Rafidelis.add_script - Name : Name of Script - Version : Version of Script   #
#------------------------------------------------------------------------------#
  def self.add_script(name,version)
    $RafiScripts = [] if $RafiScripts.nil?
    $RafiScripts.push("Name : #{name} - Version: #{version}")
  end
#==============================================================================#
# Rafidelis.script_exist? - Name : Name of Script - Version : Version of Script#
#------------------------------------------------------------------------------#
  def self.script_exist?(name,version)
    $RafiScripts = [] if $RafiScripts.nil?
    return $RafiScripts.include?("Name : #{name} - Version: #{version}")
  end
#==============================================================================#
# Rafidelis.scripts - Return all scripts create by Rafidelis(RafiScripts)      #
#------------------------------------------------------------------------------#
  def self.scripts
    print $RafiScripts
  end
#==============================================================================#
# Rafidelis.create_txt - Create a .txt with all Rafidelis(RafiScripts) scripts #
#------------------------------------------------------------------------------#
  def self.create_txt(filename="RafideliScripts")
    file = File.open("#{filename}.txt","wb")
    for i in 0...$RafiScripts.size
      file.write("#{$RafiScripts[i]}\r\n")
    end
  end
  #============================================================================#
  # (***) Modulo de Opções para o Script de Equipamento na Tela.               #
  #============================================================================#
  module MapEquip
    # Adicionando o Script ao Sistema.Não Modificar
    name = "Equipaments in Map Screen"
    version = "1.0"
    Rafidelis.add_script(name,version)
    # Script adicionado ao Sistema.
   
    # Mode = use "V" -> Vertical ou "H" -> Horizontal
    Mode = "V"
    # Imagem de Fundo,se não quiser usar deixe o nome em "".
    BackGround_Image = "Equip_Back"
    # Mostrar informações do Equipamento? -> Ataque e Defesa.
    Display_Equip_Info = true
    # Termos a serem exibidos antes do poder de ataque e poder de defesa.
    Terms = ["Atk : ","Def : "]
    # Texto Exibido quando o slot de equipamento estiver vazio.
    No_Equip_Text = "Vazio"
    # Posição Horizontal dos Equipamentos. Padrão -> - 10
    Window_X = -10
    # Posição Vertical dos Equipamentos. Padrão -> - 10
    Window_Y = -10
    # Opacidade Da Janela,recomendado deixar em 0
    Window_Opacity = 0
    # Usar o teclado para Exibir/Ocultar os Equipamentos?
    Use_Input = true
    # Se Use_Input = true defina abaixo a tecla a ser utilizada.
    # Defina de acordo com os padrões do RPGMaker.Veja abaixo algumas teclas.
    # "Tecla no RPGMaker" -> Tecla original no Teclado.
    # "A" -> Z : "Y" -> S : "Z" -> D : "X" - A : "L" -> Q : "R" -> W
    Key = "X"
    # Se Use_Input = false,defina abaixo o ID de uma Switch para controlar
    # a Exibição dos Equipamentos na Tela.
    Control_Switch_ID = 1
  end
end
#==============================================================================#
# [** $RafiScripts.conf_start ] \\ Inicio das Configurações                    #
#------------------------------------------------------------------------------#
# Verificando se o script esta incluso no sistema                              #
#==============================================================================#
name = "Equipaments in Map Screen"
version = "1.0"
if Rafidelis.script_exist?(name,version)
#==============================================================================#
# [** Window_Equipment **]                                                     #
#------------------------------------------------------------------------------#
#  (*) Esta Janela exibe os equipamentos do personagem principal no Mapa.      #
#==============================================================================#
class Window_Equipament < Window_Base
  include Rafidelis::MapEquip
  #============================================================================#
  # (*) -> Inicialização do objeto                                             #
  #----------------------------------------------------------------------------#
  def initialize
    dim = get_dimensions
    super(Window_X,Window_Y,dim[0],dim[1])
    self.opacity = Window_Opacity
    self.contents.font.bold = true
    refresh
  end
  #============================================================================#
  # (*) -> Pegar as Dimensões de Altura e Largura da Janela.                   #
  #----------------------------------------------------------------------------#
  def get_dimensions
    @mode = Mode
    @bitmap = Cache.picture(BackGround_Image)
    @equips = $game_party.members[0].equips
    case @mode
    when "H"
      width = (@equips.size * @bitmap.width) + 32
      height = @bitmap.height + 32
    when "V"
      width = @bitmap.width + 32
      height = (@equips.size * @bitmap.height) + 32
    end
    return [width,height]
  end
  #============================================================================#
  # (*) Refresh                                                                #
  #----------------------------------------------------------------------------#
  def refresh
    self.contents.clear
    bw = @bitmap.width ; bh = @bitmap.height
    for i in 0...@equips.size
      if @mode == "H"
        x = i * bw
        y = 0
        tx = 5 + x
      else
        x = 0
        y = i * bh
        tx = 5 + x
      end
      self.contents.blt(x,y,@bitmap,@bitmap.rect)
      if @equips[i].nil?
        tw = contents.text_size(No_Equip_Text).width
        self.contents.font.size = 15
        self.contents.draw_text(tx,y,self.width,32,No_Equip_Text)
      else
        draw_equip_icon(@equips[i],x + 8,y + 5,Display_Equip_Info)
      end
    end
  end
  #============================================================================#
  # (*) Mostrar os Icones dos Equipamentos                                     #
  # item  :equipamento a ser exibido,pode ser tanto uma Arma ou Armadura.      #
  # x : Posição x do Icone | y : Posição Y do Icone                            #
  # show_text : Exibir as Informações de Ataque e Defesa do Equipamento.       #
  #----------------------------------------------------------------------------#
  def draw_equip_icon(item, x, y,show_text=false)
    draw_icon(item.icon_index,x,y)
    if item != nil
      self.contents.font.size = 11
      atk = Terms[0]
      defense = Terms[1]
      tw = contents.text_size(atk).width
      tw2 = contents.text_size(defense).width
      x = x - 6
      y = y + 12
      if show_text
        if item.is_a?(RPG::Armor)
          self.contents.font.color = text_color(2)
          self.contents.draw_text(x, y,@bitmap.width,32,defense)
          self.contents.font.color = normal_color
          self.contents.draw_text(tw2 + x, y,@bitmap.width,32,"#{item.def}")
        elsif item.is_a?(RPG::Weapon)
          self.contents.font.color = text_color(2)
          self.contents.draw_text(x, y,@bitmap.width, 32,atk)
          self.contents.font.color = normal_color
          self.contents.draw_text(tw + x, y,@bitmap.width, 32,"#{item.atk}")
        end
      end
    end
  end
  #============================================================================#
  # (*) Atualização | (*) Update                                               #
  #----------------------------------------------------------------------------#
  def update
    if Use_Input
      if Input.trigger?(eval("Input::#{Key}"))
        if self.visible
          self.visible = false
        else
          self.visible = true
        end
      end
    elsif not Use_Input
      self.visible = $game_switches[Control_Switch_ID]
    end
    actor = $game_party.members[0]
    for i in 0...@equips.size
      if @equips[i] != actor.equips[i]
        @equips = $game_party.members[0].equips
        refresh if self.visible
      end
    end
  end
end
#==============================================================================#
# Scene_Map                                                                    #
#------------------------------------------------------------------------------#
# Classe das operações nos mapas.                                              #
#==============================================================================#
class Scene_Map < Scene_Base
  include Rafidelis::MapEquip
  #============================================================================#
  # (*) -> Aliase                                                              #
  #----------------------------------------------------------------------------#
  alias :rafidelis_mapequip_start      :start
  alias :rafidelis_mapequip_update     :update
  alias :rafidelis_mapequip_terminate  :terminate
  #============================================================================#
  # (*) -> Inicialização do processo                                           #
  #----------------------------------------------------------------------------#
  def start
    @equip_window = Window_Equipament.new
    $game_switches[Rafidelis::MapEquip::Control_Switch_ID] = true
    rafidelis_mapequip_start
  end
  #============================================================================#
  # (*) -> Atualização do processo                                             #
  #----------------------------------------------------------------------------# 
  def update
    @equip_window.update
    rafidelis_mapequip_update
  end
  #============================================================================#
  # (*) -> Termininação do processo                                            #
  #----------------------------------------------------------------------------#
  def terminate
     @equip_window.dispose
     rafidelis_mapequip_terminate
   end
 end
 # Fim da Verificação do Script no Sistema
end
#==============================================================================#
# [** $RafiScripts.script_end] // Fim do Script - Script End                   #
#------------------------------------------------------------------------------#
# Você pode encontrar mais scripts meus em [url=http://www.ReinoRPG.com]www.ReinoRPG.com[/url]                    #
# You can find more scripts create for me at [url=http://www.ReinoRPG.com]www.ReinoRPG.com[/url]                  #
#==============================================================================#


[box class=titlebg]
Imagens
[/box]


Imagens para serem usadas como Background:

[box class=titlebg]
Créditos e Avisos
[/box]
Criador :  Rafidelis