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

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

Закрытая тема
 
Demonman

offline
Опыт: 2,415
Активность:
Picked unit & Matching unit
Всем привет. меня интересует вопрос, зачем эти 2 функции? для чего они? Я так понял, что все эти функции зависят от условия и события, например матчинг юнит будет действовать, если указать условие, а пикед юнит - это любой выбранный юнит.
Вот вопрос, у меня есть 2 триггера, в 1 триггере я создаю 1 юнита, а в 2 триггере, я делаю условие, например каждые 0.2 секунды если мана юнита, которого я создал в 1 триггере (триггерно) меньше 10, происходит действие, вычесть 150 абилити. Так как же обозначит в 2 триггере юнита, которого я создал в 1 триггере?
Старый 18.12.2011, 15:41
Obelick

offline
Опыт: 26,071
Активность:
Last createt unit
Старый 18.12.2011, 15:44
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Picked unit
Это когда через отряд выбираешь юнитов то этот юнит становится "Picked unit" ( обязателен в создании способностей которые наносят урон по области)
так же скачай русские триггеры если плохо разбираешься в английском
Старый 18.12.2011, 15:44
Demonman

offline
Опыт: 2,415
Активность:
Vadik29, т.е. 1 пехотинец уже считается за отряд?
ведь если создать триггер
юнит входит в область
то пикед юнит умерает
триггер будет работать
но если событие временное поставить, а в действие влепить пикед юнит,то триггер не будет работотать.ю
Старый 18.12.2011, 15:55
Arti

offline
Опыт: 11,196
Активность:
Pick every unit in область Matching (matching unit) is здание = нет
Kill( Picked unit)
Убьёт всё кроме зданий...
Хотя мне удобние так, потому что если много условий, не удобно редактировать и добавлять новые...:
Pick every unit in area
if
picked unit is здание = нет
then
Kill( Picked unit)
Старый 18.12.2011, 16:07
Demonman

offline
Опыт: 2,415
Активность:
Arti, это у тебя все в действии, или у тебя так написано
событие
если условие
затем действие?
Старый 18.12.2011, 16:09
Arti

offline
Опыт: 11,196
Активность:
это дейтсвия
Старый 18.12.2011, 16:12
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Demonman, выбираешь юнитов в области или в группе и каждый "выбранный юнит" (в зоне или группе") получит урон, также можно поставить:
Picked unit может быть только противник...(жив\мертв,герой\не герой, и тому подобное) (это в условии)
Если хочешь скину карту пример?
Старый 18.12.2011, 16:14
Demonman

offline
Опыт: 2,415
Активность:
Picked unit может быть только противник...(жив\мертв,герой\не герой, и тому подобное)
чего... мб союзник?
Старый 18.12.2011, 16:19
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,845
Активность:
Demonman, это условие -_-" ( кто угодно противник\союзник, это пример........)
Старый 18.12.2011, 16:20
Demonman

offline
Опыт: 2,415
Активность:
Vadik29, ты же написал "только противник" может быть
Старый 18.12.2011, 16:23
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
регресс...
Picked unit - для Pick every unit in
Matching unit - для условия в Pick every unit ... matching (условие)
Старый 18.12.2011, 16:23
Demonman

offline
Опыт: 2,415
Активность:
Почему тогда если указывать просто юнит входит в область
то пикед юнит умирает
и такое работает
Окей, как тогда сделать триггер:
событие:
каждые 0.5 сек
условие:
если мана юнита меньше 10
действие:
вычесть из статов юнита 150 ловкости
Проблема заключается в том, что я не знаю, как обозначить своего юнита, ведь я его создавал триггерно. Как его выбрать, если его на карте нет, а есть только его создание в триггере?(
Старый 18.12.2011, 16:27
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
FellGuard добавил:
Это не реакции на событие. Эти 2 функции используются для того, чтобы обрабатывать группу.
FellGuard добавил:
Как его выбрать, если его на карте нет, а есть только его создание в триггере?
set MyUnit = Last created unit, потом обращаешься к MyUnit
Курите доп. кампанию Орды, там базис хорошо расписан и она открывается в редакторе просто так, на халяву
Старый 18.12.2011, 16:32
Demonman

offline
Опыт: 2,415
Активность:
FellGuard, хм, получается, что по твоему триггеру создаются отряд, который вошел в эту область и те юниты, которые находятся в этой области погибают.(пикед юниты)
я правильно понял?
вопрос остается открытым:
Почему тогда если указывать просто юнит входит в область
то пикед юнит умирает
и такое работает
Demonman добавил:
FellGuard, нет, я пробовал не получалось, я не понимаю значения этой функции Last created unit, вначале кажется, что все понятно, последний созданный юнит, но если юнит создан не последним, а предпоследним например, что тогда?
и еще, если не указывать событие, то событие будет равносильно событию инициализации карты? тогда зачем функция инициализации карты?
Старый 18.12.2011, 16:33
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
По моему триггеру ничего не создаётся, а убиваются все здания
вопрос остается открытым
Потому что никто не застрахован от использования функций не по назначению.
FellGuard добавил:
Вот чтобы последним, надо сразу после создания юнита пихать в переменную.
Старый 18.12.2011, 16:35
Demonman

offline
Опыт: 2,415
Активность:
FellGuard, ооокей, но! если ты установил эту переменнуюсразу после создания юнита с помощью триггера, а потом создал еще 1 юнита с помощью 2 триггера, то для 2 триггера эта функция уже отпадает? как же тогда выбрать 2 юнита?
Старый 18.12.2011, 16:37
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Сколько юнитов, столько и переменных. Либо используй массивы, либо для каждого юнита свою отдельную глобальную переменную; в любом случае кури статьи по триггерам на сайте и желательно доп. кампанию Орды . Есть ещё локальные переменные, но тебе их использовать ещё рановато.
FellGuard добавил:
Если создаёшь несколько юнитов разом (Create 3 Пехотинец ..., к примеру), то вернёт Last created unit только одного, и все 3 запишутся в Last created group. Их оттуда можно доставать по очереди.
Старый 18.12.2011, 16:41
Demonman

offline
Опыт: 2,415
Активность:
Их оттуда можно доставать по очереди.
как?
Старый 18.12.2011, 16:46
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Или по очереди убирая очередного юнита из группы
цикл:
  set MyUnit = Random unit from (group)
  Remove (MyUnit) from (group)
  // пока MyUnit не равно Нет боевой единицы
или всё тем же
 Pick every unit in (group) and do: 
     set MyUnit = Picked unit
     // действие с очередным в группе
Старый 18.12.2011, 16:51
Закрытая тема

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

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

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

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



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