Я ничего не понимаю в jass. Нашёл на форуме как удалить последнюю созданную группу. Попытался самостоятельно переделать скрипт чтобы удалить последнюю созданную точку для оптимизации. Но не сработало.
P.S.
И подскажите за одно, будет ли работать удаление последних группы и точки в моём примере?

Когда ты вызываешь функцию GetLastCreatedGroup( ) она возвращает глобальную переменную bj_lastCreatedGroup. Для точек такой переменной нет, соответственно и не существует функции, которую ты использовал для её удаления. Чтобы удалять точку её нужно запеременить, двигать в неё юнита, а потом уже использовать RemoveLocation( udg_НазваниеПеременнойТочки )

По поводу удаления группы, оно то будет работать, но не для he_all_paladins. При чем если ты удалишь это группу, то больше не сможешь туда добавлять юнитов, поэтому разумнее просто очищать
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
koloff, только что проверил, если нет анимации death у эффекта, то он исчезает спустя несколько секунд после вызова функции DestroyEffect
ответ
Maniac_91:
Если без триггеров делать, то можно открыть через War3ModelEditor стандартную модель огня и посмотреть, как там устроен источник звука. Потом открыть свою модель и создать в ней такой же источник звука, не забыв настроить время срабатывания.
Хорошо, без триггеров пусть... Я открывал стандартную модель огня, там вообще нету прицепки звука, потому что в доступных звуках в прицепки нету звука огня. Стандартные звуки все на тему заклинаний, но нету звуков окружения, и нету даже похожего звука бушующего огня! Видимо те стандартные модели огня имеют внешнюю прицепку звука, но не в себе. Я бы не спрашивал если бы проблема не была такой слишком сложной. Не люблю зря беспокоить людей.
ответ
set weather[1-n] = GetLastCreatedWeather()
установить переменную weather[1-n] = Последний созданный погодный эффект
Где 1-n это число индекса массива переменной, выбираешь на своё усмотрение

28
Когда ты вызываешь функцию GetLastCreatedGroup( ) она возвращает глобальную переменную bj_lastCreatedGroup. Для точек такой переменной нет, соответственно и не существует функции, которую ты использовал для её удаления. Чтобы удалять точку её нужно запеременить, двигать в неё юнита, а потом уже использовать RemoveLocation( udg_НазваниеПеременнойТочки )

По поводу удаления группы, оно то будет работать, но не для he_all_paladins. При чем если ты удалишь это группу, то больше не сможешь туда добавлять юнитов, поэтому разумнее просто очищать
Принятый ответ
21
Во первых нужно создать локальную типа точка, записать в нее позицию юнита, затем таймер или wait ex. и по его истечению удалить точку и обнулить локалку. В этом самое замечательное свойство локальных, что в отличии от глобалок они не перезапивываются, а в каждом новом запуске триггера, в новом потоке создается новая локальная. Потом обнуляешь ее в конце и все.
Ну или совсем шикарный вариант использовать координаты, но ИМХО особенной разницы нет.
Ответы (5)
28
SсRealm, зачем вейт с таймером? После использования точки её можно сразу удалять. Да и в его варианте локалки не нужны
6
SсRealm, тоесть если я перезапишу переменную новой точкой, старая удалится?
28
WilliamBz, перед перезаписываем нужно удалять точку, т.к. это хэндл
21
rsfghd,
position of unit это же тоже хэндл сам по себе, если его не обнулять( по сути точка позиция юнита, которая была и так и осталась)
Если я правильно помню, то ее саму по себе никак не удалить, поэтому лучше создаваться переменную типа точка, а потом обнулять?( ну или кординаты если совсем хорошо?)
28
SсRealm, даже если обнулять точку в последствии, она не перестаёт от этого быть хэндлом, твои дедуктивные способности мне не особо понятны. Что ты хотел сказать этим комментарием? У меня есть конечно догадка, что ты хотел назвать необнуленную точку утечкой, а не хэндлом, но я не экстрасенс
4
А где тут на скрине точка и группа? Нечего удалять так как их тут нету.
30
Как удалить последнюю созданную точку?
Не создавать точку.
Ответы (4)
30
WilliamBz, координаты. Если даже обмазываться гуём, то в JNGP есть возможность с ними работать.
6
nazarpunk, спасибо больше, полезная вещь. Но из-за того что я периодически устанавливаю и играю в Reforged, у меня отваливается 1.26 варик. Он не запускается, весь интернет иссёрчил как решить эту проблему. По итогу просто перешёл на 1.29.2 - самую стабильную предрефорджную версию, которая не ломается если поставить Reforged на комп.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.