setOwner: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "</dl> <!-- DISCONTINUE Notes --> <!-- CONTINUE Notes --> <dl class="command_description">" to "")
m (Text replacement - "{{Feature|Important|" to "{{Feature|important|")
 
(32 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Command
{{RV|type=command


| arma2oa
|game1= arma2oa
|version1= 1.62


|1.62
|game2= tkoh
|version2= 1.00


|gr1 = Multiplayer
|game3= arma3
|version3= 0.50


|gr1= Multiplayer


|arg= global


|serverExec= server
|serverExec= server


| From server machine, change the ownership of an object to a given client. Returns [[true]] if locality was changed.<br>
|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.
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 log a message to .rpt file.<br>
To transfer ownership of all AI units in a group properly, use [[setGroupOwner]] instead.


|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.}}


|s1= object [[setOwner]] clientID


| object '''setOwner''' clientID
|p1= object: [[Object]] - object to transfer
 
|p1= object: [[Object]] -


|p2= clientID: [[Number]] - the [[Multiplayer_Scripting#Machine_network_ID | machine network ID]] of the new [[owner]].
|p2= clientID: [[Number]] - the [[Multiplayer_Scripting#Machine_network_ID | machine network ID]] of the new [[owner]].


| [[Boolean]]
|r1= [[Boolean]] - returns [[true]] if ownership was successfully transferred, otherwise [[false]]
 
|x1= <code>_someObject [[setOwner]] 12;</code>


|x2= <code>_someObject [[setOwner]] ([[owner]] _playerObject);</code>
|x1= <sqf>_someObject setOwner 12;</sqf>


| [[owner]], [[setGroupOwner]], [[groupOwner]], [[didJIPOwner]]
|x2= <sqf>_someObject setOwner (owner _playerObject);</sqf>


|seealso= [[owner]] [[setGroupOwner]] [[groupOwner]] [[didJIPOwner]]
}}
}}


<dl class="command_description">


[[Category:Arma 2: Operation Arrowhead: New Scripting Commands List|{{uc:{{PAGENAME}}}}]]
<dt></dt>
{{GameCategory|arma2|Scripting Commands}}
<dd class="notedate">Posted on 2017-08-22 - 18:56 (UTC)</dd>
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
 
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on January 7, 2015 - 18:28 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<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
</dd>
</dl>
<dl class="command_description">
<dd class="notedate">Posted on August 22, 2017 - 18:56 (UTC)</dd>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dd class="note">
<dd class="note">
'''NOTE''': There are some interesting behaviour about the specific owner digits like '''0''' '''-2''' and '''2''': <br>
'''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. <br>
# 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.
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>
# 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.  
# *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>


<dd class="notedate">Posted on February 12, 2019 - 01:15 (UTC)</dd>
<dt><dt>
<dd class="notedate">Posted on 2019-02-12 - 01:15 (UTC)</dd>
<dt class="note">[[User:jonpas|jonpas]]</dt>
<dt class="note">[[User:jonpas|jonpas]]</dt>
<dd class="note">
<dd class="note">
Prints RPT warning "setGroupOwner should be used" as soon as there is one unit inside the vehicle, but performs the action successfully.
Prints RPT warning "setGroupOwner should be used" as soon as there is one unit inside the vehicle, but performs the action successfully.
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 00: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.