Jump to content
xedoc

IL2 CDR (AKA Командер)

Recommended Posts

Как я уже говорил, это не принципиальный вопрос и правильней эту классификацию будет вести на стороне БД.

Но не помешает конечно.

 

Если скрипт вместо Vehicle, например, будет получать Light tank/Heavy tank/Fighter plane/Bomber/Train и т.д. - пользователям будет удобней классифицировать технику. Полное название техники в логе и так есть, так-что табличку можно составить самостоятельно.

Share this post


Link to post
Share on other sites

пример таблицы выложи, предлагаю гуглдок завести, в котором создавать требуемые таблицы...с возможностью последующего импорта в бд

  • Upvote 1

Share this post


Link to post
Share on other sites
Что-то вроде этого:

 

Имя;Тип/классифкация

Sd Kfz 10 Flak 38;Light half-track

ZiS-6 BM-13;Multiple rocker launcher (MLR)

Yak-1 ser.69;Fighter aircraft

 

Это не критично для разработки, но было-бы удобно использовать в статистике.

 

Кое-какая классификация в логе есть. Но например для Yak-1 это "noname", а для большинства наземной техники - "Vehicle". Еще иногда встречается VehicleTurret.

 

Может кстати уже где-то начали wiki делать по технике в BoS...

  • Upvote 1

Share this post


Link to post
Share on other sites

Если кто-то возьмется, отпишитесь. Чтобы не дублировать работу, а поделить.

Share this post


Link to post
Share on other sites

Если кто-то начал выкладывайте открытый линк на файл!

Share this post


Link to post
Share on other sites

DServer иногда остается висеть в памяти, хотя окно закрывается. Соответственно, при следующем запуске Rcon порт уже занят...

Share this post


Link to post
Share on other sites

Идентификаторы сервера и событий решил делать в форме GUID-а. 

 

Генерироваться эти UUID-ы будут в соответствии со спецификацией RFC 4122 4.3 (GUID сформированный на основе SHA1-хеша строки).

Это гарантирует уникальность событий в БД и исключает задвоение данных.

 

Для генерации UUID сервера будет использовано название сервера, а для события: имя сервера + дата/время создания файла лога + номер строки в логе.

Share this post


Link to post
Share on other sites

@@xedoc Очень грубо сроки ,когда можно сказать что вот то то мы имеем сей час работающее ,то то то то легко добавить и т д?

а то @@VPK_CARTOON  не терпится начать сбор средств ,ведь мы его единогласно назначили на эту високую должность))

  • Upvote 1

Share this post


Link to post
Share on other sites

Исходя из опыта, средств наберётся только твоих 10 долларов, Пилот, которых не хватит даже на то чтобы весело отпраздновать окончание работ )))

Edited by VPK_CARTOON

Share this post


Link to post
Share on other sites

Из-за добавления поддержки мультисерверов график чуть сместился. 

Хочу до конца завтрашнего дня успеть сделать поддержку статистики и выложить названия процедур/полей для тех, кто хочет начать собирать данные у себя.

 

Из нового добавлено:

  • определение запущенных процессов DServer.exe и мониторинг новых;
  • чтение конфига каждого сервера и мониторинг соответствующих файлов миссии;
  • модификация конфига каждого сервера, в случае необходимости. Включение недостающих настроек, определение свободных портов для RCon. Оригинальный конфиг бекапится один раз;
  • подключение по RCon( авторизация, получение текста консоли, определение имени сервера );
  • таблица классификации целей;
  • генератор уникальных ID для идентификации событий и серверов;
  • Upvote 8

Share this post


Link to post
Share on other sites

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

  • Upvote 2

Share this post


Link to post
Share on other sites

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

))))

шютка такой?

Share this post


Link to post
Share on other sites

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

 

В логе миссии приходит просто PAYLOAD:0. В редакторе этот ноль означает следующее:

 

pFiCHIG.png

 

Посмотрел еще как моды в редакторе выглядят - там бинарные флаги. В общем моды тоже можно фильтровать  :salute:  

Заодно понял, что означает WM:1 в логе  :biggrin:

Edited by xedoc
  • Upvote 1

Share this post


Link to post
Share on other sites

В редакторе лочить можно, но тогда глюки сразу вылезают. Какие точно, не помню, лучше к Олафу с этим.

