Locality in Multiplayer: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(rewording for better explaination)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[Category: Scripting_Topics ]]
#REDIRECT [[Multiplayer Scripting#Locality]]
 
Entities in OFP are handled, in multiplayer, by one computer alone (the server), which sends updates about this entity to all clients connected to the MP game.
A unit is "local" when it is handled by the local computer (only registered on that machine,other clients connected won't see that unit as local).
 
To know if a unit is local, use the [[local]] script command.
 
== Basic Rules ==
 
The basic rules to determine locality are as follows:
 
''server'' = The dedicated server or the client that is hosting the game
 
''client'' = A game instance used by a player, normally each is on a separate computer
 
* The player's unit is ''always'' local to its client
* AI units are always local to the client of their leader
* A vehicle is always local to the client of its driver
* AI leaders are always local to the server, if placed in the mission editor
* AI units created after mission start via scripting will be local to the computer that issued the command
* Empty vehicles/objects placed in the mission editor are local to the server
* Empty vehicles/objects created after mission start via scripting (with createVehicle for example) are local to the machine that issued the command
 
== Effects of different localities ==
 
Knowing locality of a unit is very important as certain command only affect local units (see [[moveInDriver]] for example).
Other commands have only local effect, nothing will be done outside of computer where the command was issued (see [[setFog]] for example).
 
A unit can change locality during its lifetime. Typical cases are:
* A player dying (his squad AI units are passed to server)
* Use of a [[join]] command
* Units or players entering or exiting a vehicle
* [[Team_Switch|TeamSwitch]]
* [[selectPlayer]]
 
== Further reading ==
 
* [[6thSense.eu:EG#Locality|Editing Guide]]

Latest revision as of 21:35, 31 January 2019