Item PopUp  1.10 Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

Item PopUp 1.10

Ir para baixo

Item PopUp  1.10 Empty Item PopUp 1.10

Mensagem por samuel6406 Qua Jun 13, 2012 6:06 pm

Item PopUp 1.10


Introdução

Faz com que quando o personagem ganhe um item, o ícone do mesmo seja monstrado acima da cabeça do herói e vai tendo efeitos de opacidade

Características

- Fácil uso
- Efeito bonito
- Customisavel
...
Screenshots
Item PopUp  1.10 Imagemch
Como usar

-Posicione este script sobre o Main.

-Para Chamar o Icon quando quizer simplesmente faça um Call da seguinte maneira;

para o Jogador:
$game_player.popup_icon(icon_name[, number, color])

Para o Evento em que está o Comando:
self.event.popup_icon(icon_name[, number, color])

Para um outro Evento:
$game_map.events[id].popup_icon(icon_name[, number, color])

-ICON_TIME é o Tempo que um Ícone fica exposto.

-ICON_DELAY é o Tempo que um Ícone esperará para aparecer quando
um Ícone já está sendo Mostrado.

-NUMBER_COLOR é a cor do número nos Ícones.

-GOLD_COLOR é a cor do número para Dinheiro.

-ITEM_COLOR são cores para Itens especiais. Todos os Outros Itens terão a Cor de Número na NUMBER_COLOR.
Para adicionar uma cor especial para um Item faça o Seguinte:

ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....}

Continue repetindo estes comandos para listar as cores Especiais.

Use WEAPON_NUMBER_COLOR para Armas e ARMOR_NUMBER_COLOR para
Armaduras.

Também, deve-se adicionar uma imagem, com o nome: Coin3 na pasta: Graphics/Icons

Demo

Não necessita.

Script
Código:
=begin
┌──────────────────────────────────────┐
│●        Item PopUp  1.10            │
│                                      │
│            Criado por                │
│                                      │
│              Tibuda                  │
│                                      │
│        Traduzido por [ kbrito ]      │
└──────────────────────────────────────┘

Descrição e Uso:
-Script usado para Mostrar ao Jogador quando ganhou um Item
 ou Dinheiro.
 Mostra sempre os Itens e dinheiro que forem sendo adicionados.
 Os Itens são representados por seus Respectivos Ícones e
 o Dinheiro por um Ícone que vc pode escolher aqui.
 
Instruções:
-Posicione este script sobre o Main.

-Para Chamar o Icon quando quizer simplesmente faça um
 Call da seguinte maneira:
 para o Jogador:
 $game_player.popup_icon(icon_name[, number, color])
 
 Para o Evento em que está o Comando:
 self.event.popup_icon(icon_name[, number, color])
 
 Para um outro Evento:
 $game_map.events[id].popup_icon(icon_name[, number, color])
 
-ICON_TIME é o Tempo que um Ícone fica exposto.

-ICON_DELAY é o Tempo que um Ícone esperará para aparecer quando
 um Ícone já está sendo Mostrado.
 
-NUMBER_COLOR é a cor do número nos Ícones.

-GOLD_COLOR é a cor do número para Dinheiro.

-ITEM_COLOR são cores para Itens especiais. Todos os Outros Itens
 terão a Cor de Número na NUMBER_COLOR.
 Para adicionar uma cor especial para um Item faça o Seguinte:
 
 ITEM_NUMBER_COLOR = {item_id => item_color, item_id => item_color....}
 
 Continue repetindo estes comandos para listar as cores Especiais.
 
 Use WEAPON_NUMBER_COLOR para Armas e ARMOR_NUMBER_COLOR para
 Armaduras.

=end

