I think I like the first better. Good idea.The double swap could easily be removed if the client not only sent 'swap weapon' to the server but 'swap weapon to weapon number 1 (or 2)' to the server. That way network and server lag could not interfere since the weapon ability bar that should be swapped to will always stay the same as long as the client is using the unswitched weapon bar.
Another way would be to give us 2 buttons (button1 - weapon1; button2 - weapon2) instead of 1 (back and forth) for weapon swapping.
I would prefer the second alternative.
The double swap could easily be removed if the client not only sent 'swap weapon' to the server but 'swap weapon to weapon number 1 (or 2)' to the server. That way network and server lag could not interfere since the weapon ability bar that should be swapped to will always stay the same as long as the client is using the unswitched weapon bar.
Another way would be to give us 2 buttons (button1 - weapon1; button2 - weapon2) instead of 1 (back and forth) for weapon swapping.
I would prefer the second alternative.