remoteControl: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "bis_fnc_" to "BIS_fnc_") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 21: | Line 21: | ||
|descr= Switches on remote control of the unit. Command needs to be executed locally to the player. | |descr= 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. | If driver is remote it will get transferred to players PC. | ||
There is currently no getter command for remote control, but it is possible to use a trick described in Example 3. | {{Feature|informative|There is currently no getter command for remote control, but it is possible to use a trick described in {{HashLink|#Example 3}}.}} | ||
|s1= who [[remoteControl]] whom | |s1= who [[remoteControl]] whom | ||
Line 73: | Line 73: | ||
}} | }} | ||
{{Note | |||
|user= TeRp | |||
|timestamp= 20090604185500 | |||
You must use [[switchCamera]] in order to remote control a unit.<br> | |text= You must use [[switchCamera]] in order to remote control a unit.<br> | ||
You can only [[remoteControl]] characters, e.g. if yo want to remote control a car, you have to add a driver and use | You can only [[remoteControl]] characters, e.g. if yo want to remote control a car, you have to add a driver and use | ||
<code>[[player]] [[remoteControl]] [[driver]] someVehicle</code> | |||
</ | }} | ||
{{Note | |||
|user= Lou Montana | |||
|timestamp= 20100125143500 | |||
|text= '''{{arma2}} v1.05''': | |||
* You can remoteControl multiple units at the same time. | * 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. | * It is not needed to [[switchCamera]] to the unit to be able to control it - it is needed to be able to fire with. | ||
Line 94: | Line 94: | ||
* If you want to stop the remote control, use objNull as remote controller. | * If you want to stop the remote control, use objNull as remote controller. | ||
* Example: | * Example: | ||
<code>[[player]] [[remoteControl]] [[driver]] jeep1; {{cc|will remoteControl it, you still will have full control of the player}} | <code>[[player]] [[remoteControl]] [[driver]] jeep1; {{cc|will remoteControl it, you still will have full control of the player}}<nowiki> | ||
jeep1 [[switchCamera]] "internal"; {{cc|fix the camera to the ''vehicle'' and not to | </nowiki>jeep1 [[switchCamera]] "internal"; {{cc|fix the camera to the ''vehicle'' and not to [[driver]] jeep1!}}<nowiki> | ||
[[waitUntil]] { !([[alive]] jeep1) | </nowiki>[[waitUntil]] { !([[alive]] jeep1) {{!}}{{!}} !([[alive]] [[player]]) };<nowiki> | ||
[[objNull]] [[remoteControl]] [[driver]] jeep1; {{cc|removes the remoteControlling}} | </nowiki>[[objNull]] [[remoteControl]] [[driver]] jeep1; {{cc|removes the remoteControlling}}<nowiki> | ||
[[player]] [[switchCamera]] "internal"; {{cc|returns to the player}}</code> | </nowiki>[[player]] [[switchCamera]] "internal"; {{cc|returns to the player}}</code> | ||
|game= arma2 | |||
|version= 1.05 | |||
}} | |||
{{Note | |||
|user= thedawnofallwars | |||
|timestamp= 20200917030100 | |||
|text= Far and away the easiest way to check the unit remote controlling an AI is using [[BIS_fnc_moduleRemoteControl_owner]] | |||
Far and away the easiest way to check the unit remote controlling an AI 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. | This will return the unit in question which you can then run name on to find the controller's name. | ||
<code>_who = _unit [[getVariable]] ["BIS_fnc_moduleRemoteControl_owner", objNull]; | <code>[[private]] _name = "-"; | ||
if(![[isNull]] _who) then { | _who = _unit [[getVariable]] ["BIS_fnc_moduleRemoteControl_owner", [[objNull]]]; | ||
[[if]] (![[isNull]] _who) [[then]] | |||
{ | |||
_name = [[name]] _who; | |||
};</code> | };</code> | ||
}} | |||
Revision as of 04:29, 30 October 2021
Description
- Description:
- 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.
- 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:
player remoteControl driver UAV; driver UAV switchCamera "Internal"; // switchCamera required // sometimes switchCamera is not needed player remoteControl driver UAV;
- Example 2:
- Return control to player:
objNull remoteControl driver UAV;
- Example 3:
- 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:
- switchCameraselectPlayerUAVControl
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 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 useplayer remoteControl driver someVehicle
- 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
- Posted on Sep 17, 2020 - 03:01 (UTC)
-
Far and away the easiest way to check the unit remote controlling an AI 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; };