Thanks but the instance variables on the weapons which I think your talking about wont work because of two reasons, instance variables reset when their object is deleted and the stats will change throughout the game.
Yea, that is why I am saying keep all of your weapon stats in JSON and stored in memory in a Hash object, then you can use:
On Created "weapon1" > Set instance var1 = Hash.At("weapon1.stat1"); Set instance var2 = Hash.At("weapon1.stat2"); ...
It looks like you got it though.