HeroistЯ думаю, тут ничего сложного. Значит, так. Получение задания у Вас висит на функции, так?
Тогда:
n = 0 (пишем это вне всех ф-ий)
--Ваша функция--
....
Получение задания (требуемого)
n = 1 -- теперь мы сделали n равным одному
--конец функции--
Теперь, через триггер нового дня (Trigger(NEW_DAY_TRIGGER , 'day')) (пример), вызываем выполнение ф-ии.
--функция нового дня--
если n > 0, тогда
n = n + 1 -- если n > 0, что в нашем случае означает, что задание уже стало активным, мы увеличиваем n на 1.
--конец функции нового дня--
Таким образом, мы каждый день прибавляем + 1 к n, начиная со следующего после получения задания дня.
Теперь, осталось лишь дописать проверочную ф-ию (её можно дописать прямо внутри ф-ии нового дня)
--функция нового дня--
--то, что написано выше--
если n == 11 и задание уже выполнено, тогда
Ваши действия
Иначе, если n == 11, тогда (это уже означает, что по истечение этого срока задание не выполнено)
Ваши прочие действия
"Для красивости, если не нужно, чтобы счетчик крутился дальше, делаем n = 0"
--конец ф-ии нового дня--
Если "Ваши действия" уже записаны в другой ф-ии, не беда. Вместо это пишем startThread (название_функции_с_действиями). Вот, вроде, и все.
Теперь, немного справочного материала:
Trigger(NEW_DAY_TRIGGER , 'day') -- триггер нового дня
SetObjectiveState ('objname' , OBJECTIVE_ACTIVE) -- активировать задание, вместо первого параметра - имя Вашего задания
SetObjectiveState ('objname' , OBJECTIVE_COMPLETED/FAILED) -- выполнить задание, или провалить его.
n = 0 -- и тп (переменная)
Trigger(TRIGGER_NAME, nil) -- обнуление триггера.
Таким образом, вот полный скрипт: (вместо красного Вы подставляете Ваши значения):
n = 0
function xxx
...
SetObjectiveState ('obj1' , OBJECTIVE_ACTIVE)
n = 1
end
Trigger(NEW_DAY_TRIGGER , 'day')
function day
if n > 0 then
n = n + 1
end
if n == 11 and GetObjectiveState ('obj1') == OBJECTIVE_COMPLETED then
...
elseif n == 11 then
...
end
end
Вроде, больше ничего сложного я не написал. ;)
Спасибо вам огромное :) Внятно и доходчиво объяснили. Буду теперь знать :)