Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
BJ функция GetUnitsInRangeOfLocMatching, вызывает ли она утечки?
Собственно использую её в
Код:
сама BJ это : Код:
допустим сделаю так: Код:
То куда девать call DestroyBoolExpr(filter) ? Нашёл причину не работы триггера... Щас подумаю, как можно заменить эту функцию Отредактировано Ranger21, 13.03.2009 в 21:16. |
13.03.2009, 20:31 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
Ranger21, утечка создается, видишь после
Код:
Локалка не обнуляется, подумай как можно заменить. |
13.03.2009, 20:56 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
set G = GroupEnumUnitsInRangeOfLoc(t, Marine,100000.00, Condition(function Gargoyles))
а почему пишет Cannot Convert nothing to group ?
G - группа t - группа Marine - точка Или надо так
call GroupEnumUnitsInRangeOfLoc(t, loc,100000.00, Condition(function Gargoyles))
call ForGroup(t, function Attack) call DestroyGroup(t) ? И если у меня 4ре разных типов юнитов, то просто писать
call GroupEnumUnitsInRangeOfLoc(Z, loc,100000.00, Condition(function Zombies))
call ForGroup(Z, function Attack) call DestroyGroup(Z) ? И куда девать всётки call DestroyBoolExpr(filter) ? |
13.03.2009, 21:59 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
Ranger21
Код:
Так. Код:
Девать в окончание действия, т.е. конечный вариант Код:
|
13.03.2009, 22:23 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
С этим разобрался, а позволительно использовать одну группу на все типы юнитов? Удаляя старую группу и в конце присваивая значение Z= null
Вопрос собственно, обнулять группу надо после удаления её или можно в конце? PS: Все эти юниты атакуют одних и тех же... Ведь если в начале задана local group Z=CreateGroup(), а в функции написать set Z = null, то следующий call GroupEnumUnitsInRangeOfLoc(Z,блабла) не будет работать, так как у нас Z = null ? Вот пример части кода, относящийся именно к этим действиям Код:
|
13.03.2009, 22:34 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
Цитата:
true С одной и той же переменной можно свободно работать. Писать Код:
Только когда переменная перестанет нужна вообще. Воибежание багов пиши Код:
После того, как будешь использовать старую переменную для новой группы. |
|
13.03.2009, 22:39 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
Может быть ты имел ввиду call DestroyGroup(Z) ?
call ClearGroup(Z) такой функции нету. так если это true... значит для использования переменной заново надо и Код:
Пойду тестить и пробывать EDIT : GroupClear ты имел ввиду?=) |
13.03.2009, 22:43 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Ranger21
I love beatiul days XD
offline
Опыт:
13,274Активность: |
Всё работает отлично!) Не думал, что собственоручное написание триггера на джассе принесёт мне сток удовольствия.
Вродь топик можно закрывать... |
13.03.2009, 22:50 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
SRes
1110101000
offline
Опыт:
9,997Активность: |
Хм, а может быть сделать через boolexpr и сразу в ней все действия проводить ? Т.е., :
Код:
А в самом Zombies ты уже проверяешь на тип и действия проделываешь,чтобы узнать какой юнит сейчас "проверяется" есть функция Код:
|
14.03.2009, 09:31 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
2All, вы все нешарите ©
делаеться просто: Код:
|
14.03.2009, 12:07 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|