Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Событие - к юниту подошли
Есть такое событие - Unit Withih Range, но оно не подходит, поскольку там нужно указать конкретного юнита, а у меня юниты создаются в процессе игры (в результате использования спелла). Какие есть способы создания аналогичного события? Или другие способы
В общем, вы меня поняли :) |
05.08.2007, 19:03 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DFlyer
<3 MJ
offline
Опыт:
43,079Активность: |
В одном триггере создаёшь юнита-снаряд и юзаешь "Добавить событие" с юнитом Last Created Unit в другой триггер, где нужно это событие. |
05.08.2007, 20:35 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
т.е. каждому юниту по ходу игры добавляешь событие. |
05.08.2007, 21:30 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nethrez1m
Dat av doe
offline
Опыт:
2,123Активность: |
не лучше ли создать новый, временный триггер, используя jass? |
05.08.2007, 22:23 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DFlyer
<3 MJ
offline
Опыт:
43,079Активность: |
Nethrez1m
Я, практически, это же и сказал. |
05.08.2007, 23:01 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
DFlyer, спс
|
06.08.2007, 11:33 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Ну вот добавил я событие, а можно ли его убрать? В триггерах такого нет |
06.08.2007, 21:50 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Архимонд удалить событие нельзя
вот Nethrez1m правельно сказал, использовать один и тот же тригер для спела неуникально, и может вызывать баги (все зависит от спела), гораздо лучше было бы создавать новый тригер при касте спела, и уже навешать на него действия с события, а когда действие спела прекратитсо удалить тригер. Можеш кстате через SCV навешать триггеру сылки на его действия и условия, и удалить вместе с ним. Отредактировано Jon, 06.08.2007 в 23:19. |
06.08.2007, 21:55 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Цитата:
Каким образом? я имею ввиду конкретный код и объяснение его действия |
|
06.08.2007, 22:10 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Код:
Отредактировано Jon, 06.08.2007 в 22:24. |
06.08.2007, 22:15 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Ммм... получается, я избавился от одного триггера, в котором была одинокая строчка Custom script: call MyFunc( GetTriggerUnit() )
Оптимизация выходит... Какая функция удаляет триггер? |
06.08.2007, 22:19 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Архимонд оптимизаци != Маленький код
call DestroyTrigger(trig) Jon добавил: а хотя то что я сказал это всеже чуть чуть идет в ущерб оптимальности, но это более правелнее и уникальнее, т.е. поможет избежать от множества багов |
06.08.2007, 22:21 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
TNT
О_о
offline
Опыт:
11,019Активность: |
Jon, ты мне тоже очень помог ) |
06.08.2007, 22:22 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Jon
Цитата:
Я имел ввиду то что там был триггер с одной функцией, а из-за этого триггера создавались всякие там InitTrig, и т.д. и т.п. Вроде все работает, спасибо Архимонд добавил: А как удалить триггер? Ведь он создается в локальной переменной и ссылка на него пропадает. Цитата:
Если я в функции YouAction вызову Код:
это сработает? |
||
06.08.2007, 22:39 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
да |
06.08.2007, 22:43 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Цитата:
Зря я это сказал, даже не запустив карту... Ничего не работает :) Вот код: Код:
Боевая еденица создается, но событие не срабатывает Архимонд добавил: Вот текст MyTrigger: Код:
Архимонд добавил: Цитата:
пардон, неправильная формулировка Событие срабатывает, но не происходят действия в MyFunc Архимонд добавил: А действия в MyFunc не происходят, потому что не срабатывает GetTriggerUnit() Архимонд добавил: В функции, которая используется для созданного триггера, нельзя использовать GetTriggerUnit()? |
||
06.08.2007, 23:09 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
выложи функцию MyFunc |
06.08.2007, 23:13 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
Короче, выкладываю весь код...
Триггер MineCreate: Код:
Функции: Код:
Уфф... вроде все Архимонд добавил: Только забыл мину уничтожить... Но повреждение не наносится Архимонд добавил: Уничтожение мины лечится 2мя строчками в конце MineBoom: Код:
|
06.08.2007, 23:24 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Код:
исправь на: Код:
ты юзаеш луп, а не форгруп Отредактировано Jon, 06.08.2007 в 23:39. |
06.08.2007, 23:33 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Архимонд
Silenced by Q
offline
Опыт:
1,367Активность: |
упс...
Цитата:
мы это в другой теме обсуждали... я забыл исправить, просто вырезал из того триггера и вставил в луп спс |
|
06.08.2007, 23:39 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|