Dann hat deine Variable $smi noch keinen Wert. Du musst ihr ja irgendeinen Anfangswert zuweisen, bevor du sie erhöhen bzw. verringern kannst.

Eigene globale Variablen machen im Maker eigentlich gar keinen Sinn. Man sollte generell auf Instanzvariablen und lokalen Variablen setzen.