После высадки из вертолета некоторые боты просто застывают в таком положении:
В чем может быть проблема?
Posted 01 February 2021 - 18:50
После высадки из вертолета некоторые боты просто застывают в таком положении:
В чем может быть проблема?
Posted 01 February 2021 - 19:07
Как происходит высадка? Прыжок с парашютом, команда Спешиться, скрипт?
Posted 01 February 2021 - 19:09
Как происходит высадка? Прыжок с парашютом, команда Спешиться, скрипт?
Вертолет приземляется, боты выходят. Ставил вейпоинты и в редакторе, и через скрипт - результат одинаковый.
Posted 01 February 2021 - 19:40
Скинь подробное описание того, что ты делаешь. Как воспроизвести ту же ситуацию с этими же вейпоинтами.
Edited by Ibragim, 01 February 2021 - 19:40.
Posted 01 February 2021 - 19:43
Скинь подробное описание того, что ты делаешь. Как воспроизвести ту же ситуацию с этими же вейпоинтами.
Вертолет с юнитами уже находится в воздухе, он подлетает к точке высадки, садится, высаживает юнитов и улетает.
Edited by Fixjunior, 01 February 2021 - 19:49.
Posted 01 February 2021 - 20:05
Если _wp2 должен появляться после высадки, то проверка на высадку должна быть заключена в цикл waitUntil, иначе строка (units group1) findIf { _x in heli } == -1; не имеет смысла:
_wp1 = group heli addWaypoint [getPos helipad1, 0]; _wp1 setWaypointType "TR UNLOAD"; _wp1 setWaypointBehaviour "AWARE"; waitUntil { (units group1) findIf { _x in heli } == -1; }; _wp2 = group1 addWaypoint [getPos helipad1, 0]; _wp2 setWaypointType "GETOUT"; _wp2 setWaypointBehaviour "AWARE"; _wp2 setWaypointStatements ["(units group1) findIf { _x in heli } == -1", ""]; _wp3 = group heli addWaypoint [[1550.32,7559.23,125.173], 0]; _wp3 setWaypointType "MOVE"; _wp4 = group heli2 addWaypoint [getPos helipad2, 0]; _wp4 setWaypointType "TR UNLOAD"; _wp4 setWaypointBehaviour "AWARE"; waitUntil { (units group2) findIf { _x in heli2 } == -1; }; _wp5 = group2 addWaypoint [getPos helipad2, 0]; _wp5 setWaypointType "GETOUT"; _wp5 setWaypointBehaviour "AWARE"; _wp5 setWaypointStatements ["(units group2) findIf { _x in heli2 } == -1", ""]; _wp6 = group heli2 addWaypoint [[1477.2,7601.14,126.098], 0]; _wp6 setWaypointType "MOVE"; _wp7 = group1 addWaypoint [[1275.77,5944.1,0], 0]; _wp7 setWaypointType "DESTROY"; _wp7 setWaypointBehaviour "AWARE"; _wp8 = group2 addWaypoint [[1275.77,5944.1,0], 0]; _wp8 setWaypointType "DESTROY"; _wp8 setWaypointBehaviour "AWARE";
Также вместо GETOUT лучше поставить сразу вейпоинт MOVE на позицию после высадки, боты сами вылезут и двинутся к точке.
Posted 01 February 2021 - 20:22
Если _wp2 должен появляться после высадки, то проверка на высадку должна быть заключена в цикл waitUntil, иначе строка (units group1) findIf { _x in heli } == -1; не имеет смысла:
_wp1 = group heli addWaypoint [getPos helipad1, 0]; _wp1 setWaypointType "TR UNLOAD"; _wp1 setWaypointBehaviour "AWARE"; waitUntil { (units group1) findIf { _x in heli } == -1; }; _wp2 = group1 addWaypoint [getPos helipad1, 0]; _wp2 setWaypointType "GETOUT"; _wp2 setWaypointBehaviour "AWARE"; _wp2 setWaypointStatements ["(units group1) findIf { _x in heli } == -1", ""]; _wp3 = group heli addWaypoint [[1550.32,7559.23,125.173], 0]; _wp3 setWaypointType "MOVE"; _wp4 = group heli2 addWaypoint [getPos helipad2, 0]; _wp4 setWaypointType "TR UNLOAD"; _wp4 setWaypointBehaviour "AWARE"; waitUntil { (units group2) findIf { _x in heli2 } == -1; }; _wp5 = group2 addWaypoint [getPos helipad2, 0]; _wp5 setWaypointType "GETOUT"; _wp5 setWaypointBehaviour "AWARE"; _wp5 setWaypointStatements ["(units group2) findIf { _x in heli2 } == -1", ""]; _wp6 = group heli2 addWaypoint [[1477.2,7601.14,126.098], 0]; _wp6 setWaypointType "MOVE"; _wp7 = group1 addWaypoint [[1275.77,5944.1,0], 0]; _wp7 setWaypointType "DESTROY"; _wp7 setWaypointBehaviour "AWARE"; _wp8 = group2 addWaypoint [[1275.77,5944.1,0], 0]; _wp8 setWaypointType "DESTROY"; _wp8 setWaypointBehaviour "AWARE";Также вместо GETOUT лучше поставить сразу вейпоинт MOVE на позицию после высадки, боты сами вылезут и двинутся к точке.
Понял, большое спасибо. Скрипт работает, однако боты по-прежнему застревают во время высадки.
Posted 02 February 2021 - 00:03
Если _wp2 должен появляться после высадки, то проверка на высадку должна быть заключена в цикл waitUntil, иначе строка (units group1) findIf { _x in heli } == -1; не имеет смысла:
_wp1 = group heli addWaypoint [getPos helipad1, 0]; _wp1 setWaypointType "TR UNLOAD"; _wp1 setWaypointBehaviour "AWARE"; waitUntil { (units group1) findIf { _x in heli } == -1; }; _wp2 = group1 addWaypoint [getPos helipad1, 0]; _wp2 setWaypointType "GETOUT"; _wp2 setWaypointBehaviour "AWARE"; _wp2 setWaypointStatements ["(units group1) findIf { _x in heli } == -1", ""]; _wp3 = group heli addWaypoint [[1550.32,7559.23,125.173], 0]; _wp3 setWaypointType "MOVE"; _wp4 = group heli2 addWaypoint [getPos helipad2, 0]; _wp4 setWaypointType "TR UNLOAD"; _wp4 setWaypointBehaviour "AWARE"; waitUntil { (units group2) findIf { _x in heli2 } == -1; }; _wp5 = group2 addWaypoint [getPos helipad2, 0]; _wp5 setWaypointType "GETOUT"; _wp5 setWaypointBehaviour "AWARE"; _wp5 setWaypointStatements ["(units group2) findIf { _x in heli2 } == -1", ""]; _wp6 = group heli2 addWaypoint [[1477.2,7601.14,126.098], 0]; _wp6 setWaypointType "MOVE"; _wp7 = group1 addWaypoint [[1275.77,5944.1,0], 0]; _wp7 setWaypointType "DESTROY"; _wp7 setWaypointBehaviour "AWARE"; _wp8 = group2 addWaypoint [[1275.77,5944.1,0], 0]; _wp8 setWaypointType "DESTROY"; _wp8 setWaypointBehaviour "AWARE";Также вместо GETOUT лучше поставить сразу вейпоинт MOVE на позицию после высадки, боты сами вылезут и двинутся к точке.
Проблему решил. Удалил всех ботов, создал новых и все заработало. Возможно был такой баг, потому что я скопировал этих юнитов в буфер обмена из интро к миссии. Еще раз спасибо за советы.