Предприятия -- это что? В любом случае вижу вот такой выход: каждый объект пронаименовать (к примеру, obj1,obj2,..). Дальше скрипт:
while 1 do
if GetObjectOwner('obj1')==1 and GetObjectOwner('obj2')==1 and... then
SetObjectiveState(имя задания, OBJECTIVE_COMPLETED);
break;
end;
sleep(3);
end;