Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
Код,вызывающий зависание
-Для начала опишу,что он должен делать - при использовании магии вокруг героя создаются определенные юниты на позиции ближайших трупов(трупы при этом удаляются),затем летят в случайную точку рядом с целью каста,при этом,если они на пути врежутся в юнита,то оглушат его и нанесут урон. -Сама проблема заключается в следующем - юниты создаются,трупы удаляются,юниты летят в нужные точки,только в том месте,где они должны врезаться в юнита на своем пути начинаются жестокие лаги,вызывающие зависание вара(причём если они ни во что не врежутся,то пролетят спокойно всё расстояние). -Вопрос - чем может быть вызваны лаги?(также приветствуются предложения по оптимизации данного кода и оповещение о наличии утечек). |
10.07.2011, 18:07 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
this. |
10.07.2011, 18:33 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
Замена на это никак не помогла |
10.07.2011, 18:49 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Nerevar, интересно почему ... Попробуй подумать головой и перебрать ситуации, в которых цикл становится бесконечным. Я так вообще не понял зачем он. |
10.07.2011, 19:03 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nerevar
I'll be back!
offline
Опыт:
18,352Активность: |
Ну этот цикл должен в созданной по координатам юнита группе отсеить всех ненужных,чтобы далее если она не пуста то остановить таймер,застанить и т.д.Я понял из-за чего происходит зацикливание...Вот я переделел под 2 групы(при отсеивании из 1 группы(если юнит подходящая цель) - добавляю во 2 группу,и уже её проверяю на наличие юнитов.
|
10.07.2011, 19:20 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Helpmeplz
offline
Опыт:
11,698Активность: |
зачем вам лишняя группа
Код:
и вместо != true используйте not Отредактировано Helpmeplz, 10.07.2011 в 22:05. |
10.07.2011, 19:46 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DaSL
offline
Опыт:
276Активность: |
IsUnitDeadBJ(f) == true замени на IsUnitType(f, UNIT_TYPE_DEAD) == true
a остальное не смотрел DaSL добавил: IsUnitDeadBJ(f) == true замени на IsUnitType(f, UNIT_TYPE_DEAD) == true a остальное не смотрел |
11.07.2011, 00:41 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|