Показать сообщение отдельно
Старый 17-07-2012, 13:40   #960
podvoxx
Senior Aircraftsman
 
Регистрация: Dec 2008
Сообщений: 38
Цитата:
Сообщение от naryv Посмотреть сообщение
здесь я
Ну тогда небольшой вопрос
1. Есть простой метод, который создает миссию из готовых строк(в списке line):
Код:
public ISectionFile CreateNewStationaryByLine(List<string> line)
        {
            ISectionFile generatedMission = GamePlay.gpCreateSectionFile();
            string section;
            string key;
            string value;

            section = "Stationary";  
            foreach (string lineIndex in line) //захерачить в стринг сначала
            {
                key = lineIndex;
                value = "";
                generatedMission.add(section, key, value);
            }
            return generatedMission;
        }
При сохранении миссии в файл получаются практически везде кавычки:

Код:
[Stationary]
  "Static1 Artillery.37mm_PaK_35_36 de 312343.00 97434.00 195.00 /timeout 0/radius_hide 0"
  "Static2 Artillery.37mm_PaK_35_36 de 312247.00 97487.00 195.00 /timeout 0/radius_hide 0"
В более сложных методах, где задается кол-во также появляется проблема. Например.
Создание простой колонны:
Код:
[Chiefs]
  "0_Chief " Vehicle.Morris_CS8_tent gb /num_units 7
[0_Chief_Road]
  "313876.50 91652.25 38.40  0 4 6.11"
  "S 1703 4 0.68 10.00 P 313872.06 91711.37"
  "S 1703 0 0.60 20.00 P 314695.78 94890.92"
  "314714.81 94966.45 38.40"
Создание настраиваемой колонны:
Код:
[CustomChiefs]
  Vehicle.custom_chief70  $core/icons/tank.mma
[Vehicle.custom_chief70]
  Car.Morris_CS8_tent
  Car.Bedford_MW_open
  Car.Morris_CS8_tent
  Car.Albion_AM463
[Chiefs]
  "0_Chief" Vehicle.custom_chief70 gb
[0_Chief_Road]
  "309239.16 97634.91 38.40  0 5 6.11"
  "S 1773 63 0.20 20.00 P 309288.41 97664.51"
  "S 1773 66 0.68 20.00 P 310180.47 98048.26"
  "S 1773 78 0.40 10.00 P 313313.66 98745.98"
  "313319.16 98746.18 38.40"
Причем последняя отказывается загружаться, хотя остальные загружаются и едут как положено.

2. С методом OnActorTaskCompleted так и не разобрался, не могу заставить срабатывать на наземку(да и на самолеты вроде не срабатывал). Можно поподробнее про него, выполнение чего его вызывает? Там что-то пролетает, но равное null и вызывающее ошибку если не добавить проверку

Код:
public override void OnActorTaskCompleted(int missionNumber, string shortName, maddox.game.world.AiActor actor)
    {
        base.OnActorTaskCompleted(missionNumber, shortName, actor);

        if (actor != null)
        {
            if (actor is AiGroundActor)
            {
                AiGroundActor groundActor = actor as AiGroundActor;
                if (groundActor != null)
                {
                    SendMessage.ToAll("*** Actor Task Completed: mission - [{0}], shortName - [{1}], actor - [{2}]", "Chat", missionNumber, shortName, actor);
                }
            }
        }
    }
И еще парочку вспомнил.
3. Понадобилось определить время в миссии, то которое на часах в самолете. Пробовал разные варианты с Time, но не нашел подходящего. Есть такое вообще? Может показания часов самолета игрока можно снять?

4. Как в методе OnActorDead определить угол поворота наземного объекта, если это возможно? Есть ПТ пушки, которые могут доворачивать только стволом и нужно их возраждать не только в том же месте, но и с тем же направлением наводки.

Последний раз редактировалось podvoxx; 17-07-2012 в 14:09.
podvoxx вне форума   Ответить с цитированием