I would use the object volumes and player max-volume to control how much the player can "carry," and you could use an if statement with other actions to stop him from opening things if his inv is full. You could make a function for it to reuse with various actions you want to limit in that way.
(EDIT: Actually, now that I'm trying to put together a sample function for that, I'm not sure it's worth the trouble vs just checking his inventory each time. I think you'd need a separate function for each action, like "open object check hands function," "use object hands function," "close hands function." And then you'd have to set up the parameters right and enter them each time you used the function. Seems like just doing the IF... each time might be simpler. Someone who
knows functions better than me might have a better idea though.)
As I was looking into this, I noticed a couple of inventory related things that puzzle me.
Are these elements of the
player inventory tab just leftovers from the
default inventory tab,
or do they serve some expected purpose, that might even be useful in this very situation?