remoteExecutedOwner: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Add HC info)
(46 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________
|arma3 |Game name=
|1.70|Game Version=
|arg=  |Multiplayer Arguments=
|eff=  |Multiplayer Effects=
|exec= |Exec=
____________________________________________________________________________________________


| Returns [[clientOwner]] of the PC, which initiated [[Remote Execution]] call. If used in SP or outside of remote executed context, the command returns 0.
|game1= arma3
{{Informative | To check if the context was remote executed or remote executed from JIP queue, use [[isRemoteExecuted]] and [[isRemoteExecutedJIP]].}} |DESCRIPTION=
|version1= 1.70
____________________________________________________________________________________________


| [[remoteExecutedOwner]] |SYNTAX=
|gr1= Multiplayer


| [[Number]] - id of the client, which initiated remote execution |RETURNVALUE=
|descr= Returns the [[Multiplayer_Scripting#Machine_network_ID | machine network ID]] of the client that initiated [[Remote Execution]].
{{Feature|important|
Running this command
* in a Single Player environment
* outside of a remote-executed context
* in a remote-executed context received from a [[Arma 3: Headless Client|Headless Client]]
will return '''0''' by design. To check if the context is remote executed, use [[isRemoteExecuted]] or [[isRemoteExecutedJIP]].
}}
 
|s1= [[remoteExecutedOwner]]
 
|r1= [[Number]] - returns zero in the specific cases listed in the {{Link|#Description}}


|x1= <code>_callerRE = [[remoteExecutedOwner]];</code> |EXAMPLE1=
|x1= <sqf>private _callerRE = remoteExecutedOwner;</sqf>


|x2= Send request to the server and get immediate response:
|x2= Send request to the server and get immediate response:
<code>{
<sqf>
{{cc|in this scope, the remoteExecutedOwner equals clientOwner of the sender}}
{
{{cc|so using it as target in remoteExec will send response right back at him}}
// in this scope, the remoteExecutedOwner equals clientOwner of the sender
// so using it as target in remoteExec will send response right back at him
[
[
[[time]], {{cc|mission time value on the server}}
time, // mission time value on the server
{
{
[[hint]] [[format]]
hint format
[
[
"Request recieved!\nMission time value on the server is: %1",
"Request recieved!\nMission time value on the server is: %1",
[[_this]]
_this
];
];
}
}
]
]
[[remoteExec]] ["call", [[remoteExecutedOwner]]]; {{cc|server response to the sender}}
remoteExec ["call", remoteExecutedOwner]; // server response to the sender
}  
}  
[[remoteExec]] ["call", 2]; {{cc|send request to server}}</code> |EXAMPLE2=
remoteExec ["call", 2]; // send request to server
</sqf>


| [[isRemoteExecuted]], [[isRemoteExecutedJIP]], [[remoteExec]], [[remoteExecCall]], [[canSuspend]], [[publicVariableClient]], [[admin]], [[owner]], [[clientOwner]], [[groupOwner]], [[didJIPOwner]] |SEEALSO=
|seealso= [[isRemoteExecuted]] [[isRemoteExecutedJIP]] [[remoteExec]] [[remoteExecCall]] [[canSuspend]] [[publicVariableClient]] [[admin]] [[owner]] [[clientOwner]] [[groupOwner]] [[didJIPOwner]]
}}
}}


<dl class='command_description'>
{{GameCategory|arma3|Remote Execution}}
<!-- BEGIN Note Section -->
<!-- END Note Section -->
</dl>
 
<h3 style='display:none'>Bottom Section</h3>
<!-- Appropriate categories go here -->


[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
{{Note
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
|user= Demellion
[[Category:Arma 3: Remote Execution]]
|timestamp= 20170911093100
 
|text= Always be sure to check if the [[remoteExecutedOwner]] is not equal to 0 when sending a [[remoteExec]]/[[remoteExecCall]] packet back, as this will result in sending packet to ANYONE (0):
<!-- CONTINUE Notes -->
<sqf>
<dl class="command_description">
if (remoteExecutedOwner isEqualTo 0) exitWith {}; // invalid RE owner
<dd class="notedate">Posted on September 11, 2017 - 09:31 (UTC)</dd>
_gearArray remoteExecCall ['someGearFunction', remoteExecutedOwner];
<dt class="note">[[User:Demellion|Demellion]]</dt>
</sqf>
<dd class="note">
'''NOTE''': Always be sure to check if the [[remoteExecutedOwner]] is not equal to 0 when sending a [[remoteExec]]/[[remoteExecCall]] packet back, as this will result in sending packet to ANYONE (0):
<code>[[if]] ([[remoteExecutedOwner]] [[isEqualTo]] 0) [[exitWith]] {}; {{cc|invalid RE owner}}
_gearArray [[remoteExecCall]] ['someGearFunction', [[remoteExecutedOwner]]];</code>
Will prevent from code being accidentally sent to everyone on the server.
Will prevent from code being accidentally sent to everyone on the server.
</dd>
}}
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 17:13, 7 December 2022

Hover & click on the images for description

Description

Description:
Returns the machine network ID of the client that initiated Remote Execution.
Running this command
  • in a Single Player environment
  • outside of a remote-executed context
  • in a remote-executed context received from a Headless Client
will return 0 by design. To check if the context is remote executed, use isRemoteExecuted or isRemoteExecutedJIP.
Groups:
Multiplayer

Syntax

Syntax:
remoteExecutedOwner
Return Value:
Number - returns zero in the specific cases listed in the Description

Examples

Example 1:
private _callerRE = remoteExecutedOwner;
Example 2:
Send request to the server and get immediate response:
{ // in this scope, the remoteExecutedOwner equals clientOwner of the sender // so using it as target in remoteExec will send response right back at him [ time, // mission time value on the server { hint format [ "Request recieved!\nMission time value on the server is: %1", _this ]; } ] remoteExec ["call", remoteExecutedOwner]; // server response to the sender } remoteExec ["call", 2]; // send request to server

Additional Information

See also:
isRemoteExecuted isRemoteExecutedJIP remoteExec remoteExecCall canSuspend publicVariableClient admin owner clientOwner 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
Demellion - c
Posted on Sep 11, 2017 - 09:31 (UTC)
Always be sure to check if the remoteExecutedOwner is not equal to 0 when sending a remoteExec/remoteExecCall packet back, as this will result in sending packet to ANYONE (0):
if (remoteExecutedOwner isEqualTo 0) exitWith {}; // invalid RE owner _gearArray remoteExecCall ['someGearFunction', remoteExecutedOwner];
Will prevent from code being accidentally sent to everyone on the server.