Arma 3 Scripting

remoteControl

  • Local argument
  • Global effect
  • Arma 3 v0.50
  • First in Arma 2 v1.00

Command · Markdown · JSON · original wiki page

Description

Switches on remote control of the unit. The command was Global argument prior to Arma 3 v2.14). For more info see Remote Control Tutorial.

If the drone is remote it will get transferred to the player's PC.

Note

See also remoteControlled, isRemoteControlling, and Example 4 for a getter workaround for earlier game versions.

Warning

Always use switchCamera first (when needed) before using remoteControl as doing it after may lead to unpredictable results.

Syntax

who remoteControl whom

Parameters:

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

Important

This method will not work if unit is dead, use the method in Example 3 instead

objNull remoteControl driver UAV;

Example 3

Arma 3 v2.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>
};

See also

switchCamera · selectPlayer · UAVControl · remoteControlled · isRemoteControlling · cameraOn · focusOn

Community notes

Lou Montana

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

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