#--------------------------------------------------------------------------
# module Popup_Item
#--------------------------------------------------------------------------
module Popup_Item
  # Deixe true para ligar o efeito de Fade nos ícones.
  FADE_LOSE    = false
 
  ICON_TIME    = 40
 
  ICON_DELAY  = 24
 
  # Altere aqui o ícone de Dinheiro.
  GOLD_ICON    = "Coin3"
 
  # Insira o Nome de uma imagem de 32x32 para Background do ícone.
  BACKGROUND  = ""
 
  # Edite a Fonte aqui.
  NUMBER_FONT  = "Tahoma"
 
  NUMBER_SIZE  = 12
 
  NUMBER_COLOR = Color.new(255, 255, 255)
 
  # Cores de Número customizadas.
  # Deixe como está se vc não pretende usar este recurso.
  GOLD_NUMBER_COLOR  = Color.new(255, 255, 0)
  ITEM_NUMBER_COLOR  = {}
  ARMOR_NUMBER_COLOR  = {}
  WEAPON_NUMBER_COLOR = {}
 
  # Deixe true se vc utilizar o "Trickster's Method & Class Library".
  TRICK_MACL = false
end

#--------------------------------------------------------------------------
# Game_Character
#--------------------------------------------------------------------------
class Game_Character
  attr_accessor :popup_icons
  alias popup_gm_party_init initialize
  def initialize
    popup_gm_party_init
    @popup_icons = []
  end
  def popup_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
    @popup_icons.push([icon_name, number, color])
  end
  def fade_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
    @fade_icons.push([icon_name, number, color])
  end
end
#--------------------------------------------------------------------------
# Game_Party
#--------------------------------------------------------------------------
class Game_Party
  def popup_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
    $game_player.popup_icon(icon_name, number, color)
  end
  def fade_icon(icon_name, number = 1, color = Popup_Item::NUMBER_COLOR)
    $game_player.fade_icon(icon_name, number, color)
  end
  alias popup_gm_party_gain_gold gain_gold
  def gain_gold(n)
    popup_gm_party_gain_gold(n)
    if Popup_Item::GOLD_ICON != "" and $scene.is_a?(Scene_Map)
      if Popup_Item::GOLD_NUMBER_COLOR.is_a?(Color)
        color = Popup_Item::GOLD_NUMBER_COLOR
      else
        color = Popup_Item::NUMBER_COLOR
      end
      popup_icon(Popup_Item::GOLD_ICON, n, color)
    end
  end
  alias popup_gm_party_gain_item gain_item
  def gain_item(id, n)
    popup_gm_party_gain_item(id, n)
    return if id < 1 or id >= $data_items.size
    if $scene.is_a?(Scene_Map)
      if Popup_Item::ITEM_NUMBER_COLOR[id].is_a?(Color)
        color = Popup_Item::ITEM_NUMBER_COLOR[id]
      elsif Popup_Item::ITEM_NUMBER_COLOR[0].is_a?(Color)
        color = Popup_Item::ITEM_NUMBER_COLOR[0]
      else
        color = Popup_Item::NUMBER_COLOR
      end
      popup_icon($data_items[id].icon_name, n, color)
    end
  end
  alias popup_gm_party_gain_weapon gain_weapon
  def gain_weapon(id, n)
    popup_gm_party_gain_weapon(id, n)
    return if id < 1 or id >= $data_weapons.size
    if $scene.is_a?(Scene_Map)
      if Popup_Item::WEAPON_NUMBER_COLOR[id].is_a?(Color)
        color = Popup_Item::WEAPON_NUMBER_COLOR[id]
      elsif Popup_Item::WEAPON_NUMBER_COLOR[0].is_a?(Color)
        color = Popup_Item::WEAPON_NUMBER_COLOR[0]
      else
        color = Popup_Item::NUMBER_COLOR
      end
      popup_icon($data_weapons[id].icon_name, n, color)
    end
  end
  alias popup_gm_party_gain_armor gain_armor
  def gain_armor(id, n)
    popup_gm_party_gain_armor(id, n)
    return if id < 1 or id >= $data_armors.size
    if $scene.is_a?(Scene_Map)
      if Popup_Item::ARMOR_NUMBER_COLOR[id].is_a?(Color)
        color = Popup_Item::ARMOR_NUMBER_COLOR[id]
      elsif Popup_Item::ARMOR_NUMBER_COLOR[0].is_a?(Color)
        color = Popup_Item::ARMOR_NUMBER_COLOR[0]
      else
        color = Popup_Item::NUMBER_COLOR
      end
      popup_icon($data_armors[id].icon_name, n, color)
    end
  end
