Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
Безопасная работа (пик, утечки)
Вот простенький тест триггер:
Как сделать так, чтобы полученная группа не вызывала утечку? Нужен ответ на уровне cs (custom script).
Поиск по форуму даёт противоречивые результаты, поэтому создаю тему.
В джассе не "дуду", но подобных пиков в карте оооочень много... |
19.12.2009, 22:52 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Чтобы без утечки, придется новую функцию создавать(в котором собственно проходит действия с юнитами) а через кс не получится |
19.12.2009, 23:03 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dave_wwid
offline
Опыт:
12,954Активность: |
На уровне ГУИ- remove picked unit from the game.
|
19.12.2009, 23:24 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Имелся в виду сам пик. В гуи идет функция
В которой утечка с группой |
19.12.2009, 23:31 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
XiMiKs, можно конкретнее? Вообще в некоторых темах рассматривалась очистка группы с помощью кс.
dave_wwid, замечательно, только пикаются все юниты и даётся приказ, группу нужно обнулить/уничтожить ссылку, но юниты то в игре должны остаться.
По идее нужно только это:
call DestroyGroup(g) set g = null Только какой аргумент использует гуи пик? |
19.12.2009, 23:33 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
а посмотреть blizzard.j не судьба? |
19.12.2009, 23:38 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kodoo
Ł☼√ę
offline
Опыт:
12,845Активность: |
vsparker:
Аргумент? Это не просто ф-ия - это мего изврат на который лучше не смотреть. Хуже условного оператора. Я присоединюсь к теме: как организовать Pick every unit на jass? А там и DestrouGroup в двух шагах. |
19.12.2009, 23:40 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
|
19.12.2009, 23:41 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
XiMiKs добавил: Нет, назови триггер lol, конвертируй в текст и вставь) |
19.12.2009, 23:45 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
Если проще способа нету, то буду использовать этот.
Проще форма требуется потому, что некоторые триги с пиками очень большие и мало что пойму в джасс форме (речь более о 70 триггеров с подобными пиками :D ). Поэтому если проще нету пути проще - прошу закрыть тему.
XiMiKs, спасибо |
19.12.2009, 23:48 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kodoo
Ł☼√ę
offline
Опыт:
12,845Активность: |
XiMiKs , можешь поподробнее рассказать про ф-ию GroupEnumUnitsInRange(), для чего последнии два аргумента? Как, например, будет Within 512 of LoLacation? |
19.12.2009, 23:49 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
dave_wwid
offline
Опыт:
12,954Активность: |
Цитата:
Мертвым юнитам? Или это так для примера... Тогда пик всех юнитов-добавление их в определенную группу и потом иметь дело с этой группой (глобальная переменная) А пик всех юнитов на карте как таковой в любом случае будет вызывать некоторый лаг. Пик 100-300 юнитов с последующим действием над ними на практике дает 1-2 секундный лаг. Перидический пик вызовет заметные утечки только при частом респауне новых юнитов. |
|
19.12.2009, 23:51 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kodoo
Ł☼√ę
offline
Опыт:
12,845Активность: |
dave_wwid:
Скорее так |
19.12.2009, 23:55 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
Да сам триггер был примером :D с простейшим приказом, дабы не отвлекать внимание от вопроса. Хмм, допустим вместо каждого пика сделать отдельный триггер с постоянным изменением конкретной переменной, и уже вместо пика обращаться напрямую к ней.
Мб немного нубский вопрос, но - рационально ли вместо кучи пиков подгружать кучу отдельных триггеров (работающих на протяжении всей игры) с ещё одной кучей переменных? |
19.12.2009, 23:59 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kodoo
Ł☼√ę
offline
Опыт:
12,845Активность: |
vsparker:
Рационально разобраться в коде, предложенным XiMiKs) Все равно же пригодиться. А то что ты предлагаешь - это обход через болота имхо. |
20.12.2009, 00:01 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Скайнет
Kicked by ZlaYa1000
offline
Опыт:
8,234Активность: |
Согласен, обход через болото, но тем не менее просто нету времени сейчас залезать в джасс (сессия), хотя конечно рациональней разобраться и после неё делать уже всё правильно. |
20.12.2009, 00:04 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kodoo
Ł☼√ę
offline
Опыт:
12,845Активность: |
vsparker:
Поверь сэкономишь гораздо больше времени)
|
20.12.2009, 00:07 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Не надо точки, а радиус большой, т.к. На всю карту |
20.12.2009, 00:11 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kodoo
Ł☼√ę
offline
Опыт:
12,845Активность: |
То что надо. Спасибо, XiMiKs. |
20.12.2009, 00:15 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|