Перейти к содержимому


Фотография

Ожидание действия в скрипте на расстояние


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 OFFLINE   hamm88

hamm88

    Ефрейтор

  • Пользователи
  • 45 сообщений
  • Откуда:спб

Отправлено 13 October 2020 - 21:17

    waitUntil {   
        sleep 5;    
        (_soldat distance [5027.46,5904.23,0]) <= 300  };      (что не так?)
 
Мой бот подбегает к позиции и только тогда скрипт срабатывает дальше.
 
 

  • 0

#2 OFFLINE   hamm88

hamm88

    Ефрейтор

  • Пользователи
  • 45 сообщений
  • Откуда:спб

Отправлено 17 October 2020 - 11:34

Где имя бота (soldat) как сделать чтобы это была группа. предположим Group1 


  • 0

#3 OFFLINE   Schatten

Schatten

    Ст. лейтенант

  • Пользователи
  • 1306 сообщений
  • Откуда:Минск, Беларусь

Отправлено 18 October 2020 - 16:16

hamm88,

waitUntil {
    sleep 5;

    ((units Group1) findIf { (_x distance [5027.46, 5904.23]) > 300 }) < 0
};

Как работает: ждём, пока не найдены юниты на расстоянии, большем 300 м от точки (то есть все юниты находятся в радиусе 300 м от точки).


Сообщение отредактировал Schatten: 18 October 2020 - 16:16

  • 0

#4 OFFLINE   hamm88

hamm88

    Ефрейтор

  • Пользователи
  • 45 сообщений
  • Откуда:спб

Отправлено 20 October 2020 - 16:11

hamm88,

waitUntil {
    sleep 5;

    ((units Group1) findIf { (_x distance [5027.46, 5904.23]) > 300 }) < 0
};

Как работает: ждём, пока не найдены юниты на расстоянии, большем 300 м от точки (то есть все юниты находятся в радиусе 300 м от точки).

шикарно работает. а что если один из отряда затерялся и не добежал в указанный радиус. как сделать активацию не всем отрядом а любым членом группы?


  • 0

#5 OFFLINE   Cooler58

Cooler58

    Сержант

  • Пользователи
  • 155 сообщений

Отправлено 20 October 2020 - 16:53

Ура! Schatten вернулся!!!

 
  • 0

#6 OFFLINE   Schatten

Schatten

    Ст. лейтенант

  • Пользователи
  • 1306 сообщений
  • Откуда:Минск, Беларусь

Отправлено 20 October 2020 - 19:20

как сделать активацию не всем отрядом а любым членом группы?

Легко:

waitUntil {
    sleep 5;

    ((units Group1) findIf { (_x distance [5027.46, 5904.23]) <= 300 }) >= 0
};

 

Ура! Schatten вернулся!!!

Спасибо.


Сообщение отредактировал Schatten: 20 October 2020 - 19:20

  • 0




Яндекс.Метрика