Doesn't there need to be a '/' before the word in the said property? Otherwise it's looking for "hammer" in the first part of the phrase you typed in.
The code needs to do this:
(Said 'look>')
followed by this:
(Said '/hammer')
which is basically the equivalent of
(Said 'look/hammer')
That could be. I will check it out.
Edit 1: Yes, that does help!
Edit 2: I'm getting the same result, which is a "Oops! You tried something we didn't think of" crash error. I was getting that before with Erik's code, so it's not the /hammer part. I wonder if he has more and/or less to his template that's fixing for this. I'll test around and see if I can determine exactly what's causing the crash.
Edit 3: The part that is causing the crash is the "(i ownedBy: gEgo)" and the "(i showSelf:)" I'm guessing variables cannot be used in this way? So any idea what's allowing it to work with Erik's template? He put "i" as a variable to the changeState method, and I followed that example in my code as well.
Good news is that now it's identifying the typed command by the player, now all that's left is how to spit out the correct description.
Edit 4: So I apparently did not put &tmp beofre the i in the method when declaring the variable. Everything now seems to work correctly. Looks like this one is solved. Erik's code works exactly as intended, but Troflip, THANK YOU, I would not have ever thought of the said properties needing the "/" - and that was clearly a huge component of my problems.