[11.1] What are puppet sprites for?

A sprite's puppet property defines whether it is controlled by the score or by lingo. If the puppet of a sprite is true, it will behave as instructed by your scripts. If false, the sprite will behave according to the directions in the score.

The default puppet state is false. This means that initially, all sprites act under the control of the score. When you issue a

  puppetSprite channelNum, true
command, the specified sprite's behaviour is detached from the score and you can manipulate it via lingo. Conversely, a
  puppetSprite channelNum, false
command releases the sprite from script control and returns it to the score.

So, whenever you want to control sprites via lingo, you need to make them puppets, and this tends to be necessary for anything but the most rudimentary interactivity.