ページ 11

イベント戦かどうかを判定するスクリプト

Posted: 2021年3月23日(火) 10:06
by シンゴビッチ
$gameParty.inBattle() で戦闘中かどうか判定できるのは知って増すが?イベント戦かエンカウント戦かを判定するスクリプトってありますか?

大分ゲームを作り込んでしまったのと、今イベント戦限定のプラグインを作っているので、スイッチや変数を使わずに実現したいです。

Re: イベント戦かどうかを判定するスクリプト

Posted: 2021年3月23日(火) 20:30
by WTR
なんとなく戦闘の処理を眺めてた程度ですが
ドンピシャなフラグらしきものは見つけられませんでした。

が、いずれの場合も戦闘の起点は BattleManager.setup() で
これの呼び出し元が
Game_Interpreter.command301() だとイベントコマンドからで
Game_Player.executeEncounter() だと通常エンカウント、ということだと思うので
このあたりに判別フラグを作っちゃうことは簡単だろうと思いました。

Re: イベント戦かどうかを判定するスクリプト

Posted: 2021年3月23日(火) 21:03
by 名無し蛙
イベントコマンド「戦闘の処理」と通常のランダムエンカウントの差異という意味であれば
結論から言えば

コード: 全て選択

!!BattleManager._eventCallback
で判別可能だと思いますよ
本来の用途に関してはGame_Interpreter.prototype.command301を追えば分かる事なので割愛します

Re: イベント戦かどうかを判定するスクリプト

Posted: 2021年3月23日(火) 21:24
by WTR
おー できるんですね

callbackっていうのがわかるようなわからないような、やっぱりわからないような…でスルーしてしまいました。
すみません。