Unfortunately, it’s not exactly easy since there is no “OnWeaponReloaded” hook, and it depends on each weapon’s implementation of reloading. You could make it work for HL2 weapons by constantly checking the viewmodel sequence with
Entity:GetSequence for ACT_VM_RELOAD with
Entity:GetSequenceActivity, and then use
Entity:GetCycle on the viewmodel for progress.
[editline]2nd September 2017[/editline]
That’s only for player third-person reloading sequences, which don’t use the same timing as first-person sequences. First-person/viewmodel is what’s used to tell if the player can fire again.