DioD
offline
Опыт:
45,134Активность: |
Утечки
call DestroyEffect(AddSpecialEffectLocBJ( GetUnitLoc(K), udg_Strings[3] ))
Вызывает утечку- точку, правильно? К этому чудесному вопросу прилагается еще один, Имеет ли смысл использовать подобные конструкции для сохранения всех значений переменных в карте? set udg_Strings[0] = "Abilities\\Spells\\Items\\" set udg_Strings[1] = ( udg_Strings[0] + "AIam\\AIamTarget.mdl" ) set udg_Strings[2] = ( udg_Strings[0] + "AIim\\AIimTarget.mdl" ) set udg_Strings[3] = ( udg_Strings[0] + "AIsm\\AIsmTarget.mdl" ) |
15.04.2006, 17:20 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
DioD полностью твоё решение ! если будет нормально работать то почему бы и нет ?! т.е. делай как хочешь :)
call DestroyEffect(AddSpecialEffectLocBJ( GetUnitLoc(K), udg_Strings[3] )) он создаёт и сразу удоляет еффект ?! тебе нужен деатн анимация ? или это ты просто пример привёл :) |
15.04.2006, 17:32 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Это продвинутый способ
Он создаёт ифект и он играет анимацию бриза а потом удаляется. Щас все тригеры перевожу, даже не знал что воровать идеи бывает так ифективно. Понимаю фрога, удержаться невозможно |
15.04.2006, 18:00 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
точку действительно не мешало бы удалить. смысл конструкции ниже я не понял, слабо все 3 строки сразу явно проинициализировать? или у тебя путь "Abilities\\Spells\\Items\\" так часто меняется, что его надо писать отдельно? |
15.04.2006, 18:07 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
call DestroyEffect(AddSpecialEffectLocBJ( GetUnitLoc(K), udg_Strings[3] )) т.е. прикол в том что когда спецеффект заканчиваетьса то он удаляетьса или что ?! а если у меня еффект лооповый т.е. не имеет анимации "деатн" и т.д. ?! я всеровно больше таймерам доверяю :) и я думаю что инциализации строк таким способом не даст понту. т.к. мне не разу не требовалось таких приколов... и оптимизации здесь не какой нету :) |
15.04.2006, 18:14 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
zibada
offline
Опыт: отключен
|
пример функции-обертки для создания самоуничтожающихся по таймеру эффектов валяется в моей древней статье про кэш (искать на сайте).
аналогичные обертки можно написать для location-ов, rect-ов и прочего, и забыть про утечки навсегда =) сабжевый код будет выглядеть как-то так:
call AddSpecialEffectLocTimed(DestroyLocTimed(GetUnitLoc(K), .01), udg_Strings[3], 0) что, имхо, намного проще, чем запихивать все в переменные и пачками их удалять в конце. впрочем, это исключительно на ваше усмотрение... |
15.04.2006, 18:32 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
DimonT Ja ! genau ! согласен что таймеры это гуд ! хотя написать такую функцию которая через определёное время удоляет объект очень легко 5 мин. или меньше !
.01 =0.01 ?! а я так и не понял какой понт ?! объясните плиззз ! |
15.04.2006, 18:38 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
Все переменные хранятся в массиве, а та конструкция что я указал является компонентом защиты, тоесть я пытаюсь защитить свою карту от самого себя, смысл защиты в удалении всех ключевых строк, начал я с стрингов, но функции обращения одного в другое аля RB позволяют оформить как стринги что угодно и спрятать очень хорошо
То что я пишу на данный момент я стараюсь писать исключительно сам, самоуничтожение это хорошо, но в большинстве случаев достаточно простых конструкций. |
15.04.2006, 18:49 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Toadcop
offline
Опыт:
54,313Активность: |
DioD подражание RB ?! тогда ты не понял ! РБ это строка которая пропускаетьса через парсер и потом эта функция распихивает по массиву (можно кешу) нужную инфу... принцип простой реализация достаточно тоже я писал для моих нужд примерно такую функцию ! Димонт тогда туда подглядивал :) да он помнит :)
|
15.04.2006, 19:37 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
РБ это ретурн баг(очень сумничать хотелось), с помощью которого я записываю строки как интегеры и храню в массиве. (теоритически) Зачем это надо? Всё очень просто, длинные строчки мне плохо видно, для работы надо делать строки короче, тоже с функциями и всем остальным, для этого я выношу самые длинные элементы в массив и использую ссылку на массив, гораздо короче, проще и безопаснее. То что ты описал, ReadSetup(2.0 что-бы быть точным) |
15.04.2006, 23:36 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|