【解決済み】最強装備を特定箇所だけ固定する

めっつ

ユーザー
こんばんは、お世話になります。

MV標準の「最強装備」は装飾品もステータス基準で変更されてしまいます。

装飾品の項目だけ、最強装備のコマンドを無効にしたいのですが
それを叶える方法やプラグインをご存知の方がおられましたら
ぜひ教えていただきたいです。
 

しぐれん

ユーザー
PHP:
Game_Actor.prototype.optimizeEquipments = function() {
    var maxSlots = this.equipSlots().length;
    this.clearEquipments();
    for (var i = 0; i < maxSlots; i++) {
        if (this.isEquipChangeOk(i)) {
            this.changeEquip(i, this.bestEquipItem(i));
        }
    }
};
ここが最強装備を行っている場所ですね。
clearEquipments()ではなく、処理を書いて装備を外せば行けると思います。
結構丸ごと書き換える感じですね。
 

めっつ

ユーザー
PHP:
Game_Actor.prototype.optimizeEquipments = function() {
    var maxSlots = this.equipSlots().length;
    this.clearEquipments();
    for (var i = 0; i < maxSlots; i++) {
        if (this.isEquipChangeOk(i)) {
            this.changeEquip(i, this.bestEquipItem(i));
        }
    }
};
ここが最強装備を行っている場所ですね。
clearEquipments()ではなく、処理を書いて装備を外せば行けると思います。
結構丸ごと書き換える感じですね。
こんばんは、はじめまして!

プログラムは履修してないので、説明されていることは
さっぱり分からなかったのですが、
(説明してくださったのに申し訳ないです…)
プログラムの書き換えが必要、ということですね。

返信ありがとうございました!
 

めっつ

ユーザー
英語でも検索してみましたら
特定の装備を最強装備から除外する機能が付いている
プラグインをみつけちゃいました。

昨日今日で自己解決してしまいました、お騒がせしてすみません。

みつけたプラグインで事足りておりますので
スレッド自体は解決済みとさせていただきます。

が、こちらのプラグインは装備画面をまるごと変えてしまうので
プラグイン競合やデザイン変更を避けたい方のために
最強装備から除外するだけのプラグインをご存知の方がおられましたら
引き続き情報提供をよろしくお願いします。

YEP.10 – Equip Core
http://yanfly.moe/2015/10/15/yep-10-equip-core/
 

わすず

ユーザー
通りがかったので情報提供をば
上の人が上げてくれている場所を以下のように変更すればいけそうです

rpg_object.jsの3703行目あたりにあります

PHP:
  Game_Actor.prototype.optimizeEquipments = function() {
    var maxSlots = this.equipSlots().length;
    // this.clearEquipments();
    for(var i = 0; i < maxSlots; i++){
      // i == 4 is decoration slot
      if(i !== 4){
        this.changeEquip(i, null);
        
        if(this.isEquipChangeOk(i)){
          this.changeEquip(i, this.bestEquipItem(i));
        }
      }
    }
  };
 

めっつ

ユーザー
わすずさん

情報提供ありがとうございます!
スクリプトで装備を変更する機会があったので、非常に助かりました。

初歩的な質問で申し訳ないのですが、
if(i !==4)のところをif(i < 4)にしては、まずいでしょうか…?
プラグインで装飾品を2つ装備できるようにしてしまったので、
装備欄の4,5が最強装備から除外するようにしたかったのです。

一応、上のかたちでゲームは動いたのですが、
構文的に違っておりましたら、どなたでも構いませんので
ご指摘いただきたいなーと思います。
 

わすず

ユーザー
返信おくれました。
めっつさんのやり方で問題無いと思います。

i !== 4 としたのは、デフォルトでは装飾品は4であるという理由だけですので。
(もし拡張していて装飾品以外が5以上にあったら困るため)

ちらちらフォーラム覗くので、また何かあったらスレ立ててくださいな
 
トップ