setOwner: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "Category:Arma 2: Operation Arrowhead: New Scripting Commands List" to "Category:Arma 2: Operation Arrowhead: New Scripting Commands")
(formatting)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma2oa
|game1= arma2oa


|1.62
|version1= 1.62
 
|game2= tkoh
 
|version2= 1.00
 
|game3= arma3
 
|version3= 0.50


|gr1 = Multiplayer
|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>
|pr= {{Feature|arma3|Since Arma 3 v1.40, this command should not be used to transfer ownership of units with AI with the exception of [[agents]].}}
To transfer ownership of all AI units in a group properly, use [[setGroupOwner]] instead.
{{Feature|Important|'''Prior to Arma 3 v1.40''' it was not possible to transfer the ownership from a client back to the server.}}


| object '''setOwner''' clientID
|s1= object '''setOwner''' clientID


|p1= object: [[Object]] -
|p1= object: [[Object]] - Object to transfer


|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>
|x1= <code>_someObject [[setOwner]] 12;</code>
Line 30: Line 40:




[[Category:Arma 2: Operation Arrowhead: New Scripting Commands|{{uc:{{PAGENAME}}}}]]
{{GameCategory|arma2|Scripting Commands}}
{{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>
<dl class="command_description">
<dl class="command_description">

Revision as of 13:01, 26 March 2021

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:
ownersetGroupOwnergroupOwnerdidJIPOwner

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 August 22, 2017 - 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 February 12, 2019 - 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.