ページ 11

【解決済み】マップIDを取得する方法。

Posted: 2016年12月04日(日) 15:32
by 9太郎
マップA、マップBを新規で作って乱数を取得し、
奇数だったらマップAに移動、
偶数だったらマップBに移動としたいのですが、
マップのマップIDは空いている順番で決まってしまう?ので、
とても扱いづらいです。

例えば、マップの名前、表示名など、
固定のものからマップIDを逆引きする事はできるのでしょうか?

マップIDを取得したい理由は、下記スクリプトなどで利用したいからです。
>$gamePlayer.reserveTransfer(マップID, x座標, y座標, 向き, フェード)

Re: マップIDを取得する方法。

Posted: 2016年12月04日(日) 15:49
by トリアコンタン
指定したマップ名に一致するマップIDを変数[1]に設定するスクリプトです。
同名のマップ名が存在する場合はもっともIDの若いマップが優先されます。

コード: 全て選択

var mapId = 0;
var mapName = 'マップ名';
for (var i = 1; i < $dataMapInfos.length; i++) {
    var mapInfo = $dataMapInfos[i];
    if (mapInfo && mapInfo.name === mapName) {
        mapId = i;
        break;
    }
}
$gameVariables.setValue(1, mapId);
console.log($gameVariables.value(1));

Re: マップIDを取得する方法。

Posted: 2016年12月04日(日) 22:57
by 9太郎
やはりループで回して総当たりで調べるしか無いですか。
現状、ネット上に明確な答えが無いものは、
地道に総チェックせざるをえないのかな。

マップ名も可変に対応するようサンプルソースを利用させて頂きます。
ありがとうございました。