ゲーム中に昼夜の概念を作成します。 うまく使えば、夜だけ起こるイベントなども作成可能です。
稼動中は、イベントコマンド「画面の色調変更」が正常に機能しなくなります。 「画面の色調変更」を使用する際は、必ず機能を停止させてください。 (停止方法は「使用法」を参照)
↑目次
夜になりました。
マップ名に[DN_STOP]を入れると、そのマップでは昼夜切り替えが停止します。 町の中など、フェーズを変更したくないマップで使用します。
マップ名に[DN_VOID]を入れると、そのマップでは昼夜切り替えの停止に加えて、 現在のフェーズによる色調の変更も無効になります。 建物の中など、昼夜の区別なく明るい場所で使用します。
イベント名に[発光]または[LUMINOUS]を入れると、そのイベントはマップの色調の影響を受けなくなります。 照明などに使用してください。
RGSS の仕様上、[発光] イベントはプレイヤーや他のタイル、イベントより上に表示されます。
敵グループ名に[DN ...]を加えると、敵の出現条件を設定できます。 ...には、そのグループを出現させるフェーズをカンマ区切りで入力します。 数値の前に-を入れると、指定したフェーズを出現条件から除外します。
~「夜」のみ出現させる場合~ こうもり*2 [DN 2] ~「昼・朝」は出現させない場合~ スケルトン*2 [DN -0,-3]
[DN ...]を書かなかったグループは、すべてのフェーズで出現します。
# ◆ 各フェーズの設定 PHASE = [ ["昼", Tone.new( 0, 0, 0), 300], # フェーズ 0 ["夕方", Tone.new( -32, -96, -96), 100], # フェーズ 1 ["夜", Tone.new(-128, -128, -32), 250], # フェーズ 2 ["朝", Tone.new( -48, -48, -16), 100], # フェーズ 3 ] # ← これは消さないこと!
["名称", 色調(Tone), 切り替え時間],
色調の設定は少々慣れが必要なので、よく分からないうちは「切り替え時間」のみ変更してください。
# ◆ 昼夜切り替え方式 # 0..時間経過 1..歩数 2..現実時間(微妙) METHOD = 1
# ◆ フェーズを保存する変数の番号 PHASE_VARIABLE = 11
# ◆ 日数を保存する変数の番号 PASS_DAYS_VARIABLE = 12
# ◆ イベント中はフェーズを変更しない STOP_ON_EVENT = true
# ◆ 戦闘時に色調を適用する範囲 BG_TONE_IN_BATTLE = 0
# ◆ 日付が変わるフェーズ PASS_DAY_PHASE = 3
各コマンドは、イベントコマンド「スクリプト」に記述して使用します。
# 変数 21 番に現在の曜日を取得 get_daynight_week(21)
フェーズをphaseに変更します。 宿屋などで、宿泊後にフェーズを「朝」や「昼」に変更する場合に使用します。 (どこかで見た「夜中に起こしてやろうか?」も再現できます)
durationには、切り替えにかける時間を指定します。 最小値は1です。 省略した場合は、カスタマイズ項目で設定した値を使用します。
pass_daysには、切り替え後に経過させる日数を指定します。 省略した場合は、日数は変化しません。
# 夜にする change_daynight_phase(2) # 一瞬で昼にする change_daynight_phase(0, 1) # 一瞬で朝にして、1 日経過させる change_daynight_phase(3, 1, 1)