Introdução
Basicamente, você só precisa criar uma .png chamada Achievement.png e colocá-lo na pasta "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: Leandro(Eu)
_________
"Você é Phoda? Não mais que Chuck Norris."
-Antes de esquecer um presente de Chuck Norris, Papai Noel existia.
-Antes de esquecer um presente de Chuck Norris, Papai Noel existia.