Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#2720
Старый 05.06.2018, 08:05
  #2720
^
OrnsteinDragonslayer
 
Аватар для OrnsteinDragonslayer
📖
Регистрация: 10.01.2016
Сообщения: 172
Регистрация: 10.01.2016
Сообщения: 172
По умолчанию
Re: Скрипты

	function Turma ()
         while (1) do
         if b == 0 and w == 0 then
            MessageBox("/Maps/SingleMissions/rework (4)/turmaLOCK.txt");
         end
         if b == 1 and w == 1 and var == 1 then
            MessageBox("/Maps/SingleMissions/rework (4)/turmaUNLOCK.txt");
            SetObjectiveState("suppDruid", OBJECTIVE_COMPLETE);
            RemoveObject("druid");
            RemoveObject("elf1");
            RemoveObject("elf2");
            RemoveObject("elf3");
            RemoveObject("elf4");
            RemoveObject("elf5");
            RemoveObject("elf6");
            RemoveObject("elf7");
            RemoveObject("elf8");
            MessageBox("/Maps/SingleMissions/rework (4)/unicorn.txt");
            OpenCircleFog(198, 64, 0, 2, PLAYER_1)
            MoveCamera(198, 64, 0, 30, 1.3, 1, 1, 1, 1);
            sleep(5)
            PlayObjectAnimation("unicorn", "happy", ONESHOT_STILL);
            sleep(15)
            RemoveObject("unicorn");
         end
         if b == 1 and w == 1 and a == 1 then
            MessageBox("/Maps/SingleMissions/rework (4)/turmaDEAD.txt")
         end
Trigger(OBJECT_TOUCH_TRIGGER, "turma");
break
end
end;

Trigger(OBJECT_TOUCH_TRIGGER, "turma", "Turma" );

Вопрос про многоусловонсть. Есть обьект "Turma". Нужно, чтобы при касании всплывало опред. сообщение, зависящее от условий приведённых в скрипте. У меня проблема такова, что при первом касании всё окей (первое условие, когда b and w == 0), а когда b == 1, w == 1, var == 1 выдаёт ошибку. Когда b == 1, w == 1, a == 1 тоже.
Вот ошибка

Условия, которые выставляют коэфф:
	function QochComplete ()
         while (1) do
             sleep(2);
             if (Exists('white') == nil) then
                SetObjectiveState("Qo-ch", OBJECTIVE_COMPLETED);
             w = 1
             break
             end
         end
end

startThread(QochComplete)


function QobComplete ()
         while (1) do
               sleep (2)
               if (Exists('black') == nil) then
                  SetObjectiveState("Qo-b", OBJECTIVE_COMPLETED);
               b = 1
               break
               end
         end
end

startThread(QobComplete)
         
OrnsteinDragonslayer вне форума
Ответить с цитированием