ページ 1 / 1
装備の差し替えを行うスクリプトについて
Posted: 2025年2月12日(水) 12:24
by ケックス
ツクールMZにて、
・「装飾品A」と、その性能強化版「装飾品AA」があると仮定し、
・「装飾品を複数装備」できる状況にしており、
・バトル中に特定の条件を満たすと、
装飾品が「進化(装飾品Aから装飾品AAに装備を差し替える)」する
というシステムを構築中でございます。
現状ではイベントコマンドで、
①「防具の増減(装備品含む)」で装飾品Aを▲1
②「防具の増減」で装飾品AAを+1
③「装備の変更」で装飾品AAを装備
…と、しているのですが、
1つだけ装備している場合は問題ないのですが、複数装備している場合、
装着されているスロットによっては、別の装飾品が装備状態から外されてしまう事があります。
※ちなみに、装飾品スロットの「どこ」に、「装飾品A」が装着されているかは限定されていません。
そこで、
①の「防具の増減(装備品含む)」で装備を外したスロットに、直接別の装備に差し替えるスクリプト、
または、直前に「防具の増減(装備品含む)」で装備を外したスロットを抽出するスクリプト、
もしくはプラグインが存在しないか、ご教授頂けないでしょうか?
どうぞよろしくお願いいたします。
Re: 装備の差し替えを行うスクリプトについて
Posted: 2025年2月12日(水) 15:09
by ecf5DTTzl6h6lJj02
こんにちは。
ケックス さんが書きました:ツクールMZにて、
・「装飾品A」と、その性能強化版「装飾品AA」があると仮定し、
・「装飾品を複数装備」できる状況にしており、
・バトル中に特定の条件を満たすと、
装飾品が「進化(装飾品Aから装飾品AAに装備を差し替える)」する
というシステムを構築中でございます。
現状ではイベントコマンドで、
①「防具の増減(装備品含む)」で装飾品Aを▲1
②「防具の増減」で装飾品AAを+1
③「装備の変更」で装飾品AAを装備
…と、しているのですが、
1つだけ装備している場合は問題ないのですが、複数装備している場合、
装着されているスロットによっては、別の装飾品が装備状態から外されてしまう事があります。
※ちなみに、装飾品スロットの「どこ」に、「装飾品A」が装着されているかは限定されていません。
そこで、
①の「防具の増減(装備品含む)」で装備を外したスロットに、直接別の装備に差し替えるスクリプト、
または、直前に「防具の増減(装備品含む)」で装備を外したスロットを抽出するスクリプト、
もしくはプラグインが存在しないか、ご教授頂けないでしょうか?
どうぞよろしくお願いいたします。
ケックス さんが書きました:・「装飾品を複数装備」できる状況にしており、
プラグインを使用していると思いますが、使用しているプラグインは、
砂川赳様の 装備スロットを自由に変更 プラグイン(NRP_EquipSlot.js)
https://newrpg.seesaa.net/article/489626316.html
でよろしいでしょうか?
使用しているプラグインの情報等をしっかりと伝えて頂けないと、
回答側が正確な回答ができなくなってしまうので、お気を付けください。
プラグインが上記でよろしいのであれば、
防具の増減や装備変更のコマンドは使用せず、
プラグインコマンドの『スクリプト』で、以下のスクリプトを実行すれば、
ご希望の動作を実現できるのではないかと思います。
コード: 全て選択
// 装備変更するアクターの指定
// actorId の部分を装備変更するアクターのIDに変換してください
const actor = $gameActors.actor(actorId);
// 進化対象の装飾品の指定
// id の部分を進化対象になる装飾品のIDに変換してください
const targetItem = $dataArmors[id];
// 進化後の装飾品の指定
// idの部分を進化後の装飾品のIDに変換してください
const changeItem = $dataArmors[id];
// 進化対象の装飾品が装備されているスロットIDの取得
// 一番最初に見つかったスロットのIDを返却する
// 装備されているスロットが見つからない場合 -1 が返ってくる
const slotId = actor.equips().findIndex(equip => equip === targetItem);
// 進化対象の装飾品が装備されているスロットが見つかっている場合は
// そのスロットに対して、進化後の装飾品への強制装備変更を実行する
if (0 <= slotId) {
actor.forceChangeEquip(slotId, changeItem);
}
ご確認ください。
【解決!】装備の差し替えを行うスクリプトについて
Posted: 2025年2月12日(水) 22:27
by ケックス
ecf5DTTzl6h6lJj02 さま
さっそくのアドバイス、ありがとうございます。
ご指摘の通り、「NRP_EquipSlot.js」を利用させて頂いたうえでの仕組みでした!
たったあれだけの情報で見事に的中されて、たいへん驚いております!
戴きましたスクリプトを導入致しましたところ、見事に理想通りの挙動を確認致しました。
本当にありがとうございました。
製作のモチベーションが、さらに向上致しました。
またお世話になる時には、どうぞよろしくお願いいたします。