Предположим, можно сделать маску, которая будет закрывать экран при переходе. Переход осуществлять, когда маска полностью появилась.
Прикрепил пример. При нажатии кнопки в переменную помещается уровень, на который необходимо перейти. Если переменная не пуста, начинает появляться маска. Когда она полностью появляется, происходит переход на уровень из переменной. Маска исчезает, если переменная пуста.
Есть стандартный пример "Detect input method", в котором персонаж управляется либо стрелками на экране, либо клавиатурой.
Вот пример для движения в любом направлении
Если пользователь касается левой части экрана, появляется джойстик. Он исчезает, когда исчезает касание. Пока держим джойстик персонаж движется в соотв. направлении и с соотв. скоростью. "Проект" прикрепил
Gui. Для real, чтобы возвести в степень или вычислить корень, можно использовать "Математика - Power". (Квадратный корень - "Математика - Square Root").
Для JASS нашел вот что:
Такие абилы для предметов есть: Предмет: повышение силы атаки (+1) (Altg), Предмет: вампиризм (Alva). Создаешь на их основе новые, редактируешь как тебе нужно и добавляешь в свой предмет.
добавлю, что такие способности есть у предметов "Боевые когти" и "Маска смерти". Поле в РО, соответственно, называется "Способности".
Нужно использовать "Игрок - Player Name" внутри выводимой строки (Строка составляется из нескольких частей при помощи Concatenate Strings). Если нужно вставить имя боевой единицы, используй "Боевая единица - Unit Name" и т.д.
В этой статье много рекомендаций, есть и про туман.
Еще одна статья по созданию ландшафта. Наработка с туманом.
И еще много примеров тут (Выбирать по теме). Одна из дуэлей
Valery5, невидимый временный юнит, со способностью "москиты" (Чтобы нельзя было выбрать).
Могу предложить примерно такие триггеры (не уверен, что не будет утечек или ошибок, но иллюзии создаются)
Чтобы все смотрелось нормально, лучше поставить у способности "Иллюзия" "Данные - Задержка анимации" на 0. У способности жезла ("Предмет; иллюзии") поставить дистанцию на 9999. Временному юниту (У меня на скрине - "Вертолет") надо дать способность "Рюкзак", позволяющую применять предметы. Остается проблема - при повторном использовании "иллюзии" остаются все дополнительные двойники
Поставить можно любое число. Для этого при открытии окошка редактирования поля надо зажать shift (работает и с другими полями). Но способность не работает с большим числом - начинаются странности. Могу только предложить триггерно модифицировать способность (например, создавать дамми и использовать им на герое "Жезл иллюзий")
molot39, надеюсь :) если максимумов может быть несколько, то проще всего сделать двумя циклами. 1 - находим максимум, 2 - выписываем все элементы с макс значением.
P.S. Протестил триггер по поиску героя с макс уровнем в массиве (последний, что я сбросил) - вроде работает
molot39, что-то не совсем догоняю что именно требуется. Если что, вот некоторые идеи. Может помогут.
Вычисление максимума в массиве (max - максимальное значение, max_i - его номер):
Перебор всех пар игроков (С повторениями):
Перебор всех пар игроков (Без повторения):
NEW
Вроде индексация в массивах с 0, а номера игроков с 1. Из-за этого в твоем примере может быть ошибка
Если нужно, чтобы все старые здания (любые боевые единицы) при улучшении заменялись другими, можно сделать на основе улучшения "Берсерк". У исследования задаются два эффекта "Изменение типа доступности". В первом указывается "Недоступно" и старый тип юнитов, во втором - "Дорступно" и новый тип.
Второй шаг - создать способность на основе стандартной "Безумие" (Той, которая без иконки), указать в "Данные - Новый тип войск" новое здание. В требованиях указать соответствующее улучшение. Способность дать старому зданию. После улучшения старый тип построек станет недоступен. Все старые юниты заменятся новыми. Должно работать.
И еще. Думаю рабочему, который строит соотв. здания, нужно указать и старый и новый вариант. Причем новый нужно заблокировать изначально (Сценарий - Свойства игрока - Технологии. Или триггерно).
Все это можно реализовать триггерно. Как-то так:
Если нужно заменить отдельную боевую единицу, можно просто немного изменить этот триггер: убрать блокирование технологий, изменить рассматриваемый отряд
P.S. На втором скриншоте в условии триггера можно указать вообще любое исследование, с любыми эффектами
Master113, добавить через "Новое условие" оператор "или" (Там два разных варианта, удобнее "or, multiple conditions" ("или, несколько условий" - как-то так)), туда поместить сравнения для каждого юнита. (Условие "или" будет выполняться, если выполнится хотя бы 1 условие внутри. Для оператора "и" - должны выполняться все условия внутри. Стандартный раздел триггера "Условия" действует как "и").
Master113, если все спасаемые юниты одного типа, то, наверное, проще не группой, а проверкой на тип боевой единицы. Можно и такой же проверкой как сейчас, но нужно добавить остальных спасаемых юнитов в условие через ИЛИ (Or)
Maxim105, насчет положения кнопок. Думаю, если задать у всех способностей "Графика - Положение кнопки: ... (X), (Y)", они не должны перемешиваться (Вот тут про координаты есть). Хотя, возможно, проблема в чем-то другом.
Насчет иконок на мини карте. Отрыл в кампании Рексара, что для нейтральных зданий можно указать и включить специальную иконку
» WarCraft 3 / Способности и алгоритмы на заказ
» Construct 2 / Как сделать затемнение сцены?
Прикрепил пример. При нажатии кнопки в переменную помещается уровень, на который необходимо перейти. Если переменная не пуста, начинает появляться маска. Когда она полностью появляется, происходит переход на уровень из переменной. Маска исчезает, если переменная пуста.
Ред. rlOmega
» Construct 2 / Как сделать джойстик для планшетов?
Вот пример для движения в любом направлении
Ред. rlOmega
» Construct 2 / Помогите с глобальными переменными
Ред. rlOmega
» WarCraft 3 / Функция вычисление корня и степени
Для JASS нашел вот что:
Ред. rlOmega
» WarCraft 3 / Вторжение Орды 1.1
Ред. rlOmega
» WarCraft 3 / Иконки на заказ
Ред. rlOmega
» WarCraft 3 / Создание предметов.
Ред. rlOmega
» WarCraft 3 / Имена игроков в строке сообщений
» WarCraft 3 / Атмосфера
Еще одна статья по созданию ландшафта.
Наработка с туманом.
И еще много примеров тут (Выбирать по теме). Одна из дуэлей
Ред. rlOmega
» WarCraft 3 / как сделать отлов строки?
Ред. Кет
» WarCraft 3 / Как сделать предмет по нику?
Ред. rlOmega
» WarCraft 3 / Триггер
Ред. rlOmega
» WarCraft 3 / Ограничение на количество иллюзий
Могу предложить примерно такие триггеры (не уверен, что не будет утечек или ошибок, но иллюзии создаются)
Ред. rlOmega
» WarCraft 3 / Ограничение на количество иллюзий
Ред. rlOmega
» WarCraft 3 / [GUI] Помощь в перерасчете
P.S. Протестил триггер по поиску героя с макс уровнем в массиве (последний, что я сбросил) - вроде работает
» WarCraft 3 / [GUI] Помощь в перерасчете
Ред. rlOmega
» WarCraft 3 / [GUI] Помощь в перерасчете
Упс, во втором условие Level of Heroes[Integer A] = max
» WarCraft 3 / [GUI] Помощь в перерасчете
Ред. rlOmega
» WarCraft 3 / [GUI] Помощь в перерасчете
Вычисление максимума в массиве (max - максимальное значение, max_i - его номер):
Вроде индексация в массивах с 0, а номера игроков с 1. Из-за этого в твоем примере может быть ошибка
Ред. rlOmega
» WarCraft 3 / Замена
И еще. Думаю рабочему, который строит соотв. здания, нужно указать и старый и новый вариант. Причем новый нужно заблокировать изначально (Сценарий - Свойства игрока - Технологии. Или триггерно).
P.S. На втором скриншоте в условии триггера можно указать вообще любое исследование, с любыми эффектами
Ред. rlOmega
» WarCraft 3 / Проблема с поворотом башни
Ред. rlOmega
» WarCraft 3 / Как сделать задание.
Ред. rlOmega
» WarCraft 3 / Как сделать задание.
Ред. rlOmega
» WarCraft 3 / Как записать квесты и ресурсы в кампании
Насчет иконок на мини карте. Отрыл в кампании Рексара, что для нейтральных зданий можно указать и включить специальную иконку