Перейти к содержимому
xedoc

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

Рекомендованные сообщения

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

  • Поддерживаю! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Что-то вроде этого:

 

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

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...

  • Поддерживаю! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

  • Поддерживаю! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем VPK_CARTOON

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

  • Поддерживаю! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

))))

шютка такой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

pFiCHIG.png

 

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

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

Изменено пользователем xedoc
  • Поддерживаю! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Придумываю человеческие названия для полей в логе. Есть такое начало строки, с событием "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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Очень ждем

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я еще добавлю, вернее, уточню в том плане, что все таки нужен не только запрет на взлет с чем то запрещенным, нужен именно механизм лимитирования Бф 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 так и останется. Названия сюда прикрутить не получится. Надо будет просто знать, что номер такой-то отвечает за анлок такой-то.

Изменено пользователем xedoc
  • Поддерживаю! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Если я все правильно понял - под каждый самолет выделено аж 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" не торт.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

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

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

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

 

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

Изменено пользователем xedoc
  • Поддерживаю! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

  • Поддерживаю! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×