検索
ハートフルRPG「地図の時間」

地図の時間スピンオフRPG「影泥棒と魔法の手記」

リソース管理ダンジョンRPG「琥珀の道具士」

現代SFRPG「重力ルーペ/探求リバーブ」

ドラマティックRPG「バンドワゴン」

ビジュアルノベル「日向と香水」

ノベル×ADV「ストーリーテラー」 title1_2.png
カテゴリ
リンク集
【スポンサードリンク】

【ゲーム】




【創作】






シナリオ制作


設定作り


最近読んでよかった本五選





創作意欲を掻き立てる本


自己管理術


クリエイター向けノウハウ

2020年02月02日

【ツクールMV】アイテム上限数を変数で制御

【ツクールMV】アイテム上限数を変数で制御

プラグイン「TMMaxItems.js」を改変することで実装しました。
その備忘録です。

プラグインダウンロード先:
https://hikimoki.sakura.ne.jp/index.php?article=plugin_item
制作者:tomoaky様
※MITライセンス

200202_10.jpg

var _Game_Party_maxItems = Game_Party.prototype.maxItems;
Game_Party.prototype.maxItems = function(item) {
if (item.meta.maxItems) return Math.max(+item.meta.maxItems, 1);//オリジナル
if (item.meta.maxItemsVV) return $gameVariables.value(item.meta.maxItemsVV);//追加行。
<maxItemsVV:変数番号>に対応
return _Game_Party_maxItems.call(this, item);
};

アイテムのメモ欄に<maxItemsVV:変数番号>を書くと、変数番号の中身の値が上限数になりました。
200202_11.jpg

これでゲーム中に上限数を変えることが可能になりました。
従来の<maxItems:数>も使えます。

◆◇
直感的ではない実装なので不満はあります。
本当は<maxItems:数>で\v[変数番号]を自動で区別できれば良かったのですが、今は技量不足でした。

.replace(/\\/g)とか使われている例があるので、Javascript全体を勉強して未来の宿題とします。

スペシャルサンクス:tomoaky様
プラグインの公開、ありがとうございます

◆◇追記

maxItemsVVとmaxItemsの位置を入れ替えることでmaxItemsVVが記述されている場合は優先される判定にできました。
if (item.meta.maxItemsVV) return $gameVariables.value(item.meta.maxItemsVV);//追加行。
if (item.meta.maxItems) return Math.max(+item.meta.maxItems, 1);//オリジナル

ご情報、ありがとうございます。