Alright, code review time, sorry.
1. Use default mhappy = 0 instead of $ mhappy = 0 in label start, to make sure all relevant vars always exists, after every update and save and reload etc. For mcname too.
2. You probably mean += and -= instead of =+ and =-. Both are valid syntax, but they're not the same. x += y adds y. x =+ y is the same as x = +y which resets x to +x
3. recognizealex & hotstuff is a bitwise operation, not an AND check. You can use and to check for AND: recognizealex and hotstuff. Again, valid syntax, but probably not what you meant. You can use bitwise operations, they're fun, but you'd do that on integers, not booleans. recognizealex and hotstuff are both booleans.
Such a nerd.