Oh so the game-day is only 24 real-seconds long?
Then your wait command could only be 60 frames at the maximum, 120 is too long. For example your existing condition of Hours == 15 won't trigger because the event (in the first post) is only executing every other hour (0, 2, 4, 6 etc.)
The answer still depends on your setup:
Does the lighting only change on some maps and not others?
Does the clock only advance on some maps and not others?
What controls the clock - another parallel map event, a parallel common event, or a plugin?
Syncing these things across multiple sources is tricky.
In an ideal world I would set it up like this with all Common Events (of course you might have additional restrictions that doesn't allow you to do it this way).
Now, the clock is implicitly synced with the lighting and audio.
- Common Event 1 (Master controller)
- Parallel trigger
- Every frame, calls the Clock controller
- Every 60 frames, calls the Lighting controller if the current map is eligible for Lighting (maybe caves are not affected by outside light)
- Every 60 frames, calls the Audio Controller if appropriate
- Common Event 2 (Clock Controller)
- No trigger
- Called by Master controller every frame
- Every frame, increases the Minutes variable by 1
- Every 60 frames increases the Hours variable by 1 and sets the Minutes variable to 0
- Common Event 3 (Lighting controller)
- No trigger
- Called by Master controller every 60 frames
- Checks the current hour (using equals comparison) and tints the screen
- Common Event 4 (audio controller)
- No trigger
- Called by Master controller every 60 frames
- Checks the current hour (using equals comparison) and plays the appropriate audio
Last thing is for any transfer events into the lighting eligible maps to call the Lighting controller and Audio controller common events (as a one-time call) so if they transfer in at 21:30 then they'll get the lighting/audio of 21:00 for the next half-second until it changes to 22:00