ページ 11

【解決】YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月15日(水) 17:28
by こごろう
いつもお世話になっております。

YEP_X_ItemUpgradeSlots を使用しています。

例えば剣に 石(攻撃力+10のアイテム)を装着します。

冒険を進めると、硬い石(攻撃力+20のアイテム)が出てきました。

Slot を1としているとして、RESET FULL を使い最初に装着した 石 を外します。

現状では、外した 石 を他のキャラに使いまわしたいのに 石 は消えてしまいます。


この外したアイテムを消さない方法をご存じないでしょうか?
もしくはプラグインで解決できないでしょうか?

また、上記システムに似たようなプラグインはございませんでしょうか?

どうぞよろしくお願いいたします。

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月15日(水) 20:43
by まっつUP
こごろう様
お世話になります。
できたっぽいのでとりあえず方法を貼っておきます。
できなかったり、他に不具合があったりしたらすみません。
なお、既存のセーブデータではうまく機能しない可能性があります。
※プラグインの改変等は自己責任でお願いします。
YEP_X_ItemUpgradeSlots.js中の
ItemManager.checkIUSEffectsの内容を

for (var i = 0; i < effectItem.upgradeEffect.length; ++i) {
var line = effectItem.upgradeEffect;
this.processIUSEffect(line, mainItem, effectItem);
if (this._fullReset) {
for(var j = 0; j < mainItem.IdApplied.length; j++){
if(mainItem.IdApplied[j] == effectItem) continue;
$gameParty.gainItem(mainItem.IdApplied[j], 1);
}
mainItem = this._resetItem;
var line2 = '\\i[' + effectItem.iconIndex + ']' + effectItem.name;
mainItem.slotsApplied = [];
mainItem.slotsApplied.push(line2);
}
}
mainItem.IdApplied.push(effectItem);

に置き換えた後、
slotsAppliedの検索結果の全ての行の次の行に
mainItem.IdApplied = [];
を入れます。

この方法を試すにあたってはYEP_ItemCore.jsとYEP_X_ItemUpgradeSlots.jsのみ導入しています。
また、与えるエフェクトに関しては以下のように設定して試しました。
<Upgrade Effect>
Reset Full
ATK: +50
</Upgrade Effect>

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月15日(水) 21:01
by フトコロ
こごろうさん

Bobstahさんという方が公開されているBOB_SocketsEx.jsというプラグインですと、石の取り外しが可能ですよ。
もっとも、YEP_X_ItemUpgradeSlotsとは別のシステムなので、作り直しになってしまいますが。

ご参考までに。
https://forums.rpgmakerweb.com/index.ph ... ore.50179/

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月16日(木) 11:03
by こごろう
まっつUP 様

ご返信ありがとうございます!
さっそく試させていただいたのですが、うまく動作しません。

上記置き換えた後、slotsApplied を検索すると、12箇所ヒットしますよね?
その全ての行の下に mainItem.IdApplied = []; を挿入したりしてみたり、
上記置き換え後の部分を抜いた10箇所に挿入してみたのですが、

ReferenceError
mainItem is not defined

とエラー表示してゲームが止まります。
更なるご教授、お願いできますでしょうか。
以上、よろしくお願いいたします。

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月16日(木) 11:04
by こごろう
フトコロ様

情報ありがとうございます!
導入してみたのですが、gemsの欄に何も表示できず武器に装着できず困っています。
例えば、剣に空の3スロット用意しました。
gems のアイテムを設定できれば、あとはそこに挿入するだけだとは思うのですが・・・。

gems にしたいアイテムのnotetagの書き方(攻撃力+10など)および設定、ご存知でしたら教えていただけませんでしょうか?
以上、よろしくお願いいたします。

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月16日(木) 17:47
by まっつUP
申し訳ございません。
slotsAppliedでは検索条件として不十分でした。
また、説明に漏れがありました。

正しくはitem.slotsApplied = [];とmainItem.slotsApplied = [];で
全てで3箇所です。
item.slotsApplied = [];の次行には
item.IdApplied = [];を
mainItem.slotsApplied = [];の次行には
mainItem.IdApplied = [];を
入れてください。

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月16日(木) 18:36
by まっつUP
あと書き忘れましたが
Reset Fullのエフェクトを与えた場合、
本来であれば当然装着されているアイテム名の表示も消えてしまいますが
コード中で置き換えているように
Reset Fullのエフェクトを与えたアイテムは
装着されていることが分かるようにアイテム名の表示ができるようにしました。

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月16日(木) 19:11
by フトコロ
こごろう さんが書きました:フトコロ様

情報ありがとうございます!
導入してみたのですが、gemsの欄に何も表示できず武器に装着できず困っています。
例えば、剣に空の3スロット用意しました。
gems のアイテムを設定できれば、あとはそこに挿入するだけだとは思うのですが・・・。

gems にしたいアイテムのnotetagの書き方(攻撃力+10など)および設定、ご存知でしたら教えていただけませんでしょうか?
以上、よろしくお願いいたします。
参考までに、私が作ったジェムの設定を添付します。

ポイントとしては、
1.ジェムは防具に作ります。
2.防具タイプは「なし」、装備タイプにジェム用のタイプを設定します。
3.ジェム用の装備タイプは、プラグインパラメータ<Socket Equip Type>に登録します。
ジェムの設定.jpg
ジェムの設定.jpg (52.71 KiB) 閲覧された回数 5921 回

Re: YEP_X_ItemUpgradeSlotsで合成したアイテムを残す方法

Posted: 2017年3月17日(金) 08:36
by こごろう
まっつUP 様

詳しくご記入いただきありがとうございました!
おかげさまで動作確認できました!


フトコロ 様

画像まで添付いただきありがとうございました!
動作確認できました!


お二方本当にありがとうございました!