_classname = "M4A1";_pos = getpos player;_gun = createVehicle [_classname, _pos, [], 0, "CAN_COLLIDE"];
_arrAttachments = getArray (configFile >> 'CfgWeapons' >> typeOf _gun >> 'BaseAttachments');
{_att = _gun createWeaponAttachment _x;} foreach _arrAttachments;
_arrMagazines = getArray...