XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
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
Toadcop

offline
Опыт: 54,313
Активность:
DioD полностью твоё решение ! если будет нормально работать то почему бы и нет ?! т.е. делай как хочешь :)
call DestroyEffect(AddSpecialEffectLocBJ( GetUnitLoc(K), udg_Strings[3] ))
он создаёт и сразу удоляет еффект ?! тебе нужен деатн анимация ? или это ты просто пример привёл :)
Старый 15.04.2006, 17:32
DioD

offline
Опыт: 45,134
Активность:
Это продвинутый способ
Он создаёт ифект и он играет анимацию бриза а потом удаляется.
Щас все тригеры перевожу, даже не знал что воровать идеи бывает так ифективно.
Понимаю фрога, удержаться невозможно
Старый 15.04.2006, 18:00
zibada

offline
Опыт: отключен
точку действительно не мешало бы удалить.
смысл конструкции ниже я не понял, слабо все 3 строки сразу явно проинициализировать? или у тебя путь "Abilities\\Spells\\Items\\" так часто меняется, что его надо писать отдельно?
Старый 15.04.2006, 18:07
Toadcop

offline
Опыт: 54,313
Активность:
call DestroyEffect(AddSpecialEffectLocBJ( GetUnitLoc(K), udg_Strings[3] ))
т.е. прикол в том что когда спецеффект заканчиваетьса то он удаляетьса или что ?! а если у меня еффект лооповый т.е. не имеет анимации "деатн" и т.д. ?! я всеровно больше таймерам доверяю :)
и я думаю что инциализации строк таким способом не даст понту. т.к. мне не разу не требовалось таких приколов... и оптимизации здесь не какой нету :)
Старый 15.04.2006, 18:14
zibada

offline
Опыт: отключен
пример функции-обертки для создания самоуничтожающихся по таймеру эффектов валяется в моей древней статье про кэш (искать на сайте).
аналогичные обертки можно написать для location-ов, rect-ов и прочего, и забыть про утечки навсегда =)
сабжевый код будет выглядеть как-то так:
call AddSpecialEffectLocTimed(DestroyLocTimed(GetUnitLoc(K), .01), udg_Strings[3], 0)
что, имхо, намного проще, чем запихивать все в переменные и пачками их удалять в конце.
впрочем, это исключительно на ваше усмотрение...
Старый 15.04.2006, 18:32
Toadcop

offline
Опыт: 54,313
Активность:
DimonT Ja ! genau ! согласен что таймеры это гуд ! хотя написать такую функцию которая через определёное время удоляет объект очень легко 5 мин. или меньше !

.01 =0.01 ?! а я так и не понял какой понт ?! объясните плиззз !
Старый 15.04.2006, 18:38
DioD

offline
Опыт: 45,134
Активность:
Все переменные хранятся в массиве, а та конструкция что я указал является компонентом защиты, тоесть я пытаюсь защитить свою карту от самого себя, смысл защиты в удалении всех ключевых строк, начал я с стрингов, но функции обращения одного в другое аля RB позволяют оформить как стринги что угодно и спрятать очень хорошо
То что я пишу на данный момент я стараюсь писать исключительно сам, самоуничтожение это хорошо, но в большинстве случаев достаточно простых конструкций.
Старый 15.04.2006, 18:49
Toadcop

offline
Опыт: 54,313
Активность:
DioD подражание RB ?! тогда ты не понял ! РБ это строка которая пропускаетьса через парсер и потом эта функция распихивает по массиву (можно кешу) нужную инфу... принцип простой реализация достаточно тоже я писал для моих нужд примерно такую функцию ! Димонт тогда туда подглядивал :) да он помнит :)
Старый 15.04.2006, 19:37
DioD

offline
Опыт: 45,134
Активность:
РБ это ретурн баг(очень сумничать хотелось), с помощью которого я записываю строки как интегеры и храню в массиве. (теоритически)
Зачем это надо? Всё очень просто, длинные строчки мне плохо видно, для работы надо делать строки короче, тоже с функциями и всем остальным, для этого я выношу самые длинные элементы в массив и использую ссылку на массив, гораздо короче, проще и безопаснее.
То что ты описал, ReadSetup(2.0 что-бы быть точным)
Старый 15.04.2006, 23:36
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 18:02.