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;
};
このままでは使い勝手が悪いため、スイッチをトリガーに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月11日
【ツクールMV】文字の不透明度を調整
posted by tabirpglab at 09:43
| 技術情報(ツクールMV)
2020年02月02日
【ツクールMV】アイテム上限数を変数で制御
【ツクールMV】アイテム上限数を変数で制御
プラグイン「TMMaxItems.js」を改変することで実装しました。
その備忘録です。
プラグインダウンロード先:
https://hikimoki.sakura.ne.jp/index.php?article=plugin_item
制作者:tomoaky様
※MITライセンス
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:変数番号>を書くと、変数番号の中身の値が上限数になりました。
これでゲーム中に上限数を変えることが可能になりました。
従来の<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);//オリジナル
ご情報、ありがとうございます。
プラグイン「TMMaxItems.js」を改変することで実装しました。
その備忘録です。
プラグインダウンロード先:
https://hikimoki.sakura.ne.jp/index.php?article=plugin_item
制作者:tomoaky様
※MITライセンス
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:変数番号>を書くと、変数番号の中身の値が上限数になりました。
これでゲーム中に上限数を変えることが可能になりました。
従来の<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);//オリジナル
ご情報、ありがとうございます。
posted by tabirpglab at 15:36
| 技術情報(ツクールMV)
【ツクールMV】ショップコマンドを変数で変更
【ツクールMV】ショップコマンドを変数で変更
rpg_windows.jsにある以下を改変します。
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');
};
変数に文字列を格納するには「変数の処理」→「スクリプト」→「"表示させたい文字"」とすれば解決します。
実装例
ご参考まで。
rpg_windows.jsにある以下を改変します。
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');
};
変数に文字列を格納するには「変数の処理」→「スクリプト」→「"表示させたい文字"」とすれば解決します。
実装例
ご参考まで。
posted by tabirpglab at 14:31
| 技術情報(ツクールMV)
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文を手に覚えさせました。
目的
・スイッチでプラグインの機能を制御する
・スイッチ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文を手に覚えさせました。
posted by tabirpglab at 23:18
| 技術情報(ツクールMV)
2020年01月23日
【ツクールMV】スキルコストの消し方
ツクールMV:スキルコストの消し方
rpg_windows.jsの2211行目、以下をコメントアウト
this.drawSkillCost(skill, rect.x, rect.y, rect.width);
drawSkillCost関数も使わないのでコメントアウト
消えました。
コアスクリプト上書きよりも、自分用のプラグインを制作したほうが管理上好ましいです。
rpg_windows.jsの2211行目、以下をコメントアウト
this.drawSkillCost(skill, rect.x, rect.y, rect.width);
drawSkillCost関数も使わないのでコメントアウト
消えました。
コアスクリプト上書きよりも、自分用のプラグインを制作したほうが管理上好ましいです。
posted by tabirpglab at 22:17
| 技術情報(ツクールMV)