使い方とテンプレート

トリアコンタン

モデレーター
スタッフ
モデレーター
ツクールMV本体や外部連携ツールの使い方についてご不明な点などありましたらご遠慮なくおたずねください。
ただし、以下の点にご注意ください。
  1. 必ず回答が来るとは限りません。
  2. ツクール上でF1キーを押すとヘルプ画面が立ち上がるのでそちらも参考にしてください。
  3. 質問投稿後は「フォロー設定」からスレッドでフォローしておけば回答が来たときにすぐに通知されるので便利です。
2017-04-29.png

以下、テンプレートです。(必ずしもこれに従う必要はありません。参考程度にお考えください)
  • 訊きたいこと、起こっている現象
 ああああ
  • 試してみたこと
 ああああ
  • ツクール本体のバージョン
 1.4.1
 
最後に編集:
・聞きたいこと
ムービーを出したいのに選択欄に出てこない
・試してみたこと
moviesフォルダにmp4ファイルを入れた
・ツクール本体のバージョン
1.5.0

クレジットを流したいけれど流せないという理由です。
よろしくお願いします。
 

トリアコンタン

モデレーター
スタッフ
モデレーター
こんばんは!

ツクールでムービーを表示させる場合、PC用にwebm形式のファイル、モバイル用にmp4形式のファイルを二種類用意する必要があります。モバイルでの動作をサポートしない場合mp4形式のファイルを省くことは可能ですが、webm形式のファイルが存在しないとテストプレーができない関係上、一覧にも出てこなくなります。

よってお手持ちのファイルをwebm形式に変換したファイルを用意する必要があります。
 

もぐもぐら

ユーザー
  • 訊きたいこと、起こっている現象
メッセージウィンドウ表示時、情報ウィンドウを非表示に配置したい
  • 試してみたこと
 
http://ktnhmv.jugem.jp/?eid=21
こちらのサイトを参考に、マップ画面の右上に空腹度を表す情報ウィンドウを表示させたのですが、
この状態で画面上部にメッセージウィンドウを表示させると、文字の上の上に情報ウィンドウが被さり見えなくなってしまいます。
トリアコンタン様のプラグイン「Chronus.js」のように、上部にメッセージウィンドウが表示された場合、情報ウィンドウを非表示にさせたいです。
どなたかソースコードをどう書き換えればよいかお教え下さい。

  • ツクール本体のバージョン
 1.5.0
 

フトコロ

ユーザー
  • 訊きたいこと、起こっている現象
メッセージウィンドウ表示時、情報ウィンドウを非表示に配置したい
  • 試してみたこと
 
http://ktnhmv.jugem.jp/?eid=21
こちらのサイトを参考に、マップ画面の右上に空腹度を表す情報ウィンドウを表示させたのですが、
この状態で画面上部にメッセージウィンドウを表示させると、文字の上の上に情報ウィンドウが被さり見えなくなってしまいます。
トリアコンタン様のプラグイン「Chronus.js」のように、上部にメッセージウィンドウが表示された場合、情報ウィンドウを非表示にさせたいです。
どなたかソースコードをどう書き換えればよいかお教え下さい。

  • ツクール本体のバージョン
 1.5.0
こんにちは。

メッセージウィンドウが表示されているかどうかは、
$gameMessage.isBusy()の真偽を判定するとわかります。
真ならメッセージウィンドウを表示している、となります。

また、ウィンドウの表示非表示を切り替える場合は、show()とhide()を使います。
参考にされたサイトの記述にあわせると、Scene_Mapクラス内で
this._InfoWindow.show() で情報ウィンドウを表示
this._InfoWindow.hide() で情報ウィンドウを非表示
となります。

これを組み合わせると、メッセージウィンドウを表示している場合に
情報ウィンドウを非表示にするためには、以下のソースコードになります。
コード:
if ($gameMessage.isBusy()) {
  this._InfoWindow.hide();
} else {
  this._InfoWindow.show();
}
あとは、これをどこに記述すればよいかですが、メッセージウィンドウは
どのタイミングで表示するかわかりませんので、常に判定できるようにする必要があります。
マップシーンで常時繰り返し実行される処理部は、Scene_Mapのupdate()処理です。

