Перейти к содержанию
#1172
Проблема со скриптом. Скрипт карты (весь):
SetRegionBlocked("Block1", true, 2);
SetRegionBlocked("Block2", true, 2);
SetObjectiveVisible("killall", nil);

function am()
while 1 do
local count = 0
for i=36,43 do
count = count + (HasArtefact("Muscip", i) or 0)
end;
if count < 8 then
SetObjectiveState("obj", OBJECTIVE_ACTIVE);
end;
sleep(5);
end;
end;

function killallactive()
SetObjectiveVisible("killall", true);
startThread (am);
end;

function winF()
Win();
end;

function obj()
local old = 0
while 1 do
local count = 0
for i=36,43 do
count = count + (HasArtefact("Muscip", i) or 0)
end
if count == 8 then
print("Player 1 has all artifacts")
SetObjectiveState("obj", OBJECTIVE_COMPLETED)
QuestionBox(GetMapDataPath().."complete-game.txt", "killallactive", "winF");
break
end
if count ~= old then
print("Player 1 has "..count.."/8 artifacts")
SetObjectiveProgress("obj", count)
old = count
end
sleep(5)
end
end

startThread (obj);

Для теста я снял с героя один из артефактов и передал его другому герою. Задача сбросилась в 0, а консоль высветил ошибку:

(Script) ERROR: Objective "obj" is active, so can only complete or fail it

Что это значит?

Статистика

Приветствуем новейшего участника: Emil

Сейчас на сайте 5 пользователей 1109 гостей