RPGツクールMZ(クエストプラグインを活用させていただいて
本記事はJSをほとんど弄ったことがない素人の編集のため間違っている場合があります。
あらかじめ御了承ください。
また、本記事を参考に改変した場合のエラー及び損害については自己責任でお願いします。
バックアップは必ず必要です
・本題
RPGツクールMZのクエストプラグインといえば『うなぎおおとろ様』のクエストプラグインではないでしょうか?
とても使いやすいプラグインのため数多くの方が使用していると思います。
そこで、自分が扱いやすいように改変した内容を紹介します。
①クエスト文の自動改行を停止する
これはクエスト内容がある一定の文字数で自動改行するようプラグインに組み込まれています。
自分の場合は結構クエスト内容が長文になる場合があり、文字数制限もある事から自動に改行されると不利益の方が多くなりました。
そこで以下の行をfalseにしました。
2204行付近の
isTextTurn(array, begin, end, width) {
const text = array.slice(begin, end).join("");
if (this._window.textWidth(text) >= width)
return true;
return false;
}
を次のように改変します。
isTextTurn(array, begin, end, width) {
const text = array.slice(begin, end).join("");
if (this._window.textWidth(text) >= width)
return false;
return false;
}
これで自動改行が無くなりました。
ただし、文字がはみ出る可能性が出ますので自分でクエスト文は確認する必要があります。
②アイテム報酬タイプの『any』に個数を載せる
通常時では『anyタイプ』を選択した時に個数表示はされません。
ここで問題となったのが自分が採用している合成プラグインです。
合成レシピを詳しい名称で書くとアイテム欄の文字が圧迫されます。
なのでアイテム欄は合成レシピⅠとし、報酬はanyで〇〇の合成レシピと詳細を載せるようにしました。
するとanyでは個数が表示されず、他の単独レシピ(例えばパラライズガードのレシピ(設定は隠しアイテム))の場合はitemで指定するので個数は表示されます。
少し細かいですが自分はかなり気になりましたし、anyで表示する文字も大体は報酬なので個数表示で問題ないと判断しました。
2126行を
else if (type === "any") {
return new RewardData("any", { text: rewardObject.text, iconIndex: rewardObject.iconIndex, count: itemCount });
}
と改変
2141行を
else if (rewardParam.Type === "any") {
return new RewardData("any", { text: rewardParam.Text, iconIndex: rewardParam.IconIndex, count: rewardParam.ItemCount });
}
と改変
2246行を
else if (this._reward.type === "any") {
const strItemCount = `×${this._reward.params.count}`;
this._window.drawText(strItemCount, x, y, width, "right");
this._textDrawer.drawIconText(this._reward.params.text, this._reward.params.iconIndex, x, y, width);
}
としました。
以下画像です
改変前
改変後
①と②いずれの修正も素人が行ったものですので動作の保証はございません。
が、もし同じ悩みを抱えててJSを弄れないという方の参考に少しでもなればと思います。
コメントは不可とさせていただきます。
うなぎおおとろ様のクエストプラグインはとても使いやすく素晴らしいプラグインです。
自分はこのプラグインを活用させていただいてます。
この場を借りて御礼申し上げます。
この記事にはコメントできません。