Мне нужно проверить, выставлена ли у здания точка сбора. В чем суть - после определенного улучшения юниты должны сразу телепортироваться в точку сбора (с соответствующим спецэффектом). Если она выставлена на местности - все работает. Если на юните - тоже все работает. А вот если на самом здании, где юнит нанимается (т.е. точка сбора не выставлена) - то юнит телепортируется, но ровно в центр карты (по-хорошему, мне надо, чтобы он в этом случае никуда не телепортировался вообще и спецэффект чтобы тоже не появлялся). В общем, нужно проверить в условии, выставлена ли точка сбора. Как это сделать?

делается это через проверку на существование точки сбора
то есть
boolean IsRally(unit u){
	location a=GetUnitRallyPoint(u);
	bool b=a!=null;
	RemoveLocation(a)
	return b;	
}
`
ОЖИДАНИЕ РЕКЛАМЫ...
25
Может просто сделать область вокруг здания где нанимается юнит, потом "Отряд вошёл в зону" указать её и "Боевая единица двигать и куда надо" там же сделать спецэффект.
12
Maxsavin:
Может просто сделать область вокруг здания где нанимается юнит, потом "Отряд вошёл в зону" указать её и "Боевая единица двигать и куда надо" там же сделать спецэффект.
Скорее всего имеется ввиду что зданий может быть построено хоть 100 штук, то есть это не одно здание поставленное сразу.
Этот комментарий удален
15
constant native GetUnitRallyPoint takes unit whichUnit returns location вернёт точку, куда указывает раллипойнт здания.
28
делается это через проверку на существование точки сбора
то есть
boolean IsRally(unit u){
	location a=GetUnitRallyPoint(u);
	bool b=a!=null;
	RemoveLocation(a)
	return b;	
}
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.