Я конечно всё понимаю, но тут запарился на вроде бы простейшем скрипте, состоящем из команд.
Суть скрипта.
Когда два бота удаляются от игрока на определённое расстояние, ботам даётся команда прекратить всяческую стрельбу и бежать к игроку.
Кода расстояние сокращается до необходимого, боты вновь переходят в боевой режим.
Так вот, в теории, всё отлично работает.
Даже на практике практически всё получается.
Но есть одно но.
В 3 из пяти случаев, боты не переходят обратно в боевой режим.
И далее, если им дать принудительный вход в боевой режим, они все равно не стреляют по врагу.
Быть может я что упустил?
Взгляните свежими глазами.
sleep 1; while {true} do { //даю ботом максимальную скорость sq1 setSpeedMode "FULL"; sq2 setSpeedMode "FULL"; //включаю проверку на расстояние if (sq1 distance sq1MOVE > 5) then {sq1 domove (position sq1MOVE);}; if (sq2 distance sq2MOVE > 5) then {sq2 domove (position sq2MOVE);}; //если больше 15 метров между sq1Move или sq2Move, то боты бегут к позициям не обращая внимание на врага. if (sq1 distance sq1MOVE > 15) then { sq1 setunitpos "UP"; sq1 setBehaviour "CARELESS"; sq1 setCombatMode "BLUE"; sq1 setcaptive true; }; if (sq2 distance sq2MOVE > 15) then { sq2 setunitpos "UP"; sq2 setBehaviour "CARELESS"; sq2 setCombatMode "BLUE"; sq2 setcaptive true; }; if (sq1 distance sq1MOVE < 10) then { sq1 setunitpos "middle"; sq1 setBehaviour "COMBAT"; sq1 setCombatMode "RED"; sq1 setcaptive false; }; if (sq2 distance sq2MOVE < 10) then { sq2 setunitpos "middle"; sq2 setBehaviour "COMBAT"; sq2 setCombatMode "RED"; sq2 setcaptive false; }; sleep 5 };
p.s. чёрт, кажется я понял, в чём вся беда.
Надо ведь для каждого бота отдельно пилить проверки.
Вот я нуп