RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
Falcao's pearl abs: disabling item pop up

0 Members and 1 Guest are viewing this topic.

***
Rep:
Level 85
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!)

Code: [Select]
#===============================================================================
# * 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

*
Rep:
Level 97
2014 Most Unsung Member2014 Best RPG Maker User - Engine2013 Best RPG Maker User (Scripting)2012 Most Mature Member2012 Favorite Staff Member2012 Best RPG Maker User (Scripting)2012 Best MemberSecret Santa 2012 ParticipantProject of the Month winner for July 20092011 Best Use of Avatar and Signature Space2011 Best RPG Maker User (Scripting)2011 Most Mature Member2011 Favourite Staff Member2011 Best Veteran2010 Most Mature Member2010 Favourite Staff Member
It doesn't look like that option is built in to the script. However, this slightly adjusted script should do the trick:

Code: [Select]
#===============================================================================
# * 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"

  # Switch which activates item popup
  SwitchID = 21
 
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_switches[PearlItemPop::SwitchID]
        $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_switches[PearlItemPop::SwitchID]
      $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

Just go to this line:

Code: [Select]
  # Switch which activates item popup
  SwitchID = 21

Change the 21 to the ID of the switch you want to use. Now, the item pop will only happen when the switch with that ID is on. When it is off, there will not be any item popup.

***
Rep:
Level 85
Thanks a lot! This helps me greatly.

Kind regards,
Drakenkanon