Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
Script de conquistas EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
Script de conquistas EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
Script de conquistas EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
Script de conquistas EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
Script de conquistas EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Script de conquistas EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
Script de conquistas EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
Script de conquistas EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
Script de conquistas EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
Script de conquistas EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

1Script de conquistas Empty Script de conquistas Sáb 24 Nov 2012, 20:37

Halt

Halt
Administrador
Administrador
[Autor: Leandroteix]
Introdução
Basicamente, você só precisa criar uma imagem em formato .png chamada Achievement.png e colocá-lo na pasta "Seu_Projeto\Graphics\Pictures". A posição e tamanho, se for determinado pelo tamanho da imagem, por isso não há limite de tamanho ou o que quer.

Como usar
Basta copiar e colar acima do main.

Script
Código:
#===============================================================================
# ** Achievements
#===============================================================================

class Achievements
 
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias ss_muus_edited_initialize initialize
  def initialize
    ss_muus_edited_initialize
 
    @pop_up = Sprite.new
    @pop_up.bitmap = RPG::Cache.picture("Achievement")
    @pop_up.x = 320 - (@pop_up.bitmap.width / 2)
    @pop_up.y = 480# - @pop_up.bitmap.height
    @pop_up.z = 900000
 
    @pop_up_text = Sprite.new
    @pop_up_text.bitmap = Bitmap.new(@pop_up.bitmap.width, @pop_up.bitmap.height)
    @pop_up_text.x = @pop_up.x
    @pop_up_text.y = @pop_up.y
    @pop_up_text.z = 900001
 
    @achievements_queue = []
    @direction = nil
    @wait = 0
  end
  #--------------------------------------------------------------------------
  # * Gain Item
  #--------------------------------------------------------------------------
  def gain_item(item_id)
    if item_id > 0
      @items[item_id] = [[item_number(item_id) + 1, 0].max, 99].min
      @achievements_queue.push($data_items[item_id].name)
      $game_variables[GameGuy::ScoreVariable] += $data_items[item_id].price
    end
  end
  #--------------------------------------------------------------------------
  # * Update
  #--------------------------------------------------------------------------
  def update
    if @direction
      @pop_up.y -= 5
      @pop_up_text.y -= 5
      if @pop_up.y <= 480 - @pop_up.bitmap.height - 20
        @direction = false
        @pop_up.y = 480 - @pop_up.bitmap.height - 20
        @pop_up_text.y = 480 - @pop_up.bitmap.height - 20
      end
    elsif @direction == false and @wait == 0
      @pop_up.y += 5
      @pop_up_text.y += 5
      if @pop_up.y >= 480
        @direction = nil
        @pop_up.y = 480
        @pop_up_text.y = 480
      end
    elsif @direction == false and @wait > 0
      @wait -= 1
    elsif !@achievements_queue.empty?
      @pop_up_text.bitmap.clear
      @pop_up_text.bitmap.draw_text(0, 0, @pop_up.bitmap.width, @pop_up.bitmap.height, @achievements_queue[0] + " Unlocked", 1)
      @achievements_queue.delete_at(0)
      @direction = true
      @wait = 40
    end
  end
end

#=============================================================================
# ** Module Graphics
#=============================================================================
module Graphics
  class << self
    #-------------------------------------------------------------------------
    # * Update
    #-------------------------------------------------------------------------
    alias ss_muus_edited_update update
    def update
      $achieve.update if $achieve
      ss_muus_edited_update
    end
  end
end

OBS: Quando uma conquista é obtida é armazenada em uma fila, e exibidos em ordem, de que maneira você pode ganhar várias conquistas ao mesmo tempo sem problemas estranhos.

Créditos:
Criador: Desconhecido
Modificação: Leandroteix

https://arenarpgmaker.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

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