アフィリエイト広告を利用しています
検索
言葉を集めて世界を旅するRPG「地図の時間〜言葉集めの冒険譚〜」
timeofmapworks_logo_2020.png
ハートフルRPG「地図の時間」

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

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

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

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

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

ノベル×ADV「ストーリーテラー」 title1_2.png
カテゴリ
プロフィール/制作環境(3)
制作記(679)
ニュース(ツクールMV)(222)
技術情報(ツクールMV)(203)
JavaScript/スクリプト(ツクールMV)(9)
プラグイン情報(ツクールMV)(11)
素材情報(ツクールMV)(15)
アップデート情報(ツクールMV)(45)
トラブル&解決情報(ツクールMV)(18)
ツクール製作品(ツクールMV)(42)
関連情報(ツクールフェス)(2)
投稿イベント情報(ツクールMV)(4)
関連情報(ラノゲツクールMV)(9)
Benchmark MV(個人作品:試作)(1)
manurpg(個人作品:試作)(2)
ブックモービル(個人作品)(10)
重力ルーペ(個人作品)(11)
そして魔女に会う(個人作品)(7)
バンドワゴン(個人作品)(1)
地図の時間(個人作品)(14)
日向と香水(個人作品)(3)
ストーリーテラー(個人作品)(1)
嘘つきのノブレスオブリージュ(2)
お役立ちツール/素材サイト(創作全般)(12)
創作アイディア(創作全般)(7)
保存用コラム(創作全般)(10)
コラム(144)
オススメ作品(8)
当ブログへのお問い合わせ(contact me)(2)
琥珀の道具士(3)
最果てのギルド(1)
読書メモ(1)
Steam展開ノウハウ(21)
RPGツクールMZ(3)
地図の時間〜名前探しの物語(1)
プラグイン情報(ツクールMZ)(1)
技術情報(ツクールMZ)(13)
国内展開ノウハウ(1)
素材情報(ツクールMZ)(4)
AI(8)
RPG Maker Unite(2)
DAW(1)
翻訳(1)
リンク集

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);//オリジナル

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