As mentioned by Karotte, I believe the ($0 != 2) is not what you wanted. It looks like what you're trying to do it is create three possible responses. One response for when the command is successful and the user properly gambles 1 to 50 points. A second response for when they do enter a value, but the value is not between 1 and 50. A third response for when neither of the above are true. A simple way to do that would be this:

Code:
on *:text:!gamble*:#: {
  if (%floodgamble) || ($($+(%,floodgamble.,$nick),2)) { return }
  set -u5 %floodgamble On
  set -u5 %floodgamble. $+ $nick On
  if ($2 isnum 1-50) {
    -perform what happens with a successful gamble here-
  }
  elseif ($2 isnum) msg $chan You can only gamble in the range of 1 - 50 SN1PEbucks. 
  else msg $chan To gamble SN1PEbucks, use the form !gamble <amount (1-50)> 
}


This basically says "IF user used the command properly, then do what the command is meant to do." "or ELSE, IF they did use a number (but it wasn't between 1 and 50), then display the message telling them to use a valid number." "ELSE, if none of the either two are true, then display the message telling them how to use the command."