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

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

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

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

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

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

ノベル×ADV「ストーリーテラー」 title1_2.png
カテゴリ
プロフィール/制作環境(3)
制作記(740)
ニュース(ツクールMV)(222)
技術情報(ツクールMV)(204)
JavaScript/スクリプト(ツクールMV)(9)
プラグイン情報(ツクールMV)(12)
素材情報(ツクール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(9)
RPG Maker Unite(2)
DAW(1)
翻訳(1)
リンク集

2020年02月11日

【ツクールMV】文字の不透明度を調整

rpg_core.js内の//箇所を追記することで文字の不透明度を変更できます。

Window.prototype._refreshPauseSign = function() {
var sx = 144;
var sy = 96;
var p = 24;
this.contentsOpacity = 125;//不透明度を設定255→125で半透明
this._windowPauseSignSprite.bitmap = this._windowskin;
this._windowPauseSignSprite.anchor.x = 0.5;
this._windowPauseSignSprite.anchor.y = 1;
this._windowPauseSignSprite.move(this._width / 2, this._height);
this._windowPauseSignSprite.setFrame(sx, sy, p, p);
this._windowPauseSignSprite.alpha = 0;
};

200211_100.jpg

このままでは使い勝手が悪いため、スイッチをトリガーにON/OFFを切り替えるようにします。

Window.prototype._refreshPauseSign = function() {
var sx = 144;
var sy = 96;
var p = 24;
if($gameSwitches.value(1)){//スイッチ1番がONのとき
this.contentsOpacity = 125;//不透明度を125にする
}
this._windowPauseSignSprite.bitmap = this._windowskin;
this._windowPauseSignSprite.anchor.x = 0.5;
this._windowPauseSignSprite.anchor.y = 1;
this._windowPauseSignSprite.move(this._width / 2, this._height);
this._windowPauseSignSprite.setFrame(sx, sy, p, p);
this._windowPauseSignSprite.alpha = 0;
};

当初の目的とは違いますが、発見でした。

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

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

【ツクールMV】ショップコマンドを変数で変更

【ツクールMV】ショップコマンドを変数で変更

rpg_windows.jsにある以下を改変します。
200202_2.jpg

Window_ShopCommand.prototype.makeCommandList = function() {
this.addCommand(TextManager.buy, 'buy');
this.addCommand(TextManager.sell, 'sell', !this._purchaseOnly);
this.addCommand(TextManager.cancel, 'cancel');
};

--
これで買う=変数100、売る=変数101、終了=変数102となりました。

Window_ShopCommand.prototype.makeCommandList = function() {
this.addCommand($gameVariables.value(100), 'buy');
this.addCommand($gameVariables.value(101), 'sell', !this._purchaseOnly);
this.addCommand($gameVariables.value(102), 'cancel');
};

変数に文字列を格納するには「変数の処理」→「スクリプト」→「"表示させたい文字"」とすれば解決します。
200202_4.jpg

実装例
200202_1.jpg

ご参考まで。

2020年01月29日

【ツクールMV】【プラグインカスタマイズ】 スイッチX番がONの時に機能を無効化

【ツクールMV】【プラグインカスタマイズ】スイッチX番がONの時に機能を無効化

目的

・スイッチでプラグインの機能を制御する
・スイッチX番がON時にプラグインの一部機能を無効化
・スイッチX番がOFF時にプラグインの一部機能を有効化

ifでスイッチを条件にする方法は次の通り。
returnは関数単位で処理を終了できるので、今回の目的に沿っている。

if($gameSwitches.value(x)){//スイッチx番がONのときに処理を抜ける
return;
}


実装

GetInformation.jsでポップアップを無効化したい
該当関数を見つけて、次の処理を入れる
-----
if($gameSwitches.value(x)){//スイッチx番がONのときに処理を抜ける
return;
}
-----

430行目
CommonPopupManager.popEnable = function() {
if($gameSwitches.value(x)){//スイッチx番がONのときにポップアップ非表示
return;
}
var useBattle = $gameParty.inBattle() ? useBattleInfo : true;
return !$gameSwitches.value(infoDisableSwitchId) && useBattle;
};

補足

・「CommonPopupManager.popEnable 」の名前から、アタリをつけた
・コメントアウト/* */で括ると無効化されるか試すことで作業が早くなった
・コンソール(F12)でエラーが出ないことを確認した
 ここでエラーが出るということはJavaScript的に正しくないため

幅広く応用が利くテクニックだと思います。
以上、参考になれば幸いです。



私の場合、上記を読み、paizaラーニングの有料プランでコードを書くことを繰り返し、if文、for文を手に覚えさせました。

2020年01月23日

【ツクールMV】スキルコストの消し方

ツクールMV:スキルコストの消し方

200123_10.jpg

rpg_windows.jsの2211行目、以下をコメントアウト
this.drawSkillCost(skill, rect.x, rect.y, rect.width);

drawSkillCost関数も使わないのでコメントアウト

200123_11.jpg

消えました。
200123_12.jpg

コアスクリプト上書きよりも、自分用のプラグインを制作したほうが管理上好ましいです。