Есть переменная моего героя. Работаем только с переменной. Герой наносит урон боевой единице (владелец боевой единицы только "нейтрально-враждебные" и "игрок-синий"). Опыт герой получает если только он сам наносит урон. Опыт получает (нанесенный урон / 2).
На карте много кто дерется, но герой должен получать опыт только за свои удары.
Когда я поставил дружественного героя, он тоже приносил мне опыт. и союзные воины приносили. Мне ведь нужно разобрать механику, что-бы я смог сам крутить эти функции как захочу...
тьфу. Obelick, согласен. с wait шутить нельзя. одни баги будут. сейчас попробую вставить систему в карту. Obelick, как это работает??? Можешь мне пояснить каждое действие?
Кажется понял.
делаем реальную переменную a
событие: боевая единица атакована
условие: атакуемый юнит типа герой
действия: 1. a = (здоровье атакуемого юнита) 2. ждем 1.5 сек. 3. если а меньше (а - 10), то дать герою 10 опыта, иначе ничего
Поясняю: мы атакуем юнита. ждем 1.5 сек, за это время удар будет очевидным и атакуемый получает урон, то есть HP падает. почему а - 10, потому что мои герои не имеют урон меньше 10. А если у моба большая защита, то и опыт не за что давать. Ждем когда герой реально ударит, проверям забралось ли у моба хп, и даем герою опыта,
Melissa, знаю. Я делаю карту типа РПГ. Главный герой с самого начала карты записан в переменную боевой единицы. То есть все функции триггеров работают с переменной главного героя, а значит с самим героем. nvc123, а я вот думал почему герой не успел ударить, а опыт уже дали.
Блин, нету там условия - боевая единица получает урон... Есть только боевая единица атакована...
prog, это я затупил. Но написать внешнюю программу, которая будет работать с синтаксисом jass. Я не знаю примет ли варик эту прогу. Да и проблем много)
Варик на каком языке написан? C, C+, C++, C#?
Я бы тоже не сказал, что это проще. Нормальный язык программирования это jass? Или какой? Я jass не хочу учить так, как это не мировой язык. Я собственно учу язык java/
ясно... и невозможно сделать функцию в триггере, которая сама будет проверять "skip remaining actions". Надо самому ставить ифы. Больше вариантов нет более легких?
Графика. Первое впечатление от карты - это обзор дизайна. Сюжет, баланс, система развития - это узнается по ходу игры. Автор, не жалей времени на проработку интересного ландшафта, не жалей декораций. Интересней играть на живописной местности. Я тут недавно делал карту, так вот посмотри какой должен быть минимальный дизайн карты:
То есть выполнение действия "skip remaining actions" останавливает только действие wait. Или останавливает только то действие, которое стоит сразу после "skip remaining actions", а все остальные идут на очередь?
Немного меня сбили с толку)
Я в принципе так и сделал. Событие: юнит получает атакован Условие: атакующий юнит равно ГлавныйГерой Действия: дать (уровеньГероя*2) опыта ГлавномуГерою
Наверное это самое лучшее, что можно сделать.
Может еще можно как-то автоматически добавлять опыт? От квестов можно же)
За убийство боссов дать дополнительный опыт. Где еще?
Я бы на вашем месте использовал "Custom Script", то есть вставил локальные переменные на языке jass. Вышло бы приблизительно так:
Вот рабочий триггер. Никаких глобальных переменных. Работает со множествами игроков и юнитов. Не тормозит карту.
В условиях: (Ability being cast) равно "Здесь поставь способность которая применяется на юнита"
Описываю действия:
Создаем локальную переменную юнита
Даем юниту на которого применяется способность "Невидимость", способность "Змеиная ловкость"
В локальную переменную юнита вписываем юнита на которого применена способность
Ждем тридцать секунд, то есть столько времени, сколько у юнита будет доп. способность "Змеиная ловкость"
По истечении времени забираем у юнита доп. способность "Змеиная ловкость"
В пятой строке 'AEev' - это код способности "Змеиная ловкость"
Если что-то не понятно - обращайся. Напоминаю - триггер полностью играбельный! К комментарию добавляю карту с рабочим триггером:
» WarCraft 3 / Математика в триггерах
На карте много кто дерется, но герой должен получать опыт только за свои удары.
» WarCraft 3 / Математика в триггерах
» WarCraft 3 / Математика в триггерах
Obelick, как это работает??? Можешь мне пояснить каждое действие?
» WarCraft 3 / Математика в триггерах
» WarCraft 3 / Математика в триггерах
делаем реальную переменную a
событие: боевая единица атакована
условие: атакуемый юнит типа герой
действия:
1. a = (здоровье атакуемого юнита)
2. ждем 1.5 сек.
3. если а меньше (а - 10), то дать герою 10 опыта, иначе ничего
» WarCraft 3 / Математика в триггерах
Ред. Dragonear
» WarCraft 3 / Математика в триггерах
nvc123, а я вот думал почему герой не успел ударить, а опыт уже дали.
Блин, нету там условия - боевая единица получает урон... Есть только боевая единица атакована...
» WarCraft 3 / Иконки умений с улучшениями
» WarCraft 3 / Лабиринт минотавра [0.9.2]
» WarCraft 3 / Мгновенное отключение триггера
Я вообще плохо в этом разбираюсь)
Так что не могу говорить на техническом уровне)
» WarCraft 3 / Мгновенное отключение триггера
Варик на каком языке написан? C, C+, C++, C#?
» WarCraft 3 / Мгновенное отключение триггера
» Оборона Рощи/Defense of the Grove / Defense of the Grove V1.2
» WarCraft 3 / Мгновенное отключение триггера
» WarCraft 3 / Математика в триггерах
» WarCraft 3 / Тюлень
Ред. Dragonear
» WarCraft 3 / Лабиринт минотавра [0.9.2]
» WarCraft 3 / Мгновенное отключение триггера
Немного меня сбили с толку)
» WarCraft 3 / Математика в триггерах
Событие: юнит получает атакован
Условие: атакующий юнит равно ГлавныйГерой
Действия: дать (уровеньГероя*2) опыта ГлавномуГерою
Может еще можно как-то автоматически добавлять опыт? От квестов можно же)
За убийство боссов дать дополнительный опыт. Где еще?
» WarCraft 3 / Иконки умений с улучшениями
» WarCraft 3 / дать способность на некоторое время
Ред. Dragonear
» WarCraft 3 / дать способность на некоторое время
В условиях: (Ability being cast) равно "Здесь поставь способность которая применяется на юнита"
Описываю действия:
Если что-то не понятно - обращайся.
Напоминаю - триггер полностью играбельный!
К комментарию добавляю карту с рабочим триггером: