RPG を作るツール。

デバッグ用

www/index.html の末尾付近に追記

<script>
// 自作スクリプトここから
var isThroughNow = false; // 壁抜けフラグ
 
document.onkeydown = function(event){
    if (!event) { event = window.event; };
 
    var shift = event.shiftKey;
    var ctrl = event.ctrlKey;
    var alt = event.altKey;
    var keyCode = event.keyCode;
 
    var actorId = 1; // 主人公
    var nowVal;
 
    if(alt && keyCode == 73){ // Alt+I
        var inputMapId = window.prompt("ここに移動先のマップIDを入力してください");
        var inputMapX = window.prompt("ここに移動先のX座標を入力してください", 1);
        var inputMapY = window.prompt("ここに移動先のY座標を入力してください", 1);
 
        var mapId = inputMapId;
        var mapX = parseInt(inputMapX, 10);
        var mapY = parseInt(inputMapY, 10);
        var playerDirection = 0; // 0:そのまま, 2:下, 4:左, 6:右, 8:上
        var fadeInId = 2; // 0:黒フェード, 1:白フェード, 2:なし
 
        $gamePlayer.reserveTransfer(mapId, mapX, mapY, playerDirection, fadeInId);
 
        alert('mapId:' + mapId + ' に移動します');
        //alert('デバッグモード起動中は、AltまたはCtrlキーを押しながら移動で壁抜けできます。移動不可能になったらお試しください');
 
        $gamePlayer.setThrough(true);
        alert('壁抜けを許可しました。終了するには「Alt+M」キーを押してください');
        isThroughNow = true;
    }
 
    if(alt && keyCode == 83){ // Alt+S
        SceneManager.push(Scene_Save);
 
        //alert('セーブ画面を開きます');
    }
 
    if(alt && keyCode == 75){ // Alt+K
        var inputEventId = window.prompt("ここに再生したいコモンイベントIDを入力してください");
 
        $gameTemp.reserveCommonEvent(inputEventId);
 
        alert('コモンイベント:' + inputEventId + 'を再生します');
    }
 
    if(alt && keyCode == 76){ // Alt+L
        SceneManager.push(Scene_Debug);
 
        alert('デバッグ画面を開きます');
    }
 
    if(alt && keyCode == 77){ // Alt+M
        if(isThroughNow === true){
            alert('壁抜けを終了します。再開するには「Alt+M」キーを押してください');
            $gamePlayer.setThrough(false);
            isThroughNow = false;
        }
        else {
            alert('壁抜けを許可します。終了するには「Alt+M」キーを押してください');
            $gamePlayer.setThrough(true);
            isThroughNow = true;
        }
    }
 
    if(alt && keyCode == 78){ // Alt+N
        if($gameMap.isEventRunning()){
            alert('イベントを強制終了します。');
 
            $gameMap.events().forEach(function(event) {
                if (event.eventId() != this._eventId){
                    event.erase();
                }
            }, this);
 
            $gameMap._interpreter._index = $gameMap._interpreter._list.length;
 
            $gamePlayer.setTransparent(false); // show player to map
        }
        else {
            alert('現在実行中のイベントはありません');
        }
    }
 
    if(alt && keyCode == 79){ // Alt+O
        alert('立ち絵・黒背景を全消去します');
        $gameScreen.clearPictures();
    }
};
// 自作スクリプトここまで
</script>
    </body>
</html>
 

参考: RPGツクールMV製ゲームの回想部屋に直行するための汎用スクリプト集 JavaScript - Qiita

コモンイベントが再生されるときにそのIDを確認する

www/js/rpg_objects.js の 9372行目付近を変更

// Common Event
Game_Interpreter.prototype.command117 = function() {
    var commonEvent = $dataCommonEvents[this._params[0]];
    if (commonEvent) {
        var eventId = this.isOnCurrentMap() ? this._eventId : 0;
        alert("コモンイベントスタート: " + commonEvent.id);
        this.setupChild(commonEvent.list, eventId);
    }
    return true;
};

上のAlt+Kと組み合わせると便利


"上"のページ: ソフトウェア, ゲーム開発