Making Object appear after doing certain command

Again I have question with Tads 3… I seem can’t do anything to make object appear after certain command… Is that possible in Tads 3?? For example after you done command like placing object on surface then another object will appear… If player don’t put the object on surface, the item won’t appear. Is there specific code that i should use?? Thanks in advance

First, create the object that you want to appear later … but don’t put it anywhere in the model world. That is, don’t give it a location. Then, in the action() block that you want to cause this effect, call moveInto() on the object. For instance:

action() { inherited(); "As you put the dagger on the oak table, a bowling ball falls onto the table with a thud! "; bowlingBall.moveInto(oakTable); }
That’s the basic idea. However, you’ll want to do at least one refinement. If you don’t add a logical test to this code, the bowling ball will fall onto the table every time the dagger is placed there, which is surely not what you want. So this is better:

action() { inherited(); if (!bowlingBall.moved) { "As you put the dagger on the oak table, a bowling ball falls onto the table with a thud! "; bowlingBall.moveInto(oakTable); } }
This is untested, but I’m pretty sure I’ve got it right. I’ll leave you to work out where to put this code – for example, in the dobjFor(PutOn) of the rustyDagger object:

dobjFor(PutOn) { action() { inherited(); if (!bowlingBall.moved && (gIobj == oakTable)) { "As you put the dagger on the oak table, a bowling ball falls onto the table with a thud! "; bowlingBall.moveInto(oakTable); } } }

Thanks for the valuable tip Master Jim!! It took me awhile and finally I’m able to put the code as you show me! Thanks for this!!