こんばんは。
トリアコンタン様のScene_SoundTest等のプラグインがON状態(有効になっているかどうか)
を取得する方法が知りたいです。
var Imported = Imported || {};
Imported.YEP_MoveRouteCore = true;
ynfly様などはこのように「Inported.プラグイン名」で判定したりできますが
トリアコンタン様のプラグインにはそういった記述がないのでON状態の判定がどうするかわかりません。
ご存じの方いましたらご教授願えますでしょうか?
【解決済み】プラグインの導入判定
Re: プラグインの導入判定
PluginManager.parameters()で該当するプラグインの名前を引っ張り出してチェックする方法があります。
読み込まれていなければundefinedが返ってきます。
読み込まれていなければundefinedが返ってきます。
現在、プラグイン依頼はお休み中です。
Re: プラグインの導入判定
しぐれん様
お返事ありがとうございます。
具体的にですがどのようなスクリプトにすればよろしいでしょうか?
自作プラグイン上からconsole.logでPluginManager.parameters()を見ようとすると
画像のようなエラーになります。
しぐれん さんが書きました:PluginManager.parameters()で該当するプラグインの名前を引っ張り出してチェックする方法があります。
読み込まれていなければundefinedが返ってきます。
お返事ありがとうございます。
具体的にですがどのようなスクリプトにすればよろしいでしょうか?
自作プラグイン上からconsole.logでPluginManager.parameters()を見ようとすると
画像のようなエラーになります。
Re: プラグインの導入判定
PluginManager.parameters('プラグインから.jsを抜いた名前')でプラグイン自体のパラメータを取得します。
本来はプラグインパラメータを自分で使うための処理ですが、これで行けるかと。
具体的には以下のような処理です。
本来はプラグインパラメータを自分で使うための処理ですが、これで行けるかと。
具体的には以下のような処理です。
コード: 全て選択
var p = PluginManager.parameters('プラグインから.jsを抜いた名前');
if(p){
//読み込まれている時の処理
}
現在、プラグイン依頼はお休み中です。
Re: プラグインの導入判定
しぐれん様
返事が遅くなり申し訳ございません。
SceneSoundTest.jsがオフの状態で
以下のように自作プラグインに入れて実行してみましたら画像のようなエラーが表示されるようです。
エラー箇所はvar _Scene_SoundTest_create = Scene_SoundTest.prototype.create;の部分のようです。
SceneSoundTest.jsがオフにもかかわらずif(p){の部分を通り抜けてしまうようです。
これはサウンドテストのウィンドウを透明化したく入れたコードになります。
サウンドテストのプラグインがオフのとき画像のエラーが表示されてしまうのでこのエラーを消したいと思って
このような質問をさせていただきました。お手数おかけしてすみません。
返事が遅くなり申し訳ございません。
しぐれん さんが書きました:PluginManager.parameters('プラグインから.jsを抜いた名前')でプラグイン自体のパラメータを取得します。
本来はプラグインパラメータを自分で使うための処理ですが、これで行けるかと。
SceneSoundTest.jsがオフの状態で
以下のように自作プラグインに入れて実行してみましたら画像のようなエラーが表示されるようです。
エラー箇所はvar _Scene_SoundTest_create = Scene_SoundTest.prototype.create;の部分のようです。
SceneSoundTest.jsがオフにもかかわらずif(p){の部分を通り抜けてしまうようです。
これはサウンドテストのウィンドウを透明化したく入れたコードになります。
サウンドテストのプラグインがオフのとき画像のエラーが表示されてしまうのでこのエラーを消したいと思って
このような質問をさせていただきました。お手数おかけしてすみません。
コード: 全て選択
var p = PluginManager.parameters('SceneSoundTest');
if(p){
var _Scene_SoundTest_create = Scene_SoundTest.prototype.create;
Scene_SoundTest.prototype.create = function() {
_Scene_SoundTest_create.call(this);
this._helpWindow.opacity = 0;
this._bgmListWindow.opacity = 0;
this._bgmSettingWindow.opacity = 0;
};
}
Re: プラグインの導入判定
追加調査しました。
$pluginsという変数にすべてのプラグインが配列で入ってました。
$plugins[i].nameに名前が、$plugins[i].statusにON/OFFが入っているようです。
$pluginsという変数にすべてのプラグインが配列で入ってました。
$plugins[i].nameに名前が、$plugins[i].statusにON/OFFが入っているようです。
現在、プラグイン依頼はお休み中です。
Re: プラグインの導入判定
しぐれん様
お返事ありがとうございます。
具体的にですがどのようなコードにすればよろしいでしょうか?
iとかどこからとってよいのかわかりません。
お返事ありがとうございます。
しぐれん さんが書きました:追加調査しました。
$pluginsという変数にすべてのプラグインが配列で入ってました。
$plugins[i].nameに名前が、$plugins[i].statusにON/OFFが入っているようです。
具体的にですがどのようなコードにすればよろしいでしょうか?
iとかどこからとってよいのかわかりません。
Re: プラグインの導入判定
$plugins[i]のiですが、これは配列の添え字という意味です。
省略せずに書くと以下のような内容です。
省略せずに書くと以下のような内容です。
コード: 全て選択
for(var i=0;i<$plugins.length;++i){
if($plugins[i].name ==='探したいプラグインの名前'){
if($plugins[i].states){
//プラグインがONの時の処理
}
}
}
現在、プラグイン依頼はお休み中です。
Re: プラグインの導入判定
しぐれん様
早速のご回答ありがとうございます。
forの下行に
console.log("name:"+$plugins[i].name+" states:"+$plugins[i].states);
を入れて確認したところONになっているものまでundefinedになっていました。
一度ご確認いただいでよろしいでしょうか?
追記
ひょっとしたら以下のようにfunction()の直下だからいけないのでしょうか?
早速のご回答ありがとうございます。
しぐれん さんが書きました:コード: 全て選択
for(var i=0;i<$plugins.length;++i){
if($plugins[i].name ==='探したいプラグインの名前'){
if($plugins[i].states){
//プラグインがONの時の処理
}
}
}
forの下行に
console.log("name:"+$plugins[i].name+" states:"+$plugins[i].states);
を入れて確認したところONになっているものまでundefinedになっていました。
一度ご確認いただいでよろしいでしょうか?
追記
ひょっとしたら以下のようにfunction()の直下だからいけないのでしょうか?
コード: 全て選択
(function() {
for(var i=0;i<$plugins.length;++i){
console.log("name:"+$plugins[i].name+" states:"+$plugins[i].states);
if($plugins[i].name ==='SceneSoundTest'){
if($plugins[i].states){
//プラグインがONの時の処理
var _Scene_SoundTest_create = Scene_SoundTest.prototype.create;
Scene_SoundTest.prototype.create = function() {
_Scene_SoundTest_create.call(this);
this._helpWindow.opacity = 0;
this._bgmListWindow.opacity = 0;
this._bgmSettingWindow.opacity = 0;
};
}
}
}