felix_ff
offline
Опыт:
757Активность: |
Проверка по группе
Доброго времени суток уважаемые. Столкнулся вот с такой проблемой.
Делал один спелл через кеш. собсна концепция спелла в том что герой приводит спелл в действие и пока он действует он поглощает в себя полученный урон. а по истечении действия спелла выбрасывает его на всех вражеских юнитов стоящих рядом. Итак. теперь расскажу о методе. Я не стал заморачиваться и пошел самым простым путем. при касте спелл я создаю локальный тригер с событие что тригеринг юнит получает урон ну далее там я выполняю некие действия. и таймер который отсчитыват время действия спелла. по истечение таймера я дисеблю тригер, получаю с него данные урона (переменная реала) записанные по тригеру и далее довольно хитрым циклом по группе дамажу врагов. Так как при использовании таймера я не могу просто указать группу врагов определенного юнита я выполняю два цикла (первый ремувит из группы всех союзников юнита) второй уже дамажит врагов оставшихся в группе. собственно вот код всего спелла Код:
Теперь о проблемме... дело в том что иногда почему то урон наносится и союзникам и герою. Чего быть не должно. я уже все перепроверил.. даже функцию создал что бы посмотреть что происходит.. но так особо и не обнаружил откуда исходит этот баг. есть предпольжение что союзнический юнит иногда не удаляется из группы при первом цикле. Ну вообщем главный вопрос что делать? :mama: как избежать что в группе оставались союзнические войска? и еще что бы не возникло вопросов что некоторых функций в коде не хватает то они элементарны(я просто их для упрощения жизни себе нарисовал) воть Код:
|
27.06.2006, 16:25 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
можешь сделать так - фильтр группы такой:
Код:
а вместо 2х циклов работы с группами выйдет один, но перед ним надо написать Код:
кстати, вместо твоей функции ГрупЭмпти можно просто в цикле писать Код:
это лучше, чем куча функций PS: кстати, помойму пишется Dominion =) |
28.06.2006, 02:09 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
felix_ff
offline
Опыт:
757Активность: |
thx наверное так и сделаю :) |
28.06.2006, 12:45 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Вот твои дополнительные функции я в функции не выделяю, ибо они все однострочные, вторую фукцию лучше уж так записать
Код:
|
28.06.2006, 19:30 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|