RPGツクール2000/システム【サイトトップへ戻る】
■時間イベント
(更新:2022/05/14)


ゲームの世界に「時間」を設定します。

時間を設定する事によって、昼、夕、夜に合わせて画面の色調を変えたり、
夜しか営業しない店を作ったりする事ができます。


ショートカット
■タイマーを使うor使わない
■タイマーを使って時間経過
■タイマーを使わないで時間経過
■時間の設定
■補足


  
■タイマーを使うor使わない

時間をカウントする方法は、タイマーを使う方法タイマーを使わない方法があります。

  タイマー使用 タイマー不使用
現実時間の最小値 1秒単位 60分の1秒単位
メニュー画面表示中の時間カウント 不可 不可
戦闘中の時間カウント 可能 不可
イベントコマンド「タイマーの操作」 他では使えない 自由に使える

基本的に戦闘中に時間を経過させたい時にはタイマーを使う方法を使い、
戦闘中は時間を経過させない場合はタイマーを使わない方法を使います。



イベントはゲーム全体で使う場合はコモンイベントで設定し、
世界マップなどの一部のマップでしか使わない場合は、
そのマップのどこかにマップイベントで設定してください。

なお、マップイベントの設定の場合は、タイマーを使わない方法の方が設定が楽です。


▲トップへ戻る▲


  
■タイマーを使って時間経過

タイマーの操作を使って時間経過イベントを作ります。

タイマーを使う場合は、戦闘中の時間経過をカウントする事ができますが、
1回の戦闘を1時間39分59秒以内に終了させる必要があります。

今回は「タイマー1秒=ゲーム内の時間経過1分」で設定します。

■コモンイベント、またはマップイベント

イベント開始条件:定期的に並列処理する

◆条件分岐:タイマーが0分00秒以下
 ◆タイマーの操作:値の設定,99分59秒
 ◆タイマーの操作:作動開始(戦闘中も有効:ON)
 ◆
:分岐終了
◆条件分岐:タイマーが99分58秒以下
 ◆変数の操作:[0001:差分計算]代入,5999
 ◆変数の操作:[0001:差分計算]減算,タイマーの残り秒数
 ◆変数の操作:[0002:時間:分]加算,変数[0001]の値
 ◆ラベルの設定:1番
 ◆条件分岐:変数[0002:時間:分]が60以上
  ◆変数の操作:[0002:時間:分]減算,60
  ◆変数の操作:[0003:時間:時]加算,1
  ◆条件分岐:変数[0003:時間:時]が24以上
   ◆変数の操作:[0003:時間:時]減算,24
   ◆
  :分岐終了
  ◆指定ラベルへ飛ぶ:1番
  ◆
 :分岐終了
 ◆タイマーの操作:値の設定,99分59秒
 ◆
:分岐終了



マップイベントで設定している場合は、時間経過が無い別のマップへ移動した時に、
タイマーの時間を「0分0秒」にする必要があります。

例えば以下のようなマップイベントを作成してマップイベントをコピーし、
時間経過がないマップに貼り付ける作業が必要になります。

■マップイベント

イベント開始条件:定期的に並列処理する

◆タイマーの操作:値の設定,0分00秒
◆イベントの一時消去


▲トップへ戻る▲


  
■タイマーを使わないで時間経過

定期的に並列処理するは「60分の1秒単位」で処理されるため、
定期的に並列処理するが1回処理するごとに変数の値を増やします。

なお、実際には処理落ち軽減のために「ウェイト:0.0秒」を設定しているので、
「60分の2秒単位」の処理になります。

今回は「現実で60分の2秒=ゲーム内の時間経過2秒」で設定します。
この場合は「現実で1秒=ゲーム内の時間経過1分」になります。

■コモンイベント、またはマップイベント

イベント開始条件:定期的に並列処理する

◆ウェイト:0.0秒
◆変数の操作:[0001:時間:秒]加算,2
◆条件分岐:変数[0001:時間:秒]が60以上
 ◆変数の操作:[0002:時間:分]加算,1
 ◆条件分岐:変数[0002:時間:分]が60以上
  ◆変数の操作:[0002:時間:分]減算,60
  ◆変数の操作:[0003:時間:時]加算,1
  ◆条件分岐:変数[0003:時間:時]が24以上
   ◆変数の操作:[0003:時間:時]減算,24
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆
:分岐終了


▲トップへ戻る▲


  
■時間の設定

起動時のゲーム内の時間は「午前0時0分」になっています。

例えばオープニングイベントの中で…
◆変数の操作:[0003:時間:時]代入,7
などと設定すると、ゲームの開始時間が「午前7時」になります。



宿屋に泊まった時も…
◆変数の操作:[0001:時間:秒]代入,0<秒の設定がある場合
◆変数の操作:[0002:時間:分]代入,0
◆変数の操作:[0003:時間:時]代入,7
などと設定する事で、「午前7時0分0秒」になります。


▲トップへ戻る▲


  
■補足

RPGツクール2000では、タイマーやウェイトなどを使って「1時間」を設定したとしても、
現実の1時間とは多少のズレが生じます。

またメニュー画面(セーブ画面)を表示している間は、
タイマーを使った方法でも、使わない方法でも、時間を経過させる事はできません。

さらにゲーム起動中に、ツクール以外のウィンドウをクリックして、
ツクールのウィンドウがアクティブ状態になっていない場合は、
ツクール上の処理が停止します。

このため、「ピッタリ1時間後にイベントを実行」と言った処理は、
RPGツクール2000では作る事ができません。


▲トップへ戻る▲



◎関連ページ

●歩くたびに時間が経過する
●朝昼夕夜を作る
●天候を変える

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール