ゲームブックのようにページ(変数)ひとつひとつに内容(コモンイベント)を割り当てたい【解決済み】

アバター
salissalt(塩)
記事: 14
登録日時: 2017年12月05日(火) 16:50
お住まい: 雪の積もる大陸

ゲームブックのようにページ(変数)ひとつひとつに内容(コモンイベント)を割り当てたい【解決済み】

投稿記事by salissalt(塩) » 2018年1月26日(金) 18:02

こんにちは。

まずは、前回や前々回など、
私の質問に答えて頂いた方、ありがとうございました。

今回質問させていただきます内容は、ゲームブックのように
ページを指定したらそのページの内容が表示される、
つまり、変数を指定したらそれに対応したコモンイベントが呼び出される
効率の良い方法を教えていただきたい、
もしくはそのようなことが簡単に実現できる
プラグインを紹介していただきたいです。

ちなみに、今は一応条件分岐でやる方法を使っております。
キャプチャ_2018_01_26_17_42_08_7.png

しかし、これでは効率が悪く負荷がかかることも
予想されるため質問させていただきました。

もし、私の質問に回答してもよろしいという方が御座いましたら
ご回答を喜んでお待ちしております。
最後に編集したユーザー salissalt(塩) on 2018年1月29日(月) 10:06 [ 編集 1 回目 ]

____________________________________________
雪が積もる。
ふわふわの雪、辺り一面銀世界。
僕はそのような光景を見たかった。

現在ローグライクのようなゲーム制作を中断、
ゲームブック式のゲームを制作中です。
アバター
しぐれん
記事: 974
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームブックのようにページ(変数)ひとつひとつに内容(コモンイベント)を割り当てたい

投稿記事by しぐれん » 2018年1月26日(金) 19:02

コモンイベントの呼び出し処理に似たような処理を作ることになるでしょう。
番号指定でコモンイベントを呼び出す方法を使います。

コード: 全て選択

// Common Event
Game_Interpreter.prototype.command117 = function() {
    var commonEvent = $dataCommonEvents[this._params[0]];
    if (commonEvent) {
        var eventId = this.isOnCurrentMap() ? this._eventId : 0;
        this.setupChild(commonEvent.list, eventId);
    }
    return true;
};


上記は、イベントコマンド「コモンイベント」の処理の中身です。
var commonEvent = $dataCommonEvents[this._params[0]];と上野行にありますが、this._params[0]の部分を任意の数字にする子で、その任意の数字のコモンイベントが呼び出されます。
実際は、追加で何か処理が必要だった気もします。

ただし、この方法は処理の流れが追いにくくなるデメリットがあります。
また、コモンイベントの呼び出しは1000回ぐらいを上限に制限がかけられています。
なので、呼び出すたびにイベントの実行を中断して戻して…を繰り返すことになります。
結構面倒くさいです。
現在、プラグイン依頼はお休み中です。
アバター
salissalt(塩)
記事: 14
登録日時: 2017年12月05日(火) 16:50
お住まい: 雪の積もる大陸

Re: ゲームブックのようにページ(変数)ひとつひとつに内容(コモンイベント)を割り当てたい

投稿記事by salissalt(塩) » 2018年1月26日(金) 20:47

ご回答ありがとうございます。
このスクリプトは自分のやりたいことが実現できそうなので
一度使ってみようと思っています。

少し質問があるのですが、
[this._params[0]]の[0]に変数を代入することは可能でしょうか。
____________________________________________
雪が積もる。
ふわふわの雪、辺り一面銀世界。
僕はそのような光景を見たかった。

現在ローグライクのようなゲーム制作を中断、
ゲームブック式のゲームを制作中です。
アバター
しぐれん
記事: 974
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: ゲームブックのようにページ(変数)ひとつひとつに内容(コモンイベント)を割り当てたい

投稿記事by しぐれん » 2018年1月26日(金) 22:50

コード: 全て選択

var commonEvent = $dataCommonEvents[$gameVariables.value(3)];

上記は変数3番で指定したコモンイベントを呼び出す方法です。
参考までに。
現在、プラグイン依頼はお休み中です。
アバター
salissalt(塩)
記事: 14
登録日時: 2017年12月05日(火) 16:50
お住まい: 雪の積もる大陸

Re: ゲームブックのようにページ(変数)ひとつひとつに内容(コモンイベント)を割り当てたい

投稿記事by salissalt(塩) » 2018年1月29日(月) 10:05

しぐれん様、ご回答ありがとうございました。
しかし、その方法では不具合が発生してしまいました。
2度数値を選択しないとページへ移れない、
繰り返し機能(コモンイベントの再実行)が使えないなど。

少々このことに調べてるうちに、
http://rpgmaker-script-wiki.xyz/common_mv.php
というページを見つけました。

先ほどのご回答の、変数指定の方法とurl先のスクリプトを参考にしながら
this.setupChild($dataCommonEvents[$gameVariables.value(n) + m].list, 0)
という形のスクリプトで落ち着きました。
しぐれん様には折角ご回答頂いたのにあまり活用することが出来なくて
申し訳ありませんでした。

又、再度お礼を申し上げます。
ありがとうございました。
____________________________________________
雪が積もる。
ふわふわの雪、辺り一面銀世界。
僕はそのような光景を見たかった。

現在ローグライクのようなゲーム制作を中断、
ゲームブック式のゲームを制作中です。

“MV:質問” へ戻る