ページ 11

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

Posted: 2023年11月01日(水) 15:51
by こめかみ
タイル設定で"梯子"に設定した場所を移動ルートの"一歩前進"で横切ろうとすると
方向転換して上に向かって進んでしまいます。(向きが強制的に上に変わってしまうから?)
例えば空中を浮遊する生物など、梯子の干渉を受けないイベントを個別で設定する方法はないでしょうか?

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

Posted: 2023年11月03日(金) 17:43
by 名無し蛙
該当イベントの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を返すようになります。

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

Posted: 2023年11月03日(金) 22:18
by こめかみ
名無し蛙様
こういった事もスクリプトで実行できるのですね!
梯子以外の場合でも応用できそうです!
プラグインの一例までありがとうございます。
大変助かりました。

名無し蛙 さんが書きました:該当イベントの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を返すようになります。