こんにちは。いつも質問ばかりしてすみません。
YPE_ITEMCORE
DreamX/Random Equipment Prefixes & Affixes
を使って武器&防具(以下アイテム)を固有アイテムで生成して所持しています。
標準機能では、捨てる事ができないので
アイテムボックスにサブコマンドを追加するプラグイン
FTKR_ItemSubCommand.js
で、「捨てる」コマンドを使えるようにして
「捨てる」を行っていますが
アイテムを捨てても「セーブデータ容量が削減」できません。
たとえば、100個アイテムを入手して
すべて100個「捨てる」コマンドから捨てても
セーブデータは、減りません。
トピックを検索していたら
似たような相談を見つけました。
viewtopic.php?f=23&t=7200
ほぼ、この現象と同じなのだろうと思っているのですが
FTKR_ItemSubCommand.jsのドコにどの様に基礎データの削除を記述すれば良いのかわからないです。
アイテムを捨てる処理の部分のコードは、
//------------------------------------------------------------------------
Scene_Item.prototype.createNumberWindow = function() {
var wnd = FTKR.ISC.subcom.number;
var wx = this.convertX(wnd);
var wy = this.convertY(wnd);
var wh = this.convertHeight(wnd);
this._numberWindow = new Window_ItemNumber(wx, wy, wh);
this._numberWindow.hide();
this._numberWindow.setHandler('ok', this.onNumberOk.bind(this));
this._numberWindow.setHandler('cancel', this.onNumberCancel.bind(this));
this.addWindow(this._numberWindow);
};
Scene_Item.prototype.onNumberOk = function() {
if (FTKR.ISC.subcom.enableConf) {
SoundManager.playOk();
this._confTitleWindow.setItem(this._subCommandWindow._item, this._numberWindow.number());
this._confTitleWindow.show();
this._confWindow.show();
this._confWindow.actSelect(0);
} else {
this.itemDiscard();
}
};
Scene_Item.prototype.onNumberCancel = function() {
this._numberWindow.hide();
this._subCommandWindow.actSelect(this._subCommandWindow.index());
};
Scene_Item.prototype.itemDiscard = function() {
AudioManager.playSe(FTKR.ISC.subcom.sound.disposal);
$gameParty.gainItem(this._subCommandWindow._item, -this._numberWindow.number());
this.onSubComCancel();
};
の様になっているのですが
DataManager.removeIndependentItemは、どこにどの様に記述すれば良いのでしょうか?
ある程度自分で考えてみているのですが。
そもそも、すべてが間違っている場合は、すみません。。。
FTKR_ItemSubCommand.jsでアイテムを捨てる時のセーブデータについて
Re: FTKR_ItemSubCommand.jsでアイテムを捨てる時のセーブデータについて
お疲れ様です。
この件は、実は前回の回答内にヒントがございます。
前回の回答時、
という解説を行ないました。
なので、今回のスクリプトに於いては、前回同様「loseItem/gainItem」の直後に置けばいいかと思います。
具体的には
となるかと思います。
DataManager.removeIndependentItemは、どこにどの様に記述すれば良いのでしょうか?
この件は、実は前回の回答内にヒントがございます。
前回の回答時、
loseItemの仕組みは実質、量を-にしたgainItemとなります。
という解説を行ないました。
なので、今回のスクリプトに於いては、前回同様「loseItem/gainItem」の直後に置けばいいかと思います。
具体的には
コード: 全て選択
Scene_Item.prototype.itemDiscard = function() {
AudioManager.playSe(FTKR.ISC.subcom.sound.disposal);
$gameParty.gainItem(this._subCommandWindow._item, -this._numberWindow.number());
DataManager.removeIndependentItem(this._subCommandWindow._item);
this.onSubComCancel();
};
となるかと思います。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
Re: FTKR_ItemSubCommand.jsでアイテムを捨てる時のセーブデータについて
剣崎 宗二様
またまた回答頂きましてありがとうございます!
捨てるのスクリプトの中になぜ、GAINITEMがあるのかなと思ったのですが
実際、-の意味がわかってなくて、気が付きませんでした^^;
今晩にでも書き換えて動かしてテストさせて頂きまして、報告いたします。
助かりましたmm 誠にありがとうございます!
追記です。
コードを付け加えて
無事にセーブデータ量の削減をする事ができました。
ありがとうございました!!
またまた回答頂きましてありがとうございます!
捨てるのスクリプトの中になぜ、GAINITEMがあるのかなと思ったのですが
実際、-の意味がわかってなくて、気が付きませんでした^^;
今晩にでも書き換えて動かしてテストさせて頂きまして、報告いたします。
助かりましたmm 誠にありがとうございます!
追記です。
コードを付け加えて
無事にセーブデータ量の削減をする事ができました。
ありがとうございました!!