setOwner: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(some specific stuff.)
m (Text replacement - "{{Feature|Important|" to "{{Feature|important|")
 
(57 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma2oa |= Game name
|game1= arma2oa
|version1= 1.62


|1.62|= Game version
|game2= tkoh
|version2= 1.00


|exec= server|=
|game3= arma3
____________________________________________________________________________________________
|version3= 0.50


| From server machine, change the ownership of an object to a given client. Returns [[true]] if locality was changed.<br>
|gr1= Multiplayer
Since Arma 3 v1.40, this command should not be used to transfer ownership of units with AI ([[agents]] are an exception to this rule).
Using command in an unintended way will display an on-screen warning and log a message to .rpt file.<br>
To transfer ownership of all AI units in a group properly, use [[setGroupOwner]] instead.


|= Description
|arg= global
____________________________________________________________________________________________


| object '''setOwner''' clientID |= Syntax
|serverExec= server


|p1= object: [[Object]] - |= PARAMETER1
|descr= From server machine, change the ownership of an object to a given client. Using command in an unintended way will log a message to .rpt file. To transfer ownership of all AI units in a group properly, use [[setGroupOwner]] instead.


|p2= clientID: [[Number]] - clientID of the new [[owner]] |= PARAMETER2
|pr= {{Feature|arma3|Since {{arma3}} v1.40, this command should not be used to transfer ownership of units with AI with the exception of [[agents]].}}
{{Feature|important|'''Prior to {{arma3}} v1.40''' it was not possible to transfer the ownership from a client back to the server.}}


| [[Boolean]] |= Return value
|s1= object [[setOwner]] clientID
____________________________________________________________________________________________
 
|x1= <code>_someObject [[setOwner]] 12;</code> |= Example 1


|x2= <code>_someObject [[setOwner]] ([[owner]] _playerObject);</code> |= Example 2
|p1= object: [[Object]] - object to transfer
____________________________________________________________________________________________


| [[owner]], [[setGroupOwner]], [[groupOwner]], [[didJIPOwner]] |= See also
|p2= clientID: [[Number]] - the [[Multiplayer_Scripting#Machine_network_ID | machine network ID]] of the new [[owner]].


}}
|r1= [[Boolean]] - returns [[true]] if ownership was successfully transferred, otherwise [[false]]


<h3 style="display:none">Notes</h3>
|x1= <sqf>_someObject setOwner 12;</sqf>
<dl class="command_description">
<!-- Note Section BEGIN -->


<!-- Note Section END -->
|x2= <sqf>_someObject setOwner (owner _playerObject);</sqf>
</dl>


<h3 style="display:none">Bottom Section</h3>
|seealso= [[owner]] [[setGroupOwner]] [[groupOwner]] [[didJIPOwner]]
}}


[[Category:ArmA 2 OA: New Scripting Commands List|{{uc:{{PAGENAME}}}}]]
<dl class="command_description">
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Multiplayer|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
<dt></dt>
<dl class="command_description">
<dd class="notedate">Posted on 2017-08-22 - 18:56 (UTC)</dd>
<dd class="notedate">Posted on January 7, 2015 - 18:28 (UTC)</dd>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dd class="note">
<dd class="note">
The ownership can only be given from server to client. For some reason the server cannot return ownership back with this command. This is fixed in Arma 3 1.40
'''NOTE''': There are some interesting behaviour about the specific owner digits like '''0''' '''-2''' and '''2''':
# Any mission objects (generated from SQM) initially have '''0''' owner state, but it is not [[Multiplayer Scripting#Locality|local]] to ANYONE (0) like it is expected to be, but actually only to a SERVER (2). You can't make any object owner to be 0 once it was changed.
# Trying to change ownership to any negative digit will always result in attempt to transfer ownership to SERVER (2). Once it is unit (non-agent) it will fail and revert* to initial ownership.
# *Changing ownership of a unit (non-agent) actually gives a result for a brief time after this action is performed. What actually happens next - ownership is getting reverted with a message to RPT of a server. This can be seen by reading results of (owner _object) in really fast cycle.
</dd>
</dd>
</dl>
 
<dl class="command_description">
<dt><dt>
<dd class="notedate">Posted on August 22, 2017 - 18:56 (UTC)</dd>
<dd class="notedate">Posted on 2019-02-12 - 01:15 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dt class="note">[[User:jonpas|jonpas]]</dt>
<dd class="note">
<dd class="note">
'''NOTE''': There are some interesting behaviour about the specific owner digits like '''0''' '''-2''' and '''2''': <br>
Prints RPT warning "setGroupOwner should be used" as soon as there is one unit inside the vehicle, but performs the action successfully.
1. Any mission objects (generated from SQM) initially have '''0''' owner state, but it is not [[local]] to ANYONE (0) like it is expected to be, but actually only to a SERVER (2). You can't make any object owner to be 0 once it was changed. <br>
2. Trying to change ownership to any negative digit will always result in attempt to transfer ownership to SERVER (2). Once it is unit (non-agent) it will fail and revert* to initial ownership.<br>
3. *Changing ownership of a unit (non-agent) actually gives a result for a brief time after this action is performed. What actually happens next - ownership is getting reverted with a message to RPT of a server. This can be seen by reading results of (owner _object) in really fast cycle.  
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 01:23, 2 February 2024

Hover & click on the images for description

Description

Description:
From server machine, change the ownership of an object to a given client. Using command in an unintended way will log a message to .rpt file. To transfer ownership of all AI units in a group properly, use setGroupOwner instead.
Problems:
Arma 3
Since Arma 3 v1.40, this command should not be used to transfer ownership of units with AI with the exception of agents.
Prior to Arma 3 v1.40 it was not possible to transfer the ownership from a client back to the server.
Groups:
Multiplayer

Syntax

Syntax:
object setOwner clientID
Parameters:
object: Object - object to transfer
clientID: Number - the machine network ID of the new owner.
Return Value:
Boolean - returns true if ownership was successfully transferred, otherwise false

Examples

Example 1:
_someObject setOwner 12;
Example 2:
_someObject setOwner (owner _playerObject);

Additional Information

See also:
owner setGroupOwner groupOwner didJIPOwner

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
Posted on 2017-08-22 - 18:56 (UTC)
Demellion
NOTE: There are some interesting behaviour about the specific owner digits like 0 -2 and 2:
  1. Any mission objects (generated from SQM) initially have 0 owner state, but it is not local to ANYONE (0) like it is expected to be, but actually only to a SERVER (2). You can't make any object owner to be 0 once it was changed.
  2. Trying to change ownership to any negative digit will always result in attempt to transfer ownership to SERVER (2). Once it is unit (non-agent) it will fail and revert* to initial ownership.
  3. *Changing ownership of a unit (non-agent) actually gives a result for a brief time after this action is performed. What actually happens next - ownership is getting reverted with a message to RPT of a server. This can be seen by reading results of (owner _object) in really fast cycle.
Posted on 2019-02-12 - 01:15 (UTC)
jonpas
Prints RPT warning "setGroupOwner should be used" as soon as there is one unit inside the vehicle, but performs the action successfully.