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 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
А вот вторая: |
26.06.2004, 20:29 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
THeBloodiest
offline
Опыт:
20,881Активность: |
круто... у меня вертится одна идея: так как можно текстовой триггер можно сделать отображаемым как нормальный, то теоретически можно сделать обычный триггер create local var |
27.06.2004, 19:26 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
Bloodiest, ты имеешь ввиду сделать то же самое без перевода всего триггера в Jass через custom string? |
27.06.2004, 20:22 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tysch_tysch
Работаем
online
Опыт: отключен
|
нет сергей помнишь статью димонт-а про добавление новых тригеров, так вот Блуд хочет просто новый тригер добавить с действиями, которые выполняет твой... тоесть, чтобы для работы с твоим примером требовалось вызвать одно действие Я правильно понял?=) |
27.06.2004, 20:39 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
THeBloodiest
offline
Опыт:
20,881Активность: |
да |
28.06.2004, 09:48 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Sergey
Старейший
offline
Опыт:
44,363Активность: |
Гм, распишите подробнее плс :). Т.е. создать отдельную команду, которая копирует действия с такого-то триггера? |
28.06.2004, 21:48 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tysch_tysch
Работаем
online
Опыт: отключен
|
действие, которое создаёт тригер во время игры... |
28.06.2004, 22:12 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
саму-то функцию CreateTrigger в интерфейс подцепить несложно...
но как вы собираетесь к этому триггеру действия добавлять? (TriggerAddAction, ее в интерфейс не запихнуть) DimonT добавил. или я чего-то не догнал, но при чем тогда тут моя статья? :confused: |
28.06.2004, 22:50 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Specter
offline
Опыт:
808Активность: |
Это все уже давно в UMSWE есть... Посмотрите сначала внимательно. |
29.06.2004, 01:25 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Bahamut GF
Рожденный по неволе
offline
Опыт:
1,574Активность: |
Извините за Флуд, но мне так никто в моей теме на вопрос и не ответил - как запустить это проклятый UMSWE Я его япускаю, а запускается обычный редактор Вара без изменний Что сделать-то надо?? |
29.06.2004, 07:58 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
tysch_tysch
Работаем
online
Опыт: отключен
|
Specter скажи точное название, а то я найти чото не могу |
30.06.2004, 03:22 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|