Share this post


Link to post
Share on other sites

Ясно, спасибо. Просто на памяти слова Лофта о нежелании вводить ограничение на вооружение.

Share this post


Link to post
Share on other sites

Придумываю человеческие названия для полей в логе. Есть такое начало строки, с событием "Player spawn":

T:13129 AType:10 PLID:402433 PID:182273 BUL:1620 SH:0 BOMB:0 RCT:0 (113655.359,129.266,243216.766) 

 

Игрок спаунится на Як 1, с дефолтным вооружением, без модов.

Судя по значению, BUL (Bullets?) показывает общее количество снарядов к пушкам и патронов к пулемету - 120 + 1500.

 

SH, я так подозреваю Shells (снаряды)? Тут или в 20мм идут патроны или SH это не Shells, или ошибка.

RCT - ракеты или rectangle ? В других события координаты идут с названием вроде BP() BC(), а тут как-то сразу после RCT.

Share this post


Link to post
Share on other sites

Чуть покопался.

Если кому-то еще надо или кто-то может дополнить: 

https://docs.google.com/spreadsheets/d/1PflgRKMKNq_aqRiUNo6WCSc2Jpf1nsXfdmGrBgX4ulk/edit?usp=sharing

Кстати обнаружили что некоторые объекты не идут в стат.

Mg34-аа - не идет в стат

В стат не идут пак38 и зис2 - пушки

Share this post


Link to post
Share on other sites

Хочу до конца завтрашнего дня успеть сделать поддержку статистики и выложить названия процедур/полей для тех, кто хочет начать собирать данные у себя.

Очень ждем

Share this post


Link to post
Share on other sites

Лочить наверное не получится, но выводить предупреждение пользователю и кикать в случае игнора - можно.

это архи-важно и, соответственно, архи-нужно......... ЕМНИП чуть ли не из-за этого, отчасти, на том форуме поцапались Абортэд Мэн и Джейсон Вилльямс (но я могу перепутать, и там в основном из-за анлоков буча началась).............

 

и такая форма вполне подходит, в общем то............. разве что выводить эту надпись минут пять, чисто для доходчивости.......... :biggrin:

Share this post


Link to post
Share on other sites

я еще добавлю, вернее, уточню в том плане, что все таки нужен не только запрет на взлет с чем то запрещенным, нужен именно механизм лимитирования Бф 109 Г-4 с бронестеклом в бронезаголовнике, ЛаГГ-3 с ВЯ-23, и так далее........

Share this post


Link to post
Share on other sites

я еще добавлю, вернее, уточню в том плане, что все таки нужен не только запрет на взлет с чем то запрещенным, нужен именно механизм лимитирования Бф 109 Г-4 с бронестеклом в бронезаголовнике, ЛаГГ-3 с ВЯ-23, и так далее........

Это возможно. Для этого только придется выяснить все комбинации флажков для заданного самолета. 

 

Если я все правильно понял - под каждый самолет выделено аж 8 битов под анлоки. При этом один бит занят под "дефолт". То-есть максимум 7 анлоков на каждый самолет. То-есть например для Яка может быть комбинация: 100010 - выбран РПК и ракеты.

Плюс, есть n-нное количество вариаций выбранной комплектации - вроде дистанции срабатывания взрывателя на ракетах.

 

В скрипте эти флаги анлоков будут просто пронумерованы и придется делать что-то вроде:

при спауне игрока, предупреждаем:

OnSpawn(...)

{

...для каждого самолета свое условие проверки...

if( player.Plane.Mods.Has( Unlocks.Mod1 ) ) 

server.Rcon.Message(player, "Unlock #1 is prohibited! Please change your setup!");

}

 

и потом кик на взлете

OnTakeOff(...)

{

if( player.Plane.Mods.Has( Unlocks.Mod1 ) ) 

server.Rcon.Message("Player blablah is kicked due to violation of the server rules!");

server.Rcon.Kick( player);

}

 

Вот это Unlocks.Mod1 так и останется. Названия сюда прикрутить не получится. Надо будет просто знать, что номер такой-то отвечает за анлок такой-то.

Edited by xedoc
  • Upvote 1

Share this post


Link to post
Share on other sites

Это всё в настройках филда ведь, верно?