そのため、update()処理内に上記のコードを追加するとうまくいくと思います。
以下は一例。
コード:
var _Scene_Map_update = Scene_Map.prototype.update;
Scene_Map.prototype.update = function() {
  _Scene_Map_update.call(this);
  if ($gameMessage.isBusy()) {
    this._InfoWindow.hide();
  } else {
    this._InfoWindow.setText();
    this._InfoWindow.show();
  }
}
ただし、この状態だとメッセージウィンドウをどの位置に表示しても、
情報ウィンドウが消えてしまいます。
それでもいいなら問題ありませんが、表示位置と被る場合のみ消したい場合は
メッセージウィンドウの表示位置でも判定する必要があります。

メッセージウィンドウの表示位置は、$gameMessage.positionType()で分かります。
この値が 0なら上、1なら中央、2なら下に表示、となります。

情報ウィンドウは上に配置していますので、判定条件は以下の通りです。
$gameMessage.positionType() === 0 または !$gameMessage.positionType()

これを、メッセージウィンドウの表示判定をしているif分の条件式の中に組み込むと
表示位置でも判定できます。
以下は一例。
コード:
var _Scene_Map_update = Scene_Map.prototype.update;
Scene_Map.prototype.update = function() {
  _Scene_Map_update.call(this);
  if ($gameMessage.isBusy() && !$gameMessage.positionType()) {
    this._InfoWindow.hide();
  } else {
    this._InfoWindow.setText();
    this._InfoWindow.show();
  }
}
 

トリアコンタン

モデレーター
スタッフ
モデレーター
こんばんは!
Chronus.jsでは、メッセージウィンドウが表示されたときにカレンダーウィンドウを非表示にしているわけではなく、
ウィンドウレイヤーという既存の仕組みで、カレンダーウィンドウをメッセージウィンドウより奥に表示するようにしています。
これによりメッセージウィンドウが表示されるとカレンダーウィンドウは隠れて見えなくなります。

この仕組みをInfoWindow.jsにも適用させればOKだと思います。
変更前のコードを変更後のコードに置き換えてください。

変更前のコード(15行目付近)
PHP:
    // マップ上にウィンドウ表示するよ宣言
    var Scene_map_start = Scene_Map.prototype.start;
    Scene_Map.prototype.start = function() {
        Scene_map_start.call(this);
        this._InfoWindow = new Window_Info();
        this.addWindow(this._InfoWindow);
    };
変更後のコード
PHP:
    // マップ上にウィンドウ表示するよ宣言
    var _Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
    Scene_Map.prototype.createAllWindows = function() {
        this._InfoWindow = new Window_Info();
        this.addWindow(this._InfoWindow);
        _Scene_Map_createAllWindows.apply(this, arguments);
    };
 

タスク

