Ok first of all, never use Player.Defined.. always use opcode for that.
2nd, Player.Controllable is really not nessecary, I would remove it if i were you.
I think you'll understand the other changes by yourself
{$CLEO .cs}
thread 'mashit'
:GoodMan_37
wait 0
if
0ADC: "-"
jf @GoodMan_37
jump...