Ясно, спасибо :)
Вид для печати
Лог с АТАГа, есть ошибки связанные со звуком
http://forum.1cpublishing.eu/showpos...5&postcount=36
Код:------------ BEGIN log session -------------
Load landscape...
Load bridges
LongBridge: wrong width. (3)
Load static objects...
Battle starting...ok
[239521] ERROR [SOUND] Sample $bob/speech/de/Actor1/Wingmen_protect_your_leaders_.ogg not found
[239521] ERROR [SOUND] Sample $bob/speech/de/Actor1/That_way_we_can_maximize_our_volume_of_fire.ogg not found
[242510] ERROR [SOUND] Sample $bob/speech/de/Actor1/Stay_sharp_gentlemen_And_make_sure_to_stay_in_form ation.ogg not found
[242510] ERROR [SOUND] Sample $bob/speech/de/Actor1/Good_to_have_you_with_us_by_the_way.ogg not found
Chat: {dz}: i see them
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25468 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25387 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25468 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25387 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25388 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25388 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25405 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25405 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25388 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25405 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25388 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25405 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25388 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
[288693] ERROR [SOUND] Sample $bob/speech/de/Actor1/Thank_you_Control.ogg not found
[291116] ERROR [SOUND] Sample $bob/speech/de/Actor1/Stay_sharp_gentlemen_And_make_sure_to_stay_in_form ation.ogg not found
[291116] ERROR [SOUND] Sample $bob/speech/de/Actor1/Good_to_have_you_with_us_by_the_way.ogg not found
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: 92sqn~Pstyle: steuben, what happened?
Chat: I/JG53_Steuben: was hit by AAA earlier and water cooler was leaking
Chat: I/JG53_Steuben: engine boiled up
Chat: 92sqn~Pstyle: oh, ko. fair
Chat: 92sqn~Pstyle: nice evasive flying
Chat: I/JG53_Steuben: year distracted you long enough to allow the 110 attack his target XD
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: Server: Grab a mic and join us on our public Teamspeak 3 at
Chat: Server: 216.52.148.29:9987
Chat: Server: Please read the mission briefing for instructions!
Chat: Server: Salute and welcome to the ATAG server.
Chat: I/JG53_Steuben: hm respawned and missing my cockpit XD
Chat: I/JG53_Steuben: wtf
Chat: Server: www.TheAirTacticalAssaultGroup.com/forum
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: I./JG26_Little_D: Hi to all
Chat: ATAG_Tonka: Hi
Chat: 71st_AH_Toto: Hello Everyone
[366292] ERROR [SOUND] Sample $bob/speech/de/Actor1/Return_to_base_immediately_or_you_will_be_shot_dow n_.ogg not found
[366360] ERROR [SOUND] Sample $bob/speech/de/Actor1/Return_to_base_immediately_or_you_will_be_shot_dow n_.ogg not found
Chat: I./JG26_Little_D: Hi Toto
Chat: {dz}: hi
Chat: 71st_AH_Toto: Hello D
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
[368695] ERROR [SOUND] Sample $bob/speech/de/Actor1/Return_to_base_immediately_or_you_will_be_shot_dow n_.ogg not found
[369924] ERROR [SOUND] Sample $bob/speech/de/Actor1/Return_to_base_immediately_or_you_will_be_shot_dow n_.ogg not found
[371176] ERROR [SOUND] Sample $bob/speech/de/Actor1/That_s_the_way_to_do_it.ogg not found
[371692] ERROR [SOUND] Sample $bob/speech/de/Actor1/Return_to_base_immediately_or_you_will_be_shot_dow n_.ogg not found
[372772] ERROR [SOUND] Sample $bob/speech/de/Actor1/Thank_you_Control.ogg not found
[378344] ERROR [SOUND] Sample $bob/speech/de/Actor1/Stay_sharp_gentlemen_And_make_sure_to_stay_in_form ation.ogg not found
[378344] ERROR [SOUND] Sample $bob/speech/de/Actor1/Good_to_have_you_with_us_by_the_way.ogg not found
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: VF/A-Mjoelner: wow
Chat: VF/A-Mjoelner: rpm ?
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: I./JG26_Little_D: wow aaa is good now
Chat: I./JG26_Little_D: but still no sound when get hit
Chat: 92sqn~Pstyle: AA changes depending on team scores
Chat: 92sqn~Pstyle: as team score goes up, enemy flak gets heavier
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: Cassius Calhoun: Ha
Chat: Cassius Calhoun: Hi all Салют всем
Chat: Kodoss: how do you get supply points?
Chat: I./JG26_Little_D: cool and no clouds so no fps under 40
Chat: 92sqn~Pstyle: _gettiong home sfae keeps supply up
Chat: 92sqn~Pstyle: completing objetives adds to supply dscore
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: I/JG53_Steuben: lol we are loosing now because AI gets shot down in mass
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
Chat: I/JG53_Steuben: by AAA
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step moved actor - IGNORED !!!
CollideEnvXY.collideLine: NONAME drw:1 col:1 #25470 very big step m
Есть ли способ получить время движения актора по вэйпоинтам(как в редакторе показывается в скобках напротив каждого вэйпоинта)?
всё, наверное не получится поправить - там неправильный вызов голосовых сообщений у них идёт, есть возмоожность узнать, как они их формируют, в частности - "Wingmen_protect_your_leaders_", "Return_to_base_immediately_or_you_will_be_shot_dow n_", "Stay_sharp_gentlemen_And_make_sure_to_stay_in_form ation" ?
1. А все-таки получится добавить в игру вспомогательные маркеры? Например я сейчас стараюсь использовать файлы-шаблоны(так как прописывать координаты точек вручную оказалось совершенно неприемлемым способом) и к примеру для создания зон для бомбардировки использую триггеры, но есть существенные проблемы. Выглядит примерно так:
Отсюда берется имя, координаты и радиус. Есть большой недостаток - пока не выберешь триггер его радиус не отображается и вообще непонятно где он. К тому же он не перемещается, т.к. центр окружности выбирается кликом по карте. Открыв такой файл - мы видим пустую карту и совершенно непонятно, что к чему. Есть вариант создания своего маленького редактора, где можно будет любые маркеры ставить, но пока это не лучший вариант.Код:[Trigger]
Pua-de-Picardie TPassThrough 0 293595 84456 500
Frevent TPassThrough 0 315293 140027 750
Grandvilliers TPassThrough 0 290391 72211 600
Amiens TPassThrough 0 314257 99134 1000
Думал использовать другие объекты. BirthPlace можно задать имя, но нельзя задать радиус. Объект ИИ имеет радиус, который всегда отображается в редакторе(легко обнаружить и переместить), но нет возможности задать имя.
Нужен примитивный объект "Маркер", у которого в свойствах будет имя, координаты, радиус и который будет всегда отображаться в редакторе(без выделения). Если бы у него была возможность задать цвет - было бы просто прекрасно.
Вот тут я подробно хотелку описывал - http://www.sukhoi.ru/forum/showthrea...=1#post1868518Код:[Marker]
HelpMarker 293595 84456 500 blue
name x y radius color
Дошел до аэродромов и сразу появились вопросы.
Есть такой код:
Выдает такой список:Код:foreach (AiAirport xxx in GamePlay.gpAirports())
{
SendMessage.ToServer("Name: {0} / Park all: {1} / Pos: {2} / StripCount: {3} / / Army: {4}", xxx.Name(), xxx.ParkCountAll(), xxx.Pos(), xxx.StripCount(), xxx.Army());
}
Т.е. только координаты. Правильно ли я понимаю, что GamePlay.gpAirports() возвращает список всех аэродромов "зашитых" в карту? Почему они тогда безымянные и другие параметры по нулям. Мне как раз нужно имя каждого стандартного филда(чтобы потом на его место подгрузить из шаблона конкретно для этого аэродрома различные объекты и AiBirthPlace), можно его как-то получить?Код:[10:03:02] Server to [podvoxx]: Name: NONAME / Park all: 0 / Pos: (162575,4, 38819,22, 140) / StripCount: 0 / / Army: 0
[10:03:02] Server to [podvoxx]: Name: NONAME / Park all: 0 / Pos: (285042,3, 182696,3, 200) / StripCount: 0 / / Army: 0
[10:03:02] Server to [podvoxx]: Name: NONAME / Park all: 0 / Pos: (229199,3, 96278,02, 101) / StripCount: 0 / / Army: 0
[10:03:02] Server to [podvoxx]: Name: NONAME / Park all: 0 / Pos: (280257,2, 164215, 80) / StripCount: 0 / / Army: 0
[10:03:02] Server to [podvoxx]: Name: NONAME / Park all: 0 / Pos: (303216,7, 48623,19, 99) / StripCount: 0 / / Army: 0
[10:03:02] Server to [podvoxx]: Name: NONAME / Park all: 0 / Pos: (191769,9, 10254,25, 161) / StripCount: 0 / / Army: 0
Спасибо, хотя получается что этим списком толком воспользоваться не выйдет.
Планировал задать список из имен "аэропортов", потом при наличии файла шаблона оттуда загружаются статики и создается респаун с опр. настройками. Придется задавать в шаблоне так же место самого респауна.
Есть вопрос по одному нехорошему релизному багу, который нужно исправить к патчу для стима.
Ошибка возникает на запороленных серверах если неправильно ввести пароль или какое-то время вообще ничего не вводить. Выдает окошко с текстом "Server fail autentification" и на него нельзя попасть пока сервер не перезагрузится. В багах о ней сообщалось, ее сложно будет исправить?
Вот опять - http://www.sukhoi.ru/forum/showthread.php?t=76974
Есть вопрос по встречному движению машинок на дороге. Возможно ли их еще больше развести от центра дороги к обочинам? Т.к. колонны часто все-таки утыкаются друг в друга и начинается чехарда. Причем "зацепление" происходит из-за одной-двух машинок как правило, которые принимают чуть вправо/влево относительно остальных машин в колонне.
Еще вопрос, возможно ли добавить серверу настройку, которая отключает отображение самолетов(на которых игроки летают в данный момент) в окне статистики в миссии. Это старый чит и он не потерял актуальности. Бомберам например из-за него часто достается.
Помню давным-давно было обсуждение по расширению возможностей HUD-сообщений. Возможно как-то их дополнить? Например положение на экране(в процентах), высота шрифта и возможность одновременного отображения любого количества сообщений?
Хотелось бы уточнить по параметрам. Есть еще второе число int, subtype - на что оно влияет? По скорости и высоте тоже непонятно. Значения бывают отрицательные и далекие от приборных( в м/с?)
Еще вопрос по миссии для чемпионата. Можно ли как-то получить из скрипта массу вооружения на самолете?Код:Z_Coordinates,
Z_Orientation,
Z_Overload,
Z_AltitudeAGL,
Z_AltitudeMSL,
Z_VelocityIAS,
Z_VelocityTAS,
Z_VelocityMach,
Мдя.. еслиб я понимал.. ))
В штуках .. это кол-во стволов?
Или патронов на ствол.. в общем то что нужно, если б/к не загружается при снятии с самолета пары стволов.
Важно чтобы общее кол-во б/к на все стволы ..в чате показывалось при появлении.
да, S_GunReserve кол-во "патронов" на ствол(ствол выбирается субтайпом) всего, S_GunClipReserve - кол-во патронов в магазине/ленте текущих(это в основном для турельных, перезаряжаемых стволов)
Что-то типа этого :
numBullet покажет бк на все стволыКод:public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceEnter(player, actor, placeIndex);
AiAircraft ac = actor as AiAircraft;
if (ac !=null)
{
int numBullet = 0;
for (int i=0;i<20;i++)
{
numBullet += (int)ac.getParameter(part.ParameterTypes.S_GunReserve, i);
i++;
}
}
}
Спасибо, информация по параметрам очень пригодится. :thx:
Еще параметр видел, но пока не проверял - I_Time. Это время на часах в кабине должно быть?
I_Time нет, есть I_Timer - часы и секундомер:ещё время получить можно так - GamePlay.gpTimeofDay();Код:/// <summary>
/// [Inst: Timer]
/// <para>Returns timer reading.</para>
/// <para>Generic subtype (-1) shows clock / time of day, hours, [0.0, 24.0);</para>
/// <para>Subtype 0 shows stopwatch reading, seconds.</para>
/// </summary>
I_Timer
1. Снова вопрос по GamePlay.gpNextMissionNumber(), намучался я тут с ним.
При вот таком применении выдает номер подмиссии 0. Почему так может быть? До этого -1 было получается? Почему не 1?
Задача была в методе OnActorCreated сохранить все созданные акторы в заранее созданные списки. Актор добавляется в список только если номер подмиссии совпадает с тем, что получен при помощи GamePlay.gpNextMissionNumber(). Потом этими списками легко управлять: удалять акторы, заново создавать и т.п.Код:public override void Inited()
{
SendMessage.ToServer("[TEST] Номер подмиссии - [{0}]", GamePlay.gpNextMissionNumber());
GamePlay.gpPostMissionLoad("missions\\SMP\\Battle\\submission\\destroyAI.mis");
}
Далее необходимо было удалить все созданные акторы из одного из таких списков, создать новые и также добавить по номеру подмиссии в этот же список. Аналогично третья чистка/замена
В игре выглядит так - город сначала имеет обычное зенитное прикрытие. Как только его выбирают для штурма - все зенитки удаляются и загружается усиленный набор зениток. Штурм закончился, снова загрузился первоначальный набор зениток. Это работает и вполне нормально.
Однако сначала я не заметил баг, но потом попались на глаза зенитки синие и красные в одной точке, так как удаление акторов не происходило из-за неправильно определенного номера подмиссии. Разница была в единицу.
- Т.е. первая загрузка зениток - номер определен неверно, на единицу меньше
- Вторая и третья, уже во время миссии - номер в GamePlay.gpNextMissionNumber() верный
Тут еще особенность, точнее две. В миссии используется наследование от миссии командера. И вторая - первоначально загрузка зениток происходила до Inited(), примерно так:
В этом Data в методе создания зениток правильный номер подмиссии определялся только если прибавить к нему единицу(так как на этот момент GamePlay.gpNextMissionNumber() равен нулю, т.е. номеру хост-миссии):Код:public class Mission : RSTMission
{
MissionBOR Data = MissionBOR.GetInstance; // Get MissionSMP class
public override void Inited()
{
SendMessage.ToServer("[TEST] Номер подмиссии - [{0}]", GamePlay.gpNextMissionNumber());
GamePlay.gpPostMissionLoad("missions\\SMP\\Battle\\submission\\destroyAI.mis");
}
}
Однако если потом в методе OnTickGame(к примеру) удалить акторы-зенитки и создать новые методом SetAAA(), то к номеру подмиссии уже не нужно прибавлять единицу, а если прибавить - то новые акторы не попадут в список через метод OnActorCreatedКод:public void SetAAA()
{
AAAMisNumber = GamePlay.gpNextMissionNumber() + 1;
SMPLibrary.LoadSubmission(BORLibrary.CreateAAArtilleryByTemplate(mapFile, this.Army, 0.2));
SendMessage.ToServer("[SERVER]: Номер подмиссии ААА гарнизона [{0}] - [{1}]", Name, AAAMisNumber);
}
Позже я вынес первое создание акторов в OnTickGame, номера стали совпадать.Код:public void SetAAA()
{
AAAMisNumber = GamePlay.gpNextMissionNumber();
SMPLibrary.LoadSubmission(BORLibrary.CreateAAArtilleryByTemplate(mapFile, this.Army, 0.2));
}
Т.е. сейчас так выглядит:
Выходит до загрузки хостмиссии номер подмиссии на единицу меньше определяется?Код:[15:19:09] 35>difficulty Vulnerability 1
[15:19:09] 36>difficulty WindTurbulence 1
[15:19:09] 37>missLoad missions\SMP\Battle\battle.mis
[15:19:19] 38>[15:19:19] Loading mission ...
[15:19:19] Server to [Server]: ......................
[15:19:19] Server to [Server]: [SERVER]: Инициализация миссии...ok
[15:19:20] Server to [Server]: [SERVER]: Load hostmission: Battle.mis
[15:19:20] Server to [Server]: [TEST] Номер подмиссии - [0]
[15:19:20] Load landscape...
[15:19:22] Load bridges
[15:19:22] LongBridge: wrong width. (3)
[15:19:24] Load static objects...
[15:19:25] Mission loaded. time = 5,933
[15:19:25] Loading mission ...
[15:19:25] Server to [Server]: [SERVER]: Load submission: destroyAI.mis
[15:19:25] Server to [Server]: [TEST]: ЗАГРУЖЕНА МИССИЯ # [1]
2. Вопрос по линии фронта. Сейчас она черная, это будет правиться?
3. Постоянно сообщают о взрывах на аэродромах в некоторых ангарах. Имеет ли смысл собрать информацию о таких ангарах?
Inited() вызывается до загрузки хост миссии, поэтому gpNextMissionNumber() - показывает 0, это номер хост миссии будет.
до загрузки 0-й миссии gpNextMissionNumber() будет показывать 0 (см. лог -
[15:19:09] 37>missLoad missions\SMP\Battle\battle.mis
[15:19:19] 38>[15:19:19] Loading mission ... - миссия начала загружаться
[15:19:20] Server to [Server]: [TEST] Номер подмиссии - [0] - она ещё не загружена, миссий в битве ещзё нет, gpNextMissionNumber() показывает 0
[15:19:25] Mission loaded. time = 5,933 а вот тут она уже загрузилась, в битве есть миссия, gpNextMissionNumber() покажет 1),и я очень бы не советовал загружать какие-то подмиссии до старта основной, лучше это сделать хотя-бы в OnBattleStarted().
думаю да.
ну наверное да.
а после этого уже грузить. Но в Inited-е грузить точно не стоит - может абсолютно не корректно работать.Код:public override void OnBattleStarted()
{
base.OnBattleStarted();
MissionNumberListener = -1;
}
PS а ещё - зачем 400 точек линии фронта ставить - она прокладывается как среднее между соседними маркерами разных цветов. Может проще в центре миссионных районов ставить по флажку соответствующего цвета ?
В такой конструкции работают дополнительные команды, их 5 штук - "?","help", "battle", "missLoad","record" , чтобы использовать kick и другие основные команды надо вот такую конструкцию использовать :
Код:if( !gameServerDef.consoleInput(command)) // выполнит если команда из доп. списка, в противном случае вернёт false и тогда -
gameServerDef.game.CmdExec(command)// должно выполнить основную команду
Спасибо, но с game у меня связана проблема такого плана - любая попытка обращения к нему из скрипта миссии вызывает ошибку. Что-то связанное с сериализацией. Вечером воспроизведу и точнее скажу. Аналогичная ситуация, если подсовывать свою strategy.dll, и пытаться то же самое из нее сделать.
Единственное, как работает - если подсовывать свой серверный аддин (по аналогии с синглом), и запускать ее из интерфейса игры. Там даже срабатывает активация аддина (по крайней мере событие активации приходит). А вот как то же самое сделать для выделенного сервера пока не допер.
Пока эту проблему правда (именно с командой сервера) тупо обошел - сначала команда уходит коммандеру, а он уже непосредственно в консоль ее транслирует.
И никак не получается разобрать, как работают консольные команды admin и secure.
хорошо, буду ждать уточнение, постараемся исправить.
UPD. Можно попробовать поиграть ключём scriptAppDomain в секции [rts] confs.ini:
[rts]
scriptAppDomain=0
0 или 1 возможные значения, может быть ошибка уйдёт.
Завтра напомните пожалуйста, попробую уточнить
admin позволяет назначить клиента администратором сервера. Такой клиент-админ может запускать все команды сервера - в консоль сервера их надо писать с приставкой sc перед командой, например "sc battle start" и т.п.
secure позволяет поставить пароль на, армию, группу или юнит.
Вот такая ошибка
Скрытый текст:
И кусочек кода Strategy, который ее вызывает
А именно строка GameServerIterface gi = gameServer.game;Код:public override void Init(IGamePlay gamePlay)
{
base.Init(gamePlay);
if (gamePlay is GameServerDef)
{
gameServer = (GameServerDef)gamePlay;
gameServer.EventChat += new GameDef.Chat(gameServer_EventChat);
GameServerIterface gi = gameServer.game;
string addinName = gameServer.addInName;
this.GamePlay.gpLogServer(null, "Addin name is `" + addinName + "`", null);
}
}
public override void OnEventGame(GameEventId eventId, object eventArg0, object eventArg1, int eventArgInt)
{
base.OnEventGame(eventId, eventArg0, eventArg1, eventArgInt);
}
Похожую ошибку вызывает также строка
gameServer.EventChat += new GameDef.Chat(gameServer_EventChat);
если ее написать в скрипте миссии. В стратегии нормально.
А АИ наземки правился? Просто колонны как-то плохо ездить стали(машинки разных типов). Ведущая машина постоянно на три-пять корпусов влево по направлению движения держится. Спотыкаются друг об друга часто, раньше стабильней было и резвей ехали
как я понял, при scriptAppDomain=1(по умолчанию) весь game пытается перекинуться в другой домен, что и вызывает ошибку сериализации, глав. программист сказал, что вообще game не планировался для работы из скрипта - он для своего сервера скорее. При scriptAppDomain=0 game остаётся в своём домене и ошибку не должен давать,а вот что за проблема с стартом и стопом - не знаю, вроде-бы не должно ничего страшного происходить.
только это - у меня вроде как ездили так и ездят, может им дорога узковата, если на обочину их маршрут сильно вынуждает выехать - они пытаются вернуться на дорогу, поэтому могут быть косяки.
Для юзерских меток - вот пример миссии Вложение 159600 при создании юзером метки - пишется об этом сообщение и в точку метки от позиции игрока +1000м вылетают бомбардировщики, метка рисуется у всех клиентов. Есть один момент - ивенты о метках приходят в скрипт в сингле, либо от клиентов в сетевой игре, сервер сам свои ивенты не получает.
Не знаю, может из-за сборной колонны(могут быть танки с грузовиками) так. Но первая машина всегда в стороне от дороги, позже еще потестирую. До этого проверял на двух разных дорогах, результат примерно один и тот же.
И они точно не едут по одной колее. Т.е. к примеру 5-6 машин более-менее ровно идут, а пара драндулетов на корпус или больше может в сторону уходить.
На форуме 1С не могут с метками разобраться. Нужна помощь http://forum.1cpublishing.eu/showthread.php?t=34676
Hello naryv,
thanks for posting the hind with "scriptAppDomain = 0", this finally allows me to register to the EventChat.
I have some problems with the creation of user labels. Basically I want to use gpMakeUserLabel to create a user label for each waypoint of an air group, and than use gpMakeUserLabel to draw it to the player. This is needed to show the waypoints to the players under full real realism settings.
The problem is that the labels are not displayed. The creation seems to have been successful, at least gpMakeUserLabel didn't return null. There is also no error or exception in the log.Код:public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceEnter(player, actor, placeIndex);
if (actor is AiAircraft)
{
AiAircraft aiAircraft = actor as AiAircraft;
AiAirGroup aiAirGroup = aiAircraft.AirGroup();
if (aiAirGroup != null)
{
AiWayPoint[] waypoints = aiAirGroup.GetWay();
foreach (AiWayPoint waypoint in waypoints)
{
GPUserLabel userLabel = GamePlay.gpMakeUserLabel(new maddox.GP.Point2d(waypoint.P.x, waypoint.P.x), player, waypoint.P.z.ToString(System.Globalization.CultureInfo.InvariantCulture.NumberFormat), GamePlay.gpTimeofDay(), (int)GPUserIconType.Waypoint);
GamePlay.gpDrawUserLabel(new Player[] { player }, userLabel);
}
}
}
}
Am I missing something? Do I have to store the created user label in order to display it? Is it because the same player is used to create and draw it?
Hi Banks!
Now in single mission there would be event OnUserCreateUserLabel(GPUserLabel ul) after you make gpDrawUserLabel(), but it really don't display, this is bug ( hope it would be fixed with next patch, we didn't test it this way in single). But it should work in online missions, displaying labels for users thats not a server, i mean client players would get displayed labels, server player wouldn't.