Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3632
Старый 26.05.2022, 18:59
  #3632
^
Марта
📖
Регистрация: 31.01.2020
Сообщения: 80
Регистрация: 31.01.2020
Сообщения: 80
По умолчанию
Re: Скрипты

Jewily, спасибо, сейчас буду пробовать.


Добавлено через 27 минут
Если речь идёт о том, чтобы написать вот это

function Quest_Zubec_Handler(player)
  if(player == 1 and GetObjectiveProgress("Quest_Zubec",1) == 3) then
MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
sleep(2);
 end
end
Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec_Handler","Quest_Zubec")

И больше ничего нигде не прописывать, то я успела только карту загрузить (квест пока не взят), как игра мне уже пишет:

(Script) Error: Objective with name "Quest_Zubec_Handler" is not exists

Видимо, не имеет смысла бежать проверять? Там драк на полчаса, не меньше, даже с читами.
Пойду пробовать первый вариант, с потоком.

Добавлено через 12 минут
По поводу первого варианта - у меня даже стартовый ролик не зашёл, так как я тот вариант воткнула на самый верх.

Вот скрипт:

function checkState()
  while(1) do
   if(GetObjectiveProgress("Quest_Zubec",player) == 3) then
    MessageBox ("/Maps/SingleMissions/L1/Parol_Zubec1.txt");
    break
   end
   sleep(8) 
  end
  end
  startThread("checkState")

Игра пишет:
(Script) Error: StartTread first parameter must be a function

Похоже, нынче меня прокляли). То карта глюканула, всю ночь соображала как восстановить (я знать не знала, что редактор может как-то сам снести файлы для Map Properties и не позволять восстанавливать, даже в более ранних версиях карты), то теперь вот это вот(.

Добавлено через 9 минут
Стоп-стоп. В варианте без потока, похоже, перепутаны названия функции и квеста.
Но если написать

Trigger(OBJECTIVE_STATE_CHANGE_TRIGGER ,"Quest_Zubec","Quest_Zubec_Handler")

взять квест, и объектом сразу его заюзать на SetObjectiveProgress("Quest_Zubec", 3, 1);
то игра вообще не реагирует, и ничего не пишет.

Марта вне форума
Ответить с цитированием