Page MenuHomeFeedback Tracker

The scripting command 'reload' needs tweaking
Feedback, NormalPublic

Description

This 20-year-old command is in need of tweakin'.. Edited for bump and clarifications.

Wiki simply says "Reload all weapons".
In fact this reloads the first muzzle it finds in currently held weapon that has had some ammo fired from it's mag (non-full mag), not for example the currently selected muzzle, even if it has completely empty mag if the main muzzle mag doesn't have full ammo.
So in multi muzzle weapons it just reloads the main muzzle if it has had ammo fired from it's current mag, always. Secondary muzzle stays untouched.

If main mag is full and additional muzzle mag is lacking ammo then it reloads the additional muzzle, but with a caveat:
When having a muzzle selected that is not being reloaded, like UGL on some assault rifle selected and rifle mag is reloaded (because how this command works), the soldier plays the reload hand gestures for the rifle mag reload but none of the related weapon animations play, as in magazine doesn't get removed/added back, charging handle doesn't move..

Going with the "Reloads all weapons" idea this should obviously "Reload all muzzles" then and actually reload the whole weapon system if needed. 🤔

Additionally, would be very very useful if you could add alternative syntax' for this:
<gunner> reload <muzzle>
<gunner> reload [<muzzle>, <magazine class>]

Where obviously the <gunner> would be soldier holding/manning the weapon and <muzzle> would the muzzle of the currently used weapon.
So that one could point the reload directly to a wanted muzzle.

The other one the same but you could also define the magazine class to reload with, obviously only if given mag is in gunners/vehicles inventory and can be used in the given muzzle.

I know this can be achieved with the reloadMagazine action to a certain extent but that's far from being user friendly as you need a complex-ish function to make it work with all the creator ID and stuff (and dunno if that's even 100% working solution).

Details

Severity
None
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Category
Engine
Steps To Reproduce

Current dev

  1. play using the Promet SG 6.5mm (just to see the bug better due to shotgun having a mag, happens on any multi-muzzle weapon)
  2. switch to shotgun and fire a couple of rounds
  3. exec something like 0 = [] spawn {sleep 2; reload player} in the debug console
  4. shotgun is reloaded with all correct hand and weapon reload anims
  1. play using the Promet SG 6.5mm
  2. fire couple of rounds with the rifle
  3. switch to shotgun and fire a couple of rounds
  4. switch back to rifle
  5. exec something like 0 = [] spawn {sleep 2; reload player} in the debug console
  6. observe rifle magazine being reloaded as it supposed to with weapon reload anims playing along with the hand gesture. Shotgun stays "un-reloaded".
  1. play using the Promet SG 6.5mm
  2. fire couple of rounds with the rifle
  3. switch to shotgun and fire a couple rounds
  4. exec something like 0 = [] spawn {sleep 2; reload player} in the debug console
  5. observe rifle magazine being reloaded without weapon reload anims (hands do the mag reload gesture but weapon doesn't animate), shotgun stays "un-reloaded"
  1. play using the Promet SG 6.5mm
  2. switch to shotgun and fire a couple of rounds
  3. switch back to rifle
  4. exec something like 0 = [] spawn {sleep 2; reload player} in the debug console
  5. shotgun is reloaded without any weapon reload anims (hands do the gesture but weapon doesn't animate)

Event Timeline

h- created this task.May 22 2020, 9:20 PM
h- updated the task description. (Show Details)Aug 12 2021, 10:07 AM
h- changed Severity from Major to None.
h- edited Steps To Reproduce. (Show Details)
h- edited Additional Information. (Show Details)
h- changed Category from Scripting to Engine.
h- renamed this task from The scripting command 'reload' is broken to The scripting command 'reload' needs tweaking.

so to summarise, if current muzzle can be reloaded it gets reloaded with proper animation and that’s the end of reloading. otherwise it keeps searching for a muzzle to reload, and if it is not current muzzle, it reloads it without animation, and this is where reload ends? Sounds like it should just put another magazine into current muzzle, I think the idea was to mimic reload key press.

h- added a comment.Aug 12 2021, 2:26 PM

Yes.
Non-full mag in main muzzle and non-full mag in secondary muzzle:

  • only reloads the main muzzle, secondary muzzle stays untouched.
  • If secondary muzzle is selected only hand gesture is played, none of the weapon anims play (as the main muzzle mag gets reloaded). If main muzzle is selected all anims play correctly

Full mag in main muzzle, non-full in secondary muzzle:

  • reloads secondary muzzle, but: if main muzzle is selected only hand gesture is played but none of the weapon anims play. If secondary muzzle is selected all anims play correctly

And agreed, changing this so that it would reload all non-full mags in the weapon system might be a bit bad for backwards compatability, so current muzzle would be more reasonable way.
Also would kinda promote the usability of the suggested alternative syntax' :P

we can add consistent functionality via alt syntax

h- added a comment.Oct 23 2021, 7:46 PM

@BIS_fnc_KK
Completely shameless bump in form of a question: did you find out this is feasible to do?

Maybe, I have other issues I’m trying to address atm, but this is on my list, no worries.

BIS_fnc_KK removed BIS_fnc_KK as the assignee of this task.Jan 1 2022, 9:09 PM
BIS_fnc_KK changed the task status from New to Feedback.
BIS_fnc_KK added a subscriber: BIS_fnc_KK.
h- added a comment.Jan 8 2022, 1:58 PM

Did some quick testing and seems to work.

Although, the weapon anims still don't play if the muzzle being reloaded is not selected.
As in reload secondary muzzle while primary muzzle selected the correct hand anims play for the secondary muzzle reload now but the weapon magazine remove/insert stuff doesn't play on the weapon model itself.

But not sure if that's a huge deal or not, especially if it's getting way too convoluted to implement. 🤔