Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Срабатывание Condition
Представим, что есть такое. Теперь скажите, функция C должна вызваться столько раз, сколько пикнутых юнитов пройдут по условию CheckFilterUnit? Или я чего-то не понимаю? это абстракция, CheckFilterUnit может быть любая проверка юнита Отредактировано Vampirrr, 27.01.2011 в 20:57. |
27.01.2011, 20:43 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
хз как оно у тебя работает вообще, если кондишн в одном случае ничего не возвращает
reALien добавил: даже не так, хз как оно у тебя будет работать, если фукнция которая возвращает ничего возвращает значение |
27.01.2011, 20:51 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
reALien, забыл дописать, но работает так же как и с return внутри булеан она возвращает |
27.01.2011, 20:53 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
из какой жопы ты вообще названия функций брал ты тестил вообще? вот я потестил и нет, не вызывается вообще ниразу |
27.01.2011, 20:56 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
reALien, ты вообще прочитал, что я написал серым текстом? |
27.01.2011, 20:59 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
Да, и при проверке на то, жив ли юнит на всей играбельной карте при то что там 100500 юнитов ни одного вызова |
27.01.2011, 21:04 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
» раз уж все так сложно, то вот сам код
Что происходит: если было пикнуто даже 10 одинаковых юнитов, проверку проходит всего лишь один и функция GjBuff вызывается ровно 1 раз. Я не пойму, в чем я накосил. И с ретурном и без него иф делал и фильтер юнита на энум менял, не пахает как надо. |
27.01.2011, 21:13 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Я не понимаю почему у тебя вообще эта конструкция как либо работает, т.к. в фильтре надо юзать «Filter(...)», а не «Condition(...)». |
27.01.2011, 21:29 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Nekit1234007, ничего не изменилось |
27.01.2011, 21:31 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
2ое, емнип, в фильтрах не получится использовать «триггеринг» функции, такие как «GetSpellAbilityUnit()». |
27.01.2011, 21:33 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
говнокод
норм код |
27.01.2011, 21:52 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
собственно, если исправить код:
то в данном случае функция C будет вызываться для каждого фильтруемого юнита |
27.01.2011, 21:55 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
В общем вся проблема в SpellAbilityUnit()..Заменив его на Player(0), мой код под катом заработал. Теперь не пойму, почему на ГУИ матчинг работает с использованием GetSpellAbilityUnit()? |
27.01.2011, 22:16 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
потому что гуи - сила (с) так не может работать, ибо для GjCond не существует GetSpellAbilityUnit() GetSpellAbilityUnit() можно вызвать только в action функции триггера, который обработал событие |
27.01.2011, 22:26 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Nekit1234007, condition работает офигенно
Hanabishi, т.е. ты хочешь сказать, что
SpellAbilityUnit() будет равен null в этом кондишине? по секрету - он будет равен кастеру |
27.01.2011, 22:45 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Vampirrr, да, будет возвращать null |
27.01.2011, 22:46 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Hanabishi, нап, иди тесть
Vampirrr добавил: в общем после долгого мозгонасилования я пришел к выводу, что SpellAbilityUnit() определяется везде правильно, но функция GjBuff вызывается всего 1 раз. Отредактировано Vampirrr, 27.01.2011 в 23:07. |
27.01.2011, 22:57 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
а 1 раз вызывается, в смысле один раз достигает места вызова, или достигает несколько раз, а вызывается только один?
вот так продебагай
и проверь оба ли сообщения одинаковое кол-во раз выходят |
27.01.2011, 23:16 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Vampirrr
O_o
offline
Опыт:
19,286Активность: |
Hanabishi, я так и дебагал. Что происходит: if срабатывает всего один раз. |
27.01.2011, 23:21 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
омг, функция в любом случае возвращает ложь=)
ещё попробуй так
|
27.01.2011, 23:27 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|