Перейти к содержанию
Аватар пользователя
#3701
Марта
Что вообще делать с этой бедой? Неужто придётся очередной регион рисовать для 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

Возможно, что в функцию, вызываемую триггером отдаётся название квеста и его писать не надо ещё раз, но я никогда это не тестил. Пробуйте.



Не уходи безропотно во тьму,
Будь яростней пред ночью всех ночей,
Не дай погаснуть свету своему!

Хоть мудрый знает – не осилишь тьму
Во мгле словами не зажжёшь лучей –
Не уходи безропотно во тьму.


                                                                                       

Статистика

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