Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
(Create Initialisation Order potential replacement)
m (Update w/ links)
 
(One intermediate revision by the same user not shown)
Line 15: Line 15:


|-
|-
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>recompile</syntaxhighlight> attribute are recompiled
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>recompile</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are recompiled
| {{n/a}}
| {{n/a}}
| 1 <!-- Single Player -->
| 1 <!-- Single Player -->
Line 24: Line 24:


|-
|-
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>preInit</syntaxhighlight> attribute are called
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>preInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 2 <!-- Single Player -->
| 2 <!-- Single Player -->
Line 42: Line 42:


|-
|-
| Expressions of [[Eden Editor: Configuring Attributes|Eden Editor entity attributes]] are called<ref name="isPlayer"><sqf inline>isPlayer _entity</sqf> does not return [[true]] immediately. Once the entity has become a [[player]], it is transfered to the client.</ref>
| Expressions of [[Eden Editor: Configuring Attributes|Eden Editor entity attributes]] are called<ref name="isPlayer"><sqf inline>isPlayer _entity</sqf> does not return [[true]] immediately. Once the entity has become a [[player]], it is transferred to the client.</ref>
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 4 <!-- Single Player -->
| 4 <!-- Single Player -->
Line 96: Line 96:


|-
|-
| Modules are initialised
| [[Modules]] are initialised
|
|
| <!-- Single Player -->
| <!-- Single Player -->
Line 110: Line 110:
| <!-- Dedicated Server -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| {{n/a}} <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
| {{n/a}} <!-- JIP MP Client -->


|- style="background-color: #DEF0AD"
|- style="background-color: #DEF0AD"
Line 117: Line 117:
| [[Scheduler#Scheduled Environment|Scheduled]]
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Single Player -->
| <!-- Dedicated Server -->
| {{n/a}} <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- Multiplayer Client -->
Line 126: Line 126:
| [[Scheduler#Scheduled Environment|Scheduled]]
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Single Player -->
| <!-- Dedicated Server -->
| {{n/a}} <!-- Dedicated Server -->
| <!-- Hosted Server -->
| ?? <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
| <!-- JIP MP Client -->


|-
|-
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>postInit</syntaxhighlight> attribute are called
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>postInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits"/>
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits"/>
| <!-- Single Player -->
| <!-- Single Player -->
Line 157: Line 157:
| <!-- Multiplayer Client -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
| <!-- JIP MP Client -->
|-
| [[remoteExec]]'s [[Multiplayer Scripting#Join In Progress|JIP]] queue
| {{n/a}}
| {{n/a}} <!-- Single Player -->
| {{n/a}} <!-- Dedicated Server -->
| {{n/a}} <!-- Hosted Server -->
| {{n/a}} <!-- Multiplayer Client -->
| 42 <!-- JIP MP Client -->


|- style="background-color: #EEE"
|- style="background-color: #EEE"
Line 168: Line 177:


|-
|-
| exit.sqf
| [[Event Scripts#exit.sqf|exit.sqf]]
|
|
| <!-- Single Player -->
| <!-- Single Player -->
Line 177: Line 186:


|-
|-
| exit.sqs
| [[Event Scripts#exit.sqs|exit.sqs]]
|
|
| <!-- Single Player -->
| <!-- Single Player -->
Line 186: Line 195:


|-
|-
| "Ended" Mission Event Handler
| {{Link|Arma 3: Mission Event Handlers#Ended|"Ended" Mission Event Handler}}
|
|
| <!-- Single Player -->
| <!-- Single Player -->
Line 195: Line 204:


|-
|-
| "MPEnded" Mission Event Handler
|  {{Link|Arma 3: Mission Event Handlers#MPEnded|"MPEnded" Mission Event Handler}}
|
|
| <!-- Single Player -->
| <!-- Single Player -->
Line 214: Line 223:
* [[Event Scripts]]
* [[Event Scripts]]
* [[Scheduler]]
* [[Scheduler]]
== Notes ==

Latest revision as of 01:29, 18 March 2024

Order of Initialisation (use column sorting for respective machine order)
Task Exec Environment Machine
Single Player Dedicated Server Hosted Server Multiplayer Client JIP MP Client
Functions with recompile attribute are recompiled N/A 1 1 1 1 1
Functions with preInit attribute are called Unscheduled 2 2 2 2 2
Object Init Event Handlers are called Unscheduled 3 3 3 3 Unchecked
Expressions of Eden Editor entity attributes are called[1] Unscheduled 4 4 4 Unchecked Unchecked
Object initialisation fields are called Unscheduled 5 5 5 4 3
init.sqs is executed 6
init.sqf is executed Scheduled[2]
Expressions of Eden Editor scenario attributes are called[3] Unscheduled
Persistent functions are called
Modules are initialised Unchecked
initServer.sqf is executed Scheduled N/A N/A
initPlayerLocal.sqf is executed Scheduled N/A
initPlayerServer.sqf is executed on the server Scheduled N/A ??
Functions with postInit attribute are called Scheduled[2]
init.sqs is executed Scheduled
init.sqf is executed Scheduled
remoteExec's JIP queue N/A N/A N/A N/A N/A 42
Scenario going N/A
exit.sqf
exit.sqs
"Ended" Mission Event Handler
"MPEnded" Mission Event Handler


See Also

  1. isPlayer _entity does not return true immediately. Once the entity has become a player, it is transferred to the client.
  2. 2.0 2.1 Note in single player that while the environment is Scheduled (canSuspend returns true), the engine seems to wait until the script is done executing, essentially behaving similarly to an Unscheduled environment - infinite loops will freeze the game, uiSleep may pause the game for up to ~20s (postInit), waitUntil can cause catastrophic issues, etc.
  3. player is not available immediately.