???
Математика на уровне МГУ

Показано с 1 по 25 из 789

Тема: Вопросы.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    3GIAP.ru Аватар для -atas-
    Регистрация
    26.12.2001
    Адрес
    Москва
    Возраст
    54
    Сообщений
    2,992
    Записей в дневнике
    1

    Re: Вопросы.

    Каким скриптом можно уничтожить всех акторов в миссии перед ее перезагрузкой (и ручной и плановой)?

    Какие варианты запуска такого скрипта существуют? Можно ли запускать из командной строки сервера, из консоли игры, или только основным скриптом миссии по времени?

    Вопрос неоднократно задавался на форуме 1С владельцами серверов, также связан вот с этим багом http://www.sukhoi.ru/forum/showthrea...=1#post1610136

    Невозможно отлаживать онлайн-миссии в полном редакторе если в них находятся акторы из предыдущей миссии, а выделенные сервера просто виснут при перезагрузке.
    ...зелёные горят.
    ----------------------

    i7-860@3.8, 4GB, ati4890-2GB, 1680x1050, Win7-64.

  2. #2

    Re: Вопросы.

    Цитата Сообщение от -atas- Посмотреть сообщение
    Каким скриптом можно уничтожить всех акторов в миссии перед ее перезагрузкой (и ручной и плановой)?
    Не тестировал, но можно попробовать так

    Код:
    foreach (int army in GamePlay.gpArmies())
                {
                    foreach (AiAirGroup group in GamePlay.gpAirGroups(army))
                    {
                        if (ActorName.MissionNumber(group.Name()).Equals(MissionNumber))
                        {
                            AiActor[] members = group.GetItems();
                            for (int i = members.Length - 1; i > -1; i--)
                            {
                                (members[i] as AiAircraft).Destroy();
                            }
                        }
                    }
                    foreach (AiGroundGroup group in GamePlay.gpGroundGroups(army))
                    {
                        if (ActorName.MissionNumber(group.Name()).Equals(MissionNumber))
                        {
                            AiActor[] members = group.GetItems();
                            for (int i = members.Length - 1; i > -1; i--)
                            {
                                (members[i] as AiGroundActor).Destroy();
                            }
                        }
                    }
                }
    Миссия удаляет только "своих" акторов. Если надо грохнуть всех, убираем строки, выделенные синим.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •