setWeaponReloadingTime: Difference between revisions
| Lou Montana (talk | contribs) m (Text replacement - " <nowiki>[</nowiki>" to " [<nowiki/>") | Lou Montana (talk | contribs)  m (Text replacement - "user= kju" to "user= .kju") | ||
| (103 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| {{ | {{RV|type=command | ||
| | arma2oa | | |game1= arma2oa | ||
| |version1= 1.60 | |||
| |1. | |game2= tkoh | ||
| |version2= 1.00 | |||
| |  | |game3= arma3 | ||
| |version3= 0.50 | |||
| |  | |arg= local | ||
| | | |eff= local | ||
| | | |gr1= Weapons | ||
| | | |descr= Sets reloading '''phase''' on the given weapon's current ammo round. | ||
| {{Feature|important|This command does '''not''' change a weapon's (e.g soldier's rifle) ''magazine'' reloading time but changes '''the ammo reloading state''' before the next round is shot.}} | |||
| | | |s1= vehicle [[setWeaponReloadingTime]] [gunner, muzzleName, reloadTime] | ||
| | [[ | |p1= vehicle: [[Object]] | ||
| | | |p2= gunner: [[Object]] - alive and able gunner operating the targeted turret | ||
| | | |p3= muzzleName: [[String]] - turret's muzzle | ||
| | [[ | |p4= reloadTime: [[Number]] - in range 0..1 where 0: reload complete, 1: reload started | ||
| |  | |r1= [[Boolean]] - [[true]] if given weapon is found | ||
| |x1= <sqf>_success = _vehicle setWeaponReloadingTime [gunner vehicle player, currentMuzzle gunner vehicle player, 0.5];</sqf> | |||
| |x2= Boost RPM: | |||
| <sqf> | |||
| unit addEventHandler ["Fired", { | |||
| 	_this # 0 setWeaponReloadingTime [_this # 0, _this # 2, 1/3]; | |||
| }]; | |||
| </sqf> | |||
| |seealso= [[weaponReloadingTime]] [[weapons]] [[magazines]] [[selectWeapon]] [[loadMagazine]] [[weaponState]] [[reload]] | |||
| }} | }} | ||
| {{Note | |||
| |user= .kju | |||
| |timestamp= 20120115 | |||
| |text= The description is confusing to me. What the command essential does is to set the reloading state/time of the given weapon. For example you can fire a missile, and make the weapon available to fire again instantly if you apply 0. | |||
| Or you can delay or stop the reload event indefinitely. The 0-1 range is a percentage - the reload time is taken from the weapons's config value (either reloadTime or magazineReloadTime - not sure). The effect is one time only each - it does not modify the weapon's general reload time.<br><br> | |||
| Works also for infantry weapons - probably useful weapons with longer reload time like sniper weapons or launchers: | |||
| Or you can delay or stop the reload event indefinitely. The 0-1 range is a percentage - the reload time is taken from the weapons's config value (either reloadTime or magazineReloadTime - not sure). The effect is one time only each - it does not modify the weapon's general reload time. | |||
| <br><br>Works also for infantry weapons - probably useful weapons with longer reload time like sniper weapons or launchers: | |||
|   player setWeaponReloadingTime [player,currentWeapon player,0]; |   player setWeaponReloadingTime [player,currentWeapon player,0]; | ||
| No idea what's point of the return value. | |||
| }} | |||
| {{Note | |||
| |user= Demellion | |||
| |timestamp= 20170514 | |||
| < | |text= Note that '''setWeaponReloadingTime''' is only having effect on a current weapon state (loaded projectile) so since the projectile is fired the next one will be reverted to a weapon config defaults. To keep the fire rate speed changed over time, use this code:   | ||
| 	params ["","_weapon","_muzzle"]; | <sqf> | ||
| player addEventHandler ["FiredMan", { | |||
| 	params ["", "_weapon", "_muzzle"]; | |||
| 	private _type = _weapon call BIS_fnc_itemType; | 	private _type = _weapon call BIS_fnc_itemType; | ||
| 	private _time = -1; | 	private _time = -1; | ||
| 	switch (_type select 1) do { | 	switch (_type select 1) do { | ||
| 		case  | 		case "SniperRifle" : {_time = 0.5}; | ||
| 		case  | 		case "AssaultRifle" : {}; | ||
| 		case  | 		case "Handgun" : {}; | ||
| 		case  | 		case "Rifle" : {}; | ||
| 		case  | 		case "SubmachineGun" : {}; | ||
| 		case  | 		case "MachineGun" : {}; | ||
| 		case  | 		case "Mortar" : {}; | ||
| 		case  | 		case "GrenadeLauncher" : {}; | ||
| 		case  | 		case "BombLauncher" : {}; | ||
| 		case  | 		case "MissileLauncher" : {}; | ||
| 		case  | 		case "RocketLauncher" : {}; | ||
| 		case  | 		case "Cannon" : {}; | ||
| 		case  | 		case "Throw" : {}; | ||
| 	}; | 	}; | ||
| 	if (_time isEqualTo -1) exitWith {}; | 	if (_time isEqualTo -1) exitWith {}; | ||
| 	(vehicle player) setWeaponReloadingTime [(vehicle player), _muzzle, _time]; | 	(vehicle player) setWeaponReloadingTime [(vehicle player), _muzzle, _time]; | ||
| }]; | }]; | ||
| </ | </sqf> | ||
| This [[ | This [[Arma 3: Event Handlers|Event Handler]] makes the gun of specific type shoot at a desired rate on each weapon state (sniper rifle will shoot 50% faster in this example). For more information about weapon kinds are there, visit [[BIS_fnc_itemType]]. | ||
| }} | |||
Latest revision as of 20:33, 3 May 2024
Description
- Description:
- Sets reloading phase on the given weapon's current ammo round.
- Groups:
- Weapons
Syntax
- Syntax:
- vehicle setWeaponReloadingTime [gunner, muzzleName, reloadTime]
- Parameters:
- vehicle: Object
- gunner: Object - alive and able gunner operating the targeted turret
- muzzleName: String - turret's muzzle
- reloadTime: Number - in range 0..1 where 0: reload complete, 1: reload started
- Return Value:
- Boolean - true if given weapon is found
Examples
- Example 1:
- Example 2:
- Boost RPM:
Additional Information
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 Jan 15, 2012 - 00:00 (UTC)
- 
The description is confusing to me. What the command essential does is to set the reloading state/time of the given weapon. For example you can fire a missile, and make the weapon available to fire again instantly if you apply 0.
Or you can delay or stop the reload event indefinitely. The 0-1 range is a percentage - the reload time is taken from the weapons's config value (either reloadTime or magazineReloadTime - not sure). The effect is one time only each - it does not modify the weapon's general reload time.
 Works also for infantry weapons - probably useful weapons with longer reload time like sniper weapons or launchers: player setWeaponReloadingTime [player,currentWeapon player,0]; No idea what's point of the return value.
- Posted on May 14, 2017 - 00:00 (UTC)
- 
Note that setWeaponReloadingTime is only having effect on a current weapon state (loaded projectile) so since the projectile is fired the next one will be reverted to a weapon config defaults. To keep the fire rate speed changed over time, use this code: 
This Event Handler makes the gun of specific type shoot at a desired rate on each weapon state (sniper rifle will shoot 50% faster in this example). For more information about weapon kinds are there, visit BIS_fnc_itemType.player addEventHandler ["FiredMan", { params ["", "_weapon", "_muzzle"]; private _type = _weapon call BIS_fnc_itemType; private _time = -1; switch (_type select 1) do { case "SniperRifle" : {_time = 0.5}; case "AssaultRifle" : {}; case "Handgun" : {}; case "Rifle" : {}; case "SubmachineGun" : {}; case "MachineGun" : {}; case "Mortar" : {}; case "GrenadeLauncher" : {}; case "BombLauncher" : {}; case "MissileLauncher" : {}; case "RocketLauncher" : {}; case "Cannon" : {}; case "Throw" : {}; }; if (_time isEqualTo -1) exitWith {}; (vehicle player) setWeaponReloadingTime [(vehicle player), _muzzle, _time]; }];
 
	

