remoteControl: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Text replacement - "[] spawn" to "0 spawn")
 
(7 intermediate revisions by 2 users not shown)
Line 19: Line 19:
|gr1= Remote Control
|gr1= Remote Control


|descr= Switches on remote control of the unit. Command needs to be executed locally to the player (optional prior to 2.14, forced in 2.14).
|descr= Switches on remote control of the unit. The command was {{Icon|globalArgument|32}} prior to {{GVI|arma3|2.14}}). For more info see [[Remote Control Tutorial]].
If driver is remote it will get transferred to players PC.
 
{{Feature|informative|There is currently no getter command for remote control, but it is possible to use a trick described in {{Link|#Example 3}}. (see also [[remoteControlled]])}}
If the drone is remote it will get transferred to the player's PC.
{{Feature|informative|See also [[remoteControlled]], [[isRemoteControlling]], and {{Link|#Example 4}} for a getter workaround for earlier game versions.}}
{{Feature|warning|Always use [[switchCamera]] first (when needed) before using [[remoteControl]] as doing it after may lead to unpredictable results.}}


|s1= who [[remoteControl]] whom
|s1= who [[remoteControl]] whom
Line 33: Line 35:
|x1= Set player remote control of driver:
|x1= Set player remote control of driver:
<sqf>
<sqf>
driver UAV switchCamera "Internal"; // switchCamera required
player remoteControl driver UAV;
player remoteControl driver UAV;
driver UAV switchCamera "Internal"; // switchCamera required
// sometimes switchCamera is not needed
// sometimes switchCamera is not needed
player remoteControl driver UAV;
player remoteControl driver UAV;
Line 41: Line 43:
|x2= Return control to player: <sqf>objNull remoteControl driver UAV;</sqf>
|x2= Return control to player: <sqf>objNull remoteControl driver UAV;</sqf>


|x3= A dirty hack to return controlling unit because of the absence of dedicated getter:
|x3= {{GVI|arma3|2.14|size= 0.75}} Return control to player:
<sqf>player remoteControl objNull;</sqf>
 
|x4= A dirty hack to return controlling unit because of the absence of dedicated getter:
<sqf>
<sqf>
SQF_fnc_remoteControlledBy =
SQF_fnc_remoteControlledBy =
Line 66: Line 71:
Usage (could be scheduled or unscheduled):
Usage (could be scheduled or unscheduled):
<sqf>
<sqf>
[] spawn
0 spawn
{
{
player remoteControl bob;
player remoteControl bob;
Line 75: Line 80:
</sqf>
</sqf>


|seealso= [[switchCamera]] [[selectPlayer]] [[UAVControl]] [[remoteControlled]]
|seealso= [[switchCamera]] [[selectPlayer]] [[UAVControl]] [[remoteControlled]] [[isRemoteControlling]] [[cameraOn]] [[focusOn]]
}}
}}



Latest revision as of 21:24, 2 September 2024

Hover & click on the images for description

Description

Description:
Switches on remote control of the unit. The command was GAGlobal prior to Arma 3 logo black.png2.14). For more info see Remote Control Tutorial. If the drone is remote it will get transferred to the player's PC.
See also remoteControlled, isRemoteControlling, and Example 4 for a getter workaround for earlier game versions.
Always use switchCamera first (when needed) before using remoteControl as doing it after may lead to unpredictable results.
Groups:
Remote Control

Syntax

Syntax:
who remoteControl whom
Parameters:
who: Object - controlling unit
whom: Object - controlled unit
Return Value:
Nothing

Examples

Example 1:
Set player remote control of driver:
driver UAV switchCamera "Internal"; // switchCamera required player remoteControl driver UAV; // sometimes switchCamera is not needed player remoteControl driver UAV;
Example 2:
Return control to player:
objNull remoteControl driver UAV;
Example 3:
Arma 3 logo black.png2.14 Return control to player:
player remoteControl objNull;
Example 4:
A dirty hack to return controlling unit because of the absence of dedicated getter:
SQF_fnc_remoteControlledBy = { params ["_obj"]; if (!isNull objectParent _obj) exitWith { UAVControl _obj select 0 }; private _res = [objNull]; isNil { private _pos = getPosWorld _obj; private _dirUp = [vectorDirVisual _obj, vectorUpVisual _obj]; private _anim = animationState _obj; private _dummy = "PaperCar" createVehicleLocal [0,0,0]; _obj moveInAny _dummy; _res = uavControl _dummy; _obj setPosWorld _pos; _obj setVectorDirAndUp _dirUp; _obj switchMove _anim; deleteVehicle _dummy; }; _res select 0 };
Usage (could be scheduled or unscheduled):
0 spawn { player remoteControl bob; systemChat str (bob call SQF_fnc_remoteControlledBy); // B Alpha 1-1:1 (KK) objNull remoteControl bob; systemChat str (bob call SQF_fnc_remoteControlledBy); // <NULL-object> };

Additional Information

See also:
switchCamera selectPlayer UAVControl remoteControlled isRemoteControlling cameraOn focusOn

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
TeRp - c
Posted on Jun 04, 2009 - 18:55 (UTC)
You must use switchCamera in order to remote control a unit.
You can only remoteControl characters, e.g. if yo want to remote control a car, you have to add a driver and use
player remoteControl driver someVehicle
Lou Montana - c
Posted on Jan 25, 2010 - 14:35 (UTC)

Arma 2 v1.05:

  • You can remoteControl multiple units at the same time.
  • It is not needed to switchCamera to the unit to be able to control it - it is needed to be able to fire with.
  • The switchCamera is fixed : the player can't change internal/external/optics view.
  • Do not think about it like a selectPlayer: it is used to give the control to the vehicle role the unit is in.
  • switchCamera to the vehicle the unit is in; the camera will go depending the role you are remoteControlling.
  • The AI driver won't follow your vehicle move orders.
  • If the player dies, the death screen will appear, not automatically turning back to the player.
  • If you want to stop the remote control, use objNull as remote controller.
  • Example:

player remoteControl driver jeep1; // will remoteControl it, you still will have full control of the player jeep1 switchCamera "internal"; // fix the camera to the vehicle and not to driver jeep1! waitUntil { !(alive jeep1) || !(alive player) }; objNull remoteControl driver jeep1; // removes the remoteControlling player switchCamera "internal"; // returns to the player

thedawnofallwars - c
Posted on Sep 17, 2020 - 03:01 (UTC)
Far and away the easiest way to check the unit remote controlling an AI through Zeus' Remote Control module is using BIS_fnc_moduleRemoteControl_owner This will return the unit in question which you can then run name on to find the controller's name.
private _name = "-"; _who = _unit getVariable ["BIS_fnc_moduleRemoteControl_owner", objNull]; if (!isNull _who) then { _name = name _who; };