end
#--------------------------------------------------------------------------
# module RPG
#--------------------------------------------------------------------------
module RPG
  #--------------------------------------------------------------------------
  # RPG::Sprite
  #--------------------------------------------------------------------------
  class Sprite
    def popup_icon(name, number = 1, color = Popup_Item::NUMBER_COLOR)
      return if name == "" or name == nil
      return if number.is_a?(Numeric) and number < 0 and !Popup_Item::FADE_LOSE
      @icons = [] if !@icons.is_a?(Array)
      icon = {}
      icon["time"]  = 0 - @icons.size * Popup_Item::ICON_DELAY
      if number.is_a?(Numeric) and number < 0
        icon["fade"] = true
        number      = - number
      else
        icon["fade"] = false
      end
      icon["sprite"] = RPG::Sprite.new(self.viewport)
      if Popup_Item::BACKGROUND != ""
        bitmap = RPG::Cache.picture(Popup_Item::BACKGROUND)
        icon["sprite"].bitmap = Bitmap.new(bitmap.width, bitmap.height)
        icon["sprite"].bitmap.blt(0, 0, bitmap, Rect.new(0,0,bitmap.width,bitmap.width))
      else
        icon["sprite"].bitmap = Bitmap.new(32,32)
       
      end
      bitmap = RPG::Cache.icon(name)
      icon["sprite"].bitmap.blt(4, 4, bitmap, Rect.new(0,0,24,24))
      if Popup_Item::NUMBER_SIZE > 0 and number != 1 and number != ""
        icon["sprite"].bitmap.font.outline = true if Popup_Item::TRICK_MACL
        icon["sprite"].bitmap.font.name  = Popup_Item::NUMBER_FONT
        icon["sprite"].bitmap.font.size  = Popup_Item::NUMBER_SIZE
        icon["sprite"].bitmap.font.color = color
        icon["sprite"].bitmap.draw_text(5, 28 - Popup_Item::NUMBER_SIZE - 1, 27, Popup_Item::NUMBER_SIZE, number.to_s)
      end
      icon["sprite"].ox = 0
      icon["sprite"].oy = 20
      icon["sprite"].x  = self.x
      icon["sprite"].y  = self.y - self.oy / 2 + 1 - icon["time"]
      icon["sprite"].z  = 3000
      icon["sprite"].visible = false
      @icons.push(icon)
    end
    def update_icons
      return unless @icons.is_a?(Array)
      return if Graphics.frame_count % 2 != 0
      i = 0
      while i < @icons.size
        if @icons[i]["time"] > Popup_Item::ICON_TIME
          @icons[i]["sprite"].bitmap.dispose
          @icons[i]["sprite"].dispose
          @icons.delete_at(i)
        else
          @icons[i]["time"] += 1
          if @icons[i]["fade"]
            op = [255 * (1 - @icons[i]["time"] / Popup_Item::ICON_TIME),0].max
            @icons[i]["sprite"].opacity = op
          else
            @icons[i]["sprite"].y -= 1
          end
          @icons[i]["sprite"].visible = @icons[i]["time"] >= 0
          i += 1
        end
      end
    end
    alias popup_sprite_update update
    def update
      popup_sprite_update
      update_icons
    end
  end
end
#--------------------------------------------------------------------------
# Sprite_Character
#--------------------------------------------------------------------------
class Sprite_Character
  alias popup_spr_char_update update
  def update
    popup_spr_char_update
    if @character.is_a?(Game_Character)
      while @character.popup_icons.size > 0
        popup_icon(@character.popup_icons[0][0], @character.popup_icons[0][1],
                  @character.popup_icons[0][2])
        @character.popup_icons.delete_at(0)
      end
    end
    update_icons
  end
end
créditos
Tibuda

samuel6406
Banido
Banido

Mensagens : 49
Créditos : 11

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos