TOMOのスクリプト置き場 様の『二刀流時に武器タイプ制限』を使用した際、
武器を個別に装備解除ができず(全て外すコマンドだと装備解除できます)、
武器の枠が素手禁止になります。装備解除する方法をよろしくお願いします。
【解決済み】【RGSS3】TOMOのスクリプト置き場 様の『二刀流時に武器タイプ制限』で素手禁止状態を変更したい
【解決済み】【RGSS3】TOMOのスクリプト置き場 様の『二刀流時に武器タイプ制限』で素手禁止状態を変更したい
最後に編集したユーザー タツミ on 2022年10月08日(土) 10:28 [ 編集 2 回目 ]
Re: 【RGSS3】TOMOのスクリプト置き場 様の『二刀流時に武器タイプ制限』で素手禁止状態を変更したい
設定方法が少し変わってるので注意して下さい
それと同時に処理内容も大きく変更しました
それと同時に処理内容も大きく変更しました
コード: 全て選択
#============================================================================
# 二刀流時に武器タイプ制限 ver1.03
# 制作者:TOMO
#
# 二刀流時に、右手と左手で装備できる武器タイプを別々に分ける
#============================================================================
#============================================================================
# ○更新履歴
# ver1.03
# 武器を外せないバグを修正
# 設定方法を変更
# ver1.02
# このスクリプトに対応しやすいように改良
# 最強装備に適応されてなかったミスを修正
# ver1.01
# 指定されてないアクターでエラーが出る(かもしれない)問題を修正
#============================================================================
module TOMO
module EquipDualWield
Actor = [] # 弄るな
# 武器タイプ
# Actor[アクターID] = [
# [右手武器タイプ1, 右手武器タイプ2,・・・],
# [左手武器タイプ1, 左手武器タイプ2,・・・]
# ]
Actor[1] = [
[4], # 右手:武器タイプ4
[10], # 左手:武器タイプ10
]
end
end
$imported = {} if $imported.nil?
$imported["TOMOEquipDualWield"] = true
class Game_Actor
#--------------------------------------------------------------------------
# ● 最強装備
#--------------------------------------------------------------------------
alias tomo_dual_wield_optimize_equipments optimize_equipments
def optimize_equipments
if TOMO::EquipDualWield::Actor[self.id]
data = TOMO::EquipDualWield::Actor[self.id]
clear_equipments
equip_slots.size.times do |i|
next if !equip_change_ok?(i)
hand = slot_list(0).index(i)
items = $game_party.equip_items.select do |item|
item.etype_id == equip_slots[i] &&
equippable?(item) && item.performance >= 0 &&
(item.etype_id == 0 ? data[hand].include?(item.wtype_id) : true)
end
change_equip(i, items.max_by {|item| item.performance })
end
else
tomo_dual_wield_optimize_equipments
end
end
end
class Window_EquipItem
#--------------------------------------------------------------------------
# ● アイテムをリストに含めるかどうか
#--------------------------------------------------------------------------
alias tomo_dual_wield_include? include?
def include?(item)
if @actor && TOMO::EquipDualWield::Actor[@actor.id] &&
@actor.dual_wield? && @actor.equippable?(item)
hand = @actor.slot_list(0).index(@slot_id)
return item.nil? || (!hand.nil? && item.is_a?(RPG::Weapon) &&
TOMO::EquipDualWield::Actor[@actor.id][hand].include?(item.wtype_id))
end
tomo_dual_wield_include?(item)
end
end
Re: 【RGSS3】TOMOのスクリプト置き場 様の『二刀流時に武器タイプ制限』で素手禁止状態を変更したい
理想の二刀流装備ができるようになりました。
TOMO 様ありがとうございます。
TOMO 様ありがとうございます。