10-17-2024, 07:54 PM
Battle Item Count VX + ACE
by Kyonides
Introduction


Then this scriptlet is for you!

VX Script
Code:
# * Battle Item Count VX * #
# 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.
class Game_Actor
def clear_battle_item
@battle_item_id = nil
end
attr_accessor :battle_item_id
end
class Game_Party
def clear_battle_items
members.each {|m| m.clear_battle_item }
end
def members_battle_items
members.map {|m| m.battle_item_id }
end
def battle_item_number(item)
return item_number(item) unless $game_temp.in_battle
item_id = item.id
battle_items = members_battle_items.select {|bit_id| item_id == bit_id }
item_number(item) - battle_items.size
end
end
class Window_Item
alias :kyon_btl_itm_cnt_win_ref :refresh
def refresh
@battle_items = {}
@battle_items.default = 99
kyon_btl_itm_cnt_win_ref
end
def enable?(item)
$game_party.item_can_use?(item) and @battle_items[item.id] > 0
end
def draw_item(index)
rect = item_rect(index)
self.contents.clear_rect(rect)
item = @data[index]
return unless item
number = $game_party.battle_item_number(item)
@battle_items[item.id] = number
enabled = enable?(item)
rect.width -= 4
draw_item_name(item, rect.x, rect.y, enabled)
self.contents.draw_text(rect, sprintf(":%2d", number), 2)
end
def battle_item_none?
@battle_items[@data[@index].id] == 0
end
end
class Scene_Battle
alias :kyon_btl_itm_cnt_scn_btl_term :terminate
alias :kyon_btl_itm_cnt_scn_btl_st_pty_cmd_sel :start_party_command_selection
alias :kyon_btl_itm_cnt_scn_btl_prr_act :prior_actor
alias :kyon_btl_itm_cnt_scn_btl_end_trgt_act_sel :end_target_actor_selection
def terminate
kyon_btl_itm_cnt_scn_btl_term
$game_party.clear_battle_items
end
def start_party_command_selection
$game_party.clear_battle_items
kyon_btl_itm_cnt_scn_btl_st_pty_cmd_sel
end
def turn_decrease_item_count
@active_battler.clear_battle_item if @active_battler
end
def prior_actor
turn_decrease_item_count
kyon_btl_itm_cnt_scn_btl_prr_act
turn_decrease_item_count
end
def update_target_actor_selection
@target_actor_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
end_target_actor_selection
elsif Input.trigger?(Input::C)
Sound.play_decision
@active_battler.action.target_index = @target_actor_window.index
@active_battler.battle_item_id = @item.id if @item
@item = nil
end_target_actor_selection
end_skill_selection
end_item_selection
next_actor
end
end
def update_item_selection
@item_window.active = true
@item_window.update
@help_window.update
if Input.trigger?(Input::B)
Sound.play_cancel
end_item_selection
elsif Input.trigger?(Input::C)
@item = @item_window.item
$game_party.last_item_id = @item.id if @item
return Sound.play_buzzer unless $game_party.item_can_use?(@item)
return Sound.play_buzzer if @item_window.battle_item_none?
Sound.play_decision
determine_item
end
end
end
VX ACE Script
Code:
# * Battle Item Count ACE * #
# 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.
class Game_Actor
def clear_battle_item
@battle_item_id = nil
end
attr_accessor :battle_item_id
end
class Game_Party
def clear_battle_items
members.each {|m| m.clear_battle_item }
end
def members_battle_items
members.map {|m| m.battle_item_id }
end
def battle_item_number(item)
return item_number(item) unless @in_battle
item_id = item.id
battle_items = members_battle_items.select {|bit_id| item_id == bit_id }
item_number(item) - battle_items.size
end
end
class Window_ItemList
alias :kyon_btl_itm_cnt_mk_itm_lst :make_item_list
def enable?(item)
$game_party.usable?(item) and @battle_items[item.id] > 0
end
def make_item_list
@battle_items = {}
@battle_items.default = 99
kyon_btl_itm_cnt_mk_itm_lst
end
def draw_item_number(rect, item)
number = $game_party.battle_item_number(item)
@battle_items[item.id] = number
contents.font.color.alpha = number > 0 ? 255 : translucent_alpha
number = sprintf(":%2d", number)
draw_text(rect, number, 2)
end
end
class Scene_Battle
alias :kyon_btl_itm_cnt_scn_btl_term :terminate
alias :kyon_btl_itm_cnt_scn_btl_st_pty_cmd_sel :start_party_command_selection
alias :kyon_btl_itm_cnt_scn_btl_st_act_cmd_sel :start_actor_command_selection
alias :kyon_btl_itm_cnt_scn_btl_on_itm_ok :on_item_ok
alias :kyon_btl_itm_cnt_scn_btl_on_itm_cncl :on_item_cancel
def terminate
kyon_btl_itm_cnt_scn_btl_term
$game_party.clear_battle_items
end
def start_party_command_selection
kyon_btl_itm_cnt_scn_btl_st_pty_cmd_sel
$game_party.clear_battle_items
end
def start_actor_command_selection
kyon_btl_itm_cnt_scn_btl_st_act_cmd_sel
BattleManager.actor.clear_battle_item
end
def on_item_ok
BattleManager.actor.battle_item_id = @item_window.item.id
kyon_btl_itm_cnt_scn_btl_on_itm_ok
end
def on_item_cancel
BattleManager.actor.clear_battle_item
kyon_btl_itm_cnt_scn_btl_on_itm_cncl
end
end
Terms & Conditions
Free for use in ANY game.

Due credit is mandatory.

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