・本体
コード: 全て選択
# アイテムを装備ver1.02
# 制作者:TOMO
#
# アイテムを装備出来るようになります
# 戦闘時、アクターは装備したアイテムのみ使用可能です
#
#
# ※使い方
# アイテムのメモ欄に「<装備可能アイテム>」を入れる
#
#
# ※補足
# ・導入箇所は「( ここに追加 )」のすぐ下辺りにお願いします
#
# ・対象アイテムは装備タイプ:10となります
# 他サイト様の装備拡張系スクリプトを使用する際は気を付けて下さい
# ※更新内容
# ver1.02
# メニュー画面からアイテムを使用した際に消費されないバグを修正
# ver1.01
# メモ欄に記入してないアイテムは通常通りリストに載るように変更
# 戦闘時、装備したアイテムだけ個数表示をしないように変更
# 一部処理の変更
class << Vocab
# 装備タイプ
alias tomo_ex_item_equip_etype etype
def etype(etype_id)
case etype_id
when 10; return "アイテム"
else; return tomo_ex_item_equip_etype(etype_id)
end
end
end
class RPG::Item
attr_accessor :etype_id
attr_accessor :params
def etype_id
return @note.include?("<装備可能アイテム>") ? 10 : nil
end
def params
@params ||= [0] * 8
@params
end
end
class Game_Actor
#--------------------------------------------------------------------------
# ● 装備可能判定
#--------------------------------------------------------------------------
alias tomo_ex_item_equip_equippable? equippable?
def equippable?(item)
tomo_ex_item_equip_equippable?(item) || item.is_a?(RPG::Item)
end
#--------------------------------------------------------------------------
# ● アイテムオブジェクトの配列取得
#--------------------------------------------------------------------------
def items
@equips.select {|item| item.is_item? }.collect {|item| item.object }
end
#--------------------------------------------------------------------------
# ● アイテムの消耗
#--------------------------------------------------------------------------
alias tomo_ex_item_equip_consume_item consume_item
def consume_item(item)
slot_id = equips.index(item)
if slot_id && item.consumable
force_change_equip(slot_id, nil)
else
tomo_ex_item_equip_consume_item(item)
end
end
end
class Window_EquipSlot
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
alias tomo_ex_item_equip_refresh refresh
def refresh
create_contents
tomo_ex_item_equip_refresh
end
end
class Window_EquipItem
#--------------------------------------------------------------------------
# ● アイテムをリストに含めるかどうか
#--------------------------------------------------------------------------
alias tomo_ex_item_equip_include? include?
def include?(item)
return true if item.is_a?(RPG::Item) && @slot_id >= 0 &&
item.etype_id == @actor.equip_slots[@slot_id]
tomo_ex_item_equip_include?(item)
end
end
class Window_BattleItem
#--------------------------------------------------------------------------
# ● アクターの設定
#--------------------------------------------------------------------------
def actor=(actor)
return if @actor == actor
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# ● アイテムリストの作成
#--------------------------------------------------------------------------
def make_item_list
@normal_items = []
@data = @actor ? @actor.items.compact : []
$game_party.all_items.each do |item|
next unless include?(item) && item.etype_id != 10
@data.push(item)
@normal_items.push(item)
end
@data.push(nil) if include?(nil)
end
#--------------------------------------------------------------------------
# ● アイテムの個数を描画
#--------------------------------------------------------------------------
alias tomo_ex_item_equip_draw_item_number draw_item_number
def draw_item_number(rect, item)
return unless @normal_items.include?(item)
tomo_ex_item_equip_draw_item_number(rect, item)
end
end
class Scene_Battle
#--------------------------------------------------------------------------
# ● コマンド[アイテム]
#--------------------------------------------------------------------------
alias tomo_ex_item_equip_command_item command_item
def command_item
@item_window.actor = BattleManager.actor
tomo_ex_item_equip_command_item
end
end
・(おまけ)装備スロット拡張
コード: 全て選択
class Game_Actor
#--------------------------------------------------------------------------
# ● 装備スロットの配列を取得
#--------------------------------------------------------------------------
def equip_slots
return [0,0,2,3,4,10,10,10] if dual_wield?
return [0,1,2,3,4,10,10,10]
end
end





※サポートは基本受け付けてますが、全てに答えられるわけではありません
※更新内容
ver1.02(2020/10/26)
メニュー画面からアイテムを使用した際に消費されないバグを修正
ver1.01(2020/03/13)
メモ欄に記入してないアイテムは通常通りリストに載るように変更
戦闘時、装備したアイテムだけ個数表示をしないように変更
一部処理の変更