skipTime – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<code>" to "<code style="display: block">")
 
(One intermediate revision by one other user not shown)
Line 49: Line 49:


Oh sorry, I didn't noticed that '''% 24''' and changed it to "correct" way. It is, but only until you want to skip to another day. My fault. '''--[[User:Str|Str]] 21:38, 13 August 2006 (CEST)'''
Oh sorry, I didn't noticed that '''% 24''' and changed it to "correct" way. It is, but only until you want to skip to another day. My fault. '''--[[User:Str|Str]] 21:38, 13 August 2006 (CEST)'''
----
If you want players who join a server to have their weather and time synced exactly like everyone else, just run
<code style="display: block">skipTime (time / 60) // time is sec & skipTime is min</code>a few seconds after they join since [[time]] is automatically synced. I.e. if the game has already been running for 600 sec then your time will equal 600 (at very start it equals 0 until it has had time to auto-sync with server) so you should [[skipTime]] 10 minutes. --[[User:Doolittle|Doolittle]] 08:01, 6 October 2007 (CEST)

Latest revision as of 12:52, 11 January 2023

To explain my most recent edit: Previously I had put in the following:

A useful piece of code that will enable the mission to skip forward to any given time, irrespective of what time it happens to be in the mission is:

skipTime (_timeToSkipTo - daytime + 24 ) % 24


This was subsequently changed by Str to:

skipTime (-daytime + _timeToSkipTo)

That change was not correct.

To understand why this is the case imagine that _timeToSkipTo is 02:00 and that the current time in the mission is 23:30 (daytime = 23.50). In otherwords it is nearly midnight and you want to skip to the early hours of the next morning.

Using skipTime (_timeToSkipTo - daytime + 24 ) % 24 will work as follows:

_timeToSkipTo - daytime = -21.50

_timeToSkipTo - daytime + 24 = 2.50

(_timeToSkipTo - daytime + 24 ) % 24 = 2.5

So the mission will skip time 2.5 hours forward, which is correct.


Using skipTime (-daytime + _timeToSkipTo) will work as follows:

-daytime + _timeToSkipTo = -21.50

So the mission will skip backwards 21.5 hours, which is not correct.


Note that in the more simple case of _timeToSkipTo = 11.00 and daytime = 10.00

Then:

_timeToSkipTo - daytime = 1.0

_timeToSkipTo - daytime + 24 = 25.0

(_timeToSkipTo - daytime + 24 ) % 24 = 1.0

So it still works correctly.


--THobson 20:51, 13 August 2006 (CEST)

Oh sorry, I didn't noticed that % 24 and changed it to "correct" way. It is, but only until you want to skip to another day. My fault. --Str 21:38, 13 August 2006 (CEST)


If you want players who join a server to have their weather and time synced exactly like everyone else, just run skipTime (time / 60) // time is sec & skipTime is mina few seconds after they join since time is automatically synced. I.e. if the game has already been running for 600 sec then your time will equal 600 (at very start it equals 0 until it has had time to auto-sync with server) so you should skipTime 10 minutes. --Doolittle 08:01, 6 October 2007 (CEST)