11-18-2023, 01:42 AM 
(This post was last modified: 10-17-2024, 07:55 PM by kyonides.
 Edit Reason: Version 1.0.4
)
	
	
	Battle Item Count XP
by Kyonides
Introduction
 Do you need to update the number of potions or elixirs currently available for the next couple of actors during battle?
 Do you need to update the number of potions or elixirs currently available for the next couple of actors during battle? Or were you in need of canceling your previous actor's action to change the item the actor is going to consume next?
 Or were you in need of canceling your previous actor's action to change the item the actor is going to consume next?Then this scriptlet is for you!

XP Script
Code:
# * Battle Item Count XP * #
#  Plug & Play Script
#  Scripter : Kyonides Arkanthes
#  v1.0.4 - 2024-02-03
# The scriptlet updates the number of available items every single time you pick
# one or go back to the prior actor in battle.
# Warning: Overwritten Method Window_Item#draw_item
class Game_Party
  def clear_battle_items
    @actors.each {|m| m.current_action.clear }
  end
  def actors_battle_items
    @actors.map {|m| m.current_action.item_id }
  end
  def battle_item_number(item_id)
    return item_number(item_id) unless $game_temp.in_battle
    battle_items = actors_battle_items.select {|bit_id| item_id == bit_id }
    item_number(item_id) - battle_items.size
  end
end
class Window_Item
  alias :kyon_btl_itm_cnt_win_itm_ref :refresh
  def refresh
    @battle_items = {}
    @battle_items.default = 99
    kyon_btl_itm_cnt_win_itm_ref
  end
  def find_number(item_id)
    case item
    when RPG::Item
      $game_party.battle_item_number(item_id)
    when RPG::Weapon
      $game_party.weapon_number(item_id)
    when RPG::Armor
      $game_party.armor_number(item_id)
    end
  end
  def enable?(item)
    return unless item.is_a?(RPG::Item)
    $game_party.item_can_use?(item.id) and @battle_items[item.id] > 0
  end
  
  def draw_item(index)
    item = @data[index]
    number = find_number(item.id)
    @battle_items[item.id] = number
    enabled = enable?(item)
    self.contents.font.color = enabled ? normal_color : disabled_color
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = enabled ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
    self.contents.draw_text(x + 240, y, 16, 32, ":", 1)
    self.contents.draw_text(x + 256, y, 24, 32, number.to_s, 2)
  end
  def battle_item_none?
    @battle_items[self.item.id] == 0
  end
end
class Scene_Battle
  alias :kyon_btl_itm_cnt_scn_btl_ph3_prr_act :phase3_prior_actor
  alias :kyon_btl_itm_cnt_scn_btl_up_ph3_itm_sel :update_phase3_item_select
  def turn_decrease_item_count
    @active_battler.current_action.clear if @active_battler
  end
  def phase3_prior_actor
    turn_decrease_item_count
    kyon_btl_itm_cnt_scn_btl_ph3_prr_act
    turn_decrease_item_count
  end
  def update_phase3_item_select
    if Input.trigger?(Input::C) and @item_window.battle_item_none?
      return $game_system.se_play($data_system.buzzer_se)
    end
    kyon_btl_itm_cnt_scn_btl_up_ph3_itm_sel
  end
endTerms & Conditions
Free for use in ANY game.

Due credit is mandatory.

Mention this forum as well!

That's it!
 
	
"For God has not destined us for wrath, but for obtaining salvation through our Lord Jesus Christ," 1 Thessalonians 5:9
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
![[Image: SP1-Scripter.png]](https://www.save-point.org/images/userbars/SP1-Scripter.png)
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-Poet.png]](https://www.save-point.org/images/userbars/SP1-Poet.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png)
![[Image: SP1-Reporter.png]](https://i.postimg.cc/GmxWbHyL/SP1-Reporter.png)
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!
Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE
	
	
Maranatha!
The Internet might be either your friend or enemy. It just depends on whether or not she has a bad hair day.
![[Image: SP1-Scripter.png]](https://www.save-point.org/images/userbars/SP1-Scripter.png)
![[Image: SP1-Writer.png]](https://www.save-point.org/images/userbars/SP1-Writer.png)
![[Image: SP1-Poet.png]](https://www.save-point.org/images/userbars/SP1-Poet.png)
![[Image: SP1-PixelArtist.png]](https://www.save-point.org/images/userbars/SP1-PixelArtist.png)
![[Image: SP1-Reporter.png]](https://i.postimg.cc/GmxWbHyL/SP1-Reporter.png)
My Original Stories (available in English and Spanish)
List of Compiled Binary Executables I have published...
HiddenChest & Roole
Give me a free copy of your completed game if you include at least 3 of my scripts!

Just some scripts I've already published on the board...
KyoGemBoost XP VX & ACE, RandomEnkounters XP, KSkillShop XP, Kolloseum States XP, KEvents XP, KScenario XP & Gosu, KyoPrizeShop XP Mangostan, Kuests XP, KyoDiscounts XP VX, ACE & MV, KChest XP VX & ACE 2016, KTelePort XP, KSkillMax XP & VX & ACE, Gem Roulette XP VX & VX Ace, KRespawnPoint XP, VX & VX Ace, GiveAway XP VX & ACE, Klearance XP VX & ACE, KUnits XP VX, ACE & Gosu 2017, KLevel XP, KRumors XP & ACE, KMonsterPals XP VX & ACE, KStatsRefill XP VX & ACE, KLotto XP VX & ACE, KItemDesc XP & VX, KPocket XP & VX, OpenChest XP VX & ACE

 
 
 Battle Item Count
 Battle Item Count
 

 
 
	 Well, it'd be the last actor selected by the player for sure.
 Well, it'd be the last actor selected by the player for sure. automated just like its elder sibling.
 automated just like its elder sibling.
	