XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Создание новых триггеров во время игры (JASS)
Картостроители, держите пару интересных наработок. Первый сценарий Create Trigger - пример создания нового триггера прямо во время игры. Например, решается задача: для произвольного юнита создается новый триггер, который позволяет использовать событие Unit takes damage и определять, когда юниту наносится повреждение и каковы его размеры. В моем сценарии это проделывается для юнита, который создается через 5 секунд после загрузки карты.
Напоминаю, что в редакторе такие вещи можно делать только для юнитов, уже размещенных на карте. К тому же в редакторе нельзя создавать новых триггеров.
Проделать такие вещи можно только на jass. Естественно, для таких спецов как Cacodemon проделать такое очень легко. Собственно говоря, от Cacodemon-а я и узнал, что такие вещи делать можно. Однако сам я таких наработок у других не наблюдал (хотя скорее всего они были). Недавно решил поэкспериментировать и вс получилось :D . Кстати, я снабдил сценарий некоторыми коментариями - может кому-то легче будет разобраться.
Второй сценарий - создан по тому же принципу, что и первый. Это реализация заклинания Magic Shield - щит, который поглощает n-ное количество повреждений, после чего пропадает. Достаточно стильное заклинание. Причем реализовано в общем случае - в игре может быть сколько угодно юнитов, применяющих такую защиту. Пришлось немного повозиться, но получилось хорошо.
Кроме того, я задействовал еще одну интересную технологию - использовал КЕШ для хранения значений типа integer и real. В результате уменьшил число глобальных переменных и массивов на 2 единицы :D.
Я потому и удивляюсь - почему так мало подобных наработок. Они позволяют делать достаточно интересные вещи. Magic Shield - только один пример, который первым пришел в голову.
Итак, вот первый сценарий:
Старый 26.06.2004, 20:26
Sergey
Старейший
offline
Опыт: 44,363
Активность:
А вот вторая:
Старый 26.06.2004, 20:29
THeBloodiest

offline
Опыт: 20,881
Активность:
круто...
у меня вертится одна идея: так как можно текстовой триггер можно сделать отображаемым как нормальный, то теоретически можно сделать обычный триггер create local var
Старый 27.06.2004, 19:26
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Bloodiest, ты имеешь ввиду сделать то же самое без перевода всего триггера в Jass через custom string?
Старый 27.06.2004, 20:22
tysch_tysch
Работаем
offline
Опыт: отключен
нет сергей помнишь статью димонт-а про добавление новых тригеров, так вот Блуд хочет просто новый тригер добавить с действиями, которые выполняет твой... тоесть, чтобы для работы с твоим примером требовалось вызвать одно действие
Я правильно понял?=)
Старый 27.06.2004, 20:39
THeBloodiest

offline
Опыт: 20,881
Активность:
да
Старый 28.06.2004, 09:48
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Гм, распишите подробнее плс :). Т.е. создать отдельную команду, которая копирует действия с такого-то триггера?
Старый 28.06.2004, 21:48
tysch_tysch
Работаем
offline
Опыт: отключен
действие, которое создаёт тригер во время игры...
Старый 28.06.2004, 22:12
zibada

offline
Опыт: отключен
саму-то функцию CreateTrigger в интерфейс подцепить несложно...
но как вы собираетесь к этому триггеру действия добавлять? (TriggerAddAction, ее в интерфейс не запихнуть)

DimonT добавил.
или я чего-то не догнал, но при чем тогда тут моя статья? :confused:
Старый 28.06.2004, 22:50
Specter

offline
Опыт: 808
Активность:
Это все уже давно в UMSWE есть... Посмотрите сначала внимательно.
Старый 29.06.2004, 01:25
Bahamut GF
Рожденный по неволе
offline
Опыт: 1,574
Активность:
Извините за Флуд, но мне так никто в моей теме на вопрос и не ответил - как запустить это проклятый UMSWE Я его япускаю, а запускается обычный редактор Вара без изменний Что сделать-то надо??
Старый 29.06.2004, 07:58
tysch_tysch
Работаем
offline
Опыт: отключен
Specter скажи точное название, а то я найти чото не могу
Старый 30.06.2004, 03:22
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 22:25.