setWeaponReloadingTime: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
Lou Montana (talk | contribs) m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>") |
||
Line 58: | Line 58: | ||
params ["", "_weapon", "_muzzle"]; | params ["", "_weapon", "_muzzle"]; | ||
private _type [[a = b|=]] _weapon call BIS_fnc_itemType; | private _type [[a = b|=]] _weapon call BIS_fnc_itemType; | ||
private _[[time]] [[a = b|=]] [[-]]1; | |||
[[switch]] (_[[type]] [[select]] 1) [[do]] { | [[switch]] (_[[type]] [[select]] 1) [[do]] { | ||
[[case]] 'SniperRifle' [[a : b|:]] {_[[time]] [[a = b|=]] 0.5}; | [[case]] 'SniperRifle' [[a : b|:]] {_[[time]] [[a = b|=]] 0.5}; |
Revision as of 13:06, 12 May 2022
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:
_success = _vehicle setWeaponReloadingTime [gunner (vehicle player), currentMuzzle gunner vehicle player, 0.5];
- Example 2:
- Boost RPM:
unit addEventHandler ["Fired", { _this # 0 setWeaponReloadingTime [_this # 0, _this # 2, 1/3]; }];
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:
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]; }];
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.