-
Вложений: 2
REPKA.Commander beta 1
REPKA.Commander public beta v1
Важно! Для корректной работы коммандер требует прав администратора, установленного .NET Framework 4, и на всякий случай, файловую систему NTFS ))
1. Инструкция по установке.
- Разархивируйте содержимое архива в любую папку на Вашем компьютере - это будет папка коммандера. Откройте папку и скопируйте содержимое папки Game в папку игры.
- Двойным щелчком запустите файл CommanderUI.exe. Будет предложено указать местоположение пользовательской папки игры. Например, "C:\Users\Small_Bee\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\" Это сделать нужно обязательно, если папку не указывать или указать неправильно, за работоспособность коммандера не ручаюсь.
После того, как Вы укажите требуемую папку, запустите коммандер еще раз. В пользовательской папке игры будет создана папка "REPKA.Commander". Не переносите и не удаляйте ее! С этого момента коммандер готов к работе. Запускается он в свернутом в трей виде. Что бы увидеть окно коммандера, щелкните по значку в трее правой клавишей и выберите "Показать окно коммандера".
2. Настройки коммандера.
Что бы попасть в окно настроек, щелкните по значку с гаечными ключами в правом верхнем углу окна.
Откроется окно, в котором есть несколько разделов настроек.
Базовые настройки
- Путь к Launcher.exe. Если программа некорректно определила путь, задайте его вручную, щелкнув по небольшой кнопке справа.
- Параметры запуска. Для запуска выделенного сервера используется ключ -server, назначен по умолчанию.
- Команда после запуска. Определите в этом окошке команду, которая будет выполнена сразу после запуска сервера. Например "f 1.cmd".
- Приоритет процесса сервера. Не меняйте эту настройку, если не вполне понимаете что это и каковы могут быть последствия.
- Автозапуск сервера после старта коммандера. Если отмечено, коммандер попытается запустить сервер сразу же после своего старта.
- Скрывать окно сервера после запуска. Если отмечено, коммандер скроет консольное окошко сервера.
- перезапустить сервер в случае аварийной остановки. Если отмечено, коммандер попытается перезапустить сервер, если тот самовольно завершит свою работу по какой либо причине.
- сохранять логи сервера в папке коммандера. Если отмечено, коммандер переместит лог сервера в свою папку, а в папке игры лог удалит. Имя файла будет отражать даты начала и завершения лога. Скопированные логи находятся в папке ServerLogs папки коммандера.
- очистить кэш перед запуском сервера. Если отмечено, коммандер очистит кэш игры перед запуском сервера.
- только скомпилированные сборки скриптов. Если отмечено, из кэша будут удалены только dll файлы.
Внимание: очистка кэша не затрагивает папку shaders
По остальным разделам все должно быть ясно без слов. Настройки категории "Игровая статистика" сейчас ни на что не влияют - отключены.
3. Ротатор карт
- Что бы добавить карты в ротатор, переместите их в папку Repka.Commander/Missions в пользовательской папке игры.
- Перейдите на вкладку Ротатора (правый верхний угол окна коммандера, значок с двумя стрелочками) и нажмите кнопку "Обновить список карт". В списке справа появятся карты, а также к каждой карте, если у нее нет скрипта, автоматически будет добавлен таковой, минимально необходимый для корректного функционирования командера. Последовательно выберите каждую и нажмите кнопку "Создать настройки карты". Теперь ротатор готов к работе.
Важно! Имена файлов миссий не должны содержать пробелов!
3.1 Настройки карт ротатора.
- Название и Комментарий используются сугубо для информативности и на карту не влияют.
- Длительность. Продолжительность проигрывания карты. По истечению времени будет загружена следующая карты в списке и т.д. Если карта в списке последняя, будет загружена первая карта.
- Эта карта участвует в ротации. Если отключить, Ротатор будет пропускать эту карту
- Предустановленные скрипты. На данный момент не реализовано.
- Кнопки в верхней части. Стрелки вверх и вниз меняют порядок следования карт. Зеленая кнопка со стрелочкой отмечает карту как следующую (будет запущена вне очереди). Остальные кнопки сохраняют и откатывают несохраненные изменения в настройках карты.
Если Ваша карта состоит из более чем одного файла карты и скрипта, поместите остальные файлы рядом в одноименную карте папку, что бы ротатор их не принял за нормальные карты.
4. Запуск сервера
- Перейдите на главную страницу и нажмите кнопку "Запустить сервер". Также сервер будет запущен автоматически, если отмечена соответствующая опция в настройках.
- В зависимости от настроек, будет предпринята попытка запуска Steam; будет очищен кэш, файл лога сервера скопирован, запущен сервер и установлены настройки реализма и маркеров. Если в Ротаторе есть хоть одна карта, которая не исключена из ротации, будет запущено сражение с этой картой.
- После запуска сервера поле ввода внизу главной страницы можно использовать непосредственно для ввода команд в консоль сервера.
5. Остановка сервера/сражения.
- Перейдите на главную страницу и нажмите кнопку "Остановить сервер". Если в данный момент идет сражение, оно будет предварительно остановлено.
- Что бы немедленно запустить следующее сражение в ротации, нажмите кнопку "Следующее сражение".
6. Требования к скрипту миссии.
Если карта не имееет собственного скрипта, необходимый скрипт будет добавлен автоматически. Однако если скрипт есть, для корректной работы коммандера необходимо будет выполнить несколько действий.
- первой строкой поместить строку
//$reference REPKA.Stat.dll
- класс миссии должен наследоваться от RSTMission
- переопределить метод Inited(), в котором указать имя сражение и название карты, так, как она выглядит в mis файле, исключая все, что до знака $.
В качестве примера можно использовать скрипт, который коммандер добавляет к картам автоматически.
7. Новые методы класса RSTMission
Если Вы все сделали правильно, и унаследовали класс своей миссии от класса RSTMission, Вам будет доступно несколько новых возможностей (пока немного :))
- Метод SendServerCommand(string command)
Отправляет команду в консоль сервера. Например "kick Small_Bee", что вызовет кик указанного игрока с сервера.
- Метод DrawnBattle()
Вызывает сообщение, что битва закончилась ничьей и загружает следующее сражение по истечении 1 минуты.
- Метод RedArmyWon()
Вызывает сообщение, что битва закончилась победой красных и загружает следующее сражение по истечении 1 минуты.
- Метод BlueArmyWon()
Вызывает сообщение, что битва закончилась победой синих и загружает следующее сражение по истечении 1 минуты.
За одно сражение можно вызвать только один метод из вышеуказанных трех и только 1 раз. Т.е. нельзя будет сначала показать победу красных, а после ничью.
Важно! При переопределении методов в скрипте всегда вызывайте первой строкой базовый метод! В противном случае корректная работа коммандера не гарантируется.
8. Сброс настроек к настройкам по умолчанию.
Удалите файл settings.dat в папке Data папки коммандера.
9. Фон окна коммандера.
При желании вы можете заменить фоновую картинку коммандера на свою. Для этого замените файл Media/Images/bg.png в папке коммандера на свой. Поддерживаемые форматы - png, bmp, jpg. Можете вообще его удалить, получится весело, но неудобно. )
===============================================
UPD 25/05/2012
Небольшое исправление (Вложение 154924) неприятной ошибки, когда запуск битвы в обход ротатора приводил к появлению диалогового окна с ошибкой. Файл из архива положить в папку игры с заменой.
-
Re: REPKA.Commander beta 1
СПАСИБО! :bravo:
Все установилось, командер красивый)) Настройки работают и огромное за них спасибо, все наглядно и понятно
Вот такая штука:
Код:
[22:16:23] 37>mp_dotrange COLOR 6 DOT 16 RANGE 6 TYPE 6 ID 6 NAME 6
[22:16:23] 38>missLoad REPKA.Commander\Missions\vulkan.mis
[22:16:23] 39>[22:16:23] Loading mission ...
[22:16:23]
[22:16:23] =================================================
[22:16:23] System.Exception: (0,0): error CS0006: Metadata file 'REPKA.STAT.DLL' could not be found
[22:16:23]
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.Ukf613EEXxT(String , Boolean , Boolean )
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.Xf161Mju1Nx(String )
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.7OU61dBcdDJ(String , Int32 )
[22:16:23] =================================================
[22:16:23]
[22:16:23] =================================================
[22:16:23] System.Exception: (0,0): error CS0006: Metadata file 'REPKA.STAT.DLL' could not be found
[22:16:23]
[22:16:23] at gMeXbOZU7IIYxeiGr3D.NJXGhJZvsqEZ0noi3Y9.7OU61dBcdDJ(String , Int32 )
[22:16:23] at LdqfGchyH689qEUt9pi.i903C2hdBoFbExMjXEu.JcZHrPbutp(uDuTuNIPvVax7RHxHas )
[22:16:23] =================================================
[22:16:23] Load landscape...
[22:16:23] Load bridges
[22:16:23] Load static objects...
[22:16:29] Mission loaded. time = 5,861
Миссия простая, без скриптов.
Автоматически созданный скрипт миссии. Может путь в референсах нужен точный?
Код:
// It`s an auto-generated script from REPKA.Commander
//$reference REPKA.Stat.dll
using RepkaMissionsLib;
public class Mission : RSTMission
{
public override void Inited()
{
base.Inited();
BattleName = "vulkan";
MapName = "Online_Volcanic_Island"; //
}
}
У меня сейчас нет внешнего ip, но в списке серверов в локалке виден. Позже попробую зайти.
-
Re: REPKA.Commander beta 1
Точный путь не надо.
Если на этом этапе выдало ошибку, скрипт не загрузился совсем. Ковыряю что такое.
UPD Такое может быть, если у Launcher`a текущая директория отличается от его родной папки. Попробуй может абсолютный путь, но сомневаюсь.. Коммандер устанавливает рабочей папкой папку лаунчера.
Можно попробовать положить repka.stat.dll (и вторую dll тоже!) в parts/bob или parts/core
Еще попробуй этот скрипт открыть в полном редакторе и попробовать скомпилить.
Ну и самое очевидное - не положил dll-ки из Game в папку игры. Именно папку игры, та, которая в Steam. У меня она вот так выглядит:
E:\Games\Steam\steamapps\common\il-2 sturmovik cliffs of dover
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Ну и самое очевидное - не положил dll-ки из Game в папку игры. Именно папку игры, та, которая в Steam. У меня она вот так выглядит:
E:\Games\Steam\steamapps\common\il-2 sturmovik cliffs of dover
Да, точно. Я всю папку скопировал)
-
Re: REPKA.Commander beta 1
Спасибо!!!:beer: отличная новость
-
Re: REPKA.Commander beta 1
А будет возможность выбора следующей карты в зависимости от результата предыдущей? Или это уже надо ручками скрипт писать?
P.S. Всем причастным к написанию - ОГРОМНОЕ СПАСИБО!
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Vetochka
А будет возможность выбора следующей карты в зависимости от результата предыдущей?
В самое ближайшее время. Будут перегруженные версии методов DrawnBattle(string nextMap), RedArmyWon(string nextMap), BlueArmyWon(string nextMap). Если эти методы будут вызваны без параметров - ротатором будет загружена след. карта, если с параметром - ротатор загрузит указанную карту.
-
Re: REPKA.Commander beta 1
А что делать с бросанием самолета в неудобной позиции и передачу его боту? Как-то этот вопрос будет решаться?
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Vetochka
А что делать с бросанием самолета в неудобной позиции и передачу его боту? Как-то этот вопрос будет решаться?
Этот вопрос решается установкой опции реализма "Без замены". Но тогда появляется другая проблема, а как самолет вообще покидать. Т.е. у юзера должна быть возможность сообщить, что он сваливает, а скрипт уже решит, можно ему сваливать или нет.
1. Это можно сделать через миссионное меню руками. Можно его встроить, но тут проблема, если картодел захочет свое меню юзать, что бы не пересекались и не затирали друг друга. Разве что крепко накрепко наказать не юзать определенный диапазон ID и всегда рисовать первую строку в меню как Server.
2. Отправкой в чат команды. Это возможно, но так сделаю только если не придумаю ничего умнее.
Кстати, так и не разобрался. Можно ли из игры отправить приватное сообщение кому-то? По аналогии с каналами в Иле?
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Этот вопрос решается установкой опции реализма "Без замены". Но тогда появляется другая проблема, а как самолет вообще покидать. Т.е. у юзера должна быть возможность сообщить, что он сваливает, а скрипт уже решит, можно ему сваливать или нет.
ПМСМ, это одна из ключевых проблем, которую нам любезно подкинули разработчики. Еще засада в том, что и посадка в скрипте не всегда корректно срабатывает. Игрок может сесть, но самолет покинуть ему не дадут...
Про приват не знаю.
-
Вложений: 2
Re: REPKA.Commander beta 1
Попробовал. Работает но...
Сервер создаётся только LAN и с названием по умолчанию. Порт 27016 хотя в самом интерфейсе настроек БоБа стоит 27015. Не знаю почему (ну не разбираюсь в тонкостях:().
Порты 27015 и 27016 открыты.
Вопрос такой: А могу я запускать сервер и входить на него с одного компьютера?
У меня модем работает в режиме роутера, может здесь собака порылась?
При попытке входа пишет что я вхожу в бой но подключения нет.
П/С: Если сервер запускаю из интерфейса БоБ то всё нормально, сервер в списке есть и подключение других играков без проблем.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Попробовал. Работает но...
Сервер создаётся только LAN и с названием по умолчанию. Порт 27016 хотя в самом интерфейсе настроек БоБа стоит 27015. Не знаю почему (ну не разбираюсь в тонкостях:().
Порты 27015 и 27016 открыты.
Вопрос такой: А могу я запускать сервер и входить на него с одного компьютера?
У меня модем работает в режиме роутера, может здесь собака порылась?
При попытке входа пишет что я вхожу в бой но подключения нет.
П/С: Если сервер запускаю из интерфейса БоБ то всё нормально, сервер в списке есть и подключение других играков без проблем.
Портами и видимостью коммандер не управляет (может быть в будущем сделаю более подробную настройку). Это настраивается через confs.ini в C:\Users\User\Documents\1C SoftClub\il-2 sturmovik cliffs of dover\
По второму вопросу. У тебя не загрузилась миссия. Поэтому сервер тебя пускает, но так как играть нечего, дальше дело не идет. Сервер не понимает имена файлов с пробелами. При создании сервера из самой игры миссия загружается несколько иначе, поэтому работает. Тебе надо переименовать файл так, что бы в нем не было пробелов (подредактировал по этому вопросу первый пост).
На одном компьютере запускать сервер и подсоединятся можно. Я так и делаю. Роутер не при делах.
--- Добавлено ---
Цитата:
Сообщение от
Vetochka
ПМСМ, это одна из ключевых проблем, которую нам любезно подкинули разработчики. Еще засада в том, что и посадка в скрипте не всегда корректно срабатывает. Игрок может сесть, но самолет покинуть ему не дадут...
Про приват не знаю.
Тут даже не в посадке дело, она действительно работает не очень - для ботов срабатывает всегда, а вот для игрока сначала надо покинуть самолет. Т.е. замкнутый круг.
Наверное таки будет через миссионное меню, а с картоделами будет соглашение, что создавать главное меню надо будет через отдельный метод, что бы избежать накладок.
-
Re: REPKA.Commander beta 1
Small_Bee!
Спасибо! Переименовал, всё работает.
И всё таки остался вопрос, почему только LAN сервер создаётся и имя серверу не присвоить?
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Small_Bee!
Спасибо! Переименовал, всё работает.
И всё таки остался вопрос, почему только LAN сервер создаётся и имя серверу не присвоить?
Имя сервера задается там же, в confs.ini. по поводу лан переадресуй вопрос пожалуйста bigRepa, он тут более квалифицированную помощь окажет )
На данный момент коммандер тонкие настройки сервера не трогает, это придется настраивать руками. Надо будет добавить в интерфейс.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Имя сервера задается там же, в confs.ini. по поводу лан переадресуй вопрос пожалуйста bigRepa, он тут более квалифицированную помощь окажет )
На данный момент коммандер тонкие настройки сервера не трогает, это придется настраивать руками. Надо будет добавить в интерфейс.
Ага..! Спасибо! С именем сервера понял и разобрался, в конфиге переписал. Копаюсь с подключением NAT.
-
Re: REPKA.Commander beta 1
Если момед:) работает как роутер, то в нем самом нужно пробросить порт внутрь "локальной сети", ведь в таком режиме работы внешний айпи у модема, а твой пк получает внутренний айпи по dhcp от него (я не телепат, но у тебя думаю именно так). Поэтому клиенты, обращающиеся на внешний, должны как то попадать на внутренний, где собственно и запущен Бобо-сервер.
В зависимости от модели модема это действо может называться по разному (DMZ или серверы в лок. сети) но суть это не меняет. Тебе нужно указать, что поступающие пакеты на порт 27016 нужно переадресовать на адрес, ... тут пишешь айпический адрес конкретно своего ПК. Тип разрешенных пакетов UDP (на Р разрешено UDP и TCP) В принципе все должно получится, если сам провайдер не предоставляет тебе изначально серый айпи. (тут сложнее или просто невозможно)
--- Добавлено ---
Цитата:
Сообщение от
Small_Bee
Надо будет добавить в интерфейс.
Там есть одна тонкость, Все изменения выполненные в confs.ini будут потерянны, если их вносить при работающем лончере (после его закрытия).
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
BigREPA
Если момед:) работает как роутер, то в нем самом нужно пробросить порт внутрь "локальной сети", ведь в таком режиме работы внешний айпи у модема, а твой пк получает внутренний айпи по dhcp от него (я не телепат, но у тебя думаю именно так). Поэтому клиенты, обращающиеся на внешний, должны как то попадать на внутренний, где собственно и запущен Бобо-сервер.
В зависимости от модели модема это действо может называться по разному (DMZ или серверы в лок. сети) но суть это не меняет. Тебе нужно указать, что поступающие пакеты на порт 27016 нужно переадресовать на адрес, ... тут пишешь айпический адрес конкретно своего ПК. Тип разрешенных пакетов UDP (на Р разрешено UDP и TCP) В принципе все должно получится, если сам провайдер не предоставляет тебе изначально серый айпи. (тут сложнее или просто невозможно)
Так порты то у меня проброшены и когда я запускаю сервер из интерфейса БоБа (появляется в общем списке серверов) то народ подключается и мы летаем. Commander beta 1 почемуто создаёт только LAN соединение. Как сделать чтоб сервер появился не в интерфейсе LAN-соединений а в общем списке серверов?
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Так порты то у меня проброшены и когда я запускаю сервер из интерфейса БоБа (появляется в общем списке серверов) то народ подключается и мы летаем. Commander beta 1 почемуто создаёт только LAN соединение. Как сделать чтоб сервер появился не в интерфейсе LAN-соединений а в общем списке серверов?
Обычный и выделенный сервера используют разные конфиги, conf.ini and confs.ini соответственно. Открой и сравни, чем отличаются.
-
Re: REPKA.Commander beta 1
Цитата:
- Команда после запуска. Определите в этом окошке команду, которая будет выполнена сразу после запуска сервера. Например "f 1.cmd".
Дурацкий вопрос :ups: Для чего нужен этот файл.
Насколько я помню в нём прописывались настройки сложности,маркеры. Загружалась миссия,Стартовала баттла, Если Коммандер это сам делает в своих настройках и карты запускает с ротацией,нужен ли этот файлик. Или у него тут другое назначение?
--- Добавлено ---
И вот тут тоже поясните
Цитата:
- перезапустить сервер в случае аварийной остановки. Если отмечено, коммандер попытается перезапустить сервер, если тот самовольно завершит свою работу по какой либо причине.
Это без перезагрузки винды? хотя наверно нет,ну так для успокоения души
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
golloper
Дурацкий вопрос :ups: Для чего нужен этот файл.
Насколько я помню в нём прописывались настройки сложности,маркеры. Загружалась миссия,Стартовала баттла, Если Коммандер это сам делает в своих настройках и карты запускает с ротацией,нужен ли этот файлик. Или у него тут другое назначение?
--- Добавлено ---
И вот тут тоже поясните
Это без перезагрузки винды? хотя наверно нет,ну так для успокоения души
Если использовать ротатор - то не нужен.
Без перезагрузки.
-
Вложений: 1
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Обычный и выделенный сервера используют разные конфиги, conf.ini and confs.ini соответственно. Открой и сравни, чем отличаются.
Истина гдето рядом, но где? Вижу только то что почемут в одном конфиге прописались разные порты. Может глаз специалиста выхватит истину и донесёт до страждущего?!:)
Ещё вижу что именно локальные порты в конфигах разные.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Этот вопрос решается установкой опции реализма "Без замены". Но тогда появляется другая проблема, а как самолет вообще покидать. Т.е. у юзера должна быть возможность сообщить, что он сваливает, а скрипт уже решит, можно ему сваливать или нет.
1. Это можно сделать через миссионное меню руками. Можно его встроить, но тут проблема, если картодел захочет свое меню юзать, что бы не пересекались и не затирали друг друга. Разве что крепко накрепко наказать не юзать определенный диапазон ID и всегда рисовать первую строку в меню как Server.
2. Отправкой в чат команды. Это возможно, но так сделаю только если не придумаю ничего умнее.
Кстати, так и не разобрался. Можно ли из игры отправить приватное сообщение кому-то? По аналогии с каналами в Иле?
Мне кажется нужно просить от разрабов возможность создавать собственные инф. окна со стандартными элементами управления - кнопками, списками, картинками(похожее есть в арме) - эти возможности есть у нынешних окон. Туда можно будет встроить нормальные меню, к которым можно будет привязать очень много всего хорошего и полезного:
-альтернативная карта с инструментами
-дополнительные приборы(ручной компас, например)
-реалистичная радиостанция(работает как плагин через тимспик)
-управление армиями, ресурсами, сервером, игроками ну и т.д.
-выбор заданий
Т.к. нынешнее Tab-меню мягко говоря неудобно(может пересекаться с другими меню миссии)
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
podvoxx
...)
Привет, не хочешь адаптировать Friday on my mind к новому коммандеру, можно было бе ее поставить. Хорошая миссия хорошо сделана (судя по кол-ву ош в консоли:)) + возможно ее зациклить в ротации, а?
--- Добавлено ---
Цитата:
Сообщение от
=J13=Keks
Истина гдето рядом, но где? Вижу только то что почемут в одном конфиге прописались разные порты. Может глаз специалиста выхватит истину и донесёт до страждущего?!:)
Ещё вижу что именно локальные порты в конфигах разные.
Для дедика конфигурационным файлом является confs.ini и ему пополам что у тебя в conf.ini прописано.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
BigREPA
Привет, не хочешь адаптировать Friday on my mind к новому коммандеру, можно было бе ее поставить. Хорошая миссия хорошо сделана (судя по кол-ву ош в консоли:)) + возможно ее зациклить в ротации, а?
Для дедика конфигурационным файлом является confs.ini и ему пополам что у тебя в conf.ini прописано.
Пытаюсь ее доработать и сделай легконастраиваемой, чтобы потом еще миссий можно было наклепать. Но пока надо решить несколько проблем, которые отнимают много времени по незнанию
-
Re: REPKA.Commander beta 1
Перенес из темы вопросов.
Цитата:
Сообщение от
Small_Bee
Если ты не задумываешь действительно чего то глобального с пол-сотней классов и тысячами строк кода, делать отдельную dll не стоит. Да и засорять папку игры dll-ками я бы не стал, имхо стоит подумать как сделать проще (например загружать пустые миссии со скриптом)
Bridge это не совсем рефлексия, там она используется для загрузки сборки и извлечению из нее класса и его методов.
Переменные можешь смело хранить в файле. Код скриптов миссии вызывается последовательно, так что о проблемах многопоточности можно не беспокоится.
А вообще, скажу по секрету, будет встроенный локалайзер и общее хранилище для миссий в RSTMission, это что бы не делал лишнюю работу, если что.
Нет, ничего глобального. Как раз нужна система отправки/локализации сообщений и хранилище. А когда планируешь сделать?
Еще вопрос по командеру.
Цитата:
6. Требования к скрипту миссии.
Если карта не имееет собственного скрипта, необходимый скрипт будет добавлен автоматически. Однако если скрипт есть, для корректной работы коммандера необходимо будет выполнить несколько действий.
- первой строкой поместить строку
//$reference REPKA.Stat.dll
- класс миссии должен наследоваться от RSTMission
- переопределить метод Inited(), в котором указать имя сражение и название карты, так, как она выглядит в mis файле, исключая все, что до знака $.
В качестве примера можно использовать скрипт, который коммандер добавляет к картам автоматически.
Какие требования к структуре папок? Мне будет неудобно вставлять все миссии в папку командера. Можно там использовать папку SMP, например, а в ней уже остальные папки миссий? Наверное нужна возможность задать путь к каждой хост миссии.
Как наследование от RSTMission отразится на подмиссиях и других скриптах? Например, есть скрипт хост-миссии, скрипт подмиссии с радаром, скрипт уничтожения разбитых самолетов, скрипт меню. И они должны иметь возможность использовать общее хранилище.
Меню - доступ к списку статуса заданий. Радар - к своему полю статуса задания. Т.е. при его уничтожении он сам меняет текущий статус.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
podvoxx
Перенес из темы вопросов.
Нет, ничего глобального. Как раз нужна система отправки/локализации сообщений и хранилище. А когда планируешь сделать?
Еще вопрос по командеру.
Какие требования к структуре папок? Мне будет неудобно вставлять все миссии в папку командера. Можно там использовать папку SMP, например, а в ней уже остальные папки миссий? Наверное нужна возможность задать путь к каждой хост миссии.
Как наследование от RSTMission отразится на подмиссиях и других скриптах? Например, есть скрипт хост-миссии, скрипт подмиссии с радаром, скрипт уничтожения разбитых самолетов, скрипт меню. И они должны иметь возможность использовать общее хранилище.
Меню - доступ к списку статуса заданий. Радар - к своему полю статуса задания. Т.е. при его уничтожении он сам меняет текущий статус.
1. Планирую в ближайшее время в след апдейте. Максимум неделя.
Предварительно там будет
- Скрипт уборки самолетов
- Возможность загрузки след. сражения в зависимости от результата.
- localizer
- Общее хранилище.
- английский язык для интерфейса.
2. Структура папок. В папке коммандера должна лежать миссия-хост и ее скрипт. Все остальное, включая другие миссии со скриптами и т.п. в одноименной папке там же. Например, есть миссия smp.mis, отсюда в папке коммандера будет
Папка smp (в ней все что надо остальное)
smp.mis
smp.cs
Здесь важное дополнение. Локалайзер будет надеяться, что одноименная миссии-хосту папка будет существовать, а в ней папка messages с файлами языков.
3. Наследовать остальные скрипты от RSTMission можно, но необязательно.
4. Меню делать руками (если разберусь с накладками, то возможно тут будут небольшие требования, что бы не пересекались со встроенным)
5. Радар - не понял.
-
Вложений: 1
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
5. Радар - не понял.
Все таки хотелось бы свою структуру папок сохранять, может возможно это организовать все-таки. Поясню на текущем примере. У меня есть сборка миссий в папке SMP, в ней папки миссий
- Friday on my mind
- Суббота on my mind
- Четверг on my mind
В каждой такой папке миссий находятся хост-миссия, а в ней папочки submissions и localizations(с файлами ru.ini и en.ini). Здесь же скрпит мисии, брифинги, картинка брифинга. Можно удалять, копировать папки миссий целиком - они независимы друг от друга, чтобы убрать лишнее к примеру.
Далее в папке submissions лежат папки подмиссий, каждая со своими скриптами, файлами локализации и настройками. Каждая подмиссия независима и может использоваться с другими хост-миссиями, другими дизайнерами просто копированием папки. Так можно будет легко понатыкать на карте радары, заводы и др. активные объекты не настраивая каждый раз под конкретную миссию. Список загружаемых подмиссий может находиться в настройках хост-миссии, быть рандомным или просто загружать все из папки submission, или по условиям скрипта хост-миссии.
Например я хочу сделать радар. Он будет самостоятельно отправлять сообщения о самолетах врага, через свою локализацию.
По сообщениям - нужна возможность отправить сообщение только player(для меню пригодится) и только серверу. А также возможность выбора языка сообщений сервера(независимо от версии игры). Ну и если текст в файле локализации не найден - выводится то, что отправили.
Цитата:
Сообщение от
Small_Bee
1. Планирую в ближайшее время в след апдейте. Максимум неделя.
Предварительно там будет
Это хорошо. У меня отпуск тут правда, вернусь к жизни только в июле. Хочется за две недели по максимуму сделать, может хотя бы переработанный вариант Friday on my mind подготовить для тестирования.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
podvoxx
Все таки хотелось бы свою структуру папок сохранять, может возможно это организовать все-таки. Поясню на текущем примере. У меня есть сборка миссий в папке SMP, в ней папки миссий
- Friday on my mind
- Суббота on my mind
- Четверг on my mind
В каждой такой папке миссий находятся хост-миссия, а в ней папочки submissions и localizations(с файлами ru.ini и en.ini). Здесь же скрпит мисии, брифинги, картинка брифинга. Можно удалять, копировать папки миссий целиком - они независимы друг от друга, чтобы убрать лишнее к примеру.
Далее в папке submissions лежат папки подмиссий, каждая со своими скриптами, файлами локализации и настройками. Каждая подмиссия независима и может использоваться с другими хост-миссиями, другими дизайнерами просто копированием папки. Так можно будет легко понатыкать на карте радары, заводы и др. активные объекты не настраивая каждый раз под конкретную миссию. Список загружаемых подмиссий может находиться в настройках хост-миссии, быть рандомным или просто загружать все из папки submission, или по условиям скрипта хост-миссии.
Например я хочу сделать радар. Он будет самостоятельно отправлять сообщения о самолетах врага, через свою локализацию.
По сообщениям - нужна возможность отправить сообщение только player(для меню пригодится) и только серверу. А также возможность выбора языка сообщений сервера(независимо от версии игры). Ну и если текст в файле локализации не найден - выводится то, что отправили.
Это хорошо. У меня отпуск тут правда, вернусь к жизни только в июле. Хочется за две недели по максимуму сделать, может хотя бы переработанный вариант Friday on my mind подготовить для тестирования.
Ок, я понял тебя.
В локалайзер могу добавить параметр, который бы принудительно заставлял отправлять сообщение на выбранном языке, а не на языке игрока.
Кроме общего локалайзера можно будет создать свой, конкретно для конкретной подмиссии.
По миссиям в ротаторе. Действительно, может быть неудобно, убедил. Тогда возможно в папке missions вместо самих миссий будет лежать ini-файлик с указанием что и откуда грузить
Например
Код:
[Battle]
HostMission=missions\FridayOnMyMind\host.mis
LocalizerDir=missions\FridayOnMyMind\messages\
Тогда не надо будет специально подстраивать структуру папок и миссий под коммандер, достаточно такой инишки. Устроит?
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Тогда не надо будет специально подстраивать структуру папок и миссий под коммандер, достаточно такой инишки. Устроит?
Я когда думал над своим вариантом - решил, что лучше в локалайзер путь к папке с нужными файлами локализации отправлять. Т.е. хост миссия использует свои основные сообщения из своей папочки("убей их всех", "Будь мужиком" и т.п.)
А подмиссия использует свои файлы из своей папки. Радар например: "Самолеты противника там-то", "Высота группы такая-то". Тогда командеру не надо знать где локализация и есть ли она вообще.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
podvoxx
Я когда думал над своим вариантом - решил, что лучше в локалайзер путь к папке с нужными файлами локализации отправлять. Т.е. хост миссия использует свои основные сообщения из своей папочки("убей их всех", "Будь мужиком" и т.п.)
А подмиссия использует свои файлы из своей папки. Радар например: "Самолеты противника там-то", "Высота группы такая-то". Тогда командеру не надо знать где локализация и есть ли она вообще.
А, да это ради бога. Можно будет путь локалайзеру не указывать, тогда общего просто не будет, создаем где хотим свой и что хотим ему скармливаем. Я хочу максимально разгрузить картодела от рутинной писанины, и при этом не сильно ограничивать в фантазии.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
А, да это ради бога. Можно будет путь локалайзеру не указывать, тогда общего просто не будет, создаем где хотим свой и что хотим ему скармливаем. Я хочу максимально разгрузить картодела от рутинной писанины, и при этом не сильно ограничивать в фантазии.
По сообщениям - еще можно добавить в командер периодические и завершающие сообщения.
Периодические - адрес сервера, адрес/пароль ТС, время до конца миссии и тп.(тоже можно сделать настраиваемым)
Завершающие - "До конца миссии столько-то минут" и задать кол-во минут до конца миссии, когда эти сообщения будут выводится(при досрочном завершении не будет).
Это не обязательно, но тем кто со скриптами не хочет связываться пригодится.
Ну и пункт в меню все-таки стоит застолбить наверное).
По "радару" забыл написать. Как пока видится, есть несколько подмиссий-заданий. Выполнено задание или нет решает сама подмиссия. Т.е. уничтожили определенное кол-во юнитов определенного типа определенной армии - задание выполнено. Хост-миссия только получает сообщение о выполнении и меняет булевый список, если требуется - false или true для этой миссии. Это избавит от рутины(как например я убрал эсминцы, а их кол-во/цена заданы в скрипте хост миссии - пришлось весь код проверять и менять переменные, очень долго и "ошибочно".
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
podvoxx
По сообщениям - еще можно добавить в командер периодические и завершающие сообщения.
Периодические - адрес сервера, адрес/пароль ТС, время до конца миссии и тп.(тоже можно сделать настраиваемым)
Завершающие - "До конца миссии столько-то минут" и задать кол-во минут до конца миссии, когда эти сообщения будут выводится(при досрочном завершении не будет).
Это не обязательно, но тем кто со скриптами не хочет связываться пригодится.
Ну и пункт в меню все-таки стоит застолбить наверное).
По "радару" забыл написать. Как пока видится, есть несколько подмиссий-заданий. Выполнено задание или нет решает сама подмиссия. Т.е. уничтожили определенное кол-во юнитов определенного типа определенной армии - задание выполнено. Хост-миссия только получает сообщение о выполнении и меняет булевый список, если требуется - false или true для этой миссии. Это избавит от рутины(как например я убрал эсминцы, а их кол-во/цена заданы в скрипте хост миссии - пришлось весь код проверять и менять переменные, очень долго и "ошибочно".
Сообщения о оставшемся времени и обратный отсчет до конца миссии уже есть (каждые 10 минут, минута до конца и обратный отсчет за 10 сек)
Сообщения с информацией о сервере будут.
По прочему - эту проблему решит общее хранилище. Туда же наверное добавлю событие о смене значения какой либо переменной.
Еще я бы предостерег от чрезмерного использования подмиссий со своим скриптом - т.к. скрипты, даже если миссия уже давно завершилась, никуда не деваются, а значит жрут доп. память.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Сообщения о оставшемся времени и обратный отсчет до конца миссии уже есть (каждые 10 минут, минута до конца и обратный отсчет за 10 сек)
Сообщения с информацией о сервере будут.
Может все-таки ввести настройку с параметром периодичности, хотя бы на выбор - 10 мин, 30 мин, 1 час?
Цитата:
Сообщение от
Small_Bee
По прочему - эту проблему решит общее хранилище. Туда же наверное добавлю событие о смене значения какой либо переменной.
Еще я бы предостерег от чрезмерного использования подмиссий со своим скриптом - т.к. скрипты, даже если миссия уже давно завершилась, никуда не деваются, а значит жрут доп. память.
То, что я планирую - для относительно коротких миссий 4-6 часов, надеюсь потянет.
Есть предложение по ротатору и добавлению в него миссий. Как сейчас автоматически - файл миссии лежит в папке командера REPKA.Commander\Missions, либо принудительно - сделать выбор файла хост миссии через кнопку обзор(или прописывание пути вручную), а лучше оба варианта.
Далее. Если есть брифинг миссии - читаем ее название из него(можно сделать выбор предпочитаемого языка брифинга) и пишем в списке миссий, если нет брифинга - берем название файла. Так проще и удобней будет отличать файлы .mis. Гдн-то рядом будет отображаться название файла хост-миссии и путь к нему.
Если уж совсем функционал развивать - то можно сделать в будущем кнопку "Просмотр брифинга миссии", которая открывает окошко с текстом брифинга(можно сделать выбор группы - red, blue, regular и т.д.) и картинкой, если имеется. Но последнее это конечно не к спеху.
И еще по локализатору. По идее он может пригодится и в офлайн миссиях и онлайн, запускаемых через сервер в игре. Может еще отдельной сборкой его выпустить?
-
Вложений: 2
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
BigREPA
Для дедика конфигурационным файлом является confs.ini и ему пополам что у тебя в conf.ini прописано.
Тоесть я могу использовать Commander только в локальной сети?
Всё перелопатил а он только LAN сервер запускает.:(
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Тоесть я могу использовать Commander только в локальной сети?
Всё перелопатил а он только LAN сервер запускает.:(
Там целая история с выделенным. Я долго мучался, потом забил. И вдруг через месяц на тесте миссии кто-то зашел на созданный мной сервер, тогда я понял что настроился. В теме по выделенному было руководство более-менее подробное - http://www.sukhoi.ru/forum/showthrea...=1#post1732136 тут кажись.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
podvoxx
Там целая история с выделенным. Я долго мучался, потом забил. И вдруг через месяц на тесте миссии кто-то зашел на созданный мной сервер, тогда я понял что настроился. В теме по выделенному было руководство более-менее подробное -
http://www.sukhoi.ru/forum/showthrea...=1#post1732136 тут кажись.
podvoxx Спасибо за информацию!
Плохо когда есть хороший командер а чтоб им воспользоваться надо бубен доставать. Там описанно как сервер запустить из применительно к БоБу а вот как задействовать командер у меня пока мыслей нет.:) Будем пользовать дедовские методы запуска из интерфейса.:(
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
podvoxx Спасибо за информацию!
Плохо когда есть хороший командер а чтоб им воспользоваться надо бубен доставать. Там описанно как сервер запустить из применительно к БоБу а вот как задействовать командер у меня пока мыслей нет.:) Будем пользовать дедовские методы запуска из интерфейса.:(
Надо немного уточнить. Командер всего лишь обертка над той самой старой доброй консолькой выделенного сервера. Так что все что там написано, актуально и для коммандера. Т.е. ничем не отличается настройка.
Коммандер только добавляет человеческий интерфейс и автоматизацию для рутинных задач.
-
Re: REPKA.Commander beta 1
Small_Bee Дружище!
Ты специально надомной издеваешся?!:D Обёртка то обёртка но я уже устал... Я же не просто так интересуюсь! Зачем он мне нужен (командер) если я его не могу использовать по прямому назначению? Кому нужны сервера в локальной сети если они к тому же не работают и сети у меня такой нет? А как сделать чтоб он создавал NAT сервер толком информации (конкретной) нет.
Без обиды но... Подпись у тебя над аватаркой как ответ на все мои вопросы.:D
podvoxx конкретно дал ответ что прежде чем использовать командер, нужно с бубном поплясать :). Просто у меня в голове не укладывается.:) Как это так... Почему изначально Commander beta 1 не настроен на запуск именно NAT сервера? Почему он запускает именно то, что в БоБе и так коряво работает.
-
Вложений: 1
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Small_Bee Дружище!
Ты специально надомной издеваешся?!:D Обёртка то обёртка но я уже устал... Я же не просто так интересуюсь! Зачем он мне нужен (командер) если я его не могу использовать по прямому назначению? Кому нужны сервера в локальной сети если они к тому же не работают и сети у меня такой нет? А как сделать чтоб он создавал NAT сервер толком информации (конкретной) нет.
Без обиды но... Подпись у тебя над аватаркой как ответ на все мои вопросы.:D
Мне остается только развести руками. Тогда отставляем коммандер в сторонку за ненадобностью и пытаемся запускать вот это )
Вложение 154782
-
Вложений: 1
Re: REPKA.Commander beta 1
А этого что не достаточно?:)
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
А этого что не достаточно?:)
Это был троллинг )). Что, таки увидел в сети, разобрался? Я твой сервер только что видел.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Это был троллинг )). Что, таки увидел в сети, разобрался? Я твой сервер только что видел.
Где ты его видел? В общем списке, или в LAN странице серверов? Я серьёзно!
-
Вложений: 1
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Где ты его видел? В общем списке, или в LAN странице серверов? Я серьёзно!
Да пожалуйста. Я у тебя точно не в ЛАН )
Самый верхний мой, ниже, KonGo, твой походу?
-
Re: REPKA.Commander beta 1
Small_Bee Дружище! Извени что ... Короче получается что я запускаю командер и войдя в игру вижу свой же сервер только в закладке LAN а другие видят мой сервер в общем списке. Как же я не догадался то.... Олух царя небесного.:D:D:D
Усё... Пошёл карты клепать.:D
Спасибо!!!
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
=J13=Keks
Small_Bee Дружище! Извени что ... Короче получается что я запускаю командер и войдя в игру вижу свой же сервер только в закладке LAN а другие видят мой сервер в общем списке. Как же я не догадался то.... Олух царя небесного.:D:D:D
Ну хз.. Я свой вижу и в INTERNET.. Правда перед этим я прямой коннект делал, мож, "пробило".. Пути бобостимские неисповедимы ) Прописал 20-й порт, прокинул его в роутере, открыл боб и попробовал прямой коннект (подсмотрел его там же в админке роутера).. работает.. А после обратил внимание, что есть и в общем списке. Хотя мой комп за роутером, внешнего IP вообще не знает. Еще пробовал тот же ip прописывать в секции NET в localHost.. Сервер при выходе его упорно затирает, но работает в принципе и без него.
-
Re: REPKA.Commander beta 1
Цитата:
Сообщение от
Small_Bee
Ну хз.. Я свой вижу и в INTERNET.. Правда перед этим я прямой коннект делал, мож, "пробило".. Пути бобостимские неисповедимы ) Прописал 20-й порт, прокинул его в роутере, открыл боб и попробовал прямой коннект (подсмотрел его там же в админке роутера).. работает.. А после обратил внимание, что есть и в общем списке. Хотя мой комп за роутером, внешнего IP вообще не знает. Еще пробовал тот же ip прописывать в секции NET в localHost.. Сервер при выходе его упорно затирает, но работает в принципе и без него.
Ага... Всё понял! Главное что с твоей помощю разобрались.:) Остальное завтра сделаю. Теперь проще! Командер классный! Правда я ещё не знаю всех его возможностей.:) Главное что "джентельменский" набор уже есть.:)
-
Re: REPKA.Commander beta 1
Огромное спасибо за такую нужную штуку !
Установил, всё работает.
-
Re: REPKA.Commander beta 1
Пожалуйста ). Походу не работает SendServerCommand, исправляемся.
-
Re: REPKA.Commander beta 1
Small_Bee, а по истечении времени миссии, заданного в командере вызывается метод public override void OnBattleStoped()?
Цитата:
Сообщение от
Small_Bee
Важно! При переопределении методов в скрипте всегда вызывайте первой строкой базовый метод! В противном случае корректная работа коммандера не гарантируется.
Так?
Цитата:
Сообщение от
podvoxx
По сообщениям - нужна возможность отправить сообщение только player(для меню пригодится) и только серверу.
Не то написал, только сейчас вспомнил. Нужны методы для только перевода, так как пункты меню не нужно отправлять через сообщение. Т.е. для меню должно возвращать просто перевод.
И желательно сделать просто отправку сообщений без перевода, чтобы скрипт не лазил постоянно в файл, когда это не требуется.
Т.е. три варианта:
Перевести и отправить сообщение
Не переводить и отправить сообщение
Перевести, но не отправлять сообщение - вернуть перевод
-
Re: REPKA.Commander beta 1
Он сам вызывается по факту остановки сражения, я этим не рулю никак.