МартаЧто вообще делать с этой бедой? Неужто придётся очередной регион рисовать для REGION_ENTER_AND_STOP_TRIGGER и как-то загонять туда ГГ?
Триггер, возможно, прописан у вас был неверно.
Существует такая штука, как потоки. Это условно говоря функция, которая выполняется периодически.
Однако, если в ней не поставить задержку(т.е sleep), игра умрёт.
Пример:
-- вопче нужно передавать в эту функцию все параметры, и всё стараться сделать максимально параметризованным,
-- но мы с вами не в космос запускаем, так что ограничимся дедовскими методами
function checkState()
while(1) do
if(GetObjectiveProgress("Quest_Zubec",player) == 3) then
-- Делаем дела
break -- если не ставим брейк будет больно.
end
sleep(5) -- Можно и больше ждать, всё зависит от потребностей
end
startThread("checkState")
Этот метод подойдёт для чека артефактов, или ещё чего-то нетривиального. В случае вашем, триггера будет достаточно(по идее):
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec_Handler","Quest_Zubec")
function Quest_Zubec_Handler(player)
if(player == 1 and GetObjectiveProgress("Quest_Zubec",1) == 3) then
-- Делаем дела
end
end
Возможно, что в функцию, вызываемую триггером отдаётся название квеста и его писать не надо ещё раз, но я никогда это не тестил. Пробуйте.