解決)タイル設定"梯子"の仕様変更

アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

解決)タイル設定"梯子"の仕様変更

投稿記事by こめかみ » 2023年11月01日(水) 15:51

タイル設定で"梯子"に設定した場所を移動ルートの"一歩前進"で横切ろうとすると
方向転換して上に向かって進んでしまいます。(向きが強制的に上に変わってしまうから?)
例えば空中を浮遊する生物など、梯子の干渉を受けないイベントを個別で設定する方法はないでしょうか?
添付ファイル
hashigo.png
hashigo.png (82.74 KiB) 閲覧数: 473 回
最後に編集したユーザー こめかみ on 2023年11月03日(金) 22:18 [ 編集 1 回目 ]

名無し蛙
記事: 304
登録日時: 2015年11月23日(月) 02:46

Re: タイル設定"梯子"の仕様変更

投稿記事by 名無し蛙 » 2023年11月03日(金) 17:43

該当イベントのGame_CharacterBase.prototype.isOnLadder
falseを返すように適当に改造すれば良いんじゃないですか

移動ルートの設定で

コード: 全て選択

this.isOnLadder = () => false;

とすればそのイベントは梯子に反応しなくなりますし
適当なプラグインで

コード: 全て選択

(() => {
    'use strict'
    const _Game_CharacterBase_isOnLadder = Game_CharacterBase.prototype.isOnLadder;
    Game_CharacterBase.prototype.isOnLadder = function() {
        return _Game_CharacterBase_isOnLadder.apply(this, arguments) && !this.isThrough();
    };
})();

とすればすり抜け状態のイベントは梯子判定にfalseを返すようになります。
アバター
こめかみ
記事: 104
登録日時: 2017年9月06日(水) 19:34
連絡を取る:

Re: タイル設定"梯子"の仕様変更

投稿記事by こめかみ » 2023年11月03日(金) 22:18

名無し蛙様
こういった事もスクリプトで実行できるのですね!
梯子以外の場合でも応用できそうです!
プラグインの一例までありがとうございます。
大変助かりました。

名無し蛙 さんが書きました:該当イベントのGame_CharacterBase.prototype.isOnLadder
falseを返すように適当に改造すれば良いんじゃないですか

移動ルートの設定で

コード: 全て選択

this.isOnLadder = () => false;

とすればそのイベントは梯子に反応しなくなりますし
適当なプラグインで

コード: 全て選択

(() => {
    'use strict'
    const _Game_CharacterBase_isOnLadder = Game_CharacterBase.prototype.isOnLadder;
    Game_CharacterBase.prototype.isOnLadder = function() {
        return _Game_CharacterBase_isOnLadder.apply(this, arguments) && !this.isThrough();
    };
})();

とすればすり抜け状態のイベントは梯子判定にfalseを返すようになります。

“MV:質問” へ戻る