Just make a couple of invisible bricks somewhere, then name them Handler1, Handler2, etc.
Now when a player activates your event, make it do a ifVariable for namebrick handler1 and hadnler 2 for each of the separate vars you want to check. Then just go to the namebricks, and put in the VariableTrue, client, add variable > cansmithitem by 1. Then do the same with the other named brick. Now make on the main brick, your input event, ifVariable cansmithitem equalsgreater 2. Then variableTrue on the main brick, and now reset cansmithitem to 0. Now do another variable true and do the rest of the stuff you want.
If my post just made absolutely no sense, tell me and I'll post a save.