CRASHhorde
offline
Опыт:
153Активность: |
Триггер "Region - move" не работает?
Здравствуйте. Я пытаюсь сделать одну способность на ГУИ. Вроде бы всё что нужно сделал, но триггер не работает. Мне кажется он "сломан". Если конкретнее: я хочу сделать способность, при использовании которой всем юнитам в области применения давалась именно способность (не аура, хотя в примере я её поставил) на 5 секунд. Я использую для этого область, и всем кто в ней даётся спелл, но есть проблема с перемещением области. Триггер "Region - move" не работает. Прикладываю карту пример, кому не сложно посмотрите пожалуйста, и помогите разобраться, и если есть - предложите любые альтернативы. Заранее спасибо! |
18.07.2013, 18:11 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
HolyMoon
Hly shit!
offline
Опыт:
6,986Активность: |
регион мув перемещает центр области, но никак не саму область. альтернатива - пик юнитов в радиусе |
18.07.2013, 18:26 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZLOY5
offline
Опыт:
912Активность: |
на джассе есть функция для перемещения области можно кастом скрипт заюзать |
18.07.2013, 21:26 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
CRASHhorde
offline
Опыт:
153Активность: |
|
18.07.2013, 21:59 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
c недавнего времени становятся все более актуальными вопросы о "забытых" нативках
Sargaraser добавил:
и кстати для этого необязательно использовать область, для таких целей есть следующие функции
|
18.07.2013, 22:17 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
CRASHhorde
offline
Опыт:
153Активность: |
Sargaraser, Если честно не совсем понял с ректами, помойму это не то? Я просто в Джазе профан, надеялся разберусь, но мне нужен хотя бы пример рабочий. Использовать область для меня обязательно, я видимо не корректно сформулировал вопрос. Мне нужно, чтобы после использования способности, создавалась, либо перемещалась область, причём через 5 сек после использования область перемещается на скрытое место на карте либо удаляется. Мне нужно добавлять или удалять способность у юнитов, в зависимости от того, находятся они в области или нет. |
18.07.2013, 23:47 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Buulichkaa
Делаю спеллы за еду
offline
Опыт:
20,171Активность: |
CRASHhorde, учи джасс тогда, лезть в гуи и морозится там мне не хочется
Sargaraser добавил: интересно как ты сделаешь свои скилл муи на гуи да еще и с динамичными триггерами |
19.07.2013, 00:08 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MpW
offline
Опыт:
50,219Активность: |
CRASHhorde, что-то я не очень то и понял что тебе нужно. Не понятно зачем использовать область, если можно использовать пик (выбор) юнитов в группу в радиусе относительно кастера.
|
19.07.2013, 04:40 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Clamp
Lost in space
offline
Опыт:
71,158Активность: |
Можно, курите стуруктуру построения этих ректов. Clamp добавил: Подсказка: RegionAddRect() |
19.07.2013, 09:44 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
CRASHhorde
offline
Опыт:
153Активность: |
Steal_nerves, Мне нужно, чтобы способность ещё и удалялась, если юнит выходит из области. Вообщем мне не подходит пик юнитов. Ну попробую поковыраться как нибудь с нативами. Всем спасибо. Если у кого будут ещё предложения, буду благодарен. |
19.07.2013, 12:59 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MpW
offline
Опыт:
50,219Активность: |
CRASHhorde, Я понял что ты хочешь сделать. так событие то и не сработает. Clamp дело говорит. Там есть области (rect) и регионы (region). Если посмотреть как работает событие триггера
Код:
То есть суть заключается в том что регион создается триггером и в него добавляется область. А триггер потом ловит не те кто вошел в область, а те кто в регион вошел. Проще говоря тебе надо двигать регион, а не область. А для этого потребуется ссылка (глобальная переменная типа регион) на него, чтобы потом двигать По поводу оптимизации: Вот есть у тебя два триггера с двумя разными событиями (юнит входит, и юнит выходит), в принципе эти два триггера в событии дважды создают одн и тот же регион CreateRegion() в твоей карте для каждого события (юнит вошел и вышел, можно было все на один регион сделать, повесить на него затем два события (зачем два региона? одного хватит). Steal nerves добавил: я не знаю как двигать регион и принципы всех работы (надо бы поизучать), но думаю что при смешении области, регион можно очистить от области и добавить эту область заново. очистка Код:
добавляем заново передвинувший регион Код:
меня вот интересует один момент! регион расширяется если в него добавлять новые области, или при добавлении он удаляет старую и добавляет новую область? сам не пробовал пока Steal nerves добавил: вот пример, хоть наполовину неполный =(( как бы влом делать |
19.07.2013, 17:48 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
проще пересоздать событие с нуля чем парится с вычищением и редактированием... |
19.07.2013, 18:27 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MpW
offline
Опыт:
50,219Активность: |
DioD, Ну я ему скинул пример с событиями. При инициализации создаю регион и навешивают на этот регион два события. Ну так ему нужно (так хотя он хочет) чтобы при касте абилки этот регион на время сместился к кастеру (и потом обратно к области), тут не как не получится без очистки и добавлении в регион области (хотя смещение региона ему пока не делал)
|
19.07.2013, 18:36 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
CRASHhorde
offline
Опыт:
153Активность: |
Вот, сейчас я сделал таким способом, но это очень кривовато. События начинают действовать только когда выйдешь из зоны после каста. А ещё не разобрался с заданием размера региона. Вообщем посмотрите сами, и подскажите пожалуйста, что и где поправить. И ещё не сделал обнуление. Кстате Steal_nerves, мне не обязательно именно перемещать готовый регион, можно создать новый и потом удалить, я уже это писал выше. |
19.07.2013, 23:33 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MpW
offline
Опыт:
50,219Активность: |
CRASHhorde, мне кажется что если ранее юнит уже стоял на месте в созданном только что области-регионе, ему не дадут способность, что он типа он же стоит на ней, а не вошел, так как ему надо войти. И тут наблюдается кривость, да) Тогда пикай всех кто стоит в ней в группу и добавляй им абилку, по другому я не вижу. Тут еще главное надо думать чтобы юниту дважды не дали абилку
Steal nerves добавил: Код:
|
20.07.2013, 09:05 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
CRASHhorde
offline
Опыт:
153Активность: |
Steal_nerves, я ещё попробовал сделать так: При использовании способности создал боевую единицу и занёс её в переменную, далее сделал триггер: Custom script: call TriggerRegisterUnitInRange(gg_trg_Enter, udg_Unit, 300, null) При этом у меня сразу даётся способность ближайшим юнитам, и не нужно ни куда отходить и приходить, но вот как сделать чтобы способность удалялась у тех, кто отойдёт от боевой единицы дальше чем на 300 ярдов? |
20.07.2013, 17:37 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|