К прошлому вопросу: при использовании триггера с заменой одного здания на другое, появившееся строение находится не на том месте. Обычно оно опускается на клетку вниз или влево, а если рядом с ним стоят юниты то телепортируется совсем далеко

Требования к расположению убирай.
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
делается это через проверку на существование точки сбора
то есть
boolean IsRally(unit u){
	location a=GetUnitRallyPoint(u);
	bool b=a!=null;
	RemoveLocation(a)
	return b;	
}
ответ
В редакторе скелета

26
Наверное, это решается действием Боевая единица - Collision off для здания перед заменой.
21
Ну тут все логично, когда один юнит изчезает,другой появляется на его месте и естевственно ему никак не появиться ,если там стоят другие юниты.
Есть потрясный вариант заранее создать второе здание,потом скрыть его командой hide,сделать неуязвимым и разместить где - нибудь в углу карты и когда ты убираешь первое на его место переместить другое, сделать видимым,уязвимым.Профит!
Кстати этот метод лояльнее,потому что перемещаемые юниты никак не влияют на карту,а вот те,которые создаются во время игры вызывают утечку.Дело хозяйское.Удачи тебе дружок!))
Заранее, оговорюсь,чтобы не было холивара. Вместо здания мы делаем юнита с графикой здания и лишаем его возможности ходить
5
Решил путем отключения коллизии всех юнитов в регионе и включением после появления здания
upd. А, нет, ошибся, отключение коллизии юнитов не помогает
20
SсRealm, ничего не вызывает утечек, если правильно это делать.
10
В прошлом вопросе я скинул вариант без замены, мб, он подойдет
5
pro100master, Звучит интересно, не опишешь как это делается?
LordDracula, тут в другом дело, нужно чтобы здание при разрушении переходило в руки другого игрока и восстанавливалось
20
Hogger16level, Делал такое же 2 года назад, у меня все нормально работало, странно.
Осторожно, далее плохой пример:
Вот, в той же точке становится, не знаю почему так.
Загруженные файлы
5
KaneThaumaturge, Видимо потому что я точкой появления указывал умершего юнита
20
Hogger16level, я не понимаю в чем ваша проблема, вот полностью работающий пример.
Загруженные файлы
Этот комментарий удален
26
нужно отслеживать не смерть, а получение урона, при смертельном уроне делаете его неуязвимым, отхиливаете на фул и меняете владельца, все
5
Проблема была в том, что я оставил "стандартная ориентация зданий". После того как поставил угол 270 градусов проблема решилась
20
Hogger16level, стандартная ориентация зданий = 270.0
Не знаю как это могло исправить.
CreateUnit(GetOwningPlayer(GetKillingUnit()), 'hhou', GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()), bj_UNIT_FACING)
Не думаю, что в этом проблема, даже так все работает без изменений.
5
KaneThaumaturge, И не помогло, когда юнит встает впритык к зданию, то оно телепортируется после разрушения
Загруженные файлы
20
Hogger16level, Hate~~ все правильно сказал, лови урон, давай неуязвимость, меняй владельца. Лучший способ.
26
Только в этом случае в статистику не будет записываться уничтожение здания.
20
8gabriel8, если это "захват" здания, то уничтожения никакого и не должно быть, я думаю.
8gabriel8, можно добавить новую переменную и считать "захваченные" здания.
26
Имел ввиду экран статистики после игры.
в некоторых случаях это бывает важно
21
KaneThaumaturge:
SсRealm, ничего не вызывает утечек, если правильно это делать.
Нет,ну если создавать точку,потом ее удалять,то не будет,но он же так все-равно не сделает.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.