Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Add Discord channel descriptions)
m (Update w/ links)
 
(121 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Hatnote|''Future [[Arma 3 Getting Started]] page''}}
[[Category: Sandbox]]
{{SideTOC}}
{{Feature|informative|To go on [[Initialisation Order]].}}


{| class="wikitable sortable align-center align-left-col-1"
|+ Order of Initialisation (use column sorting for respective machine order)
! rowspan="2" class="unsortable" style="text-align: center" | Task
! rowspan="2" | Exec Environment
! rowspan="1" colspan="5" class="unsortable" | Machine
|-
! Single Player
! Dedicated Server
! Hosted Server
! Multiplayer Client
! [[Multiplayer Scripting#Join In Progress|JIP]] MP Client


== Launcher ==
|-
''See [[Arma 3 Launcher]]''
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>recompile</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are recompiled
| {{n/a}}
| 1 <!-- Single Player -->
| 1 <!-- Dedicated Server -->
| 1 <!-- Hosted Server -->
| 1 <!-- Multiplayer Client -->
| 1 <!-- JIP MP Client -->


|-
| [[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]]
| 2 <!-- Single Player -->
| 2 <!-- Dedicated Server -->
| 2 <!-- Hosted Server -->
| 2 <!-- Multiplayer Client -->
| 2 <!-- JIP MP Client -->


== Starting with the game ==
|-
You bought the game, downloaded it, installed it, configured it ''via'' the launcher, started it: now what?<br>
| Object Init Event Handlers are called
If you are not familiar with the Arma series, a usual recommendation is to access the main menu and select Tutorial, you can find choices such as:
| [[Scheduler#Unscheduled Environment|Unscheduled]]
* Read the '''[https://arma3.com/assets/pdf/arma3_manual.pdf Game Manual]'''
| 3 <!-- Single Player -->
* Read / configure your keys in the '''Game Options'''
| 3 <!-- Dedicated Server -->
* Read the in-game '''[[:Category:Arma 3: Field Manual|Field Manual]]''' (from Tutorial → Field Manual)
| 3 <!-- Hosted Server -->
* Watch '''Community Guide''' videos ([https://store.steampowered.com/app/544940/2/14/ Steam] / [https://www.youtube.com/playlist?list=PLfUcrRpCM_fLrk4KKLkQKrlTBh7txPaO3 YouTube])
| 3 <!-- Multiplayer Client -->
* Read [https://ttp3.dslyecxi.com/ dslyecxi's Arma 3 Tactical Guide]
| {{Icon|unchecked}} <!-- JIP MP Client -->


then…
|-
* [[#In-Game training|Practice]] and [[#Fighting|play]] in Single Player
| 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>
* [[#Playing in Multiplayer|Play]] in Multiplayer
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 4 <!-- Single Player -->
| 4 <!-- Dedicated Server -->
| 4 <!-- Hosted Server -->
| {{Icon|unchecked}} <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- JIP MP Client -->


|-
| Object initialisation fields are called
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 5 <!-- Single Player -->
| 5 <!-- Dedicated Server -->
| 5 <!-- Hosted Server -->
| 4 <!-- Multiplayer Client -->
| 3 <!-- JIP MP Client -->


== Playing in Single Player ==
|- style="background-color: #95F0AD"
| [[Event Scripts#init.sqs|init.sqs]] is executed
|
| 6 <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


=== In-game training ===
|- style="background-color: #95F0AD"
* Play the '''VR Training''' missions to understand the principles
| [[Event Scripts#init.sqf|init.sqf]] is executed
* Play the '''Showcases''' to apply these principles in real action
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits">Note '''in single player''' that while the environment is [[Scheduler#Scheduled Environment|Scheduled]] ([[canSuspend]] returns true), the engine seems to wait until the script is done executing, essentially behaving similarly to an [[Scheduler#Unscheduled Environment|Unscheduled environment]] - infinite loops will freeze the game, [[uiSleep]] may pause the game for up to ~20s (postInit), [[waitUntil]] can cause catastrophic issues, etc.</ref>
* Play the '''[https://arma3.com/bootcamp Bootcamp] campaign'''
| <!-- Single Player -->
* Practice weapons and vehicles in the '''[[Arma 3 Arsenal|Virtual Arsenal]]'''
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


=== Fighting ===
|-
* Play the Single Player campaign "The East Wind" to learn to work in a team
| Expressions of [[Eden Editor: Configuring Attributes|Eden Editor scenario attributes]] are called<ref name="playerCommandNotAvailable">[[player]] is not available immediately.</ref>
* Play the other Single Player content, according to your [[:Category:Arma 3 DLCs & Expansions|DLC]] list:
| [[Scheduler#Unscheduled Environment|Unscheduled]]
** [[Arma 3 Tac-Ops Mission Pack]]
| <!-- Single Player -->
** [[Arma 3 Laws of War]]'s campaign
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|- style="background-color: #95DEF0"
| Persistent functions are called
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


== Playing in Multiplayer ==
|-
Playing in Multiplayer is way different from Single Player.
| [[Modules]] are initialised
An AI can be predicted, its skill altered, its behaviour planned, whereas an experimented human being makes you wary of each and every of its moves.
|
* If you own [[Arma 3 Apex]], play its Multiplayer campaign "Apex Protocol" with experienced friends
| <!-- Single Player -->
* Hours of game bring experience no training can bring (situational awareness, reflexes)
| <!-- Dedicated Server -->
* Find the kind of game you want (see available [[Multiplayer Game Types|Multiplayer game types]])
| <!-- Hosted Server -->
* If possible, try to play on various servers with friends or an [https://units.arma3.com/ Arma 3 Unit] to enhance your game experience
| <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- JIP MP Client -->


|- style="background-color: #DEF0AD"
| [[Event Scripts#initServer.sqf|initServer.sqf]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| {{n/a}} <!-- Multiplayer Client -->
| {{n/a}} <!-- JIP MP Client -->


== Finding players, communities and help ==
|- style="background-color: #DEF0AD"
| [[Event Scripts#initPlayerLocal.sqf|initPlayerLocal.sqf]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| {{n/a}} <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


=== Official communication channels ===
|- style="background-color: #DEF0AD"
* [https://forums.bohemia.net/forums/forum/107-arma-3-main/ Arma 3 Official Forum]
| [[Event Scripts#initPlayerServer.sqf|initPlayerServer.sqf]] is executed on the server
* [https://discord.gg/arma Arma 3 Official Discord]
| [[Scheduler#Scheduled Environment|Scheduled]]
** {{Inline code|#looking_for_game}} channel if you are looking for players
| <!-- Single Player -->
** {{Inline code|#looking_for_squad}} channel if you are looking for squads
| {{n/a}} <!-- Dedicated Server -->
** {{Inline code|#communities_arma}} channel if you are looking for communities
| ?? <!-- Hosted Server -->
** {{Inline code|#singleplayer}} channel for… Single Player content advices and discussion
| <!-- Multiplayer Client -->
** {{Inline code|#scripting}} channel for help in scripting, as well as [[:Category:Scripting Commands Arma 3|Arma 3 Scripting Commands]]
| <!-- JIP MP Client -->
** {{Inline code|#community_wiki}} channel where discussions about articles on this wiki happen
** And for all your other questions, {{Inline code|#ask_questions_here}} is the channel to be


=== Common game modes ===
|-
* [https://discord.gg/FMkqWpF Exile Discord]
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>postInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
* [https://discord.gg/UyhtEBh Epoch Discord]
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits"/>
* [https://discordapp.com/invite/ajGUDSH Arma RPG Life]
| <!-- Single Player -->
* [https://discord.gg/bQ3XYMB King Of The Hill + Wasteland]
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|- style="background-color: #95DEF0"
| [[Event Scripts#init.sqs|init.sqs]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


[[Category:Arma 3]]
|- style="background-color: #95DEF0"
[[Category:Hints & Tips]]
| [[Event Scripts#init.sqf|init.sqf]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer 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"
| ''Scenario going''
| {{n/a}}
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


[[Category:Sandbox]]
|-
| [[Event Scripts#exit.sqf|exit.sqf]]
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
 
|-
| [[Event Scripts#exit.sqs|exit.sqs]]
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
 
|-
| {{Link|Arma 3: Mission Event Handlers#Ended|"Ended" Mission Event Handler}}
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
 
|-
|  {{Link|Arma 3: Mission Event Handlers#MPEnded|"MPEnded" Mission Event Handler}}
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->
 
|}
 
 
== See Also ==
 
* [[Arma 3: Functions Library]]<!--
* [[Arma 2: Functions Library]] -->
* [[Arma 3: Remote Execution]], [[BIS_fnc_MP]] <!-- keep? -->
* [[Eden Editor: Configuring Attributes|Eden Editor: Configuring Attributes]]
* [[Event Scripts]]
* [[Scheduler]]

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.