Всем спасибо за помощь. В итоге получилось, как часики работает. Видео прилагается.
В очередной раз убедился в том, что самое главное, правильно формулировать вопрос на форуме.
Но несмотря ни на что мне реально помогли.
А что мне было нужно ?
Очень прсто, игра Hay Day.
Из списка, в котором полторы сотни продуктов, были предварительно выбраны те, которые надо изготовить
(в примере несколько штук - Хлеб, Сыр ... файл Products.txt).
Их необходимо изготовить последовательно.
У всех принцип изготовления одинаков - подпрограмма make (в примере для проверки просто print), одно отличие - разное время изготовления.
Итого:
Пирамидку из колец пособирал, другие советы тоже учёл.
Как теперь всё работает:
Объявляем в Include переменные $time_Product для всех продуктов ($time_Bread, $time_Cheese, ... и т. д.)
Для каждого продукта берем время его время изготовления $times_work из Products.ini.
Запусквются подпрограмма для следующего продукта с соответсвующим счётчиком.
За время изготовления продукта с самым большим $times_work остальные будут сделаны по несколько раз.
Ещё раз всем спасибо за помощь.
ПС. Потоки для данной задачи не подходят и извините, в посте букв больше чем в сценарии.
#include "Define_Time_Product.cms"
SUB(make)
print ($Product)
END_SUB
SUB(mysub)
IF(GETVAR(STRCONCAT("$time_",$Product)) < $_time_t)
make ()
SETVAR(STRCONCAT("$time_",$Product), $_time_t + $times_work)
END_IF
END_SUB
//=============================================
UNDEFINE($Products)
TFREADARR("Products.txt", $Products)
FOR($i=0, $i < ARRSIZE($Products))
$Product = $Products[$i]
$str = INIREAD("Products.ini", $Product)
STRSEPARATE($str, ";", $Time)
$times_work = $Time[3]
UNDEFINE($Time)
mysub()
WAIT (1)
END_CYC