
Сообщение от
-atas-
Относятся ли корабли к AiGroundActor?
да, корабль - это AiGroundActor и AiGroundGroup ,с типом Ship , всех кораблей страны найти можно так :
Код:
foreach (AiGroundGroup gg in GamePlay.gpGroundGroups(army))
{
if (gg.Type == AiGroundGroupType.Ship)
{// тут делаем с ними что нам нужно, например
if (gg != null)
(gg as AiGroundActor).Destroy(); // уничтожаем
}
}

Сообщение от
zaltys
naryv,
Двигатель миссий должн быть изолирован как можно скорее. В настоящее время можно получить доступ к файловой системе, сети и т.д. из скрипта, и это очень опасно, потому что люди могут получить неприятный сюрприз вместе с скачаны миссии из WWW. Однако, возможность отключения изоляции должно присутствовать, потому что обычно она не понадобится для серверов.
боюсь что изолировать не получится, наверное сделаем предупреждение, что пользователь запускает потенциально опасный скрипт для таких миссий. Скрипт на сервере, клиентом не закачивается и повредить что-то у клиента не сможет .

Сообщение от
Vetochka
Как в текущем патче (1.01.14588) заставить ботов-истребителей гарантированно вступить в бой с другими истребителями? У меня они теперь игнорируют даже команду "Вступит в бой с истребителями" с указанием приоритетной группы для атаки. По рации кричат, что атакуем, но пролетают спокойно мимо и далее летят по своим контрольным точкам.
попробуйте, как ув. Trident написал поставить им "охоту", с "вступить в бой" будем разбираться.

Сообщение от
cFobos
Позже - это значит в следующем патче?
скорее всего - да.

Сообщение от
cFobos
А можно сдетать так, чтобы по ним и Логи шли?
Сейчас логи идут по принципу намемка=самолёт. Т.е если скажем ПВО убило самолёт - это документируется в логах сервера. Но вот обратный процесс, штурмовка и бобрёшка никак не видны. Кроме того нет логов "наземка=наземка", т.е никаких данных по скажем уничтожению танками топливохранилищь на уровне логов сервера нет. Это очень мешает работе. Если это возможно, пожалуйста поправьте.
это сейчас уже можно, например в скрипте миссии:
Код:
public override void OnActorDead(int missionNumber, string shortName, AiActor actor, System.Collections.Generic.List<DamagerScore> damages)
{
base.OnActorDead(missionNumber, shortName, actor, damages);
GamePlay.gpLogServer(null, "{0} actor dead, 1st killer is {1} ", new object[] { actor.Name(),damages[0].initiator.Actor.Name()});
}
в лог сервера и чат будет скидываться кто убит и первый из нанёсших повреждения, можно и всех повреждателей перечислить из damages - это массив с акторами наносившими повреждения.

Сообщение от
Geniok
Вопрос такой, есть ли возможность из кода скрипта изменять количество сбитых самолетов, обозначенных на киле? Сейчас это доступно в настройках самого самолета, хотелось бы делать это динамически.
И еще такой вопрос, как у нас обстоят дела с динамическим износом самолета (и его скина соответственно тоже)? Он есть, его нет, или его надо прописывать в скрипте, есть доступные функции для этого?
тут как выяснилось - ситуация такая - в движке параметры физ. износа есть и учитываются, но при загрузке миссии сейчас не подгружаются. Сделаем следующее - расширим интерфейс самолёта так, что в скрипте миссии можно будет прочитать повреждения на этот износ влияющие, а потом для следующей миссии эти параметры (ну или с какой-то обработкой - например техники что-то починили) можно будет подгрузить, так-же как и количество сбитых. Так подойдёт? Визуальный износ и сейчас из миссии подгружается, если я ничего не путаю. - строчка Aging0 74 - 74% износ 0-го самолёта, в описании группы:
Код:
[BoB_RAF_F_FatCat_Early.03]
Flight0 1 2 3 4 5 6
Flight1 11 12 13 14 15 16
Class Aircraft.SpitfireMkIIa
Formation VIC3
CallSign 26
Fuel 100
Weapons 1
Skill 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
Aging0 74
Skin0 Standard_41A.jpg
Serial0 145
с остальными самолётами так-же, только индекс меняется.