selectWeapon: Difference between revisions
| mNo edit summary | Killzone Kid (talk | contribs)  No edit summary | ||
| (93 intermediate revisions by 12 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
 
	





