ツクールフォーラム

澱粉(仮)
澱粉(仮)
それと、リクエストというか、勝手に追加させて頂いた機能の公式での採用をご検討して頂くのって大丈夫でしょうか…?
以下の3つの機能なのですが…。

①ランダム生成を確実に行うモード
ランダム生成の際に、マップ内の全ての場所を調べ、条件に合う位置を全てプッシュし、そこから選ぶ事によって、条件に合う位置が一つでもあれば確実に生成を行う、というモードです。
私の場合はtryRandomCountに-1を指定する事で発動するようにしました。
出現条件に合う位置の数が膨大ではない場合は、こちらの方が適してるかなと思いまして…。
澱粉(仮)
澱粉(仮)
説明不足かもしれませんが、具体的には以下のような感じです。
var positions = [];
for(var ix = 0; ix < $dataMap.width; ++ix)for(var iy = 0; iy < $dataMap.height; ++iy)if(conditions.every(this.checkValidPosition.bind(this, ix, iy)))positions.push({x: ix, y: iy});
return positions.length ? positions[Math.randomInt(positions.length)] : null;
澱粉(仮)
澱粉(仮)
②プラグインコマンドによってtryRandomCountを一時的に変更する機能
先のモードを、イベントやマップによってオン/オフするためのものです。

③ランダム生成する個数を指定する機能
通常は1コマンドにつき1つ生成する所を、ランダム生成において第7パラメータを指定した場合に、それを生成個数として認識します。
個数が10個とかになって来た際には便利かと思まして…。
(第7パラメータを指定しなかった場合は今まで通り1つ生成します)
トリアコンタン
トリアコンタン
こんにちは!
プラグインのご利用ありがとうございます!

また修正、機能追加対応ありがとうございます!
取り込みについて了解しました。
大変、助かります!

お手数ですが、修正版のプラグインをご提供いただくことは可能でしょうか。
可能であればこちらの最新版と差分を比較したく思います。
難しい場合は、ご提示いただいたコードを取り込めないか検討してみます。
澱粉(仮)
澱粉(仮)
ご了承ありがとうございます!
以下にアップ致しました。
https://32.gigafile.nu/1214-cbc6032d64d53c18790799db20679c27c

元々は古いバージョンで記述してたのですが、最新版と比較し、改めて記述を追加する形にいたしました。
ヘルプ以外の変更箇所にはコメントで「追加」と付記してあります。
澱粉(仮)
澱粉(仮)
すみません、追記です。
自分のコードを改めて見てて気づいたのですが、xとyが既に定義されてるのにixとiyをわざわざ新たに定義してるのは単なるミスです。
コードを推敲してた時の名残のようなもので、特別な意図はありません……。
トリアコンタン
トリアコンタン
ありがとうございます!
こちらで内容を確認、取り込みました。
「ランダム生成を確実に行うモード」については、実装の仕組みについて追記のうえ
設定の変更をセーブデータに含めるため、ゲームスイッチによる分岐として実装しました。

1.11.0 2019/12/07 ランダム生成で条件を満たす場所に確実に出力する「確定出力方式」で出力できる機能を追加しました。(by 澱粉(仮)さま)
特定条件でテンプレートイベント生成するとエラーになる場合がある問題を修正
ランダム生成する際の個数を指定できる機能を追加
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/EventReSpawn.js
トリアコンタン
トリアコンタン
互換性維持のためtryRandomCountに-1を指定した場合も同様に「ランダム生成を確実に行うモード」になります。
トップ