Вот что-то подобное (пишу прямо на форуме):
Type Weapon
* Field Model%
* Field Power%
* Field Name$
*;...
End Type
Dim Weapons.Weapon(CountWeapons%)
For I=1 to CountWeapons
*Weapons.Weapon(I)= New Weapons
Next
;Здесь ты должен загрузить оружие, скрыть модели, задать параметры оружия и т.д.
;...
;Переменная содержащая текущее оружие
Global CurrentWeapon.Weapon=New Weapon
;Функция смены оружия
Function ChangeWeapon(WeaponIndex%)
* If CurrentWeapon\Model% then FreeEntity(CurrentWeapon\Model%):CurrentWeapon\Model%=0
* CurrentWeapon\Model%=CopyEntity(Weapons(WeaponIndex%)\Model%)
* CurrentWeapon\Power%=Weapons(WeaponIndex%)\Power%
* CurrentWeapon\Name$=Weapons(WeaponIndex%)\Name$
*;...
End Function
Для получения параметров выбранного оружия используй: CurrentWeapon\Parameter