Huh, that is an unfortunate bug. It is being caused by a new server bug where the WeaponNameByNum() function returns erroneous strings if called during script compilation. It returns a blank string for 0 (should be 'USSOCOM'), and USSOCOM for every other input.
14-11-16 21:31:21 wepname(0):
14-11-16 21:31:21 wepname(1): USSOCOM
14-11-16 21:31:21 wepname(2): USSOCOM
14-11-16 21:31:21 wepname(3): USSOCOM
14-11-16 21:31:21 wepname(4): USSOCOM
14-11-16 21:31:21 wepname(5): USSOCOM
14-11-16 21:31:21 wepname(6): USSOCOM
14-11-16 21:31:21 wepname(7): USSOCOM
14-11-16 21:31:21 wepname(8): USSOCOM
14-11-16 21:31:21 wepname(9): USSOCOM
14-11-16 21:31:21 wepname(10): USSOCOM
14-11-16 21:31:21 wepname(11): USSOCOM
14-11-16 21:31:21 wepname(12): USSOCOM
14-11-16 21:31:21 wepname(13): USSOCOM
14-11-16 21:31:21 wepname(14): USSOCOM
14-11-16 21:31:21 wepname(15): USSOCOM
14-11-16 21:31:21 wepname(16): USSOCOM
The issue came to light in the LoadWeapons() function in my script, and I have fixed it by delaying all set-up and file-loading to the first tick, after compilation has finished.
I updated the file in my post on the official soldat forums, but I will post just the ZRPG.pas file here.