remoteControl: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(56 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma2 |= Game name
|game1= arma2
|version1= 1.00


|1.00|= Game version
|game2= arma2oa
|eff= global|= Effects in MP
|version2= 1.50
|arg= local|= Arguments in MP
____________________________________________________________________________________________


| Switches on remote control of the unit. Command needs to be executed locally to the player. If driver is remote it will get transferred to players PC.  |= Description
|game3= tkoh
____________________________________________________________________________________________
|version3= 1.00


| who '''remoteControl''' whom |= Syntax
|game4= arma3
|version4= 0.50


|p1= who: [[Object]] -  |= PARAMETER1
|eff= global


|p2= whom: [[Object]] -  |= PARAMETER2
|arg= local


|p3= |= PARAMETER3
|gr1= Remote Control


| [[Nothing]] |= RETURNVALUE
|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 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.}}


|x1= Set player remote control of driver:<code>[[player]] [[remoteControl]] [[driver]] UAV;
|s1= who [[remoteControl]] whom
[[driver]] UAV [[switchCamera]] "Internal"; //switchCamera required
//sometimes switchCamera is not needed
[[player]] [[remoteControl]] [[driver]] UAV;
</code>|= EXAMPLE1


|x2= Return control to player:<code>[[objNull]] [[remoteControl]] [[driver]] UAV;</code>|= EXAMPLE1
|p1= who: [[Object]] - controlling unit


____________________________________________________________________________________________
|p2= whom: [[Object]] - controlled unit


| [[switchCamera]], [[selectPlayer]] |= SEEALSO
|r1= [[Nothing]]


| |= MPBEHAVIOUR
|x1= Set player remote control of driver:
____________________________________________________________________________________________
<sqf>
driver UAV switchCamera "Internal"; // switchCamera required
player remoteControl driver UAV;
// sometimes switchCamera is not needed
player remoteControl driver UAV;
</sqf>
 
|x2= Return control to player: <sqf>objNull remoteControl driver UAV;</sqf>
 
|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_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
};
</sqf>
Usage (could be scheduled or unscheduled):
<sqf>
[] 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>
};
</sqf>
 
|seealso= [[switchCamera]] [[selectPlayer]] [[UAVControl]] [[remoteControlled]] [[isRemoteControlling]] [[cameraOn]] [[focusOn]]
}}
}}


<h3 style='display:none'>Notes</h3>
{{Note
<dl class='command_description'>
|user= TeRp
<!-- Note Section BEGIN -->
|timestamp= 20090604185500
<dt class="note">'''[[User:TeRp|TeRp]]'''
|text= You must use [[switchCamera]] in order to remote control a unit.<br>
<dd class="note">
You can only [[remoteControl]] characters, e.g. if yo want to remote control a car, you have to add a driver and use
You must use switchCamera in order to remote control the unit and.<br />
<sqf>player remoteControl driver someVehicle</sqf>
You can only remoteControl characters, e.g. if yo want to remote control a car, you have
}}
to add a driver and use<br/>
"player remoteControl driver someVehicle".
 


<dd class="notedate">Posted on Jan 25, 2010 - 14:35 (CEST)
{{Note
<dt class="note">'''[[User:Lou Montana|Lou Montana]]'''
|user= Lou Montana
<dd class="note">'''Arma 1.05''' :
|timestamp= 20100125143500
*You can remoteControl multiple units at the same time.
|text= '''{{arma2}} v1.05''':
*It is not needed to [[switchCamera]] to the unit to be able to control it - it is needed to be able to fire with.
* You can remoteControl multiple units at the same time.
*The switchCamera is fixed : the player can't change internal/external/optics view.
* It is not needed to [[switchCamera]] to the unit to be able to control it - it is needed to be able to fire with.
*Do not think about it like a [[selectPlayer]] : it is used to give the control to '''the vehicle role the unit is in'''.
* The switchCamera is fixed : the player can't change internal/external/optics view.
*SwitchCamera to the '''vehicle''' the unit is in ; the camera will go depending the role you are remoteControlling.
* Do not think about it like a [[selectPlayer]]: it is used to give the control to '''the vehicle role the unit is in'''.
*The AI driver won't follow your vehicle move orders.
* [[switchCamera]] to the '''vehicle''' the unit is in; the camera will go depending the role you are remoteControlling.
*If the player dies, the death screen will appear, not automatically turning back to the player.
* The AI driver won't follow your vehicle move orders.
*If you want to stop the remote control, use objNull as remote controller.
* If the player dies, the death screen will appear, not automatically turning back to the player.
*Example :
* If you want to stop the remote control, use objNull as remote controller.
<pre>
* Example:
player remoteControl driver jeep1; // will remoteControl it, you still will have full control of the player
<sqf>
jeep1 switchCamera "internal"; // fix the camera to the ''vehicle'' and not to (driver jeep1) !
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) };
waitUntil { !(alive jeep1) || !(alive player) };
objNull remoteControl driver jeep1; // removes the remoteControlling
objNull remoteControl driver jeep1; // removes the remoteControlling
player switchCamera "internal"; // returns to the player
player switchCamera "internal"; // returns to the player
</pre>
</sqf>
|game= arma2
|version= 1.05
}}


<!-- Note Section END -->
{{Note
</dl>
|user= thedawnofallwars
|timestamp= 20200917030100
|text= 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.


<h3 style='display:none'>Bottom Section</h3>
<sqf>
[[Category:ArmA 2: New Scripting Commands List|{{uc:{{PAGENAME}}}}]]
private _name = "-";
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
_who = _unit getVariable ["BIS_fnc_moduleRemoteControl_owner", objNull];
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
if (!isNull _who) then
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
{
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
_name = name _who;
};
</sqf>
}}

Latest revision as of 10:55, 5 September 2023

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):
[] 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; };