Hello everyone
I have a slight problem, I absolutely love the item pop up system included in Falcao's pearl abs, but there are certain occasions where I don't want the notice to pop up, for example when I give the player his starting amount of gold. Is there a way to disable to item pop up using a call script function or do I have to work a way around this? Please note: I want to enable the item pop up again later using another call script.
For reference, here is the full item pop up script (made by Falcao, please credit him, I have not contributed to this script in any way!)
#===============================================================================
# * Falcao Pearl ABS script shelf # 8
#
# Item and gold pop up v 1.0
# This is just an add on for the Pearl ABS system, it run as standalone mode too
#
# Website: http://falcaorgss.wordpress.com/
# Foro: www.makerpalace.com
#===============================================================================
#
# * Installation
# This work as plug and play, copy and paste the script above main
#
# * Usage
# There is no special references, when you earn an item or gold, then pop appear
# Edit the module below for convenience
#-------------------------------------------------------------------------------
module PearlItemPop
# Position X of the pop up object
Pos_X = 10
# Position Y of the pop up object
Pos_Y = 320
# Icon displayed when earnig gold
GoldIcon = 245
# Se sound played when gaining items (set nil if you dont want to play sound)
ItemSe = "Item3"
# Se sound played when gainig gold (set nil if you dont want to play sound)
GoldSe = "Shop"
end
class Game_Party < Game_Unit
alias falcaopearl_itempop_gain gain_item
def gain_item(item, amount, include_equip = false)
if !item_container(item.class).nil? && SceneManager.scene_is?(Scene_Map)
if amount > 0
$game_system.item_object = [item, amount]
RPG::SE.new(PearlItemPop::ItemSe, 80).play rescue nil
end
end
falcaopearl_itempop_gain(item, amount, include_equip = false)
end
alias falcaopearl_itempop_gold gain_gold
def gain_gold(amount)
if SceneManager.scene_is?(Scene_Map)
$game_system.item_object = [nil, amount]
RPG::SE.new(PearlItemPop::GoldSe, 80).play rescue nil
end
falcaopearl_itempop_gold(amount)
end
end
class Game_System
attr_accessor :item_object
end
class Spriteset_Map
alias falcaopearl_itempop_create create_pictures
def create_pictures
create_itempop_sprites
falcaopearl_itempop_create
end
def create_itempop_sprites
@item_object = $game_system.item_object
@item_sprite = Sprite_PopItem.new(@viewport2, @item_object) if
not @item_object.nil?
end
alias falcaopearl_itempop_update update
def update
if !@item_sprite.nil?
unless @item_sprite.disposed?
@item_sprite.update
else
@item_sprite.dispose
@item_object = nil
$game_system.item_object = nil
@item_sprite = nil
end
end
if @item_object != $game_system.item_object
@item_sprite.dispose if !@item_sprite.nil?
@item_sprite = nil
@item_sprite = Sprite_PopItem.new(@viewport2, $game_system.item_object)
@item_object = $game_system.item_object
end
falcaopearl_itempop_update
end
alias falcaopearl_itempop_dispose dispose
def dispose
@item_sprite.dispose unless @item_sprite.nil?
falcaopearl_itempop_dispose
end
end
class Sprite_PopItem < Sprite
def initialize(viewport, item)
super(viewport)
@item = item[0]
@num = item[1]
set_bitmap
self.x = PearlItemPop::Pos_X
self.y = PearlItemPop::Pos_Y
@erasetimer = 120
update
end
def update
super
if @erasetimer > 0
@erasetimer -= 1
self.opacity -= 10 if @erasetimer <= 25
dispose if @erasetimer == 0
end
end
def dispose
self.bitmap.dispose
super
end
def set_bitmap
@item.nil? ? operand = Vocab::currency_unit : operand = @item.name
string = operand + ' X' + @num.to_s
self.bitmap = Bitmap.new(26 + string.length * 9, 28)
self.bitmap.fill_rect(0, 0, self.bitmap.width, 28, Color.new(0, 0, 0, 100))
self.bitmap.font.size = 20
bitmap = Cache.system("Iconset")
icon = @item.nil? ? PearlItemPop::GoldIcon : @item.icon_index
rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
self.bitmap.blt(4, 0, bitmap, rect)
self.bitmap.draw_text(28, 0, 250, 32, string)
end
end