Is the inventory you've shown an example file that someone else did ?
Depends on your events and how you made the inventory. You need to stop adding to inventory when there are no free spaces so you need to calculate this.
Where's the visual representation of your events ?
So you are picking a player in the event which is expected and all you need, then when you run the action it assigns the player UID
Because when you assign the bullet variable the UID of the player then this is the owner of the bullet and the person who shot it.
When a player shoots, assign the bullet a variable which is the UID of the player.
For bullet on collision with player to do damage, add a condition 'player.UID does not equal bullet.variable'
Depends on the specific scenario and what you are trying to achieve, but in general you could have a variable that is on/off and for example the up key only works if the variable is on (with a condition on the key press) and so you set the variable to off to disable the up key.
You could use a different object per gun. This will help fix the size, with image memory use and also in case you need to animate each gun later on. You can store the object name in variable for last gun and create it by name later on. Of course another option is to adjust the size of the object with actions based on whichever gun it is.
Develop games in your browser. Powerful, performant & highly capable.
Why does it need to be separate ?
You can use a combination of 'on created' and then as an action either put a wait or use timer behaviour. You can toggle ability to rotate with a variable, so rotate clockwise only while var=1, so the object initially has var=0 then after the wait or the timer you set the var to 1.
You can make the objects global or put them on a global layer, then they move into the next layout in the same place
I just bought a mac so I can create some iOS builds on C3, I'll let you know if it's easy and maybe you can think about subscribing for C3.
Member since 5 Aug, 2013