=V=Heromant Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 Через чат группу создать не проблема. Проблема, что для миссии это будет не группа.Не заморачивайся на эти группы. Разве что базовый функционал сделай, чтоб потом, если вдруг появится возможность работать с группами через спавн, не заморачиваться. Сейчас для более менее продвинутой работы с событиями дефолтные внутриигровые группы вообще не применимы.В старичке писали код для ручного объединения в группы через команды в чат. Создать группу, цель группы, присоединится к группе.....Но это заморочно.Эти функции можно вынести в вебморду. Тогда задача будет сильно проще. Разве что за неимением планшета или второго компа/монитора придется альт-табаться...
JGr124_boRada Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 (изменено) Через чат группу создать не проблема. Проблема, что для миссии это будет не группа. ИМХО Главно это в базу записать, чтоб учитывать после миссии. Кто помнит - это было нужно для поощрения и наказания. Это уже не коммандер, а обработка статистики, но писать в базу должен он, родимый. Изменено 5 марта 2015 пользователем JGr124_boRada 2
=KK=Des_ Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 Не прав!. 20 чел в ТС это перебор. Практика показывает что сквады сидят по своим ТС. У нас 4 иногда такой галдеж устраивают в бою, что слово вставить трудно. Проблема организации игрового процесса. Бобры отдельно ястребы отдельно...старший группы на прослушке другого канала + деление по фронтам. А главных говорунов утихомирить чтоб по делу говорили. Средствами редактора можно работать только со статичной группой (которая сразу в миссии рисуется). Даже если спавнить объекты нпс - в группы их уже объединить нельзя. Во всяком случае так было в РОФ и в предыдущей версии редактора. так что сама по себе работа с такими группами тут особо не поможет. Да тут такая же фигня! Только по одиночке. мало того что наземку жутко тупая, так еще и по одиночке приходится везти их к цели. Тупость наземки иногда убивает просто.
JGr124_boRada Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 (изменено) Проблема организации игрового процесса. Бобры отдельно ястребы отдельно...старший группы на прослушке другого канала + деление по фронтам. А главных говорунов утихомирить чтоб по делу говорили. Мир не идеален. Реалии больно бьют по желаниям. В итоге на популярном проекте проще организоваться в чате, чем в базарном ТС. Нервов уйдет больше. Да и разговор не о том, что выбирать, а о том что нужны все возможные инструменты. Кто-то в ТС сможет, кому-то через чат-команды (особенно если с иностранцами летать) К тому же, как писал уже, в стате работа в группе может учитываться отдельно. Изменено 5 марта 2015 пользователем JGr124_boRada
xedoc Опубликовано: 5 марта 2015 Автор Опубликовано: 5 марта 2015 Интересный момент - игрок это комплексный объект, состоящий из собственно игрока, самолета и бота-пилота. У каждой составной части есть свой ID. При этом повреждения наносятся боту-пилоту и самолету отдельно...
walgar Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 (изменено) Это возможно. Для этого только придется выяснить все комбинации флажков для заданного самолета. Если я все правильно понял - под каждый самолет выделено аж 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 так и останется. Названия сюда прикрутить не получится. Надо будет просто знать, что номер такой-то отвечает за анлок такой-то. Тут все несколько проще. Используется битовая маска https://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BC%D0%B0%D1%81%D0%BA%D0%B0 По сути, мы имеем не 7-мь максимальных модификаций, а 255. И нам не нужно подбирать все возможные комбинации модификаций и запоминать их. Достаточно знать (далее сугубо пример без привязки к реальным ID) 1. ID модификации. Так, допустим просто РПК пусть будет RPK= 00000010. А ракеты ROKET= 00000100 2. ID пустого или дефолтного состояния. Пусть это будет DEFAULT= 00000000 Ставим на самолет РПК. Маска будет генерироватся логическим умножением: planeStatus = DEFAULT| RPK (результат 00000010) Теперь еще и ракеты: planeStatus = planeStatus | ROKET (результат 00000110) Теперь чтобы узнать установлены ли ракеты нам достаточно применить логическое сложение & к planeStatus: if(palneStatus & ROKET) { ууииии у нас установлены ракеты } Написал сумбурно и давно на практике на писал битовых масок потому мог что-то и напутать, но суть такая. И все что нам нужно знать это значение констант отвечающих за отдельную модификацию а не их вариации. Изменено 5 марта 2015 пользователем vortekc
xedoc Опубликовано: 5 марта 2015 Автор Опубликовано: 5 марта 2015 Не вижу как может получиться 255.. Например, в редакторе 100010 это компас и ракеты: первая единица - ракеты, вторая компас. Каждый бит отвечает за определенный номер анлока у каждого самолета. Комбинация битов = комбинация анлоков, а не номер комплектации или номер анлока. Номер комплектации вынесен в отдельное значение, но он управляет только настройками выбранных анлоков, а не их типом. Собственно вот то .Has() и делает planeStatus & ROCKET Это удобство из C#. Там можно enum пометить как битовое поле с помощью аттрибута Flags и пользоваться удобными методами, вместо булевых операций. Да, если-бы у каждого анлока, каждого самолета, был-бы свой уникальный ID на всю игру, то было-бы проще. Но имеем то, что имеем. Позже могу написать такой хелпер-метод, который на входе будет получать три параметра: самолет, анлоки и их модификацию, а на выходе отдавать enum-тип со значениями вида: Unlocks.Yak1Rockets82mmx2 Но для этого надо составить полную таблицу битовых масок и модификаций анлоков под каждый самолет.
walgar Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 (изменено) Вот сделал простой пример https://gist.github.com/vortekc/977d1c140afedf029f74 P.S. правда он на JAVA Изменено 5 марта 2015 пользователем vortekc
walgar Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 Ну да. ID есть для конкретной модификации. Но они пересекаются в разных самолетах да. Все верно нужно знать еще какой самолет.Кажется и вправду мы говорили об одном и том же.
xedoc Опубликовано: 5 марта 2015 Автор Опубликовано: 5 марта 2015 Буду в отъезде до субботы. Желающие, можете потестить мониторинг процесса DServer-а, запись фрагов в MySQL и т.п: https://app.box.com/s/g6tmcu9tjv3eyeexf9buvhi1dqc4ofj1 Настройки mysql меняются на закладке Scripts->Frag counter Описание скрипта и список полей в настройках генерируется автоматически на основе кода в скрипте: Для применения параметров пока надо перезапускать программу. Потом добавлю кнопочку. Скрипты и конфиг сохраняются в папке Documents\IL2CDR\ В примере скрипта (LocalStatistics.cs) запись в MySQL сейчас вызывается так: Я подумал, что универсальней будет сделать не через параметры процедуры, а через локальные переменные сессии. Имя процедуры: RecordPlayerKill() Переменные сессии mysql: @Kill.EventId - Уникальные Guid события @Kill.Attacker.Name - ник атакующего @Kill.Target.Name - ник фрага @Kill.Attacker.Country.Id - ID страны атакующего. Название тоже доступно в attacker.Country.Name, например. @Kill.Target.Country.Id - ID страны фрага. Сам не тестил еще 4
NobbyNobbs Опубликовано: 5 марта 2015 Опубликовано: 5 марта 2015 http://forum.il2sturmovik.ru/topic/5-voprosy-razrabotchikam/?p=273856
=V=Heromant Опубликовано: 6 марта 2015 Опубликовано: 6 марта 2015 Позже могу написать такой хелпер-метод, который на входе будет получать три параметра: самолет, анлоки и их модификацию, а на выходе отдавать enum-тип со значениями вида: Unlocks.Yak1Rockets82mmx2 Но для этого надо составить полную таблицу битовых масок и модификаций анлоков под каждый самолет. Лучше подобное описание выносить в отдельный скрипт, который можно будет дополнять в соответствии с появлением новых самолетов и их модификаций.
=KK=Des_ Опубликовано: 6 марта 2015 Опубликовано: 6 марта 2015 Не стартует: Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: IL2CDR.exe Версия приложения: 0.0.0.1 Отметка времени приложения: 54f85c3e Имя модуля с ошибкой: KERNELBASE.dll Версия модуля с ошибкой: 6.1.7601.17651 Отметка времени модуля с ошибкой: 4e211319 Код исключения: e0434352 Смещение исключения: 0000b9bc Версия ОС: 6.1.7601.2.1.0.274.10 Код языка: 1049 Дополнительные сведения 1: 0a9e Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789 Дополнительные сведения 3: 0a9e Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789 Ознакомьтесь с заявлением о конфиденциальности в Интернете: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419 Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом: C:\Windows\system32\ru-RU\erofflps.txt
xedoc Опубликовано: 6 марта 2015 Автор Опубликовано: 6 марта 2015 (изменено) Забыл сказать, что программе нужен .Net 4.5 О и какая операционка? Я пока на северной винде не тестил... Только 7/8 Изменено 6 марта 2015 пользователем xedoc
xedoc Опубликовано: 6 марта 2015 Автор Опубликовано: 6 марта 2015 Есть у меня такая-же, только стандарт. Проверю. А нет фреймворк установлен, 4.5 ? Без него сейчас даже новый интеловский установщик дров не работает...
=M=PiloT Опубликовано: 6 марта 2015 Опубликовано: 6 марта 2015 Что нужно стартовать для проверки? Просто IL2CDR.exe ? На вин 8.1 у мну запустилось ,вижу вот это: 1
xedoc Опубликовано: 6 марта 2015 Автор Опубликовано: 6 марта 2015 На закладке Servers, при запуске DServer, должен появиться статус ркона и конфига. Если открыть sds, то имя сервера появится. Если есть mysql, то можно его настроить в Scripts и тоже потестить. Процедуру в mysql пока надо вручную создавать.
xedoc Опубликовано: 6 марта 2015 Автор Опубликовано: 6 марта 2015 Я бы под четвертый писал, но в 4.5 столько всякого вкусного. Не могу отказаться
=M=PiloT Опубликовано: 6 марта 2015 Опубликовано: 6 марта 2015 Да, DS заставил работать IL2CDR.exe ,что там завертелось и т д) ...я просто любопытствовал ,я не из тех кто планирует держать сервер.
xedoc Опубликовано: 6 марта 2015 Автор Опубликовано: 6 марта 2015 (изменено) Для одиночной миссии тоже может в теории работать. Надо будет глянуть что там за логи. Если получится, то добавлю индикатор попаданий по ботам, чтобы стрельбу тренировать. Хотя это и на уровне миссии наверное можно сделать. Изменено 6 марта 2015 пользователем xedoc
xedoc Опубликовано: 6 марта 2015 Автор Опубликовано: 6 марта 2015 Лучше подобное описание выносить в отдельный скрипт, который можно будет дополнять в соответствии с появлением новых самолетов и их модификаций. Не проверял, но по идее скрипты должны видеть классы определенные в соседних скриптах. Попробую, как вернусь.
yaKUBoffich Опубликовано: 6 марта 2015 Опубликовано: 6 марта 2015 А что там с проектом Joystick Curves? Год не проверял, с тех времен купил педали, которые WT не видит. Не велика потеря, но иногда после какого-нибудь здорового патча тянет туда зайти поногебать)) Так вот Ваша прога - это единственный выход, но мне помнится, что в свое время казалось, что отклик виртуального джоя не так хорош, как хотелось бы. В этой части что-нибудь дорабатывалось за год, или все, что можно, Вы из этой проги уже выжали раньше?
bimmer Опубликовано: 7 марта 2015 Опубликовано: 7 марта 2015 Не проверял, но по идее скрипты должны видеть классы определенные в соседних скриптах. Попробую, как вернусь. Хedoc ,личку глянь.
xedoc Опубликовано: 7 марта 2015 Автор Опубликовано: 7 марта 2015 А что там с проектом Joystick Curves? Год не проверял, с тех времен купил педали, которые WT не видит. Не велика потеря, но иногда после какого-нибудь здорового патча тянет туда зайти поногебать)) Так вот Ваша прога - это единственный выход, но мне помнится, что в свое время казалось, что отклик виртуального джоя не так хорош, как хотелось бы. В этой части что-нибудь дорабатывалось за год, или все, что можно, Вы из этой проги уже выжали раньше? Задержки отклика были из-за драйвера. Я уже давно добавил поддержку еще одного виртуального джоя (headsoft-овского), который абсолютно не тормозит. Так-что все работает быстро и стабильно. Хedoc ,личку глянь. Ответил. Я два дня в отъезде был. С плашета не очень удобно отвечать было. Со вторника кстати опять с бала на корабль...
IvanoBulo Опубликовано: 7 марта 2015 Опубликовано: 7 марта 2015 Есть у кого логи сервера? Побольше желательно. Хочу поексперементировать немного.
=KK=Des_ Опубликовано: 7 марта 2015 Опубликовано: 7 марта 2015 Если у тебя есть игра ты их сам создаешь у себя локально))
NobbyNobbs Опубликовано: 7 марта 2015 Опубликовано: 7 марта 2015 Есть у кого логи сервера? Побольше желательно. Хочу поексперементировать немного. если побольше, то спроси у ДЕДов или у Гагарина их топики: http://forum.il2sturmovik.ru/topic/2397-cerver-krylya-cvobody-wings-liberty-expert/page-18 http://forum.il2sturmovik.ru/topic/2093-ded-expert-server/page-31
=KK=Des_ Опубликовано: 8 марта 2015 Опубликовано: 8 марта 2015 https://cloud.mail.ru/public/7e2acba573db/data.rar - берите наздоровье
xedoc Опубликовано: 8 марта 2015 Автор Опубликовано: 8 марта 2015 https://cloud.mail.ru/public/7e2acba573db/data.rar - берите наздоровье А на этом сервере спаун игроков где происходит ? В воздухе, на филде ?
xedoc Опубликовано: 8 марта 2015 Автор Опубликовано: 8 марта 2015 Не проверял, но по идее скрипты должны видеть классы определенные в соседних скриптах. Попробую, как вернусь. Проверил - все работает. Можно сделать скрипт с такими небольшими утилитами, вроде определения анлоков и вызывать его из других скриптов. Все подхватывается. Также и локализацию сообщений можно сделать. Вплоть до привязки к geo2ip 3
=V=Heromant Опубликовано: 8 марта 2015 Опубликовано: 8 марта 2015 Проверил - все работает. Можно сделать скрипт с такими небольшими утилитами, вроде определения анлоков и вызывать его из других скриптов. Все подхватывается. Также и локализацию сообщений можно сделать. Вплоть до привязки к geo2ip Круто. Остался один вопрос: скрипт на Шарпе это какая-то отдельная специфичная конструкция или что? Если есть ссылка на описание (лучше на русскоязычное) - лучше ее, дабы не оффтопить... А то гугл на русском не хочет на вскидку давать...
xedoc Опубликовано: 8 марта 2015 Автор Опубликовано: 8 марта 2015 Нет, используется обычный синтаксис C#. Просто не компилируется, а выполняется из текстового файла. Используется этот движок: http://www.csscript.net/ Взял-бы roslyn, но микрософт никак его не выпустит
Mihalich1981 Опубликовано: 8 марта 2015 Опубликовано: 8 марта 2015 (изменено) Для посонов расшифруйте... (я спарава) Изменено 8 марта 2015 пользователем Mihalich1981
xedoc Опубликовано: 9 марта 2015 Автор Опубликовано: 9 марта 2015 Расшифровываю: программа делается максимально доступной для внесения изменений и серьезно облегчает работу с сервером игры :D Сегодня добавил поддержку всех rcon-команд. Остался только перехват чата и можно приступать к различным ADW. Пока в отъезде буду, подумаю над веб-страничкой статистики. Сделаю зарисовки на планшете. Думаю сделать один глобальный сайт для всех серверо-держателей. Для начала простой, с K/D, но с заделом на разные топы: с килстриками, снайперами и т.п. 17
Mihalich1981 Опубликовано: 9 марта 2015 Опубликовано: 9 марта 2015 (изменено) Расшифровываю: программа делается максимально доступной для внесения изменений и серьезно облегчает работу с сервером игры :D Спасибо. Вы просто... ну там раз в неделю (если не затруднит) , для тех кто в танке новости давайте на простом русском А то у меня после прочтения темы каждый раз глаза как у того чела справа становятся А ведь интересно ж когда оно уже. И огромное спасибо, за то что взялись за командер. Изменено 9 марта 2015 пользователем Mihalich1981 3
=KK=Des_ Опубликовано: 9 марта 2015 Опубликовано: 9 марта 2015 А на этом сервере спаун игроков где происходит ? В воздухе, на филде ? Логи взял за длительный период....могут и так и так быть.
Stab/JG52_DiO Опубликовано: 9 марта 2015 Опубликовано: 9 марта 2015 Думаю сделать один глобальный сайт для всех серверо-держателей. Для начала простой, с K/D, но с заделом на разные топы: с килстриками, снайперами и т.п. А можно не глобальный, а каждому свой? А то понаделают таких убожеств, что глаза в кучу бегут. Давай я спрошу у Графита, может быть он смог бы нарисовать макет под сайт статы.
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас