Это заклинание массового урона, в радиусе от цели, проблема в утечках, одна утечка заключается в удалении не всех спецеффектов с юнита. А вторую я не нашел... Как удалить все спецефекты после конца каста и где вторая утечка?

Принятый ответ

Alexey103, а у меня работает, проверял. тут ошибка в названии переменной, скорее всего, зачем ты задал такое. Мб оно слишком длинное и через нижнее подчеркивание? и путь модель указывают в jass не через один обратный слэш "/", а через двойной слэш "//". Это на гуи один, на джаз два слэша
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
23
6 лет назад
0
Спецы не утекают, но это не точно
ПС перед уничтожением группы очисти ее (Remove All units), мб поможет.
ПСС бжшный пик юнитов утекает сам по себе, но он настолько незначителен, что потребуется реально ОГРОМНОЕ время игры, чтобы начало лагать.
0
27
6 лет назад
Отредактирован MpW
0
утечки: Units within 300 pos - бж функция, если раскрыть ее, то можно увидеть как там не обнуляются локалки
по поводу спецэффектов - попробуй воткнуть внутрь цикла ForGroup (на гуи Pick Every unit in group and do (action) ) локалки. Тогда точно все будут удаляться. Еще точнее прописать CS
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl",GetEnumUnit(),"overhead"))
1
18
6 лет назад
1
Вместо создания и удаления эффекта попробуй удалить сразу. Для этого нужно использовать личный сценарий (custom script):
call DestroyEffect (AddSpecialEffect ("Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl", GetUnitX(GetEnumUnit()), GetUnitY(GetEnumUnit())))
Вместо взрыва напиши путь к своему эффекту. Но может не сработать, если анимация модели не подойдёт.
Ещё вариант: записывать эффекты в переменные и удалить их циклом.
0
17
6 лет назад
0
Obelick, А при скольки утечках лагать начинает? И если ты загружаешь карту заново утечки сохраняются?
Maniac_91, Хм, посмотрю, хотя не вижу разницы между удалением джассом и обычным. А вот насчёт цикла, я думаю можно заносить каждую переменную в массив и очистить его после каста, но это требует нескольких глобалок, и типа запутано.
Steal nerves, О точно, циклом же можно. Ну так если там не обнуляются локалки то как обнулить? Неужели кастом скрипт не поможет. Нужно решение ааа. Кстати помоему у меня уже была такая проблема когда я систему диалогов делал. И там мне кучу джасса прислали но так я и не решил её, и вот опять...
0
23
6 лет назад
Отредактирован Obelick
0
Alexey103, конечно загружаются, они остаются в памяти до конца игры. Запили себе хендлкаунтер и отслеживай, но опять же, если даже у тебя 50+ таких заклинаний, которые срабатывают раз в секунду, то даже в таком случае у тебя времени предостаточно. Лично у меня начинались лаги, когда сохранение игры весило 40 мб+, а затем следовали фаталы, можешь отслеживать по этому факту. Главное всегда чистить и удалять то, что возможно.
0
17
6 лет назад
0
Obelick, У меня он есть, просто я не проверял. Я просто делаю наработки, не только для личного пользования, и поэтому такой внимательный. Дело в том что я не хочу делать маленькие карты, а когда делал большие уже дважды забрасывал. И решил подойти с другой стороны. Делаю отдельные интересные элементы в виде наработок. И лишь если они идеальны потом может их использую в карте.
2
27
6 лет назад
Отредактирован MpW
2
Maniac_91, Хм, посмотрю, хотя не вижу разницы между удалением джассом и обычным.
ну есть предположение, что переменная "последний созданный спецэффект" перезаписывается, и возможно из-за этого что-то не до конца работает. По идее так не должно быть. тогда либо локалка либо сразу удаляй как выше сказали
ForGroup - цикл, вызывает функцию.
но лучше сразу удаляй
Ну так если там не обнуляются локалки то как обнулить?
необнуленная локалка приводит к утечке
Загруженные файлы
0
20
6 лет назад
0
Скорее всего не удаляются точки и само наличие спецэффекта. Приложенный поинт спецеффекта вынести отдельно в локалку и ремувить.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.