Hmm, perhaps I'm not understanding the logic - shouldn't the last part of the function return the WeaponSelect variable to 0? Or is that not possible, because as soon as the button is pressed, it's triggering the event which adds 1 and activates the function again (i.e. after the first use, there are currently no conditions which return it to 0 without the same button press adding 1)?
The intention is to have the first weapon (i.e. the handgun which = WeaponSelect 0) spawned in at the beginning of the game, though obviously this can't use the Right Button event so I'm using a separate condition to do this separate from the Function.
I see an easy fix in just assigning the weapons to 1, 2, 3 etc without using 0 as you suggested and then just change my other conditions - but I can't currently figure out a way to do it more elegantly using the weapon switch function or use 0.
I've uploaded a current version of the project here in case anyone can suggest a way to do this: -
https://www.dropbox.com/s/clbq6141tbk8d8m/WeaponSwitch.c3p?dl=0
Again, thanks for your help with this, it's helping me to get my head around a bunch of concepts.