У персонажа есть ряд действий которые он способен выполнять. Например, рассмотрим бота, вид сверху
У него есть простой набор действий:
1) Поворачиваться на N градусов
2) Пройти N метров
3) Вести огонь
Скрипт - это заранее заданный набор из таких действий. На самом деле, если мы не видим, что он выполняет эти действия, это совсем не значит, что он их не выполняет...
Если даже этот бот просто стоит на месте, то он на самом деле совершает постоянно поворот на 0 градусов, проходит 0 метров, и пытается выстрелить - просто флажок стрелять-прекратить у него выключен
Иными словами, в основном цикле он постоянно выполняет эти действия, и постоянно должны существовать переменные, которые являются параметрами выполняемых действий, и если он просто стоит, то они все равны нулю. А если например тебе надо чтобы он развернулся на 180 градусов, прошел 10 метров и начал стрелять, ты вызываешь процедуру(скрипт), в которой на самом деле не действия описаны, а присваиваются новые параметры этим действиям - 180 углу, 10 расстоянию, и флажок стрельбы включается.
Все конечно сложнее реализовать. Может криво объяснил, конечно...