ページ 11

【解決済み】リージョン内にあるイベントの個数をカウントし変数に入れるには?

Posted: 2021年3月17日(水) 22:29
by rpgcode
質問があり投稿させていただきます。

マップ内で複数のリージョンを設定し、リージョン内のイベント個数をカウントしたいのですが、どうやればいいのかわからず困っています。

カウント対象イベントは並列処理で自律的に動き回ります。
過去ログを読んでカウント対象としたいイベントの個数は下記のスクリプトで取得できたのですが、

コード: 全て選択

var eventName = "カウント対象イベント名";
var variableId = 変数番号;
var num = $gameMap.events().filter(function(event){
    return event.event().name === eventName;
}).length;
$gameVariables.setValue(variableId, num);
ある時点で特定のリージョン内にあるイベント数を数え、変数に入れるにはどうすれば良いのでしょうか?
関連情報でもいいので教えて頂けたらありがたいです。

Re: リージョン内にあるイベントの個数をカウントし変数に入れるには?

Posted: 2021年3月18日(木) 00:08
by Plasma Dark
Game_Events は Game_CharacterBase を継承しています。
Game_CharacterBase.prototype.regionId で、そのキャラクターが立っている座標のリージョンIDを取得できます。

Re: リージョン内にあるイベントの個数をカウントし変数に入れるには?

Posted: 2021年3月18日(木) 01:02
by rpgcode
Plasma Darkさま、レスありがとうございます。
キャラクターが立っている場所のリージョンIDは取得できるんですね。

状況としては、特定のリージョン内でトリアコンタンさんのテンプレートイベントプラグインやイベント動的生成プラグインを使ってマップイベントで敵キャラを生成しています。

敵キャラはプレイヤーによって倒された場合、敵キャラのイベントが一時消去されるため、現時点でのリージョン内にいる敵キャライベントの個数を把握したいと思っています。

要は「あるリージョン内に常に一定数の敵がいる状況をつくりたい」のですが、これがなかなかうまくいかず困っています。

また何かあったらぜひ教えて下さい。
どうもありがとうございます!

Re: リージョン内にあるイベントの個数をカウントし変数に入れるには?

Posted: 2021年3月19日(金) 01:04
by トリアコンタン
こんにちは!
試行錯誤されたスクリプトですでにイベントオブジェクトは取得できています。
あとはイベントオブジェクトに対してPlasma Darkさんにアドバイス頂いたメソッドを呼べば取得できます。
以下が実装例です。

コード: 全て選択

var eventName = "test";
var variableId = 1;
var regionId = 3;
var num = $gameMap.events().filter(function(event){
    return event.event().name === eventName 
        && event.regionId() === regionId;
}).length;
$gameVariables.setValue(variableId, num);

Re: リージョン内にあるイベントの個数をカウントし変数に入れるには?

Posted: 2021年3月19日(金) 08:26
by rpgcode
トリアコンタンさま、ありがとうございます。
そういうことだったんですね。

実装したところ理想的な挙動にすることができました!
どうもありがとうございました!