sonicscream
offline
Опыт:
773Активность: |
Обнуление события из триггера
Как удалить все события из триггера?
Подскажите плиз 8) Раскажу зачем мне это нужно:
Есть некая пассивка-пустышка --> нужно отслеживать каждую атаку героя Но на вооружении картостроителя, не обладающего силой в jass, есть только Юнит атакован и Юнит получает урон, причём во втором случае событие можно привязать только к определённому юниту (не переменной разумеется). Но к счастью есть действие: создать и запихать событие в другой триггер. И главный минус, нельзя просто запихать его а потом использовать командой run trigger, поэтому с каждой атакой событий в триггере становится всё больше, можно сказать што тригер умножается на число совершённых атак героя %) это ужасно... Помогите! |
15.03.2010, 13:17 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
когда создаешь событие, то: событие, условие и действие надо заносить в массивы, а потом при удалении триггера удалять все из этих массивов и отчищать их, номера массивов бери из HandleId(trigger) - число, например 150000, чтобы у тебя не выходило за 8192
|
15.03.2010, 13:32 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Master_chan
Полуночный командир
offline
Опыт:
15,660Активность: |
Скажи что нужно сделать с юнитом которого атаковал герой. Вероятно можно будет обойтись без
Из описания вообще не понял что ты хочешь сделать... |
15.03.2010, 13:32 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Зачем каждый раз одного и того же героя добавлять? Заноси его в группу и проверяй наличие в группе при добавлении события |
15.03.2010, 13:48 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
sonicscream
offline
Опыт:
773Активность: |
JaBeN_Симфер
а ну я ваще ничё не понял Master_chan
Ну с самим юнитом посути ваще ничего не надо делать, надо убавить переменную integer на 1 единицу, дать предмет герою, но суть в том штобы всё это происходило в момент удара а не до него DoctorGester
мм... куда я героя добавляю? Вот так как щаз сделано выглядит так:
1.
Событие: Боевая единица - юнит атакован Условие: Атакующий юнит равен "такой-та" Действие: Триггер - добавить в "некий другой" event" атакованный юнит получает урон 2.
Событие: нет Условие: юнит нанёсший урон равен "такой-та" Действия: ...я рассказал Дак вот нужно сделать так штобы каждый раз условия или весь тригер обнулялся или удалялся и создавался новый, точно такой-же, вновь без условий
Может ктонить выложить это полностью в jass, штобы мне осталось только вставить в нужное место действия? Или всёже можно с помощью custom script удалять событие? Вроде на UmsWE даже тригер есть такой да только не запускается у меня он |
15.03.2010, 14:14 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Событие из триггера удалить невозможно. |
15.03.2010, 14:24 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Master_chan
Полуночный командир
offline
Опыт:
15,660Активность: |
Убить триггер и создать новый.
|
15.03.2010, 15:30 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Helpmeplz
offline
Опыт:
11,738Активность: |
использовать событие юнит атакован при отлове урона - не очень умно.
чтобы юнит один раз заносился в триггер, достаточно отловить его событием "Юинт входит в игровую зону" или, если он изначально находится на карте, заносить его в триггер при инициализации. ну и если тебе так хочется для отлова урона использовать событие "Юнит атаковат", то заноси его в группу. |
15.03.2010, 16:14 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
sonicscream
offline
Опыт:
773Активность: |
Helpmeplz
А можешь написать пример? |
15.03.2010, 17:27 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
Вот пример. Сделано на хеше, но если есть JNGP, то можно и на глобалках. |
15.03.2010, 17:56 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
sonicscream
offline
Опыт:
773Активность: |
*JaBeN_Симфер* спасибо, попытаюсь разобраться |
15.03.2010, 18:09 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
спрашивай что не понятно будет |
15.03.2010, 18:13 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
sonicscream
offline
Опыт:
773Активность: |
Как мне задать условие на определённого юнита? |
15.03.2010, 18:22 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
в триггере event damaged написано, туда впиши то, что тебе надо |
15.03.2010, 18:27 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
FellGuard добавил: unitevents |
15.03.2010, 18:28 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Master_chan
Полуночный командир
offline
Опыт:
15,660Активность: |
Любите вы лазить в память вара...
без расчлененки... |
15.03.2010, 20:39 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
Master_chan, ты считаешь, что ты сделал правильнее? или ты думаешь, что его действие не будет засорять память в твоем случае? А если у юнита интервал между атаками будет 5 секунд например? Там вообще многое не оптимизировано и не доделано. |
15.03.2010, 21:57 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
sonicscream
offline
Опыт:
773Активность: |
Немогу разобраться в джазе и в код вставить действия которые мне нужны ТТ |
15.03.2010, 22:07 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
Добавив в JNGP эти глобалки можно вообще сделать без хеша
Все проще некуда и работает правильно, т.к. я выдирал это со своей карты, где утечек нет. |
15.03.2010, 22:08 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JaBeN_Симфер
offline
Опыт:
20,050Активность: |
Создай триггер и внеси все нужные в него действия в гуи, а вотом вызывай действие триггера через вставку функции в этой строчке:
например так:
Отредактировано JaBeN_Симфер, 16.03.2010 в 17:28. |
15.03.2010, 22:21 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|