selectWeapon: Difference between revisions
Dr Eyeball (talk | contribs) m (see also action)  | 
				Killzone Kid (talk | contribs)  No edit summary  | 
				||
| (89 intermediate revisions by 10 users not shown) | |||
| Line 1: | Line 1: | ||
{{  | {{RV|type=command  | ||
| ofp |=   | |game1= ofp  | ||
|version1= 1.27  | |||
|1.  | |game2= ofpe  | ||
|version2= 1.00  | |||
|   | |game3= arma1  | ||
|version3= 1.00  | |||
|game4= arma2  | |||
|version4= 1.00  | |||
|game5= arma2oa  | |||
|version5= 1.50  | |||
|game6= tkoh  | |||
|version6= 1.00  | |||
|game7= arma3  | |||
|version7= 0.50  | |||
|arg= local  | |||
|   | |eff= global  | ||
|  | |gr1= Weapons  | ||
| [[  | |descr= Selects the given weapon.  | ||
{{Feature|informative|Passing empty string will not deselect current weapon. Use 'SwitchWeapon' [[action]] instead:  | |||
<sqf>player action ["SwitchWeapon", player, player, -1]</sqf>  | |||
}}  | |||
|  | |s1= unitName [[selectWeapon]] muzzleName  | ||
|p1= unitName: [[Object]]  | |||
|p2= muzzleName: [[String]] - name of the weapon or muzzle  | |||
{{Feature|important|For weapons that have '''more than one muzzle''', you have to input the '''muzzleName''' and not the '''weaponName'''.  | |||
* In {{ofp}}, in most cases, both names are the same. But check.  | |||
* In {{arma1}} the weaponNames and muzzleNames are different.  | |||
* For muzzle names see [[:Category:Weapons|CfgWeapons]].  | |||
}}  | |||
|r1= [[Nothing]]  | |||
|s2= unit [[selectWeapon]] [weapon, muzzle, firemode]  | |||
|s2since= arma3 2.08  | |||
| [[  | |p21= unit: [[Object]] - person. This argument has to be [[local]], or it can be remote when executed on the [[isServer|server]]  | ||
|p22= weapon: [[String]] - name of the weapon, personal or vehicle's weapon (see [[weaponState]])  | |||
|p23= muzzle: [[String]] - name of the selected muzzle (see [[weaponState]])  | |||
|p24= firemode: [[String]] - name of the firemode (see [[weaponState]])  | |||
|r2= [[Boolean]] or [[Nothing]] - [[true]] on success, [[false]] on failure, [[Nothing]] when the call to the command is dispatched over network  | |||
|x1= <sqf>_soldier1 selectWeapon "LAWLauncher";</sqf>  | |||
|x2= <sqf>player selectWeapon "M203Muzzle";</sqf>  | |||
|x3= <sqf>player selectWeapon ["arifle_MX_GL_ACO_F", "arifle_MX_GL_ACO_F", "FullAuto"];</sqf>  | |||
|seealso= [[fire]] [[forceWeaponFire]] [[primaryWeapon]] [[handgunWeapon]] [[secondaryWeapon]] [[weapons]] [[ArmA:_Actions#SWITCHWEAPON|action SwitchWeapon]] [[ArmA:_Actions#SWITCHMAGAZINE|action SwitchMagazine]] [[isSwitchingWeapon]]  | |||
}}  | }}  | ||
{{Note  | |||
<  | |user= Dr_Eyeball  | ||
|timestamp= 20080805094900  | |||
|text= Rather than simply using [[selectWeapon]] to select your default weapon after adding them to your player, it is recommended you use a script instead similar to the following, which caters for multiple muzzles:<br>  | |||
SelectWeapon.sqf  | |||
<sqf>  | |||
// Desc: select default weapon & handle multiple muzzles  | |||
if (count weapons player > 0) then  | |||
{  | |||
	private ['_type', '_muzzles'];  | |||
	_type = ((weapons player) select 0);  | |||
	// check for multiple muzzles (eg: GL)  | |||
	_muzzles = getArray (configFile >> "cfgWeapons" >> _type >> "muzzles");  | |||
	if (count _muzzles > 1) then  | |||
	{  | |||
		player selectWeapon (_muzzles select 0);  | |||
	}  | |||
	else  | |||
	{  | |||
		player selectWeapon _type;  | |||
	};  | |||
};  | |||
</sqf>  | |||
}}  | |||
{{Note  | |||
|user= MaestrO.fr  | |||
|timestamp= 20100322154500  | |||
|text= Can be used with [[primaryWeapon]] to select the primary weapon.  | |||
An example with muzzle care (see Dr_EyeBall note) :   | |||
<sqf>  | |||
</  | if ((primaryWeapon player) != "") then  | ||
{  | |||
	private ['_type', '_muzzles'];  | |||
	_type = primaryWeapon player;  | |||
	// check for multiple muzzles (eg: GL)  | |||
	_muzzles = getArray (configFile >> "cfgWeapons" >> _type >> "muzzles");  | |||
	if (count _muzzles > 1) then  | |||
	{  | |||
		player selectWeapon (_muzzles select 0);  | |||
	}  | |||
	else  | |||
	{  | |||
		player selectWeapon _type;  | |||
	};  | |||
};  | |||
</sqf>  | |||
}}  | |||
Latest revision as of 00:11, 12 March 2025
Description
- Description:
 - Selects the given weapon.
 - Groups:
 - Weapons
 
Syntax
- Syntax:
 - unitName selectWeapon muzzleName
 - Parameters:
 - unitName: Object
 - muzzleName: String - name of the weapon or muzzle
 - Return Value:
 - Nothing
 
Alternative Syntax
- Syntax:
 - unit selectWeapon [weapon, muzzle, firemode]
 - Parameters:
 - unit: Object - person. This argument has to be local, or it can be remote when executed on the server
 - weapon: String - name of the weapon, personal or vehicle's weapon (see weaponState)
 - muzzle: String - name of the selected muzzle (see weaponState)
 - firemode: String - name of the firemode (see weaponState)
 - Return Value:
 - Boolean or Nothing - true on success, false on failure, Nothing when the call to the command is dispatched over network
 
Examples
- Example 1:
 - _soldier1 selectWeapon "LAWLauncher";
 - Example 2:
 - Example 3:
 
Additional Information
- See also:
 - fire forceWeaponFire primaryWeapon handgunWeapon secondaryWeapon weapons action SwitchWeapon action SwitchMagazine isSwitchingWeapon
 
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 Aug 05, 2008 - 09:49 (UTC)
 - 
Rather than simply using selectWeapon to select your default weapon after adding them to your player, it is recommended you use a script instead similar to the following, which caters for multiple muzzles:
SelectWeapon.sqf// Desc: select default weapon & handle multiple muzzles if (count weapons player > 0) then { private ['_type', '_muzzles']; _type = ((weapons player) select 0); // check for multiple muzzles (eg: GL) _muzzles = getArray (configFile >> "cfgWeapons" >> _type >> "muzzles"); if (count _muzzles > 1) then { player selectWeapon (_muzzles select 0); } else { player selectWeapon _type; }; }; 
- Posted on Mar 22, 2010 - 15:45 (UTC)
 - 
Can be used with primaryWeapon to select the primary weapon.
An example with muzzle care (see Dr_EyeBall note) : 
if ((primaryWeapon player) != "") then { private ['_type', '_muzzles']; _type = primaryWeapon player; // check for multiple muzzles (eg: GL) _muzzles = getArray (configFile >> "cfgWeapons" >> _type >> "muzzles"); if (count _muzzles > 1) then { player selectWeapon (_muzzles select 0); } else { player selectWeapon _type; }; };
 
Categories: 
- Scripting Commands
 - Introduced with Operation Flashpoint version 1.27
 - Operation Flashpoint: New Scripting Commands
 - Operation Flashpoint: Scripting Commands
 - Operation Flashpoint: Elite: Scripting Commands
 - ArmA: Armed Assault: Scripting Commands
 - Arma 2: Scripting Commands
 - Arma 2: Operation Arrowhead: Scripting Commands
 - Take On Helicopters: Scripting Commands
 - Arma 3: Scripting Commands
 - Command Group: Weapons
 - Scripting Commands: Global Effect