Что насчёт твоего скрипта, то в нём обнова задачи как раз при 8 артефактах.
Добавлено через 5 минут
function am()
local old = 8
while 1 do
local count = 0
for i=36,43 do
count = count + (HasArtefact("Muscip", i) or 0)
end
if count ~= old then
if old < 8 then
SetObjectiveState("obj", OBJECTIVE_ACTIVE);
end
if count == 8 then
SetObjectiveState("obj", OBJECTIVE_COMPLETED);
else
SetObjectiveProgress('obj', count);
end;
old = count
end;
sleep(5);
end;
end;