В редакторе это видно, если добавить на карту самолет, а подтом сделать ему Create Linked Object(или как там кнопка называется?)

 

В логах это приходит в событии спауна игрока, в виде двух параметров WM:n и MODS:x

WM - weapon modifications (туда входит не только оружие)

MODS - номер вариации модификации. Время взрывателя, например.

Share this post


Link to post
Share on other sites

Попробуйте через настройку филда - в редакторе - это поставить филд, оживить и задать ему доступные самолёты + настроить доступное вооружение. Может быть удастся залочить  До появления на стоянке.

Share this post


Link to post
Share on other sites

Это возможно. Для этого только придется выяснить все комбинации флажков для заданного самолета.

 

Если я все правильно понял - под каждый самолет выделено аж 8 битов под анлоки. При этом один бит занят под "дефолт". То-есть максимум 7 анлоков на каждый самолет. То-есть например для Яка может быть комбинация: 100010 - выбран РПК и ракеты.

Плюс, есть n-нное количество вариаций выбранной комплектации - вроде дистанции срабатывания взрывателя на ракетах.

 

В скрипте эти флаги анлоков будут просто пронумерованы и придется делать что-то вроде:

при спауне игрока, предупреждаем:

OnSpawn(...)

{

...для каждого самолета свое условие проверки...

if( player.Plane.Mods.Has( Unlocks.Mod1 ) )

server.Rcon.Message(player, "Unlock #1 is prohibited! Please change your setup!");

}

 

и потом кик на взлете

OnTakeOff(...)

{

if( player.Plane.Mods.Has( Unlocks.Mod1 ) )

server.Rcon.Message("Player blablah is kicked due to violation of the server rules!");

server.Rcon.Kick( player);

}

 

Вот это Unlocks.Mod1 так и останется. Названия сюда прикрутить не получится. Надо будет просто знать, что номер такой-то отвечает за анлок такой-то.

Может сопоставить названия анлоков массивом? Причем массив можно даже каким-нибудь конфигурационным скриптом определять, чтобы не ппресобирать командер под каждую новуюверсию игры... Потому как "анлок#1" не торт.

 

И еще заложить возможность выдавать сообщения в соответствии с локализацией. Настраивать их по типу как в игре, отдельными локализационными файлами. Если файла для этой локализации нет - выводить сообщения на английском. Плюс в том, что западные игроки смогут сами своих локализаций добавить, ну и наши, кто по англицки не шпрехает, будут понимать че им сервер пишет.

Share this post


Link to post
Share on other sites

Пересобирать точно не понадобится, поскольку обработка событий вынесена в скрипты, которым не нужна компиляция.

Локализацию тоже можно сделать на уровне скрипта. Для этого ничего компилировать не надо  :cool:

 

По анлокам - сами флажки проименовать нельзя, потому-что одно и тоже значение означает совершенно разные вещи у разных самолетов.

Но сделать удобный метод, с человеческим названием, в самом скрипте, для проверок конкретных анлоков, ничего не мешает. Это обычный текстовый файл.

Share this post


Link to post
Share on other sites

 Xedoc, назрел вопрос. В старичке запрос и подтверждение на прикрытие штурмовиков и бомберов отдавался посредством использования дымов. Имеется ли возможность воспроизвести нечто подобное в разрабатываемом тобой командере?

Share this post


Link to post
Share on other sites

Нет, дымы к сожалению в логи не пишутся.

 

Как вариант, можно использовать команды чата.

Например, легко реализовать такой диалог:

  • пилот бомбера запрашивает поддержку с помощью команды "cover" в чате;
  • всем пилотам истребителей будет отправлено "Raven 12345: Need CAS in sector 350,5. Over!"
  • истребителю, который находится неподалеку, чтобы принять запрос надо будет написать: "accept 12345"
  • пилоту бомбера приходит ответ: "Eagle 54321: Affirmative Raven 12345. On my way! Over!"

Только, вот с определением сектора вопрос. Надо будет заставить миссию записать в лог что-нибудь с координатами или поставить значек на карте.

Дернуть миссию можно через rcon, командой Server Input. А вот что дальше - зависит от возможностей редактора миссии...

 

Можно и без обратной связи с миссией сделать. Можно использовать дымы и команду, в условиях прямой видимости.

