I'm using a GUI Texture as my touch button instead of a GUI button, but I'm sure it works pretty similar. Here is how mine is set up (though there are probably many ways to do this):
Step 1: Create a new Bool Variable. Lets call it TouchStatus.
State 1: Touch GUI event. (make transition to state 2)
State 2: GUI Element hit test (hit event: Fire, Store result in your TouchStatus Bool). I also have a Wait action set up that simulates my rapid fire speed. You can also add shoot sounds, muzzle fire, or bullets to this state by using a Create Object action. (make transition to State 3)
State 3: Bool Test action. This will test if your player is still touching the fire button. Use the TouchStatus bool as the Bool variable. Create a transition that loops back to State 2.
This is the core of getting a rapid fire gun. Once you get this set up its fairly easy to set up an Ammo display and reload action.
Again, I'm using a GUI Texture as my fire button, so you may have to change a few actions (or not) but this should get you started. I hope this helps.