Emoticons 1.0

24 de setembro de 2012

Emoticons 1.0 é um script desenvolvido por santa.society e grungeisnotdead, lançado em 29/09/2007, com colaborações de LBMaker e ColaOssos.

Basicamente, ele permite uns balõezinhos na tela, que aparecem emoticons (inclusive uns do MSN, como você pode ver na thumb desta publicação).

Para utilizar, basta inserir o código abaixo acima do Main, na tela de scripts do RPG Maker XP:

#===============================================================================
#
#Por: santa.society | grungeisnotdead
#Versão: 1.0
#Data: 29/09/2007
#Colaborações: LBMaker | ColaOssos
#
#===============================================================================

#• Atrib_Emoticon
# Guarda o nome do emoticon e a quantidade de frames
class Atrib_Emoticon
  attr_accessor       :id
  attr_accessor       :frames

  def initialize(id, frames)
    @id = id
    @frames = frames
  end
end

#• Emoticon
class Emoticon
  # Acessar variaveis da Classe Atrib_Emoticon
  attr_accessor       :id
  attr_accessor       :frames
  # Iniciando
  def initialize(emoticon, position)
    # Aqui é aonde se cria cada emoticon,
    # adicione dentro da hash o seguinte:
    # @emoticon = { 
    # "key1"  => Atrib_Emoticon.new("nome_da_imagem1", frames_da_imagem1),
    # "key2"  => Atrib_Emoticon.new("nome_da_imagem2", frames_da_imagem2),
    #            }
    # onde keyX é o nome de como vc vai chamar o sript posteriormente 
    #(Emoticon.new("keyX",0), "nome_da_imagem" é o nome da imagem propriamente
    # dita, e "frames_da_imagem" é o numero de frames que a imagem possui
    @emoticon = { 
                  "ok"  => Atrib_Emoticon.new("ok", 16),
                  "!"   => Atrib_Emoticon.new("!", 11),
                  "dot" => Atrib_Emoticon.new("dot", 20),
                  "$"   => Atrib_Emoticon.new("$", 12)
                }
    # Se a posição for igual a zero
    if position == 0
      # setar o emoticon para o player
      @position = $game_player
    # Se for maior que zero
    elsif position > 0 
      # setar o emoticon para o evento indicado na posição
      @position = $game_map.events[position]
    end
    # Iniciando variaveis de contagem
    @cont = 0
    @cont_q = 0
    @count = 0
    # Número de quadros que a animação tem
    @quad = @emoticon[emoticon].frames
    # Criando a Imagem
    @anima_emoticons = Sprite.new
    @anima_emoticons.x = @position.screen_x - 25
    @anima_emoticons.y = @position.screen_y - 60
    @anima_emoticons.z = 999
    @anima_emoticons.bitmap = RPG::Cache.picture(@emoticon[emoticon].id)
    # Larguda da Imagem
    @larg = @anima_emoticons.bitmap.width / @quad
    # Rect da Imagem
    @anima_emoticons.src_rect = Rect.new(@cont * @larg, 0, @larg, @anima_emoticons.bitmap.height)
    # Enquanto countagem for menor que o numero de quadros
    while @count <= @quad
      # Atualiza os graficos
      Graphics.update
      # Se delay for 2
      if delay(2)
        # Adiciona contagens
        @count += 1 
        @cont +=1
        # x = contagem vezes a largura da imagem
        x = @cont * @larg
        # Recriando a Rect da Imagem
        @anima_emoticons.src_rect = Rect.new(x, 0, @larg, @anima_emoticons.bitmap.height)
      end
    end
  end
  # Delay
  def delay(quadros)
    # Se Contagem de frames dos graficos for maior ou igual ao numero indicado 
    # de quadros
    if (Graphics.frame_count - @cont_q >= quadros)
      # contagem é igual ao numero de Contagem de frames dos graficos
      @cont_q = Graphics.frame_count
      # retorna verdadeiro
      return true
    end
    # retorna falso
    return false
  end 
end

Download e ficha técnica

  • Download (clique com o botão esquerdo do mouse ou toque no link).
  • SO: Windows 98/98SE/Me/2000/XP/Vista/7
  • Tamanho: 701KB
  • Licença: Grátis
  • Categoria: Programação XP
  • Tag: RPG Maker XP
  • Adicionado por: LichKing
  • Acessos: 38

Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!

Deixe um comentário

Inscreva-se na nossa newsletter!