Edited by xedoc
  • Upvote 1

Share this post


Link to post
Share on other sites

Дымов то вроде нет. АНО только. Или я чего пропустил?

 

Завязывать на саму миссию в редакторе вроде нет смысла, а вот обрабатывать событие силами скриптов самого командера наверное стоит.

 

По типу того, что бобры или штурмы регистрируют какой-то командой группу, работающую по определенной цели. отправляют запрос на прикрытие - ястребы регаются в ответ на запрос. Далее обработка выполнения задачи - обработка результатов работы по цели, кто вернулся, кто погиб и прочее. Если будут универсальные методы для работы со скриптом - можно много напридумывать. Главное не усложнять.

 

Как вариант - попробовать сделать силами командера нумерацию целей из миссии (ну либо картоделу как-то это реализовывать, чтоб командер прочитать мог). Тогда проще будет подобный функционал прикручивать.

Share this post


Link to post
Share on other sites

Xedoc, назрел вопрос. В старичке запрос и подтверждение на прикрытие штурмовиков и бомберов отдавался посредством использования дымов. Имеется ли возможность воспроизвести нечто подобное в разрабатываемом тобой командере?

ТС Вам в помощь))....остальные пускай сдохнут сами виноваты!!!

По типу того, что бобры или штурмы регистрируют какой-то командой группу, работающую по определенной цели. отправляют запрос на прикрытие - ястребы регаются в ответ на запрос. Далее обработка выполнения задачи - обработка результатов работы по цели, кто вернулся, кто погиб и прочее. Если будут универсальные методы для работы со скриптом - можно много напридумывать. Главное не усложнять.

Ребят у Вас гигантский функционал в ФМБ. Там и так черт ногу сломит, а вы хотите еще коммандер сделать со 100 страничным описанием.

Ставь КомплексТриггер и любая цель тебе нужную инфу выдаст! Или считай уничтоженные объекты и передавай запрос на поддержку. Зачем это пихать в коммандер не понимаю?

  • Upvote 2

Share this post


Link to post
Share on other sites

WT дает себя знать  :rolleyes:. Включение огней в логи тоже не пишется.

Но лучше было-бы радио-команды в логи писать (кстати, может и пишутся - не проверял еще)

Share this post


Link to post
Share on other sites

ТС Вам в помощь))....остальные пускай сдохнут сами виноваты!!!

Не прав!. 20 чел в ТС это перебор. Практика показывает что сквады сидят по своим ТС. У нас 4 иногда такой галдеж устраивают в бою, что слово вставить трудно.

Share this post


Link to post
Share on other sites

ТС Вам в помощь))....остальные пускай сдохнут сами виноваты!!!

ТС ТСом, а вот обработка результатов миссий и начисление очков в стату при такой реализации может быть весьма интересна. Имхо, как раз результативность командной работы, гораздо лучше всяких индивидуальных КД и иже с ними...

Ну и про ТС Борада все верно расписал. Разбегание по разным комнатам не всегда спасает и не все этим заморачиваются...

Share this post


Link to post
Share on other sites

В логи приходят сообщения о группах/формациях.

Не знаю, возможно реально средствами редактора объединить игроков в формацию. Для каждой группы в логи пишется еще и лидер отдельно,

Share this post


Link to post
Share on other sites

Нет, дымы к сожалению в логи не пишутся.

 

 

Сигнальная ракета возможно пишется. В редакторе на нее есть реакция у тригеров. 

Share this post


Link to post
Share on other sites

В логи приходят сообщения о группах/формациях.

Не знаю, возможно реально средствами редактора объединить игроков в формацию. Для каждой группы в логи пишется еще и лидер отдельно,

Средствами редактора можно работать только со статичной группой (которая сразу в миссии рисуется). Даже если спавнить объекты нпс - в группы их уже объединить нельзя. Во всяком случае так было в РОФ и в предыдущей версии редактора. так что сама по себе работа с такими группами тут особо не поможет.

Share this post


Link to post
Share on other sites

В старичке писали код для ручного объединения в группы через команды в чат. Создать группу, цель группы, присоединится к группе.....Но это заморочно.

Share this post


Link to post
Share on other sites

Через чат группу создать не проблема. Проблема, что для миссии это будет не группа.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...