setDate: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " *\| *MP *BEHAVIOUR *= * " to " ") |
Lou Montana (talk | contribs) m (Text replacement - "<dd class="note">([^}]*)<code>([^<]*)<\/code>" to "<dd class="note">$1<sqf>$2</sqf>") |
||
(32 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{RV|type=command | {{RV|type=command | ||
| | |game1= ofpe | ||
|version1= 1.00 | |||
|1.00 | |game2= arma1 | ||
|version2= 1.00 | |||
|game3= arma2 | |||
|version3= 1.00 | |||
|game4= arma2oa | |||
|version4= 1.50 | |||
|game5= tkoh | |||
|version5= 1.00 | |||
|game6= arma3 | |||
|version6= 0.50 | |||
|eff= local | |eff= local | ||
Line 11: | Line 25: | ||
|gr2= Environment | |gr2= Environment | ||
| Sets mission date and time | |descr= Sets mission date and time. Players joining after mission start will get the current server [[date]] including the year. | ||
{{Feature|arma3 | Clients' local date is [[Multiplayer Scripting#Join In Progress|automatically and periodically synchronised]] with the server date.}} | |mp= {{Feature|arma3 |Clients' local date is [[Multiplayer Scripting#Join In Progress|automatically and periodically synchronised]] with the server date.<br> | ||
In order to change the date without waiting for automatic synchronisation, use remote execution: {{ic|[<nowiki/>[2001,6,22,12,0]] [[remoteExec]] ["setDate"];}}}} | |||
{{Feature | Warning | While the game creates February 29th in a leap year, it removes December 31st. For example [[setDate]] [1980,12,31,12,0] will result in game jumping to [1981,1,1,12,0] as 1980 is a leap year.}} | |||
| | |s1= [[setDate]] date | ||
| [[ | |p1= date: [[Date]] - format [year, month, day, hour, minute] | ||
| | |r1= [[Nothing]] | ||
|x1= <sqf>setDate [1986, 2, 25, 16, 0]; // 4:00pm February 25, 1986</sqf> | |||
|x1= < | |||
|x2= Set the real date (MP only): | |x2= <sqf>// Set the real date (MP only):// postInit {{= 1;}} | ||
if (isServer) then | |||
{ | { | ||
waitUntil {time > 0}; | |||
[missionStart select [0,5]] remoteExec ["setDate"]; | |||
};</ | };</sqf> | ||
| [[date]] | |seealso= [[date]] [[skipTime]] [[numberToDate]] [[dateToNumber]] | ||
}} | }} | ||
<dl class="command_description"> | <dl class="command_description"> | ||
<dt><dt> | |||
<dd class="notedate">10:00, 7/12/2010 (BST) | <dd class="notedate">10:00, 7/12/2010 (BST) | ||
<dt class="note">[[User:Alpha|Alpha]]</dt> | <dt class="note">[[User:Alpha|Alpha]]</dt> | ||
<dd class="note">This command sets the date for the southern hemisphere only, i.e. when the map is in northern hemisphere a date [2010,12,7,17,0] is in day light and and date [2010,6,7,17,0] is in darkness. | <dd class="note">This command sets the date for the southern hemisphere only, i.e. when the map is in northern hemisphere a date [2010,12,7,17,0] is in day light and and date [2010,6,7,17,0] is in darkness. | ||
<dt><dt> | |||
<dd class="notedate">21:35, 31 October 2011 (EET) | <dd class="notedate">21:35, 31 October 2011 (EET) | ||
<dt class="note">[[User:Osmo|Osmo]]</dt> | <dt class="note">[[User:Osmo|Osmo]]</dt> | ||
<dd class="note">In multiplayer, the effect of this command is local, not global. The date from the server is synchronized with clients when they join the game (including start of the mission and joining in progress). E.g. if this command is executed on server in the init.sqf before the mission starts, every client will be synchronized with server as mission is started. However, if you run this command in the middle of the mission, effect is local. | <dd class="note">In multiplayer, the effect of this command is local, not global. The date from the server is synchronized with clients when they join the game (including start of the mission and joining in progress). E.g. if this command is executed on server in the init.sqf before the mission starts, every client will be synchronized with server as mission is started. However, if you run this command in the middle of the mission, effect is local. | ||
<dt><dt> | |||
<dd class="notedate">Posted on October 4, 2014 - 17:43 (UTC)</dd> | <dd class="notedate">Posted on October 4, 2014 - 17:43 (UTC)</dd> | ||
<dt class="note">[[User:MulleDK13|MulleDK13]]</dt> | <dt class="note">[[User:MulleDK13|MulleDK13]]</dt> | ||
Line 55: | Line 67: | ||
</dd> | </dd> | ||
<dt><dt> | |||
<dt | |||
<dd class="notedate">Posted on April 23, 2017 - 02:58 (UTC)</dd> | <dd class="notedate">Posted on April 23, 2017 - 02:58 (UTC)</dd> | ||
<dt class="note">[[User:OOKexOo|OOKexOo]]</dt> | <dt class="note">[[User:OOKexOo|OOKexOo]]</dt> | ||
<dd class="note"> | <dd class="note"> | ||
Regarding execution in the middle of a session, the post of [[User:MulleDK13|MulleDK13]] is not entirely true. If you don't change the year, you are perfectly fine when executing the command on the server only. However, the server does not sync the year. Hence, if you do change the year, you have to execute the command on the server, clients and JIP to account for the missing sync. e.g. | Regarding execution in the middle of a session, the post of [[User:MulleDK13|MulleDK13]] is not entirely true. If you don't change the year, you are perfectly fine when executing the command on the server only. However, the server does not sync the year. Hence, if you do change the year, you have to execute the command on the server, clients and JIP to account for the missing sync. e.g. | ||
< | <sqf>[[], {setDate [1986, 2, 25, 16, 0]}] remoteExec ["call",0,"JIP_id_setDate"];</sqf> | ||
</dd> | </dd> | ||
</dl> | </dl> | ||
Revision as of 11:57, 13 May 2022
Description
- Description:
- Sets mission date and time. Players joining after mission start will get the current server date including the year.
- Multiplayer:
- Groups:
- Mission InformationEnvironment
Syntax
- Syntax:
- setDate date
- Parameters:
- date: Date - format [year, month, day, hour, minute]
- Return Value:
- Nothing
Examples
- Example 1:
- setDate [1986, 2, 25, 16, 0]; // 4:00pm February 25, 1986
- Example 2:
- // Set the real date (MP only):// postInit Template:= 1; if (isServer) then { waitUntil {time > 0}; [missionStart select [0,5]] remoteExec ["setDate"]; };
Additional Information
- See also:
- date skipTime numberToDate dateToNumber
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
- 10:00, 7/12/2010 (BST)
- Alpha
- This command sets the date for the southern hemisphere only, i.e. when the map is in northern hemisphere a date [2010,12,7,17,0] is in day light and and date [2010,6,7,17,0] is in darkness.
- 21:35, 31 October 2011 (EET)
- Osmo
- In multiplayer, the effect of this command is local, not global. The date from the server is synchronized with clients when they join the game (including start of the mission and joining in progress). E.g. if this command is executed on server in the init.sqf before the mission starts, every client will be synchronized with server as mission is started. However, if you run this command in the middle of the mission, effect is local.
- Posted on October 4, 2014 - 17:43 (UTC)
- MulleDK13
- Since an unknown version of Arma 3, this command now has global effect when executed on the server.
- Posted on April 23, 2017 - 02:58 (UTC)
- OOKexOo
-
Regarding execution in the middle of a session, the post of MulleDK13 is not entirely true. If you don't change the year, you are perfectly fine when executing the command on the server only. However, the server does not sync the year. Hence, if you do change the year, you have to execute the command on the server, clients and JIP to account for the missing sync. e.g.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint: Elite version 1.00
- Operation Flashpoint: Elite: New Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Mission Information
- Command Group: Environment
- Scripting Commands: Local Effect