ユーザー
  • 訊きたいこと、起こっている現象
 RPGツクールMVでギャルゲーのようなものを作っていますがマップイベントで会話をしてから戦闘処理を行いました。
 戦闘処理後、同じマップイベントで会話に戻ろうとしたところピクチャの表示で表示していた背景とキャラクターの立ち絵が表示されなくなり背景が黒のまま会話だけが進行する問題に直面しました。
 戦闘処理後、背景や立ち絵が表示されるようにするにはどうすればよろしいのでしょうか?
  • 試してみたこと
 別のマップチップにイベントを作成し、戦闘処理の分岐で別のイベントに場所移動を行う。
 戦闘処理の前に表示していたピクチャを消去し、その後ピクチャを新たに表示する。
 バトルイベントで設定していたバトル前とバトル後のイベントをマップイベントに置く(このとき勝ったときよ負けたときの分岐内はピクチャは表示されていましたが分岐終了の後にはピクチャが表示されなくなり黒く表示され続けました。)
 マップチップはすべて透過された状態なのでマップチップにタイルを置いたがタイルも映らず関係が無かった。
 イベントコマンドの戦闘処理を行わずスクリプトから敵グループを呼び出し戦闘処理を行う(参考 http://rpgmaker-script-wiki.xyz/battle_mv.php)戦闘処理と同様のためあまり意味がなし?
 
  • ツクール本体のバージョン
 1.5.1
 

トリアコンタン

モデレーター
スタッフ
モデレーター
こんにちは!
ツクールMV本来の仕様では特に意識しなくても戦闘終了後、もともとマップで表示していたピクチャは再表示されます。
もし何らかのプラグインを使用している場合はすべてOFFにして試してみてください。

また、表示しているピクチャや背景の画像サイズ(横幅と高さ)をご確認ください。あまりに大きい(目安として横幅と高さのいずれかが10000ピクセル以上)場合、画像が正常に表示されない場合があります。

もし全てのプラグインをOFFにしても問題が解決しない場合、問題が再現するイベントコマンドをご提示いただければ何か分かるかもしれません。
(イベントコマンドを選択して右クリック→テキストとしてコピー)
 

もぐもぐら

ユーザー
  • 訊きたいこと、起こっている現象
 ゲーム中で「主人公が呪いをかけられてしまい、モンスターを倒しても経験値が入らなくなってしまう」という展開を考えています。
PT内の他のメンバーには通常通り経験値が入り、特定のアクターにのみ入らないようにするにはどうしたらいいでしょうか。
  • 試してみたこと
  現在はステートにて「経験値獲得率」を変更しているのですが、この場合でも戦闘勝利後のバトルメッセージにて
  正規の経験値が表示されてしまいます。
  こちらの表示も変更させたいです。
  • ツクール本体のバージョン
 1.5.0
 
最後に編集:

トリアコンタン

モデレーター
スタッフ
モデレーター
こんばんは!
「特徴」の「経験獲得率」を0%を利用するのがいいかと思います。
この特徴はアクター、職業、武器、防具、ステートに存在するので、具体的な展開にふさわしいものを選択すればいいと思います。

ステートに付与する場合、以前に作成した「ステート自動付与プラグイン」などが利用できます。
よろしければご検討ください。

「ステート自動付与プラグイン」
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/AutomaticState.js

2017-09-10.png
 

もぐもぐら

ユーザー
こんばんは!
「特徴」の「経験獲得率」を0%を利用するのがいいかと思います。
この特徴はアクター、職業、武器、防具、ステートに存在するので、具体的な展開にふさわしいものを選択すればいいと思います。

ステートに付与する場合、以前に作成した「ステート自動付与プラグイン」などが利用できます。
よろしければご検討ください。

「ステート自動付与プラグイン」
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/AutomaticState.js

View attachment 1555
アドバイス頂き申し訳ありませんが、その方法では戦闘勝利後のバトルメッセージにて正規の経験値が表示されてしまいます。
こちらの表示も変更させる方法はございませんでしょうか。
 

トリアコンタン

モデレーター
スタッフ
モデレーター
なるほどです……!

戦闘終了後のメッセージで表示させる獲得経験値を非表示にするにはプラグインが必要です。
以下のコードをjsファイルとして保存してプラグイン管理画面から取り込んでみてください。
指定した番号のスイッチ(例の場合は1)がONのとき、経験値取得メッセージを表示しなくなります。

PHP:
(function() {
    'use strict';
    var switchId = 1; // 指定した番号のスイッチがONのとき経験値取得メッセージを表示しない

    var _BattleManager_displayExp = BattleManager.displayExp;
    BattleManager.displayExp = function() {
        if (!$gameSwitches.value(switchId)) {
            _BattleManager_displayExp.apply(this, arguments);
        }
    };
})();
呪いに掛かったタイミングで指定した番号のスイッチをONにして使用します。
 

タスク

ユーザー
こんにちは!
ツクールMV本来の仕様では特に意識しなくても戦闘終了後、もともとマップで表示していたピクチャは再表示されます。
もし何らかのプラグインを使用している場合はすべてOFFにして試してみてください。

また、表示しているピクチャや背景の画像サイズ(横幅と高さ)をご確認ください。あまりに大きい(目安として横幅と高さのいずれかが10000ピクセル以上)場合、画像が正常に表示されない場合があります。

もし全てのプラグインをOFFにしても問題が解決しない場合、問題が再現するイベントコマンドをご提示いただければ何か分かるかもしれません。
(イベントコマンドを選択して右クリック→テキストとしてコピー)
返信が遅くなって申し訳ございません。
現在使用しているプラグインを全てOFFにしても同じ状態になりました。
使用しているほぼ全ての画像の解像度は816*624内で作成したものです。
そのためテキストのコピーしたものをファイルでアップロードさせていただきます。(補足として勝ったときに場所移動してますがしなくても黒くなります。また戦闘前と後でバトルイベントを使用しています。)
 

Attachments

まっつUP

ユーザー
タスク様
バトルイベント中にイベントコマンド「フェードアウト」を実行していませんか?
新規プロジェクトでもそれらのイベントコマンドの流れでは再現できませんでした。
また、マップの戦闘背景を設定していない場合にマップ画面のキャプチャ正常に表示されますか?
 

もぐもぐら

ユーザー
なるほどです……!

戦闘終了後のメッセージで表示させる獲得経験値を非表示にするにはプラグインが必要です。
以下のコードをjsファイルとして保存してプラグイン管理画面から取り込んでみてください。
指定した番号のスイッチ(例の場合は1)がONのとき、経験値取得メッセージを表示しなくなります。

PHP:
(function() {
    'use strict';
    var switchId = 1; // 指定した番号のスイッチがONのとき経験値取得メッセージを表示しない

    var _BattleManager_displayExp = BattleManager.displayExp;
    BattleManager.displayExp = function() {
        if (!$gameSwitches.value(switchId)) {
            _BattleManager_displayExp.apply(this, arguments);
        }
    };
})();
呪いに掛かったタイミングで指定した番号のスイッチをONにして使用します。
無事経験値表示を変更できました。アドバイスありがとうございました。
 

タスク

ユーザー
タスク様
バトルイベント中にイベントコマンド「フェードアウト」を実行していませんか?
新規プロジェクトでもそれらのイベントコマンドの流れでは再現できませんでした。
また、マップの戦闘背景を設定していない場合にマップ画面のキャプチャ正常に表示されますか?
まっつUP様ありがとうございます!。
バトルイベントのフェードアウトを消したところ問題が解決しました!
マップの戦闘背景は設定していない場合でも正常に表示されています。

まっつUPさん、トリアコンタンさんアドバイスいただきありがとうございました。
 

K-ji

ユーザー
  • 訊きたいこと、起こっている現象
主人公含め、全5人の登場人物の中から主人公+2人の3人パーティ構成を考えています。
4人の中から2人をメンバーに加える為、メンバーの順序も様々で外す際の場合分けが難しく
同じような場面を想定したサイトがあったのでイベント入力したところ
メンバー加入に関しては問題なく処理が出来ましたが、
仲間から外すというイベントが上手く動作せず困っています。

現状、メンバーを外す為にイベントキャラを設置してイベント入力したんですが、
・主人公一人の時は「外すメンバーが居ない」と正常に文章表示。
・パーティが2人(主人公+1人)のとき、
 アクターID2と3については問題なく処理終了するも、
 ID4と5に関してはメンバー名は出るが選択しても外せない状態
・パーティが3人の(主人公+2人)のときはイベントキャラに話しかけても
 外すメンバー名自体が表示されない状態

  • 試してみたこと
外す用のイベントキャラを作成したので、そのキャラに話しかけると今いるメンバーを外す。
外したメンバーは所定の位置に戻したいです。
  • ツクール本体のバージョン
 1.5.1
 

Attachments

トリアコンタン

モデレーター
スタッフ
モデレーター
こんにちは!
複雑なイベントなので、キャプチャを目視で原因を特定するのはちょっと難しいです。
問題のイベントがあるマップのデータ(/data/MapXXX.json)をいただければ調査できると思います。
よろしければご検討ください。
 
トップ